Warning: breaks compatibility with previous savefiles.
They were mostly broken anyway, locking any NPC who
waited for kActionEndSound when savefile was created.
Checked the logic against the original game
(to be precise, DOS English version from GOG, although I think
AI logic has no significant differences with other versions).
Fixed a *lot* of errors with varying visibility for the user.
Also, save+exit+load sometimes resulted in memory corruption like
((EntityParametersSSII*)(new EntityParametersIIII))->param8 = 0;
load operation did not restore the correct type of NPC logic context,
the default one was used (which also has the smallest sizeof).
Should be fixed now. Save+load is still unusable because it locks
everybody waiting for kActionEndSound (the sound state is not restored),
but, at least, it should not corrupt the memory. Hopefully.
- Reading past the end of file in SaveLoad::init
- Missing deallocation of cache in SoundManager
- Missing deallocation of coords in SceneHotspot
- Missing deallocation of event handlers in LastExpressEngine::setEventHandlers
- Missing deallocation of InSaveFile in SaveLoad::isSavegameValid
- Missing deallocation of frames in Menu
as reported by digitall
svn-id: r54193
- Move loading of game stream to separate function
- Add checks for NULL in functions using _savegame
- Add expected saved size for sound & savepoints
svn-id: r53881
- Implement Menu::startGame() properly
- Add stubs functions for game restart
- Made savegame headers serializable and moved validity checks inside struct definition
- Implement create/init savegame functions
- Add SavegameStream to be able to read/write to the same memory stream
- Add stubs for setup, writeEntry & loadEntry functions
svn-id: r53841