aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_state.cpp
AgeCommit message (Collapse)Author
2018-06-29MOHAWK: MYST: Introduce a main menu stackBastien Bouclet
Used in the 25th Anniversary edition of Myst ME
2018-06-13MOHAWK: MYST: Move the current stack id to ScriptParserBastien Bouclet
2018-05-22MOHAWK: Allow non-autosaves in autosave slot to be deletableDavid Fioramonti
With the addition of autosaving support, deleting saves (via the gui) to slot 0 was disabled, but for saves that have been previousl created by the user it make sense that they should be allowed to delete a save in slot 0. Fixes Trac#10536.
2018-05-22MOHAWK: MYST: Do not autosave over saves from the originalDavid Fioramonti
The previous logic was enabling autosaving if the metadata file was not present, but saves from the original don't have metadata. Now it checks if the non-metadata file can be loaded to determine if the slot is empty.
2018-05-19MOHAWK: MYST: Fix the Wii/GameCube buildBastien Bouclet
2018-05-19MOHAWK: MYST: Autosave to Slot 0David Fioramonti
The game will autosave to slot 0 using the save period given in the scummvm config file or when the user exits using the GMM. Autosaves are only allowed when an autosave is in slot 0 or there is no save in slot 0. This will not override any saves the player has previously put in save slot 0. If there is a save in slot 0 that is not an autosave then there will be no autosaving.
2018-04-27MOHAWK: MYST: Make Dni/Atrus endings an enumDavid Fioramonti
The global variable "ending" tracks various states that Atrus can be in. This variable determines what video of Atrus will be playing and if the brother books have been destroyed. Despite this variable being called ending there are other endings not captured by this variable (like the brother endings). Also change spelling of Dini to Dni for one usage of ActiveAge from a previous commit.
2018-04-26MOHAWK: MYST: Make global currentAge an enumDavid Fioramonti
This global basically tracks what age/book/stack the player is in. It is also used to change stacks via MohawkEngine_Myst::changeToStack() by being an index for MystScriptParser::_stackMap and MystScriptParser::_startCard. E.x., instead of _global.currentAge = 2 now _global.currentAge = kMystLibrary. Also two of the endings are considered Ages instead of being apart of _global.ending.
2018-04-25MOHAWK: MYST: Turn held page state into an enumdafioram
Previously, the held page stage was an unsigned int 16 with values 0-13. The enum will make its state more clear.
2018-04-07ALL: Load savegame thumbnail only when necessaryAdrian Frühwirth
This commit introduces the following changes: 1. Graphics::loadThumbnail() Now returns a boolean and takes a new argument skipThumbnail which defaults to false. In case of true, loadThumbnail() reads past the thumbnail data in the input stream instead of actually loading the thumbnail. This simplifies savegame handling where, up until now, many engines always read the whole savegame metadata (including the thumbnail) and then threw away the thumbnail when not needed (which is in almost all cases, the most common exception being MetaEngine::querySaveMetaInfos() which is responsible for loading savegame metadata for displaying it in the GUI launcher. 2. readSavegameHeader() Engines which already implement such a method (name varies) now take a new argument skipThumbnail (default: true) which is passed through to loadThumbnail(). This means that the default case for readSavegameHeader() is now _not_ loading the thumbnail from a savegame and just reading past it. In those cases, e.g. querySaveMetaInfos(), where we actually are interested in loading the thumbnail readSavegameHeader() needs to explicitely be called with skipThumbnail == false. Engines whose readSavegameHeader() (name varies) already takes an argument loadThumbnail have been adapted to have a similar prototype and semantics. I.e. readSaveHeader(in, loadThumbnail, header) now is readSaveHeader(in, header, skipThumbnail). 3. Error handling Engines which previously did not check the return value of readSavegameHeader() (name varies) now do so ensuring that possibly broken savegames (be it a broken thumbnail or something else) don't make it into the GUI launcher list in the first place.
2016-07-24MOHAWK: Make sure the cursor is visible after loading in MystBastien Bouclet
Fixes #7164.
2016-04-03MOHAWK: Switch to slot based save file naming for MystBastien Bouclet
Myst previously used the user provided description as the save filename. This was not working when the user entered chacacters forbidden by the filesystem. The actual save format has not changed. Old saves are still compatible, but must be renamed to 'myst-###.mys' and 'myst-###.mym'. Fixes 7106.
2016-02-22MOHAWK: Add support for the ScummVM save metadata featuresBastien Bouclet
The metadata is saved in a separate file to keep compatibility with the original engine saves.
2016-02-07MOHAWK: Use nullptr where applicable in the Myst codeBastien Bouclet
2014-07-08MOHAWK: Reset some Myst state variables as per the originalBastien Bouclet
This fixes a bug where the player could be stuck on Channelwood's lower level with the elevator on the upper level. This also turns the light off on Stoneship when entering the age, since the battery is depleted. Thanks to dtungsten for submitting this fix in PR#478.
2014-02-18MOHAWK: Make GPL headers consistent in themselves.Johannes Schickel
2011-08-07MOHAWK: Disable zip mode in Myst demoBastien Bouclet
2011-05-15MOHAWK: Fix loading a Myst savegame from the launcher.Bastien Bouclet
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-02-13MOHAWK: Add Achenar's crate state to Mechanical stateBastien Bouclet
2011-01-27MOHAWK: Implement Stoneship chest puzzleBastien Bouclet
svn-id: r55577
2011-01-09MOHAWK: Add a stub for Myst var getter 308Bastien Bouclet
svn-id: r55187
2011-01-09MOHAWK: Myst zip mode improvementsBastien Bouclet
- Save visited zip destinations in the game state - Only allow zipping to visited zip destinations - Save zip mode setting in the game state svn-id: r55185
2011-01-09MOHAWK: Implement minimal D'ni stack. Lacking movie control.Bastien Bouclet
svn-id: r55180
2011-01-07MOHAWK: Merge Myst intro opcode 100 with generic opcode 40 into engine ↵Bastien Bouclet
method changeStack svn-id: r55152
2010-12-30MOHAWK: Implement Myst opcodes 129 to 132, and 192 to 197, Stellar ↵Bastien Bouclet
observatory buttons svn-id: r55065
2010-12-29MOHAWK: Implement Myst opcode 214, Stellar observatory initializationBastien Bouclet
svn-id: r55063
2010-12-26MOHAWK: Move myst_saveload.* to myst_state.*Matthew Hoops
svn-id: r55045