Commit graph

99 commits

Author SHA1 Message Date
Bastien Bouclet
d91ac01419 MOHAWK: RIVEN: Queue opening and closing the main menu as scripts
This way all the other actions are blocked while the card load scripts
are executed. Expecially, it's not possible anymore to open the main
menu while the scripts for returning from the main menu are still
executing.

Fixes Trac#10628.
2018-07-13 19:44:48 +02:00
Eugene Sandulenko
cfa649d7ac MOHAWK: RIVEN: Restrict new menu to 25th Anniversary games 2018-06-29 13:31:55 +02:00
Bastien Bouclet
45ab57209f MOHAWK: RIVEN: Fix starting a new game with a game currently active 2018-06-29 13:31:54 +02:00
Bastien Bouclet
25736a0b5d MOHAWK: RIVEN: Add a script patch fixing incorrect steam sound in a view
Fixes Trac#10516.
2018-05-08 06:55:24 +02:00
Thierry Crozat
a6caf3a951 MOHAWK: Fix undefined behaviour in variadic functions
Passing a type that undergoes default argument promotion as last
argument of a variadic function results in undefined behaviour.
2017-10-06 01:01:16 +01:00
Bastien Bouclet
ee588a8c33 MOHAWK: Riven: Patch an invalid card change when entering Gehn's office
Fixes #10118.
2017-08-11 19:05:55 +02:00
Bastien Bouclet
8e5ac98a4b MOHAWK: Riven: Add keyboard navigation 2017-08-06 17:36:27 +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
69dc56ad0f MOHAWK: Riven: Patch prison island dome switch sound change
Fixes #9958.
2017-07-14 08:16:01 +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
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
b0ee5772fb MOHAWK: Remove unused / not working functions 2017-07-03 08:50:10 +02:00
Bastien Bouclet
8ad53851bc MOHAWK: Implement interrupting scripts for the new script manager 2017-07-03 08:50:10 +02:00
Bastien Bouclet
ea303ab682 MOHAWK: Switch timers to script commands 2017-07-03 08:50:10 +02:00
Bastien Bouclet
42f91b9769 MOHAWK: Simplify the stored movie script opcode 2017-07-03 08:50:10 +02:00
Bastien Bouclet
23c597ab12 MOHAWK: Print variable names in assignments when dumping scripts 2017-07-03 08:50:10 +02:00
Bastien Bouclet
44943e1285 MOHAWK: Change the delay function not to have an event loop
Fixes events getting lost during delays
2017-07-03 08:50:10 +02:00
Bastien Bouclet
f977b57123 MOHAWK: Rewrite the Riven movie manager 2017-07-03 08:50:10 +02:00
Bastien Bouclet
1aa4233802 MOHAWK: Rework stack frame updates to work like the original 2017-07-03 08:50:10 +02:00
Bastien Bouclet
3f58a795e7 MOHAWK: Add an enum for Riven's command types 2017-07-03 08:50:10 +02:00
Bastien Bouclet
1286e7fcf0 MOHAWK: Use an enum for Riven's transition types 2017-07-03 08:50:10 +02:00
Bastien Bouclet
f0267d542f MOHAWK: Keep turning pages while the mouse is pressed in Atrus' book 2017-07-03 08:50:10 +02:00
Bastien Bouclet
14990dc91b MOHAWK: Remove a hack that should not be needed anymore
The script execution order should now be accurate
2017-07-03 08:50:10 +02:00
Bastien Bouclet
7a9b91dfcd MOHAWK: Improve script debug output 2017-07-03 08:50:10 +02:00
Bastien Bouclet
92e03a7b68 MOHAWK: Add a command to check if background scripts are running 2017-07-03 08:50:10 +02:00
Bastien Bouclet
79e086ba7b MOHAWK: Turn script commands into SharedPtrs
Commands can be shared between scripts when adding commands
from one script to another.
2017-07-03 08:50:10 +02:00
Bastien Bouclet
efcf38f95f MOHAWK: Factor out stack name-id mapping 2017-07-03 08:50:10 +02:00
Bastien Bouclet
e7146c9bf7 MOHAWK: Move the changeToStack command to a dedicated class 2017-07-03 08:50:10 +02:00
Bastien Bouclet
6d4260719c MOHAWK: Add a convenience method for creating a script with a single command 2017-07-03 08:50:10 +02:00
Bastien Bouclet
14bbf8aab4 MOHAWK: Move the external commands to their respective stacks 2017-07-03 08:50:10 +02:00
Bastien Bouclet
8fcebc12c6 MOHAWK: Fix dumping Riven external commands' arguments 2017-07-03 08:50:10 +02:00
Bastien Bouclet
1a5b2a1e50 MOHAWK: Move MLST loading to RivenCard 2017-07-03 08:50:10 +02:00
Bastien Bouclet
3f1f407c14 MOHAWK: Remove VideoHandle usage 2017-07-03 08:50:10 +02:00
Bastien Bouclet
c623a76767 MOHAWK: Ensure constructing and deleting cards does not have side effects 2017-07-03 08:50:10 +02:00
Bastien Bouclet
9ab0d53cd3 MOHAWK: Add console commands to dump Riven cards and stacks to stdout 2017-07-03 08:50:10 +02:00
Bastien Bouclet
05bed84a85 MOHAWK: Rename the card and stack accessors 2017-07-03 08:50:10 +02:00
Bastien Bouclet
670a3c4558 MOHAWK: Move card id remapping to RivenStack 2017-07-03 08:50:10 +02:00
Bastien Bouclet
3c8decec0a MOHAWK: Move the resource names to RivenStack 2017-07-03 08:50:10 +02:00
Bastien Bouclet
f752066a8e MOHAWK: Introduce a new RivenStack class 2017-07-03 08:50:10 +02:00
Bastien Bouclet
aa0c89da03 MOHAWK: Move running the card leave script to the RivenCard destructor 2017-07-03 08:50:10 +02:00
Bastien Bouclet
9b2c90c0b3 MOHAWK: The ignoreNextMouseUp workaround is not necessary anymore
We now check the mouse up event happens on the same hotspot as the
mouse down event.
2017-07-03 08:50:10 +02:00
Bastien Bouclet
c1331e124f MOHAWK: Move the current hotspot to RivenCard 2017-07-03 08:50:10 +02:00
Bastien Bouclet
871516a969 MOHAWK: Move the effect list to RivenCard 2017-07-03 08:50:10 +02:00
Bastien Bouclet
c1e0b8684b MOHAWK: Move BLST list handling to RivenCard 2017-07-03 08:50:10 +02:00
Bastien Bouclet
4bdf88496d MOHAWK: Move Riven's name lists to a separate class 2017-07-03 08:50:10 +02:00
Bastien Bouclet
099b3b3d8f MOHAWK: Move the hotspot list to RivenCard
Also replace all hardcoded accesses to the hotspot array with hotspot queries.
2017-07-03 08:50:10 +02:00
Bastien Bouclet
67d9a3c71b MOHAWK: Make the RivenHotspot fields private 2017-07-03 08:50:10 +02:00
Bastien Bouclet
17f1903833 MOHAWK: Remove the RivenHotspot enabled field 2017-07-03 08:50:10 +02:00