Commit Graph
1366 Commits
Author SHA1 Message Date
Bastien Bouclet 69c1f70818 MOHAWK: Riven: Let the gameloop gracefully end when quitting
Prevents the quit confirmation dialog from being displayed at the end of
the game's ending if it is enabled.

Fixes #9943.
2017-07-29 18:20:45 +02:00
Bastien Bouclet 4d1b88df1e MOHAWK: Riven: Set the mixer sound type to SFX for videos
Fixes #9938.
2017-07-27 06:52:56 +02:00
Willem Jan Palenstijn 7fcfb4214e MOHAWK: Remove unnecessary include that was breaking some builds
This was breaking builds with the Myst sub-engine disabled.
2017-07-23 15:14:08 +02:00
Bastien Bouclet 2597e69f29 MOHAWK: Myst: Fix Selenitic sound receiver buttons not flashing
The new screen update strategy does not allow scripts to draw twice at
the same location for blinking.
2017-07-22 20:38:56 +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 #9914.
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 #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 01480f9a00 MOHAWK: Myst: Fix the quickTest debug command 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 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 3dd4da0c37 MOHAWK: Myst: Change the delay opcode 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 a106dc8dd4 MOHAWK: Remove unused parameters VideoManager 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 8f59348ec3 MOHAWK: Myst: Start reworking mainloop detection 2017-07-22 20:38:56 +02:00
Bastien Bouclet ee9328323b MOHAWK: Myst: Move frame handling to a separate method 2017-07-22 20:38:56 +02:00
Bastien Bouclet 3c04ad0227 MOHAWK: Myst: Keep track of the resource being clicked 2017-07-22 20:38:56 +02:00
Bastien Bouclet 49f48a5b8d MOHAWK: Myst: Turn the currently active resource into a pointer 2017-07-22 20:38:56 +02:00
Bastien Bouclet 9ac98d0fc9 MOHAWK: Myst: Always update the screen during the gameloop 2017-07-22 20:38:56 +02:00
Bastien Bouclet 1036022507 MOHAWK: Riven: Add script patch for missing sound when entering sub
Fixes #9972.
2017-07-19 19:07:57 +02:00
Bastien Bouclet d03475e5ab MOHAWK: Riven: Speed up the credits
Fixes #9970.
2017-07-19 07:23:32 +02:00
Bastien Bouclet a7dd81060b MOHAWK: Riven: Fix the ending movie looping in the Rebel age
Fixes #9969.
2017-07-19 07:23:32 +02:00
Bastien Bouclet 6b78f4a567 MOHAWK: Riven: Set more variables when starting new games
Fixes #9960.
2017-07-15 07:26:26 +02:00
Bastien Bouclet a7900f5756 MOHAWK: Riven: Stop sending empty rects when drawing transitions
Fixes #9947.
2017-07-15 07:23:58 +02:00
Bastien Bouclet ef42fd3476 MOHAWK: Riven: Implement transition offsets
The games tries to match objects between the old and new card by
offsetting the transition of the new card.

Fixes #9947.
2017-07-14 19:45:23 +02:00
Bastien Bouclet 69dc56ad0f MOHAWK: Riven: Patch prison island dome switch sound change
Fixes #9958.
2017-07-14 08:16:01 +02:00
Bastien Bouclet c3bbae041a MOHAWK: Riven: Improve save load error handling
A GUI error message is now displayed if an error occurs when loading a
save.
2017-07-12 22:00:33 +02:00
Bastien Bouclet d6fd0ac626 MOHAWK: Riven: Fix card leave scripts when changing stacks
Card leave scripts were using data from the new stack, whereas they
should have been using data from the old stack to which they belong.

Fixes Trac#9928.
2017-07-11 08:29:59 +02:00
Bastien Bouclet 1141bfc1a6 MOHAWK: Riven: Clear the effects screen at the beginning of credits
It is used as a source for the fade from black effect. Ensures the first
fading effect fades from black and not the previous view.

Fixes #9929, #9930, #9931, #9932, #9933.
2017-07-10 08:07:45 +02:00
Bastien Bouclet 33cfcfd5ff MOHAWK: Myst: Fix the sound receiver sound restarting on each frame
Fixes #9921.
2017-07-09 06:56:00 +02:00
Bastien Bouclet c4207ad3a3 MOHAWK: Myst: Fix the piano sound effect restarting when moving the mouse
Fixes #9916.
2017-07-09 06:55:42 +02:00
Bastien Bouclet efcbe65757 MOHAWK: Riven: Fix ending video not playing when using the trap book
Fixes #9911.
2017-07-09 06:55:10 +02:00
Bastien Bouclet bcd027cf64 MOHAWK: Riven: Fix use after free when using the trap book 2017-07-09 06:53:51 +02:00
Bastien Bouclet a9a3089aa5 MOHAWK: Fix tMOV size computation not to use uninitialized memory 2017-07-07 19:44:18 +02:00
Bastien Bouclet 93c75a4680 MOHAWK: Fix computing the size of tMOV resources
When two entries in the file table shared the same data in the archive,
the resource size of the first entry was incorrectly set to zero.

Fixes #9905.
2017-07-07 19:39:23 +02:00
Bastien Bouclet 6f46b174df MOHAWK: Myst: Poll for events every 10ms when waiting 2017-07-05 20:35:26 +02:00
Bastien Bouclet 31d428fd02 MOHAWK: Use movie slots instead of movie ids for stored opcodes
Fixes Trac#9873.
2017-07-05 19:13:32 +02:00
Bastien Bouclet 13fa1b22a2 MOHAWK: Only disable videos when turning off the prison viewer
Closing them was causing a crash when using the lake viewer since there
is nothing to load back the lake video. Fixes Trac#9892.
2017-07-04 19:43:32 +02:00
Bastien Bouclet 4bdd58948d MOHAWK: Build Riven by default 2017-07-03 08:50:10 +02:00
Bastien Bouclet c4f9423137 MOHAWK: Switch SimpleCommand arguments to Common::Array 2017-07-03 08:50:10 +02:00
Bastien Bouclet b552719a81 MOHAWK: Switch external command arguments to Common::Array 2017-07-03 08:50:10 +02:00
Bastien Bouclet 95951eebf7 MOHAWK: Get rid of refreshCard 2017-07-03 08:50:10 +02:00
Bastien Bouclet 723b7d7a4c MOHAWK: Add some missing public interface comments 2017-07-03 08:50:10 +02:00
Bastien Bouclet b0ee5772fb MOHAWK: Remove unused / not working functions 2017-07-03 08:50:10 +02:00
Bastien Bouclet 7801d6489b MOHAWK: Reenable the Riven demo specific features 2017-07-03 08:50:10 +02:00