66 Commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
David Fioramonti
bd21a5c0f3 MOHAWK: MYST: Have Mech fortress west direction persists after returning
Fixes Trac#10575.

When stepping away or pressing the buttom for the mechanical age fortress
rotator after setting it west it would be south. This is because some variables
used for a workaround were being reset everytime the rotator puzzle
was being reinitalized (in o_fortressRotation_int). Which happens when
the player steps back up to the rotator controls.

This change simply removes the variables being reset so they retain
the variables they had before. Those variables are already initalized
in the Mechanical constructor.
2018-07-15 07:59:44 +02:00
David Fioramonti
b1aec443c4 MOHAWK: MYST: Don't set Mech direction when elevator button is pressed
The direction that the fortress is pointing is calculated when
the user locks on using the left throttle (after the gears have
stopped). It also happens when the user hits the button.

There is only a difference in the two behaviors when the user has
changed the direction, but not locked on.

The 2nd case can lead to the direction be different than
what the last locked on direction was. Since the user
can lock the direction to say north, turn it to west, not
lock on and hit the button, which will set the direction
to west. This can lead to confusion since a direction sound
isn't played in this case.

This change removes code, to prevent the recalculation
of the direction when the button is pressed so that direction
is always what it was last locked onto.
2018-07-15 07:32:47 +02:00
David Fioramonti
f5e26d22b2 MOHAWK: MYST: Turn FortressRotation into a Direction enum 2018-06-24 16:49:56 +02: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
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
84b2dc5cc8 MOHAWK: Fix some clang-tidy warnings 2018-03-31 13:36:09 +02:00
Bastien Bouclet
cf9646e72b MOHAWK: Myst: Stop gears video before calling elevator on mechanical
Fixes #10108.
2017-08-10 19:02:10 +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
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 #9574, Fixes #9920.
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 #9915, #9922, #9923.
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
6f46b174df MOHAWK: Myst: Poll for events every 10ms when waiting 2017-07-05 20:35:26 +02:00
Bastien Bouclet
a5b0e35626 MOHAWK: Add a method to get a video handle from a MystAreaVideo
Use it to fix the fortress rotation controls once more
2016-03-05 20:49:12 +01:00
Bastien Bouclet
e54568b889 MOHAWK: Silence a warning 2016-02-22 09:23:34 +01:00
Bastien Bouclet
e50f93f298 MOHAWK: Fix Myst's fortress simulator using a hack
The proper solution implies support for playing movies with edit lists backwards
in QT code.
2016-02-07 15:27:03 +01:00
Bastien Bouclet
22882f54e1 MOHAWK: Fix uninitialized memory accesses in the Myst stacks 2016-02-07 15:27:03 +01:00
Bastien Bouclet
0463e00fb6 MOHAWK: Don't downcast _invokingResource using static_cast 2016-02-07 15:27:03 +01:00
Bastien Bouclet
cddb5cd53a MOHAWK: Rename Myst's Area classes 2016-02-07 15:27:03 +01:00
Matthew Hoops
9665efa39a MOHAWK: Move further VideoManager functionality to VideoEntry 2015-07-17 20:05:04 -04:00
Matthew Hoops
7e6c8be7db MOHAWK: Make video handles actual objects 2015-07-17 20:05:00 -04:00
Johannes Schickel
7b32db3b37 MOHAWK: Use float constants in Myst code.
This silences some float conversion warnings.
2014-06-02 01:00:15 +02:00
Johannes Schickel
abd9e92086 MOHAWK: Make GPL headers consistent in themselves. 2014-02-18 02:39:36 +01:00
Matthew Hoops
d983b94bb5 MOHAWK: Silence warnings 2013-01-03 13:21:38 -05:00
Bastien Bouclet
fb38d7c04e MOHAWK: Fix an uninitialized var usage in Mechanical
Thanks to digitall for the report
2012-12-16 13:51:21 +01:00
Bastien Bouclet
edb8b6e236 MOHAWK: Add the remaining Myst transition effects 2012-12-16 10:28:23 +01:00
Bastien Bouclet
07ee25c87d MOHAWK: Implement most of Myst's transition system 2012-12-16 06:54:13 +01:00
Bastien Bouclet
0358a44738 MOHAWK: Implement the last two Myst opcodes 2012-12-16 06:51:01 +01:00
Bastien Bouclet
fb02d1decd MOHAWK: Add a workaround for Myst ME fortress rotation bug 2012-12-16 06:51:01 +01:00
Bastien Bouclet
bbc760c51c MOHAWK: Implement Mechanical fortress rotation
Both the simulation and the actual rotation.
2012-12-16 06:51:01 +01:00
Matthew Hoops
5e52b0a5d4 MOHAWK: Split the graphics classes into their own files 2012-03-10 13:55:08 -05:00
Bastien Bouclet
8e80f5690d MOHAWK: Misc Mechanical fixes. Many thanks to Patrick Monnerat for the patch.
- Adds break statements where missing in Mechanical::toggleVar() and Mechanical::setVarValue()
- Restore proper numbering of Achenar and Sirrus panel state variables, which were wrongly swapped.
- When bird is singing, play sound continuously.
- When operating the fortress elevator, keep the engine sound active while the elevator is moving.
2011-07-02 22:01:46 +02:00
Bastien Bouclet
8db0bb9274 MOHAWK: Implement Mechanical opcodes 115, 116, 117, 118, 119 and 120. Fortress rotation simulator controls.
QuickTime Custom framerate and backwards playback is required for the actual simulation to be implemented (opcode 206).
2011-05-14 11:38:51 +02:00
Bastien Bouclet
3537456eb5 MOHAWK: Implement Mechanical opcodes 109, 110, 111, 112, 113 and 114. Fortress rotation controls.
QuickTime Custom framerate and backwards playback is required for the actual rotation to be implemented (opcode 205).
2011-05-14 10:51:55 +02:00
Bastien Bouclet
4f5ecc4861 MOHAWK: Implement Mechanical opcodes 101, 103 and 202. Singing Bird. 2011-05-12 20:53:53 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Bastien Bouclet
7d506ef853 MOHAWK: Implement Mechanical opcode 122, elevator go down timer 2011-03-05 18:33:22 +01:00
Bastien Bouclet
285d33d9c2 MOHAWK: Implement Mechanical elevator top movie 2011-02-22 20:38:55 +01:00
Bastien Bouclet
e507115405 MOHAWK: Implement Mechanical elevator movies 2011-02-22 20:38:54 +01:00
Bastien Bouclet
bc39d327ac MOHAWK: Implement Mechanical elevator rotation 2011-02-22 20:38:54 +01:00
Bastien Bouclet
369db4fdfd MOHAWK: Shorten Myst stack classes names 2011-02-15 21:43:38 +01:00