Descent 2 savegame modification
Posted: Sat Jan 03, 2015 3:55 pm
Once I needed to enhance savegame of Descent 2, the first thing I did was that I incremented the value of 'STATE_VERSION'.
A bit later I understood that this wasn't so good idea, because other developers might want to change that number too.
Since nobody owns the versioning today, my idea had been : to have a negotiation with other developers and solely get a version number for own purposes.
(Then add one more 32 bit integer for subversion, and that would be sufficient to manage with own versions and be calm than nobody will overlap with your file format, and even if he will, it would be easy to just tell him not to use your version number which was publicly negotiated, but instead ask the community for own one.)
However, after I spoke with Zico, he told me a way more proper solution.
In sum, parts of my and Zico's solutions would be :
1) change ID in the file header.
2) change the extension of savegame file to own one (obviously different).
3) change the directory where savegames of enhanced version will be stored (the original game stores it right at the exe, i.e. in the game's root folder).
The set of these actions will totally exclude any possible collisions.
Note that if you still would want the compatibility between different engines, your engine just has to be capable to save the original version 22 which normally any engine will be or is capable to load.
Thank you for attention.
A bit later I understood that this wasn't so good idea, because other developers might want to change that number too.
Since nobody owns the versioning today, my idea had been : to have a negotiation with other developers and solely get a version number for own purposes.
(Then add one more 32 bit integer for subversion, and that would be sufficient to manage with own versions and be calm than nobody will overlap with your file format, and even if he will, it would be easy to just tell him not to use your version number which was publicly negotiated, but instead ask the community for own one.)
However, after I spoke with Zico, he told me a way more proper solution.
In sum, parts of my and Zico's solutions would be :
1) change ID in the file header.
2) change the extension of savegame file to own one (obviously different).
3) change the directory where savegames of enhanced version will be stored (the original game stores it right at the exe, i.e. in the game's root folder).
The set of these actions will totally exclude any possible collisions.
Note that if you still would want the compatibility between different engines, your engine just has to be capable to save the original version 22 which normally any engine will be or is capable to load.
Thank you for attention.