aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
AgeCommit message (Collapse)Author
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.
2017-08-10MOHAWK: Myst: Stop gears video before calling elevator on mechanicalBastien Bouclet
Fixes #10108.
2017-08-10MOHAWK: Riven: Trigger the try to open the back rotating room doorBastien Bouclet
When using keyboard navigation
2017-08-10MOHAWK: Riven: Stop using varargs to list hotspot namesBastien Bouclet
One call to va_end was missing when returning early. This stuff is too dangerous for me to use.
2017-08-08MOHAWK: Myst: Fix off by one pixel map position when rotating the towerBastien Bouclet
Fixes #10081.
2017-08-06MOHAWK: Riven: Add keyboard navigationBastien Bouclet
2017-08-06MOHAWK: Riven: Load only the data files for the current game versionBastien Bouclet
The Steam version is a DVD version, but also has files from the CD version in the data folder. We need to load only the files from the DVD version to prevent data inconsistencies. Also check on startup that all the required datafiles are present. Possibly fixes #10052.
2017-08-05MOHAWK: Riven: Ensure the entire view is drawn when pan transitions completeBastien Bouclet
Fixes #10063.
2017-08-05MOHAWK: Riven: Make sure to update the cursor when entering a cardBastien Bouclet
2017-08-05MOHAWK: Riven: Remove the DVD flag from some versionsBastien Bouclet
Those are obviously repackaged CD versions
2017-08-05MOHAWK: Riven: Set the ADGF_TESTING flagBastien Bouclet
2017-08-05MOHAWK: Myst: Set the clicked resource only if the active resource was updatedBastien Bouclet
Fixes #10053.
2017-08-05MOHAWK: Myst: Display every second fireplace button animation frameBastien Bouclet
The animation is too slow when displaying each frame at 60 fps. Fixes #10053
2017-07-30MOHAWK: Myst: Set the mixer sound type to SFX for videosBastien Bouclet
Also simplify video filename construction.
2017-07-29MOHAWK: Riven: Let the gameloop gracefully end when quittingBastien Bouclet
Prevents the quit confirmation dialog from being displayed at the end of the game's ending if it is enabled. Fixes #9943.
2017-07-27MOHAWK: Riven: Set the mixer sound type to SFX for videosBastien Bouclet
Fixes #9938.
2017-07-23MOHAWK: Remove unnecessary include that was breaking some buildsWillem Jan Palenstijn
This was breaking builds with the Myst sub-engine disabled.
2017-07-22MOHAWK: Myst: Fix Selenitic sound receiver buttons not flashingBastien Bouclet
The new screen update strategy does not allow scripts to draw twice at the same location for blinking.
2017-07-22MOHAWK: Myst: Fix error when checking the rocket sliders solution twiceBastien Bouclet
The game was trying to start playing the linking book video in a blocking way whereas it was set to loop by the first check. Fixes #9914.
2017-07-22MOHAWK: Myst: Don't cast function pointers when registering commandsBastien Bouclet
2017-07-22MOHAWK: Myst: Improve script execution tracingBastien Bouclet