aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
AgeCommit message (Collapse)Author
2018-06-14MOHAWK: MYST: Clean up the options dialogBastien Bouclet
Also load and save games using ctrl-o / ctrl-s.
2018-06-13MOHAWK: MYST: Make the scripts time accounting pause safeBastien Bouclet
2018-06-13MOHAWK: MYST: Move the current stack id to ScriptParserBastien Bouclet
2018-06-13MOHAWK: MYST: Simplify memory management of the active stackBastien Bouclet
2018-06-13MOHAWK: MYST: Extract a Card class out of the main engine classBastien Bouclet
This is to allow having multiple cards loaded at the same time in the future.
2018-06-07MOHAWK: Display a GUI error message when no audio devices are availableBastien Bouclet
2018-05-28Merge pull request #1187 from bgK/detection-refactor-unknownBastien Bouclet
ENGINES: Return unknown game variants with the list of detected games
2018-05-28MOHAWK: MYST: Fix drawing the Stoneship red page open doorBastien Bouclet
When the lights are on, the open door image would not draw at the correct position in Myst ME only. This is due to the open door image being too small. The original has a special case for that image. We reproduce that same hack. Fixes Trac#7143.
2018-05-28Merge pull request #1201 from ccawley2011/mohawk-soundBastien Bouclet
MOHAWK: Fix decoding sounds with 16 bit samples
2018-05-26Merge pull request #1198 from dafioram/mohawk10536Bastien Bouclet
MOHAWK: README: Minor autosave changes and notes for autosaving
2018-05-24MOHAWK: Fix decoding sounds with 16 bit samplesCameron Cawley
2018-05-24JANITORIAL: Fix trailing whitespaceAdrian Frühwirth
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-20MOHAWK: RIVEN: Add Autosave SupportDavid Fioramonti
The game will autosave to slot 0 using the save period given in the scummvm config file. Or when the user quits. Autosaves are only allowed when an autosave is in slot 0, there is no save in slot 0, or there is a save, but it is corrupt. 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-05-20MOHAWK: MYST: Fix repeatedly trying to autosave when not allowedBastien Bouclet
Fixes trying to open the save on slot 0 on each frame when it is not an autosave.
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-05-18MOHAWK: RIVEN: Always release the prison combination buttonsBastien Bouclet
Fixes Trac#10525.
2018-05-17MOHAWK: MYST: Opcode 102 in Channelwood can only set the volume to non 0 valuesBastien Bouclet
Fixes Trac#10532.
2018-05-17MOHAWK: Don't allow displaying the map when the game is not interactiveBastien Bouclet
Fixes Trac#10526 and Trac#10531.
2018-05-17MOHAWK: Remove detection entries for games not supported by the enginesBastien Bouclet
2018-05-17MOHAWK: Remove midi playbackBastien Bouclet
This was unused and not touched for many years
2018-05-10MOHAWK: RIVEN: Add a detection entry for another DVD versionBastien Bouclet
2018-05-10MOHAWK: RIVEN: Hide the mouse cursor after pressing a prison code buttonBastien Bouclet
It now matches the behavior of the original engine. Fixes #10521.
2018-05-10ENGINES: Add unknown game variants to the game detector resultsBastien Bouclet
2018-05-08MOHAWK: RIVEN: Add a script patch fixing incorrect steam sound in a viewBastien Bouclet
Fixes Trac#10516.
2018-04-27MOHAWK: MYST: Fix two Atrus videos playing at the same time in D'niBastien Bouclet
In D'ni, after giving the white page to Atrus, or after coming without a page, too videos of Atrus would play on top of each other after waiting long enough for the first video to loop. Fixes #10503.
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: Don't play the credits when quitting in the middle of a scriptBastien Bouclet
Playing the credits unloads the data required by the rest of the script. Fixes Trac#10502.
2018-04-26MOHAWK: MYST: Reset the main cursor when starting the creditsBastien Bouclet
The credit stack does not have the data required to display all the cursors, especially the page cursors. Fixes Trac#10501.
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-24MOHAWK: MYST: Redraw the tower angle line after the rotation completesBastien Bouclet
Fixes Trac#10499.
2018-04-23MOHAWK: MYST: Clip one coordinate at a time in o_copyImageToBackBufferBastien Bouclet
Fixes Achenar's door animation being mispositionned on Channelwood. Fixes Trac#10498.
2018-04-22MOHAWK: LB: Mark a switch fall-trough as intentionalBastien Bouclet
Without the fall-through, the function would unconditionally dereference an uninitialized pointer.
2018-04-22MOHAWK: LB: Mark some switch fall-throughs as intentionalBastien Bouclet
Fall-throughs are used as a way to handle optional parameters in this function.
2018-04-22MOHAWK: MYST: Fix the sound effect not playing in opcode 41Bastien Bouclet
Changing the background sound when switching cards could stop the effect sound immediately after it started. Fixes Trac#10493.
2018-04-21MOHAWK: Remove extra comaBastien Bouclet
2018-04-21Merge branch 'dafioram-myst_soundrecvrChanges'Bastien Bouclet
2018-04-21MOHAWK: MYST: Always redraw the sound receiver at constant speedsBastien Bouclet
Fixes the sound receiver display stopping for a little while every second or so when keeping a direction button pressed.
2018-04-21MOHAWK: MYST: Make sound receiver hint boundary line up with origDavid Fioramonti
In the original the sound reciever would provide a hint of the source sound direction when the user was less than 5 degrees away. In ScummVM it was less than or equal to 5 degrees. Now it matches the behavior of the original.
2018-04-21MOHAWK: MYST: Enhance: slow down sound receiver max spin rateDavid Fioramonti
This slows down the Selentic age sound receiver spin rate when fully depressing either of the turn buttons. This is a deviation from the original and improves the users experience. In the original when the button is fully depressed the receiver turns so fast that it is impossible to predict what angle you full be at when you let go.
2018-04-15JANITORIAL: Fix code formattingEugene Sandulenko
2018-04-15MOHAWK: MYST: Fix Observatory displayed hour from 0:XX to 12:XXDavid Fioramonti
Fixes #Trac10486. For 12 Hr format versions, in ScummVM when the hour was set to what should be 12:XX it was displayed as 0:XX. This differs with the original English versions which displays the 12:xx. I verified this fix in both Myst ME and Myst English CD.
2018-04-15MOHAWK: MYST: Fix observatory slider sounds repeating too quicklyBastien Bouclet
Add delays to simulate running at a lower framerate.
2018-04-15MOHAWK: MYST: Make changeBackgroundSound wait for the effect to completeBastien Bouclet
Fixes #10489.
2018-04-11MOHAWK: MYST: Fix missing sound effect when using the rocket sliderBastien Bouclet
Fixes #10485.
2018-04-10MOHAWK: MYST: Fix flyby movies to behave more like the originalBastien Bouclet
* Keep playing the previously running background sound while playing the flyby. * Don't play the flyby after loading a save. * Play the flyby before both linking sounds. Fixes #10482, Fixes #10483.
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.