Commit Graph
50 Commits
Author SHA1 Message Date
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 7c7010204b MOHAWK: MYST: Always redraw the sound receiver at constant speeds
Fixes the sound receiver display stopping for a little while
every second or so when keeping a direction button pressed.
2018-04-21 17:32:11 +02:00
David Fioramonti bfa97d8f7a MOHAWK: MYST: Make sound receiver hint boundary line up with orig
In the original the sound reciever would provide a hint of the
source sound direction when the user was less than 5 degrees
away. In ScummVM it was less than or equal to 5 degrees.
Now it matches the behavior of the original.
2018-04-21 07:27:59 -07:00
David Fioramonti 5a1fc8c230 MOHAWK: MYST: Enhance: slow down sound receiver max spin rate
This slows down the Selentic age sound receiver spin rate
when fully depressing either of the turn buttons.

This is a deviation from the original and improves
the users experience.

In the original when the button is fully depressed
the receiver turns so fast that it is impossible
to predict what angle you full be at when you let go.
2018-04-21 07:27:54 -07:00
Bastien Bouclet 84b2dc5cc8 MOHAWK: Fix some clang-tidy warnings 2018-03-31 13:36:09 +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 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 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 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 33cfcfd5ff MOHAWK: Myst: Fix the sound receiver sound restarting on each frame
Fixes #9921.
2017-07-09 06:56:00 +02:00
Bastien Bouclet 6f46b174df MOHAWK: Myst: Poll for events every 10ms when waiting 2017-07-05 20:35:26 +02:00
Bastien Bouclet 834be40ffa MOHAWK: Poll for events in two inner game loops on Selenitic
This should hopefully prevent Windows from showing a 'busy' cursor.
Fixes Trac#9570.
2017-07-03 06:11:38 +02:00
Ori Avtalion 253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Bastien Bouclet ee25001672 MOHAWK: Fix the sound receiver initially displaying an incorrect view 2016-03-05 14:43:10 +01:00
Bastien Bouclet 54a31ed82a MOHAWK: Fix the Selenitic sound receiver speed being too fast
The rotation speed no longer goes directly to the maximum possible
speed after one second.

This bug also happened in the original.
2016-03-05 14:43:10 +01:00
Bastien Bouclet 22882f54e1 MOHAWK: Fix uninitialized memory accesses in the Myst stacks 2016-02-07 15:27:03 +01:00
Bastien Bouclet 727ee86a44 MOHAWK: Don't use static_cast to downcast view resources 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
Bastien Bouclet 085f3700f7 MOHAWK: Make MystResourceType8::_subImages private 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
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
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 44e79c70fa MOHAWK: Don't initialize a null pointer, to make VS2010 happy. 2011-04-21 08:05:00 +02:00
Bastien Bouclet 369db4fdfd MOHAWK: Shorten Myst stack classes names 2011-02-15 21:43:38 +01:00
Bastien Bouclet fc605427a8 MOHAWK: Put togeter the Myst stack classes in a namespace 2011-02-15 21:43:37 +01:00
David Turner 86513a19aa MOHAWK: Fixed possible use of uninitialized variables in Myst Selenitic Age code.
svn-id: r55486
2011-01-23 22:52:15 +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 0761ab7b3a MOHAWK: Rename some VideoManager functions so we have some unified naming between versions
svn-id: r55312
2011-01-18 20:30:16 +00:00
Matthew Hoops 8a77f49a59 MOHAWK: Cleanup some spacing, formatting, and naming
svn-id: r55109
2011-01-03 20:40:07 +00:00
Matthew Hoops f2495a42f6 MOHAWK: Move myst_saveload.* to myst_state.*
svn-id: r55045
2010-12-26 15:10:33 +00:00
Bastien Bouclet 6cd890aaac MOHAWK: Merge classes MystVariables and MystSaveLoad to form MystGameState
svn-id: r55041
2010-12-26 14:31:03 +00:00
Bastien Bouclet 3e31ed6d98 MOHAWK: Myst sound rework, part 2
svn-id: r54954
2010-12-18 13:13:49 +00:00
Bastien Bouclet d4ce603361 MOHAWK: Rework Myst GFX updates
- Initial card state is drawn to the back buffer
- Script driven updates are drawn to the front buffer
Allows opcode 28 (copy back buffer to screen) and opcodes 29/33 (copy image to screen / back buffer) to work properly.
Fixes among others the generator room lights, and the matchbox.

svn-id: r54907
2010-12-14 19:11:16 +00:00
Bastien Bouclet 4a8fc942b7 MOHAWK: Give meaningful names to the game global vars and selenitic vars
svn-id: r54758
2010-12-04 09:26:44 +00:00
Bastien Bouclet f3bda71376 MOHAWK: Implement maze runner backtrack button. Last part of Selenitic completed !
svn-id: r54720
2010-12-01 20:37:36 +00:00
Matthew Hoops bdc3e5c353 MOHAWK: Cleanup Myst opcode handling and reduce code duplication
svn-id: r54693
2010-12-01 03:30:00 +00:00
Bastien Bouclet 9fddad6faf MOHAWK: Set the maze runner initial direction. Remove a hack that is not needed anymore thanks to keeping the old stack when changing stack.
svn-id: r54686
2010-11-30 20:25:21 +00:00
Filippos Karapetis 59604fa014 MOHAWK: Silence warnings
svn-id: r54654
2010-11-29 23:14:04 +00:00
Matthew Hoops 2bd16f9e84 MOHAWK: Move Myst stack-specific code to its own directory
svn-id: r54648
2010-11-29 21:34:59 +00:00