by youngneil1 » Wed Sep 13, 2017 2:26 pm
I think what I will do is to add a new IBScriptHook that is called for when loading a savegame. This hook in combination with global variables (if gobal var = x, set walkable to true) can be used to set states of properties that are by default read from module and not from savegame (like walkability of a tile).
Walkability of a tile is not bound to savegame data because expanding campaigns might need to open up former non-walkable areas - for existing savegames as well. The most recent version of the module file itself is therefore always used to determine walkability, regardless of the save.
Still, as Zach correctly pointed to, there are also situations where walkability has to be stored in the savegame (eg new passage unlocked by quest progress). And here the mentioned new scipt hook comes into play. Savegames store the values of global variables. So, an author can use these in combination with the new script hook to override the walkability state form the recent module version.
This is hopefully a flexible solution for manually handling the save data vs module data conflict in a fitting way.
Ah, harder to put in words than I thought, I hope it still makes some sense...