100 Commits

Author SHA1 Message Date
Bastien Bouclet
2f851edfc2 MOHAWK: Show the closed gate on the 3rd channelwood level
The original game scripts are missing a delay.
Fixes #10727.
2018-10-07 16:12:22 +02:00
Bastien Bouclet
5cff361f04 MOHAWK: MYST: Add delays at each step of Achenar's torture switch anim
Fixes Trac#10606.
2018-07-08 21:55:09 +02:00
Bastien Bouclet
18fd6f603d MOHAWK: MYST: Fix incorrect door close sound for the cablin
Fixes Trac#10580.
2018-06-23 08:12:03 +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
366fbf5d2a MOHAWK: MYST: Clip one coordinate at a time in o_copyImageToBackBuffer
Fixes Achenar's door animation being mispositionned on Channelwood.

Fixes Trac#10498.
2018-04-23 13:04:05 +02:00
Bastien Bouclet
0ebf04520a MOHAWK: MYST: Fix the sound effect not playing in opcode 41
Changing the background sound when switching cards could stop the effect
sound immediately after it started.

Fixes Trac#10493.
2018-04-22 08:15:14 +02:00
Bastien Bouclet
b1f927f105 MOHAWK: MYST: Make changeBackgroundSound wait for the effect to complete
Fixes #10489.
2018-04-15 06:17:45 +02:00
Bastien Bouclet
84b2dc5cc8 MOHAWK: Fix some clang-tidy warnings 2018-03-31 13:36:09 +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
3dd4da0c37 MOHAWK: Myst: Change the delay opcode to use the main loop 2017-07-22 20:38:56 +02:00
Bastien Bouclet
8f59348ec3 MOHAWK: Myst: Start reworking mainloop detection 2017-07-22 20:38:56 +02:00
Bastien Bouclet
060caebf47 MOHAWK: In Myst v1.0 English the take page opcode takes no arguments
Fixes #9645, crash when trying to take a book page.
2017-03-18 16:15:09 +01:00
Ori Avtalion
253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Bastien Bouclet
c8bb597e67 MOHAWK: Fix endianness issue in Myst opcode 30
The previous code was reading data of the system's endianness as little endian.
Now the data is converted to little endian before it is read.

Attempt to fix #7100.
2016-04-03 08:11:56 +02:00
Bastien Bouclet
23c251bac9 MOHAWK: Replace an unneeded TODO with an explanation 2016-02-20 14:00:59 +01:00
Bastien Bouclet
4b81c807c8 MOHAWK: Issue a warning when trying to pop with no card pushed 2016-02-14 09:58:43 +01:00
Bastien Bouclet
3a4a94bbd2 MOHAWK: Always apply the volume when changing the background sound 2016-02-11 08:30:26 +01:00
Bastien Bouclet
1f6bfda0ef MOHAWK: Share the code for reading sound blocks 2016-02-11 07:56:58 +01:00
Bastien Bouclet
19ee63703b MOHAWK: Share the code applying sound blocks 2016-02-11 07:38:23 +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
Bastien Bouclet
0c8d8bbd40 MOHAWK: Use nullptr where applicable in the Myst code 2016-02-07 15:27:03 +01:00
Bastien Bouclet
47bc90f5a3 MOHAWK: Remove some dead code 2016-02-07 15:27:03 +01:00
Bastien Bouclet
7be4a74305 MOHAWK: Fix incorrect condition in Myst's sound block opcode 2016-01-12 19:34:28 +01:00
Strangerke
0b4a1ec223 MOHAWK: Add a comment about suspicious dead code in o_changeBackgroundSound 2016-01-12 10:56:25 +01:00
Johannes Schickel
abd9e92086 MOHAWK: Make GPL headers consistent in themselves. 2014-02-18 02:39:36 +01:00
Bastien Bouclet
07ee25c87d MOHAWK: Implement most of Myst's transition system 2012-12-16 06:54:13 +01:00
Christoph Mallon
d21cef4117 JANITORIAL: Avoid the ugly operator invocation syntax. 2012-03-13 15:43:23 +01:00
Matthew Hoops
5e52b0a5d4 MOHAWK: Split the graphics classes into their own files 2012-03-10 13:55:08 -05:00
D G Turner
f487092c9a MOHAWK: Corrected Regression due to minor typo in Myst o_disableAreas.
Thanks to bgKa for looking at this.
2011-07-27 12:51:41 +01: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
771345da3a MOHAWK: Made some Myst common opcodes match the original better
Plus some minor cleanup
2011-06-25 15:22:21 +02:00
Bastien Bouclet
e0e28aaeb2 MOHAWK: Implement "Show Map" feature for Myst ME 2011-05-15 17:41:54 +02:00
Bastien Bouclet
7cc82487d3 MOHAWK: When running scripts in Myst, add delays when necessary between draws to mimic older hardware. 2011-05-14 14:10:45 +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
30f1eead19 MOHAWK: Add a workaround for a missing image when going up the stairs in Mechanical. 2011-02-15 21:43:36 +01:00
Bastien Bouclet
3cc86aedac MOHAWK: Remove Myst's var store from the build since it is not used
anymore.

Keep the files are to be kept around for reference until Mechanical is
finished.
2011-02-13 13:27:01 +01:00
Bastien Bouclet
0b69b6a842 MOHAWK: Myst, pass the playback direction from the calling script to the movie player.
svn-id: r55657
2011-01-30 13:54:39 +00:00
David Turner
e395aeff05 MOHAWK: Removed direct OSystem Quit calls from Myst Mohawk Interpreter.
This avoids the same issue that caused leakage in other engines.

svn-id: r55584
2011-01-28 08:37:27 +00:00
Matthew Hoops
2aca6d3838 MOHAWK: Rename some Myst-specific sound functions; cleanup
svn-id: r55314
2011-01-18 21:10:58 +00:00
Matthew Hoops
c35fa646ce MOHAWK: Move Myst's o_quit opcode to the base class
svn-id: r55304
2011-01-18 17:42:34 +00:00