[Col] colsaves - Updates

Edit: Hm, I've saved out a great example, but I'm not sure how to find the village I'm looking for. It's at 52, 42, and my hex editor doesn't see char 52 in the save.

You should look for 34 (0x34 == 52 dec). Or just use my enc_decode_sav.exe (save archive as smcol_sav_editor.exe) to convert your SAV to SAV.json format. The coods in SAV.json are in dec format [52, 42].
 
Ok, thanks to your suggestion I had a closer look at your readme.txt, so I see now you included a utility to export those save files in a readable format, modify them, then reencode them. So here is an early save file (00) with a Sioux camp at 52,42 in a Broadleaf Forest, then in 03 it's moved to 51,42 onto another Broadleaf Forest square.
 

Attachments

  • COLONY03.SAV
    24.8 KB · Views: 16
  • COLONY00.SAV
    24.8 KB · Views: 16
Last edited:
Thank you for testing of the editor utility!



On Map. Right now I think there's no need to do it because colsaves functionality cover this task. The first "must have" task should be discovering of how the village's teaching speciality info is stored inside the SAV file structure. Once we discover it I'll surely create some visualization for it.

You can contribute to it! With my decoder/encoder it has become much easier to study the SAV files in SAV.json format. For now we can be sure, that teaching spec info is not stored inside the "tribe" record. Hence it is calculated. But how? No idea by now. The first thing I would like to try is to alter some villages' positions and see how (and whether) their teaching spec has changed.

Hey, first time I've been back here in a while and I see some interesting developments have been made for decoding SAV files.

I was curious about your tool, does the SAV JSON decoding contain better/different information than colsaves produces?

Would you be interested in integrating the colsaves image output in some way?

Having a GUI with your JSON saved information displayed in nice tables and a panel containing the current SAV map image would be pretty handy.

Additionally there is more detail about the hex textures in the SAV file than is currently being decoded. So it only uses a limited selection of texture templates currently, I was hoping someone more able would be able to figure out how to interpret the remainder.

But I'd be more than happy for you to lift my fork into your tool if you felt like doing that.

I haven't looked at your tool much yet but it looks pretty handy. Nice one 👍
 
Hi henryjfry!

I was curious about your tool, does the SAV JSON decoding contain better/different information than colsaves produces?

It's a bit different (not much actually). It outlines more data, maps data for example (in compact text format). I've also mapped some new data (warehouse exp level, artillery/ship 'damaged' flag and a bit more) myself. Though colsaves sometimes represents the data in more clear and compact format, i.e. "Gunsmith working as Fur trapper for 0 rounds on tile NW". My SAV.JSON format is not so laconic. It follows the original SAV data sequence.

The main things about SAV.JSON format are:
1. It is reversible: with enc_decode_sav.py you can decode SAV file to SAV.JSON, modify it (as a text file) and encode back to SAV.
2. Its structure is not bound to python code. It's fully outlined in smcol_sav_struct.json. You can modify this file and receive different SAV.JSON representations without altering the enc_decode_sav.py code. Perfect for studying unexplored SAV regions.

Would you be interested in integrating the colsaves image output in some way?

Yes, I think of it. But I suppose simple image generation is not very handy. It's better to have an interactive window. To be able to click on an indian settlement on the map and receive more detailed info about it for example.

Having a GUI with your JSON saved information displayed in nice tables and a panel containing the current SAV map image would be pretty handy.

Honestly I don't think nice tables for text data are very useful right now. Text data is relatively clear in SAV.JSON. But talking about map panel - yes, it would be great to have.

Additionally there is more detail about the hex textures in the SAV file than is currently being decoded. So it only uses a limited selection of texture templates currently, I was hoping someone more able would be able to figure out how to interpret the remainder.

I'm not sure I quite understand what do you mean by "hex textures" and "texture templates". Are you talking about unexplored (unmapped) sections of SAV file format? If so, there are some. One of my motivations to create SAV encoder/decoder was the make the study of SAV format more handy: you save your game, then convert it to SAV.JSON, perform some action in the game, save again and convert to other SAV.JSON, and then compare these SAV.JSON files to see what has changed. Or edit SAV.JSON file as text, convert back to SAV, load this SAV and see what happened in the game.

I've made some small "SAV exploration" advances myself (mentioned it already). Also the original viceroy project has recently awakened from sleep and mapped the trade routes data. I will add it to smcol_sav_struct.json.

But the most interesting things for me right now are 1) indian villages teaching speciality mapping and 2) prime resources mapping. I've experimented with teaching spec a bit, but with no result. The only conclusion I have right now is it somehow depends on surronding tiles types.

Prime resources are placed according to some pseudo-random pattern (see this thread), but its formula and seed is still unknown.

But I'd be more than happy for you to lift my fork into your tool if you felt like doing that.

I'm ready to collaborate. But honestly I don't think it is any reasonable with colsaves project in its current form. We need a new application with interactive GUI, not a simple image generator.

I haven't looked at your tool much yet but it looks pretty handy. Nice one 👍

Thanks mate)
 
Last edited:
Top Bottom