aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/savegame.cpp
AgeCommit message (Collapse)Author
2010-07-31SCI: kGameIsRestarting returns 2 when we restoredMartin Kiewitz
fixes castle of dr. brain save issue in puzzle room, fixes island of dr. brain save issue when saving in first room svn-id: r51538
2010-07-27SCI: implemented kPalette(save/restore)Martin Kiewitz
svn-id: r51381
2010-07-23SCI: Actually sync kPalVary data when saving/loadingFilippos Karapetis
svn-id: r51198
2010-07-23SCI: Dropped support for the very old savegame versions 12 and 13 ↵Filippos Karapetis
(hopefully, the last ones to be dropped) svn-id: r51197
2010-07-23SCI: some changes to kPalVary savingMartin Kiewitz
still needs to get tested svn-id: r51196
2010-07-23SCI: Now saving the kPalVary state inside savegamesFilippos Karapetis
svn-id: r51194
2010-07-22SCI: Fixed a bug when loading some saved games (sometimes, the execution ↵Filippos Karapetis
stack wasn't cleared properly when loading and you couldn't save or restore) svn-id: r51140
2010-07-17SCI: checking if within kernel function before overwrite a save (thx @ digitall)Martin Kiewitz
svn-id: r50962
2010-07-09SCI: implemented subsignatures for kDoSoundMartin Kiewitz
svn-id: r50755
2010-07-07SCI: Dropped support for the very old saved game versions 9 - 11. Rationale: ↵Filippos Karapetis
a lot has changed since then, we're still not stable, and this helps clean up the code, thus we're still in a position to drop support for old saved games svn-id: r50738
2010-07-06SCI: Add version to obsolete stringMax Horn
This way, if we ever get rid of support for savegames with version <= 23, we can also get rid of this syncString() call. Without this change, it would have "infected" every new savegame version, forever. svn-id: r50730
2010-07-01SCI: Invoke resetSegMan from SegManager::saveLoadWithSerializer, not from ↵Max Horn
EngineState::saveLoadWithSerializer svn-id: r50554
2010-07-01SCI: Make SegManager::_classTable private.Max Horn
This require a small tweak to the save/load code: I moved the syncing logic for _classtable from EngineState::saveLoadWithSerializer to SegManager::saveLoadWithSerializer, which in theory should have no effect (luckily, _classtable was being synced right after the segment manager). svn-id: r50551
2010-07-01SCI: Rename some variables to match our naming conventionsMax Horn
svn-id: r50549
2010-06-30SCI: Removed the FreeSCI music codeFilippos Karapetis
svn-id: r50532
2010-06-30When deleting a list node, erase its references to predecessor and successor ↵Filippos Karapetis
nodes. Fixes cases where game scripts could reference a list node after it was deleted (e.g. QFG1 intro, Longbow when exiting the cave). Some slight cleanup svn-id: r50515
2010-06-29SCI: Made the SoundCommandParser a member of the SciEngine class and removed ↵Filippos Karapetis
it from the EngineState, since it's static throughout the course of a game svn-id: r50484
2010-06-28Don't initialize graphics again when loadingFilippos Karapetis
svn-id: r50464
2010-06-28SCI: Make Script member vars private; add const qualifiersMax Horn
Only three Script members remain public (for now) svn-id: r50428
2010-06-23Moved the SelectorCache struct inside selector.h, where it belongs, and ↵Filippos Karapetis
fixed some header dependencies in the process svn-id: r50183
2010-06-22Reverted the code which handles objects without a base object when loading, ↵Filippos Karapetis
for now. This possibly indicates an issue related to the garbage collector svn-id: r50142
2010-06-22Stop saving the buffer, script and heap sizes of each script in saved gamesFilippos Karapetis
svn-id: r50137
2010-06-19SCI: resume when unable to locate base objects - fixes loading some saved gamesMartin Kiewitz
svn-id: r50055
2010-06-17Strict mode: Changed several warnings due to logic bugs into errors. If an ↵Filippos Karapetis
error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning svn-id: r49973
2010-06-15SCI: SciGui/SciGui32 gone for good...Martin Kiewitz
svn-id: r49860
2010-06-15SCI: putting SciGui::init into SciEngine, removing it from SciGui(32)Martin Kiewitz
svn-id: r49854
2010-06-15Properly reconstruct the running stack when restoring (a regression from ↵Filippos Karapetis
commits #49376 and #49525), some formatting svn-id: r49689
2010-06-15- Swapped the return value of gamestate_save (false = failed, true = succeeded)Filippos Karapetis
- Removed some duplicate code inside Console::cmdSaveGame() svn-id: r49688
2010-06-15Added a signature of the game itself inside saved games (the size of script ↵Filippos Karapetis
0, as well as the offset of the game object, which are unique for each game), to prevent users from loading saved games across different versions of the same game. In the cases where we can't load a saved game, throw a nice GUI dialog instead of a console warning svn-id: r49687
2010-06-15Reorganized functions a bitFilippos Karapetis
svn-id: r49685
2010-06-15Cleanup of the savegame code:Filippos Karapetis
- Added a saveLoadWithSerializer() method to the reg_t class - Moved SegManager::reconstructClones() inside savegame.cpp - Moved SoundCommandParser::syncPlayList() and SoundCommandParser::reconstructPlayList() inside savegame.cpp svn-id: r49683
2010-06-14SCI: Limit the screen refresh rate to 60fpsFilippos Karapetis
svn-id: r49647
2010-06-13The offset of script local variables is now calculated when the script is ↵Filippos Karapetis
loaded, thus we no longer need to save it. Merged scriptInitialiseLocals() with scriptInitialiseLocalsZero() svn-id: r49640
2010-06-10camelCase changesFilippos Karapetis
svn-id: r49570
2010-06-10Resolved a FIXME with getSciLanguage(), by creating a separate setter. Also, ↵Filippos Karapetis
some camelCase changes svn-id: r49568
2010-06-10Pic port saving/loading is only used in SCI0-SCI11Filippos Karapetis
svn-id: r49567
2010-06-10SCI: set picport when loading saved gamesMartin Kiewitz
svn-id: r49565
2010-06-09The EngineState is no longer recreated when a game is restored, thus we ↵Filippos Karapetis
don't need to refresh pointers to it svn-id: r49549
2010-06-09Fixed compilation when the old sound code is usedFilippos Karapetis
svn-id: r49540
2010-06-09Globals from script 0 are now initialized in script_init_engine(), and are ↵Filippos Karapetis
accessed from the relevant variables pointer. Removed direct reference to script 0 from the engine state svn-id: r49536
2010-06-08Don't shrink the stack after reconstructing it, when loading a saved game. ↵Filippos Karapetis
Fixes game restoring in some games (e.g. LSL3), a regression from commit #49376 svn-id: r49525
2010-06-08CleanupFilippos Karapetis
svn-id: r49521
2010-06-08Merged the restarting_flags, script_abort_flag, and restoring members of the ↵Filippos Karapetis
EngineState class into one variable, abortScriptProcessing. The flag kept to signify a game restart has been placed in a boolean, gameWasRestarted svn-id: r49518
2010-06-08Merged sync_SegManagerPtr() inside EngineState::saveLoadWithSerializer()Filippos Karapetis
svn-id: r49512
2010-06-08Made reconstruct_stack() a member of SegManagerFilippos Karapetis
svn-id: r49503
2010-06-06Now that EngineState is not deleted when loading games, we can move some ↵Filippos Karapetis
more state-related variables to it, and remove several FIXME's about non-const global variables. Also, the entries in the data stack are now deleted when loading (fixes a memory leak - thanks to digitall for this). svn-id: r49465
2010-06-01Stop reconstructing the engine state when restoring, but reset it insteadFilippos Karapetis
svn-id: r49376
2010-06-01The parser vocabulary remains static throughout the game, thus it has been ↵Filippos Karapetis
removed from the engine state svn-id: r49373
2010-06-01The system strings segment is a fixed segment of the segment manager, which ↵Filippos Karapetis
doesn't change during the game, thus move all the system strings code and variables inside the segment manager svn-id: r49372
2010-05-31The save/load object init code is now unified with the regular object init codeFilippos Karapetis
svn-id: r49346