View previous topic :: View next topic |
Author |
Message |
jlangsdo
Cutthroat
Posts: 399
10932 Gold -
|
Posted: Thu Nov 25, 2021 1:26 pm Post subject: make_cities 2021 : Move Cities around |
|
|
This is a script to make it easy to redefine city locations and characteristics.
You redefine the city information in a spreadsheet, and then run the script to update the Pirates! files. The script has a -reverse switch for reloading the spreadsheet from an existing mod in progress. It does not cover the 'opedia.
Steps:
Install Tools:
Set up a Work directory (typically under Sid Meier's Pirates!), put these files in it (2021 versions):
Unpack Assets:
At the Command Prompt
cd "C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Pirates!\Work"
smp_fpk_unpack.pl
This will create an Assets_UNPACKED directory with your base files.
Back up your executable:
At the Command Prompt:
cd "C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Pirates!"
cp "Pirates!.exe" "Pirates!.exe.STEAM"
Set up a modable executable:
Run the Challenge Pack.
Turn off all of the mods (unless you want a Challenge)
"Generate New Executable"
Place it at "C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Pirates!/Pirates!.exe"
Edit the city_definitions.csv file
Open the csv file in OpenOffice or your favorite spreadsheet program.
Select "Separated by Comma" and "Quoted Field as Text" in the Import options.
Make your edits, save the file.
At the Command Prompt:
cd "C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Pirates!\Work"
make_cities.pl
If you want to use the -reverse switch to update the csv file based on your mod in progress, make sure it is not active in OpenOffice at the same time; the script won't overwrite the csv file if it is being edited.
The first row of the CSV marks the first column for each file being edited: citynames_enu.txt, cityloc.dta, text.ini, maplabel.dta, Pirates!.exe. There is one extra set: GIMP. If you built your landforms using make_world.pl, then you should have a 1640x1040 bmp that represents the real land and sea. I put the GIMP columns in so you can read off locations as pixel values in GIMP (measured from NW, rather than SW like in Pirates! files). Non-blank values in this column will overwrite the coordinates from cityloc.dta and Pirates!.exe. If you don't use the GIMP column, make sure to edit both of those sets of coordinates in tandem so your cities are located correctly in treasure maps.
The Port Error and Fort Error columns can be ignored. In the original game, all of the Port direction and Fort direction values are rounded to the nearest .2, but sometimes off by a tiny amount; this is the tiny amount off. I wanted to be able to translate to and from the csv and get exactly the same answers. |
|
Back to top |
|
|
jlangsdo
Cutthroat
Posts: 399
10932 Gold -
|
Posted: Thu Nov 25, 2021 4:16 pm Post subject: |
|
|
Hang on, there is a bug in the executable patching. I'll fix it and re-release to the same location. |
|
Back to top |
|
|
corsair91
Sailing Master
Posts: 8189
221137 Gold -
|
Posted: Thu Nov 25, 2021 4:40 pm Post subject: |
|
|
Suggested corrrection to
jlangsdo wrote:
Back up your executable:
At the Command Prompt:
cd "C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Pirates!"
cp "Pirates!.exe" "Pirates!.exe.STEAM"
By default, there's no cp in Windows Command Prompt (cmd.exe).
The equivalent cmd.exe command is copy. cp is a Unix command.
i.e.
"copy Pirates!.exe" "Pirates!.exe.STEAM"
Windows primer for Unix Users
http://www.covingtoninnovations.com/mc/winforunix.html
The Libre Office fork is the version now recommended over Open Office because of software licensing issues, most active developers have jumped over to Libre Office.
Most current development is now for Libre Office
https://www.libreoffice.org/
(Libre office includes a Windows x64 version which is not yet available with Open Office)
https://en.wikipedia.org/wiki/LibreOffice
Last edited by corsair91 on Thu Nov 25, 2021 10:26 pm; edited 2 times in total |
|
Back to top |
|
|
jlangsdo
Cutthroat
Posts: 399
10932 Gold -
|
Posted: Thu Nov 25, 2021 5:11 pm Post subject: |
|
|
Fixed the bug, and added some code so it should fatal out if a similar bug reoccurs. |
|
Back to top |
|
|
themodelcitizen
Gunner
Posts: 880
15142 Gold -
|
Posted: Thu Nov 25, 2021 6:27 pm Post subject: |
|
|
Yes! Thank you!! Absolutely killing it lately! Looking forward to seeing what kind of maps others can come up with.
So the X and Y coordinates in the .exe determine treasure map hints? ("southwest of villa hermosa", etc) I thought as much, but good to see confirmation. Also for the "Europe" entries, which are absent from cityloc, the exe coordinates affect where the treasure fleet spawns (last entry) and disappears (second last entry). Still not entirely sure how Florida Channel works |
|
Back to top |
|
|
corsair91
Sailing Master
Posts: 8189
221137 Gold -
|
Posted: Thu Nov 25, 2021 10:51 pm Post subject: |
|
|
Couple of Freeware CSV utilities, maybe of interest
https://en.wikipedia.org/wiki/Comma-separated_values
A comma-separated values (CSV) file is a delimited text file that uses a comma to separate values. Each line of the file is a data record.
CSV is a common data exchange format
for example from a Database to a spreadsheet
or exporting an Email Client Contacts Address Book
Nirsoft Freeware Tools
https://www.nirsoft.net/
CSVFileView v2.54
https://www.nirsoft.net/utils/csv_file_view.html
CSV / Tab-delimited file viewer and converter for Windows
for small files
(you can of course use your spreadsheet app as a CSV viewer
and import the CSV file)
TableTextCompare v1.20
- Compare csv / tab-delimited text files
https://www.nirsoft.net/utils/csv_file_comparison.html
easily compare 2 tab-delimited or comma-delimited (csv) files, and find out the difference between the 2 files. |
|
Back to top |
|
|
jlangsdo
Cutthroat
Posts: 399
10932 Gold -
|
Posted: Fri Nov 26, 2021 12:55 am Post subject: |
|
|
I believe that the X and Y in the exe are the coordinates added to the copy of piratemap.dta that is inside of the savegame file. When you have a treasure map, it reconstructs a clip from that file. Sometimes you can see a city or settlement in the map. Treasure maps are at the piratemap.dta granularity. |
|
Back to top |
|
|
|