[Col] Colonization (1994) SAV files decoder and encoder

Oh man! You know what, this whole thing was a big 10T error (aka, dumb user error on my part). It didn't occur to me that it wasn't showing COLONYxx.SAV files alphabetically. I was selecting the first in the list all this time, rather than COLONY00.SAV. I loaded that (9 in this list below), loaded the save file, and the square is forested, and my pioneer has reverted to a colonist. Sorry for the mistake there!

SAV and SAV.JSON files in the current folder:
1. COLONY09.SAV: New Netherland, Autumn of 1628, Governor Haat Daag, 2188 gold
2. COLONY06.SAV: New Netherlands, Spring of 1566, Governor Van Gogh, 307 gold
3. COLONY02.SAV: Tierra del Sandio, Spring of 1610, Governor Sandio, 30 gold
4. COLONY03.SAV: Smeggeheaddeland, Spring of 1495, Governor Smeggeheadde, 0 gold
5. COLONY04.SAV: New Netherland, Autumn of 1711, Governor Zwarte Piet, 40954 gold
6. COLONY07.SAV: New Spain, Spring of 1492, Conquistador Christopher Columbus, 0 gold
7. COLONY01.SAV: Smeggeheaddeland, Spring of 1495, Governor Smeggeheadde, 0 gold
8. COLONY05.SAV: New Netherland, Spring of 1748, Governor , 980 gold
9. COLONY00.SAV: New Netherland, Spring of 1628, Governor Haat Daag, 1188 gold
10. COLONY10.SAV: New Netherlands, Spring of 1750, Governor Nijboer, 2340 gold
11. COLONY08.SAV: New Netherland, Spring of 1620, Governor Haat Daag, 1192 gol
 
Oh man! You know what, this whole thing was a big 10T error (aka, dumb user error on my part). It didn't occur to me that it wasn't showing COLONYxx.SAV files alphabetically. I was selecting the first in the list all this time, rather than COLONY00.SAV. I loaded that (9 in this list below), loaded the save file, and the square is forested, and my pioneer has reverted to a colonist. Sorry for the mistake there!

You know, it's my mistake too: it definitely must show SAV files list alphabetically. But I haven't double-checked. I'll fix it.
 
Ok, I've updated the source code:

1) SAV files lists are now displayed alphabetically
2) HARDY pionner requirement is now optional (adjusted by a new value plant_forest_hardy_pio_need in smcol_sav_settings.json file)
3) No need to enter tile's coordinates when reforesting a tile with the active unit standing on it

Full release with .exe isn't ready yet. Still thinking about a pair of features to add before releasing. But the source is up to date.

Any thoughts about my idea to make it possible in the .exe to do it with a non-hardy pioneer, but it costs the full 100 tools while the Hardy one can do it for 60 or something?

Honestly I think you are overcomplicating it a bit. It doesn't seem reasonable to me and also there are no similar logic in game, when a non-professional spends more resources comparing to profi. I'll better think of planting forest with lumberjacks working on non-forest tiles.
 
Last edited:
Version 1.3 released! New features:

Editor:
  • Adjust Royal Expeditionary Force size: reinforce (if you love pain), nerf (if you like weak enemies) or disband it (if you want peaceful independence)
  • Add 4-th, 5-th etc specialist to manufactures: welcome to big industrial colonies! Can you supply them? Greatly combined with Warehouse Expansion levels above 2
  • Regular pioneers can plant forest (adjustable in settings)
Encoder/Decoder:
  • AUTO UPDATE mode: track changes of a certain SAV or SAV.json file and encode/decode it automatically
SAV structure:
  • Several interesting fields mapped
 
Ok, that worked! Nice one.

I may have mentioned this before, but for Linux the colonize_path in smcol_sav_settings.json needs to be set to the full path to the Col folder in your Linux file system (rather than "D:/Games/GOG.com/Colonization/MPS/COLONIZE" in the original download). So mine is "/home/leon/dos/COLONIZE"--don't use "~/dos/COLONIZE". So the third line in smcol_sav_settings.json on my system shows:

"colonize_path": "/home/leon/dos/COLONIZE";
 
Ok, that worked! Nice one.

I may have mentioned this before, but for Linux the colonize_path in smcol_sav_settings.json needs to be set to the full path to the Col folder in your Linux file system (rather than "D:/Games/GOG.com/Colonization/MPS/COLONIZE" in the original download). So mine is "/home/leon/dos/COLONIZE"--don't use "~/dos/COLONIZE". So the third line in smcol_sav_settings.json on my system shows:

"colonize_path": "/home/leon/dos/COLONIZE";

Thank you for testing!

Yes, you're right about colonize_path on Linux. It's up to user to set it correctly. "D:/Games/GOG.com..." - it's just my setting. I think it'd be better to set colonize_path's default value to "." (current folder), so that user could just place smcol_saves_utility's files to COLONIZE folder.
 
Yep, yours should be easy to figure out for Windows users. But for Linux users it gets complicated: do you use Linux path structure (and if so, full path or abbreviated), or do you use the DOS/Windows path based on your setting in DOSBox, or what? So I wanted to clarify it for any *nix users who might want to use this.

That reminds me: it's curious your script uses forward slashes rather than backslashes, even though it's DOS/Windows format. Is that a requirement somewhere, or where did that come from?

Also, so "." could be used? I didn't think of that. What if you have the utility in a subfolder just under COLONIZE? Would you use ".." ?

I could update the readme file to include pointers for all these things, if you like.
 
Last edited:
That reminds me: it's curious your script uses forward slashes rather than backslashes, even though it's DOS/Windows format. Is that a requirement somewhere, or where did that come from?

It's not a requirement. Windows is quite immune to it, so why not: if you write smth like "../COLONIZE" it is ok for both Win and Linux.

Also, so "." could be used? I didn't think of that. What if you have the utility in a subfolder just under COLONIZE? Would you use ".." ?

Yes, "." and ".." should work fine.

I could update the readme file to include pointers for all these things, if you like.

You are free to do it. Though I think it's not a big deal to setup the correct COLONIZE path for almost everyone...
 
I was playing the ViceFix last night (it's supposed to help with the poor random number generator in combats), and just got a peace treaty with the French, but they left two dragoons still fortified next to one of my industrial colonies and I can't mine there like I should. I wonder if there could be an option to sweep the game and unfortify any units that are on your territory, if the country they belong to is at peace with you.
 
I had another idea, don't know if it would be good to implement. Rather than have you input the coordinates for where you want to plant a forest, maybe the game could search for any pioneers you have on the board with 100 tools, and list them for you to pick, like it does for when you want to remove city fortifications, e.g.:
1. Pioneer in grassland (43, 23)
2. Hardy Pioneer in plains (35, 22)
3. Pioneer in desert (55, 30)
 
Top Bottom