aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
AgeCommit message (Collapse)Author
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.
2018-04-02MOHAWK: MYST: Fix the myst flyby playing over the closed bookBastien Bouclet
In older releases of Myst the flyby video had the play on card change flag set to true, causing the bug. As a workaround patch the resource to mach newer releases. Fixes #10472.
2018-04-02MOHAWK: MYST: Initialize more variablesBastien Bouclet
To make static analysis tools quiet.
2018-04-02MOHAWK: MYST: Implement opcodes 178 and 179Bastien Bouclet
Used when turning pages in the library. Some versions of the game appear to use them. Fixes #10474.
2018-03-31MOHAWK: Fix some clang-tidy warningsBastien Bouclet
2018-03-28MOHAWK: Added override clausesEugene Sandulenko
2018-02-08MOHAWK: Fix indentation in detection_tables.hrootfather
2018-02-08MOHAWK: Add detection for English Myst, Win 3.11, Version 1.0.1rootfather
2018-02-05MOHAWK: RIVEN: Execute the stored opcode before resetting moviesBastien Bouclet
Otherwise the movie position is zero which leads the comparison with the stored opcode position to always be false. Fixes #10426, a regression from cf1171d4d9b43eba.
2018-01-01MOHAWK: RIVEN: Rewind videos that are played until their endBastien Bouclet
When videos are skipped, they would sometimes not quite be seeked to the last frame. In that case, when they are played again without being restarted, they would end immediatly. Now videos are automatically rewinded when they end or are skipped so that they always start from the beginning when played again. Fixes #10389.
2017-12-20MOHAWK: RIVEN: Add keyboard shortcuts for loading and savingBastien Bouclet
Those shortcuts are documented in the original game manual.
2017-11-26MOHAWK: RIVEN: Ignore key repeat eventsBastien Bouclet
This fixes keyboard book page turning being too fast when holding keys
2017-11-26MOHAWK: RIVEN: Allow turning book pages more quicklyBastien Bouclet
Fixes #10075
2017-11-10Merge pull request #1041 from criezy/variadic-undefinedThierry Crozat
Fix undefined behaviour in variadic functions
2017-11-02MOHAWK: RIVEN: Remove the testing flagBastien Bouclet
2017-10-25MOHAWK: MYST: Add detection for a Russian versionBastien Bouclet
2017-10-07ENGINES: Remove default1x scaler flagColin Snover
This flag is removed for a few reasons: * Engines universally set this flag to true for widths > 320, which made it redundant everywhere; * This flag functioned primarily as a "force 1x scaler" flag, since its behaviour was almost completely undocumented and users would need to figure out that they'd need an explicit non-default scaler set to get a scaler to operate at widths > 320; * (Most importantly) engines should not be in the business of deciding how the backend may choose to render its virtual screen. The choice of rendering behaviour belongs to the user, and the backend, in that order. A nearby future commit restores the default1x scaler behaviour in the SDL backend code for the moment, but in the future it is my hope that there will be a better configuration UI to allow users to specify how they want scaling to work for high resolutions.
2017-10-06MOHAWK: Fix undefined behaviour in variadic functionsThierry Crozat
Passing a type that undergoes default argument promotion as last argument of a variadic function results in undefined behaviour.
2017-09-20MOHAWK: Riven: Move the water effect to its own classBastien Bouclet
Fixes the per frame scripts being leaked. Fixes #10215.
2017-09-20MOHAWK: Riven: Plug memory leak when savingBastien Bouclet
Fixes #10216.
2017-08-20MOHAWK: Riven: Pause the engine while the load dialog is openBastien Bouclet
2017-08-14MOHAWK: Update transition mode after loading savegameTorbjörn Andersson
2017-08-12MOHAWK: Myst: Fix one Atrus video being off position by one pixelBastien Bouclet
Fixes #10114.
2017-08-12MOHAWK: Myst: Fix incorrect vault instructions using image patchBastien Bouclet
Thanks to dafioram for providing the replacement image. Fixes #10115.
2017-08-11MOHAWK: Riven: b_Data1.mhk is not required to play the CD versionBastien Bouclet
2017-08-11MOHAWK: Riven: Patch an invalid card change when entering Gehn's officeBastien Bouclet
Fixes #10118.
2017-08-11MOHAWK: Riven: Fix pin rotation handle sometimes disappearingBastien Bouclet
It was due to inaccurate rotation movie bounds. Fixes #10086.
2017-08-10MOHAWK: Myst: Fix showing the white page after dropping itBastien Bouclet
Fixes #10065.
2017-08-10MOHAWK: Myst: Restore the backbuffer after toggling off fireplace buttonsBastien Bouclet
Fixes #10064
2017-08-10MOHAWK: Riven: Neutralize the timer when moving the Ytram trap upBastien Bouclet
Fixes #10103.