151 Commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
AspireONE-zz
fdbfb6160f
MOHAWK (Myst): Allow fuzzy matching in the space ship puzzle
Enabling this new option can make it easier for hearing impaired
users to solve that puzzle
2021-06-12 21:07:18 +03:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Bastien Bouclet
1d731aeef9 MOHAWK: Simplify retrieving game features 2020-03-28 07:38:39 +01:00
D G Turner
1072fca204 MOHAWK: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-02 00:16:10 +00:00
Bastien Bouclet
5dd38b8660 MOHAWK: MYST: Play complete audio clip when changing the boiler pressure
Fixes Trac#10607.
2018-07-08 21:55:09 +02:00
David Fioramonti
a01babbd38 MOHAWK: MYST: Use degree conversion common math funcs 2018-07-03 23:08:48 +01:00
Bastien Bouclet
1d731cb6c0
Merge pull request from dafioram/mystDaySlider
MOHAWK: MYST: Increment y_pos of observatory day slider faster
2018-06-24 17:17:54 +02:00
Bastien Bouclet
6237bc6e7b MOHAWK: MYST: Fix out of bounds read when redrawing the observatory
The observatory go button computes random 105x106 rectangles in the
512x512 star image. The previous code would allow to go out of bounds by
3 pixels. Interestingly the bug is in the original engine disassembly
perhaps it could crash as well.

Fixes Trac#10576.
2018-06-19 20:21:53 +02:00
David Fioramonti
bfeb2d48e2 MOHAWK: MYST: Increment y_pos of observatory day slider faster
Fixes Trac#10572.

The day slider does not go all the way to the bottom (day 31st)
when the down arrow is used to increment the day. This change
increases how much y displacement happens with each change
in the day so that the bottom is reach on day 31st.

This is just a graphical bug and doesn't affect the logic
of the puzzle. The day slider can also be dragged to the bottom
without using the buttons.
2018-06-19 05:23:59 -07:00
Bastien Bouclet
2de359f23d MOHAWK: MYST: Make the scripts time accounting pause safe 2018-06-13 08:00:29 +02:00
Bastien Bouclet
47ddd9c214 MOHAWK: MYST: Move the current stack id to ScriptParser 2018-06-13 07:55:55 +02:00
Bastien Bouclet
13b3371f1a MOHAWK: MYST: Extract a Card class out of the main engine class
This is to allow having multiple cards loaded at the same time in the
future.
2018-06-13 07:55:55 +02:00
David Fioramonti
52e247e239 MOHAWK: MYST: Make Dni/Atrus endings an enum
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-27 19:22:00 +02:00
David Fioramonti
ab7cdc5907 MOHAWK: MYST: Make global currentAge an enum
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-26 22:09:46 +02:00
dafioram
519e02da47 MOHAWK: MYST: Turn held page state into an enum
Previously, the held page stage was an unsigned int 16
with values 0-13. The enum will make its state more clear.
2018-04-25 18:46:50 +02:00
Bastien Bouclet
c1a12c2475 MOHAWK: MYST: Redraw the tower angle line after the rotation completes
Fixes Trac#10499.
2018-04-24 20:12:29 +02:00
Eugene Sandulenko
0e02da6000 JANITORIAL: Fix code formatting 2018-04-15 23:55:07 +02:00
David Fioramonti
284f720830 MOHAWK: MYST: Fix Observatory displayed hour from 0:XX to 12:XX
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-15 18:33:04 +02:00
Bastien Bouclet
24956f0a56 MOHAWK: MYST: Fix observatory slider sounds repeating too quickly
Add delays to simulate running at a lower framerate.
2018-04-15 07:53:32 +02:00
Bastien Bouclet
63592e6a0f MOHAWK: MYST: Fix missing sound effect when using the rocket slider
Fixes .
2018-04-11 07:49:12 +02:00
Bastien Bouclet
5fec35d045 MOHAWK: MYST: Initialize more variables
To make static analysis tools quiet.
2018-04-02 13:38:57 +02:00
Bastien Bouclet
235893fb44 MOHAWK: MYST: Implement opcodes 178 and 179
Used when turning pages in the library. Some versions of the game appear
to use them.

