Manipulate AIV info in map/sav file
As discussed on Discord, AIV info seems to be in the sav file. Meaning that a sav can function normally,, and the AI continues to build the pre-specified AIV, even after AIV files in the game folder have been replaced.
This needs verification, and we need to identify key AIV info in the sav file. Specifically, we need:
- [X] 1. verification an AI builds an AIV that has been loaded from the sav file.
- [X] 2. key information from an AIV we can hunt down in a sav file (or many sav files).
Current progress (updated)
An aiv file is burnt into a sav file by making all relative coordinates absolute map positions, and removing any building/placement instructions that are illegal from the aiv in the .sav file. Building placement including walls and moats is stored in section 1107. Troop unit locations is stored in section 1022.
To do: Manipulate:
- [ ] 1. building locations
- [ ] 2. building order
- [ ] 3. building type
- [ ] 4. troop type
- [ ] 5. troop location
- [ ] 6. know how exactly to convert from relative coordinates in the aiv file to absolute coordinates in the sav file (the reference point is probably the center of the keep)
how to verify 1:
- prepare any map with aivs and save it (easiest save with semi-finished aiv)
- rename aiv folder (or back it up or smth)
- load save file
my scents to 2 (aiv specs are here)
- data is redundant and unnecassary data is saved in *aiv files
- to minimize the aiv in size, it is enough to save
- building-id, building-position, and the associated building step (or best save it in an array, where the index corresponds to the building
- troop placement in some kind
- building pause steps and pause (even though there are doubt they are safed
and you mentioned, that in safe files, sections 1129-1136 are added compared to map files, so my best guess is this data is saved in section 1134 and/or 1135.
The AI continues to build their (custom AIV) castle even though I removed sections 1129 - 1136. Thus, the AIV is not stored in these sections.
Wiping section 1107 makes every AI build an random/default village? Nobody builds walls.
this random/default village is kinda known to exist (https://github.com/Sh0wdown/UnofficialCrusaderPatch/issues/451), this could be the thing :)
An update on the progress we made. An aiv file is burnt into a sav file by making all relative coordinates absolute map positions, and removing any building/placement instructions that are illegal from the aiv in the .sav file. Building placement including walls and moats is stored in section 1107. Troop unit locations is stored in section 1022.
To do: Manipulate:
- [ ] building locations
- [ ] building order
- [ ] building type
- [ ] troop type
- [ ] troop location
- [ ] know how exactly to convert from relative coordinates in the aiv file to absolute coordinates in the sav file (the reference point is probably the center of the keep)