aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/saveload.cpp
AgeCommit message (Collapse)Author
2016-05-25JANITORIAL: Remove unnecessary semicolonsTorbjörn Andersson
2016-05-17AGI: Remove useless code.Eugene Sandulenko
We set vtEntries to SCREENOBJECTS_MAX, thus, the loop for (i = vtEntries; i < SCREENOBJECTS_MAX; i++) is a no-op.
2016-05-10AGI: Safer string copyingEugene Sandulenko
2016-02-19AGI: Save screen object loop_flagMartin Kiewitz
loop_flag was previously vt.parm1, which was shared for multiple uses. Was split up during graphics rewrite in commit 8a595e7771aa89d06876e13d7ab6751e26da8982 Is indirectly part of bug #7046. Saving, restarting ScummVM and restoring right after grabbing the eagle resulted in the glitch not happening (which was of course an inaccuracy anyway). This was caused by AGI currently not saving/restoring the loop_flag. Needs to get further figured out what's exactly happening internally and if this issue was just hidden by the shared vt.parm1 in previous versions. If triggered, it would have just set another pseudo-random flag on end-of-loop.
2016-02-13AGI: Fix priority band handlingMartin Kiewitz
- Fix saving/loading priority bands table. Now saving the actual raw data - Now also saving the flag, that defines if the priority table got modified by scripts - For older saved games it will try to figure out the state of that flag - Blocking set.pri.base for AGI below 2.936 - set.pri.base was actually introduced in 2.936 and not AGI3 - The set.pri.base bug was present in 2.936 as well - Saved games created between the graphics rewrite and this commit may have priority issues for games, that used AGI2.936+
2016-02-13AGI: Adding seconds of current time to saved gamesMartin Kiewitz
Useful to properly detect the most recent saved game (that's done by the original save/restore dialogs)
2016-02-11AGI: Rename nonBlockingText -> artificialDelayMartin Kiewitz
Also add a table for Apple IIgs games for music issues like in PQ1 intro, where the developers thought that loading a new room would take X amount of time and they started loading before the music was done. In our AGI music may get cut off because of this. It of course also happens, when using the original interpreter, as soon as you emulate a faster processor. Which means this is also a workaround. See bug #7026
2016-02-10AGI: CleanupMartin Kiewitz
2016-02-04AGI: Fix Hold-Key-Mode implementationMartin Kiewitz
Hold-Key-Mode got introduced v2.425, it was simply not possible to disable it until 3.098. Now creating a AGI_KEY_STATIONARY event, so that it works properly Fixes Mixed Up Mother Goose
2016-02-03AGI: Remove _game.state, not needed anymoreMartin Kiewitz
2016-02-03AGI: Implement messageBox() as inner loopMartin Kiewitz
Also remove _game.keypress, _game.msgBoxTicks
2016-02-02AGI: Remove inputMode, not needed anyoreMartin Kiewitz
2016-02-02AGI: Fix formatting.Johannes Schickel
This mostly enforces tabs for indentation and spaces for formatting. But also fixes spaces on empty lines, some extra/missing spaces. astyle + manual fixup
2016-02-01AGI: Rename _game.lognum to _game.curLogicNrMartin Kiewitz
Also a bit of cleanup
2016-02-01AGI: Change _game.exitAllLogics to booleanMartin Kiewitz
2016-02-01AGI: Remove _game.hasPrompt, no longer neededMartin Kiewitz
2016-02-01AGI: Remove old clockEnabled booleanMartin Kiewitz
No longer needed We use ScummVM system total play time functionality instead
2016-01-31AGI: properly implement volume control + syncMartin Kiewitz
Original code did assume that AGI volume level is 0-15 (0 for silence, 15 for maximum volume). It actually is the other way. 0 is maximum, 15 is silence. Fixed that. Also implemented sync with ScummVM settings dialog. In case "mute" is enabled by the user, any volume changes done by scripts are ignored. Fixes Manhunter 1 Apple IIgs not getting sound anymore since the VM Var cleanup (the script volume change by the scripts didn't reach us before)
2016-01-31AGI: remove timer hack, implement in game timerMartin Kiewitz
in game timer is now updated, when scripts read in game timer VM variables and during main loop. ScummVM total play time feature is used for it. Game cycle syncing is done at the same time.
2016-01-31AGI: getflag/setflag/etc. cleanupMartin Kiewitz
renamed getflag() to getFlag() renamed setflag() to setFlag() renamed flipflag() to flipFlag() preagi: renamed setFlag for this engine to setWinnieFlag
2016-01-29AGI: graphics rewrite + cleanupMartin Kiewitz
- graphics code fully rewritten - Apple IIgs font support - Amiga Topaz support - Word parser rewritten - menu code rewritten - removed forced 2 second delay on all room changes replaced with heuristic to detect situations, where it's required - lots of naming cleanup - new console commands show_map, screenobj, vmvars and vmflags - all sorts of hacks/workarounds removed - added SCI wait mouse cursor - added Apple IIgs mouse cursor - added Atari ST mouse cursor - added Amiga/Apple IIgs transition - added Atari ST transition - user can select another render mode and use Apple IIgs palette + transition for PC versions - inventory screen rewritten - SetSimple command now properly implemented - PreAGI Mickey: Sierra logo now shown - saved games: now saving controller key mapping also saving automatic save data (SetSimple command) - fixed invalid memory access when saving games (31 bytes were saved using Common::String c_ptr() Special Thanks to: - fuzzie for helping out with the Apple IIgs font + valgrind - eriktorbjorn for helping out with valgrind - LordHoto for figuring out the code, that caused invalid memory access in the original code, when saving a game - sev for help out with reversing the Amiga transition currently missing: - mouse support for menu - mouse support for system dialogs - predictive dialog support
2014-02-18AGI: Make GPL headers consistent in themselves.Johannes Schickel
2013-04-27AGI: Null terminate string. CID 1003890Eugene Sandulenko
2013-04-27AGI: Null terminate string. CID 1003889Eugene Sandulenko
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-06-10GUI: Refactor default savegame description creation.Johannes Schickel
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP. Now I added a method to SaveLoadChooser instead, which takes care of this. This might not be the best placement of such a functionality, thus I added a TODO which talks about moving it to a better place.
2012-06-10GUI: Add helper to SaveLoadChooser, which uses the currently active target.Johannes Schickel
This reduces the code duplication in all client code, which formerly duplicated the querying of the plugin, game id etc. and now simply calls the newly added method runModalWithCurrentTarget() on a SaveLoadChooser object.
2012-06-10GUI: Get rid of SaveLoadChooser::setSaveMode.Johannes Schickel
We already pass the title and process button name to the constructor of SaveLoadChooser and then do not offer any way of changing it, thus changing the edit mode of the chooser is kind of pointless and was never actually used. Instead we pass the mode on SaveLoadChooser construction now.
2012-05-03AGI: Proper handling of the cancel button when saving/loadingFilippos Karapetis
2012-03-27AGI: Add played time information to saved gamesFilippos Karapetis
2012-03-27AGI: Use the ScummVM dialogs for saving/loadingFilippos Karapetis
An option has been added to use the original ones, if needed
2012-02-22ALL: Fix some signed/unsigned comparison warnings.Johannes Schickel
2011-12-10AGI: Replace usage of 'goto'.D G Turner
2011-11-02AGI: Fix warningsEugene Sandulenko
2011-09-26AGI: Clean up save/load String usageWillem Jan Palenstijn
2011-09-25AGI: Fix compilationFilippos Karapetis
2011-09-25AGI: Switched to Common::String in the save/load codeFilippos Karapetis
2011-09-25AGI: Rewrite getSavegameFilename() so that it doesn't try to return a ↵Filippos Karapetis
pointer to a local variable
2011-09-25AGI: Replaced odd usage of sprintf() with strcpy()Filippos Karapetis
Fixes an odd bug with savegame names being truncated in MSVC
2011-08-14AGI: Renamed some #defines to our code conventions and moved them to enumsEugene Sandulenko
2011-08-07ALL: Use Graphics::skipThumbnail() where appropriate.Christoph Mallon
2011-06-02AGI: Replace snprintf() usage with Common::String::format()D G Turner
Safer and less portability issues.
2011-06-02ENGINES: Change 2nd param of Engine::saveGameState to Common::StringMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-04-14ALL: centre -> centerMax Horn
2011-04-14ALL: colour -> colorMax Horn
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
2010-11-19ALL: Push down deps on stream.h from .h to .cpp filesMax Horn
svn-id: r54358
2010-10-03AGI: Properly detect the autosave slot in the save dialogTorbjörn Andersson
Forward-ported from branch. Let's do this the easy way for now, even if I'm not sure why the save dialog shows the autosave slot anyway. svn-id: r52997