Fixes .
2018-04-02 08:00:59 +02:00
Bastien Bouclet
84b2dc5cc8 MOHAWK: Fix some clang-tidy warnings 2018-03-31 13:36:09 +02:00
Bastien Bouclet
fb26a42aad MOHAWK: Myst: Restore the backbuffer after toggling off fireplace buttons
Fixes 
2017-08-10 20:52:23 +02:00
Bastien Bouclet
09be9b2c2d MOHAWK: Myst: Fix off by one pixel map position when rotating the tower
Fixes .
2017-08-08 20:11:22 +02:00
Bastien Bouclet
cd6a4423ef MOHAWK: Myst: Display every second fireplace button animation frame
The animation is too slow when displaying each frame at 60 fps.

Fixes 
2017-08-05 08:36:32 +02:00
Bastien Bouclet
07aaed5659 MOHAWK: Myst: Set the mixer sound type to SFX for videos
Also simplify video filename construction.
2017-07-30 17:42:01 +02:00
Bastien Bouclet
7ac1bd9a57 MOHAWK: Myst: Fix error when checking the rocket sliders solution twice
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 .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
757459bd49 MOHAWK: Myst: Don't cast function pointers when registering commands 2017-07-22 20:38:56 +02:00
Bastien Bouclet
a99397f126 MOHAWK: Myst: Improve script execution tracing 2017-07-22 20:38:56 +02:00
Bastien Bouclet
3e99dd8ccc MOHAWK: Myst: Switch to bounds checked opcode arguments 2017-07-22 20:38:56 +02:00
Bastien Bouclet
75040819c6 MOHAWK: Myst: Rewrite the sound code
It now more closely matches the original. Effect sounds are now stopped
when resuming background sounds.

Fixes , Fixes .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
a2fc282e1c MOHAWK: Myst: Move the sound code to its own class 2017-07-22 20:38:56 +02:00
Bastien Bouclet
64303abb07 MOHAWK: Myst: Update the screen only once per frame
Change all inner loops to call the same frame function.

Remove the draw delay code. Now that we have proper frame pacing it is
not necessary anymore to wait before drawing to make sure the previous
frame stayed on the screen long enough.

Fixes , , .
2017-07-22 20:38:56 +02:00
Bastien Bouclet
9cb6c872b7 MOHAWK: Myst: Decorrelate hotspot handling from event handling
This makes sure doFrame can be called from anywhere, including scripts.
2017-07-22 20:38:56 +02:00
Bastien Bouclet
8f0fa86fbc MOHAWK: Myst: Change blocking sounds to use the main loop 2017-07-22 20:38:56 +02:00
Bastien Bouclet
49fa0bdd68 MOHAWK: Myst: Change blocking movies and waits to use the main loop 2017-07-22 20:38:56 +02:00
Bastien Bouclet
c5496e3206 MOHAWK: Get rid of VideoHandle 2017-07-22 20:38:56 +02:00
Bastien Bouclet
0b9bfb3d3c MOHAWK: Myst: Remove delayUntilMovieEnds
This will break movies called by scripts until event handling is
decorrelated from script calls.
2017-07-22 20:38:56 +02:00
Bastien Bouclet
c4207ad3a3 MOHAWK: Myst: Fix the piano sound effect restarting when moving the mouse
Fixes .
2017-07-09 06:55:42 +02:00
Bastien Bouclet
6f46b174df MOHAWK: Myst: Poll for events every 10ms when waiting 2017-07-05 20:35:26 +02:00
Bastien Bouclet
b7b06e8399 MOHAWK: Allow the mouse cursor to move while drawing in a tight loop 2017-03-18 16:15:09 +01:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Bastien Bouclet
5de0eb9045 MOHAWK: Fix the tower rotation line to be white instead of black
This was a regression from the default palette change.
Fixes .
2016-09-25 10:03:13 +02:00
Ori Avtalion
253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Bastien Bouclet
77c2630049 MOHAWK: Play the gears sound when resetting the Myst clock puzzle
Fixes .
2016-03-28 09:33:46 +02:00
Bastien Bouclet
0a0cf7a22f MOHAWK: Fix garbage being drawn when pressing the rockey piano keys
Was a regression introduced in 085f3700f7cd6ddb23abe3719ca21b7025695da4
2016-03-05 14:43:10 +01:00
Bastien Bouclet
3552a185f1 MOHAWK: Adjust the Myst gauge boiler movie to the new VideoHandle semantics
Fixes it not being updated.
2016-03-05 14:43:10 +01:00