Commit graph

98 commits

Author SHA1 Message Date
Bastien Bouclet
3a7f85971f MOHAWK: MYST: Add support for the localized 25th games 2018-07-30 20:13:16 +02:00
Bastien Bouclet
85a603fdff MOHAWK: MYST: Don't play the flyby movies when going back to Myst 2018-07-25 20:37:27 +02:00
Bastien Bouclet
9aeb4a356e MOHAWK: MYST: Always clear the screen before playing fullscreen movies
Fixes the broderbund logo movie being partially visible when the Cyan
logo is playing.

Fixes Trac#10595.
2018-07-02 21:48:19 +02:00
Bastien Bouclet
73b3a43b89 MOHAWK: MYST: Introduce a main menu stack
Used in the 25th Anniversary edition of Myst ME
2018-06-29 13:15:01 +02:00
Bastien Bouclet
c0fa7ceae5 MOHAWK: MYST: Clean up the options dialog
Also load and save games using ctrl-o / ctrl-s.
2018-06-14 21:04:44 +02:00
Bastien Bouclet
47ddd9c214 MOHAWK: MYST: Move the current stack id to ScriptParser 2018-06-13 07:55:55 +02:00
Bastien Bouclet
ea60aef8a8 MOHAWK: MYST: Simplify memory management of the active stack 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
Bastien Bouclet
5ee24f3970 MOHAWK: MYST: Fix repeatedly trying to autosave when not allowed
Fixes trying to open the save on slot 0 on each frame when it is not an
autosave.
2018-05-20 10:05:12 +02:00
Bastien Bouclet
4396b011ac MOHAWK: MYST: Fix the Wii/GameCube build 2018-05-19 18:23:45 +02:00
David Fioramonti
719c2b8374 MOHAWK: MYST: Autosave to Slot 0
The game will autosave to slot 0 using the save
period given in the scummvm config file
or when the user exits using the GMM.

Autosaves are only allowed when an autosave is
in slot 0 or there is no save in slot 0.

This will not override any saves the player
has previously put in save slot 0. If there
is a save in slot 0 that is not an autosave
then there will be no autosaving.
2018-05-19 17:56:05 +02:00
Bastien Bouclet
6798f9c77e MOHAWK: Don't allow displaying the map when the game is not interactive
Fixes Trac#10526 and Trac#10531.
2018-05-17 20:49:28 +02:00
Bastien Bouclet
3a8655bc81 MOHAWK: MYST: Fix flyby movies to behave more like the original
* Keep playing the previously running background sound while playing the
  flyby.
* Don't play the flyby after loading a save.
* Play the flyby before both linking sounds.

Fixes #10482, Fixes #10483.
2018-04-10 19:58:56 +02: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
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
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
49fa0bdd68 MOHAWK: Myst: Change blocking movies and waits 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
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
6f46b174df MOHAWK: Myst: Poll for events every 10ms when waiting 2017-07-05 20:35:26 +02:00
Bastien Bouclet
9153393219 MOHAWK: Allow games to opt out of the default video manager 2017-07-03 08:50:10 +02:00
Bastien Bouclet
fd794bd4a3 MOHAWK: Poll the events while drawing Myst transitions
Fixes #9594, the mouse cursor was hanging while transitions were drawn.
2016-12-10 17:34:24 +01:00
Bastien Bouclet
aeee4888be MOHAWK: Allow the games to have a different sound manager 2016-08-11 19:53:20 +02:00
Bastien Bouclet
f427fccc03 MOHAWK: Make the Quit button show the credits 2016-03-05 20:49:12 +01:00
Bastien Bouclet
833b800a32 MOHAWK: Add an engine specific option to play the Myst fly by movie
It is disabled by default since the original engine never plays it.
When enabled, it is only played when first arriving on Myst.
2016-03-05 14:43:10 +01:00
Bastien Bouclet
faff49d001 MOHAWK: Fix loading a save from the launcher
Was broken by d6881100dd
2016-02-26 07:22:30 +01:00
Bastien Bouclet
d6881100dd MOHAWK: Only allow saving/loading from the main event loop 2016-02-22 09:58:41 +01:00
Bastien Bouclet
f0e416a034 MOHAWK: Add a console command that does random clicks in all the cards
A surprisingly effective way of finding bugs
2016-02-14 09:58:43 +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
e9525f53c6 MOHAWK: Move debug rect draw control to the console
It was previously bound to F4
2016-02-11 07:38:23 +01:00
Bastien Bouclet
eb47dcf2c9 MOHAWK: Implement preloading conditional script resources 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
bff0dd1915 MOHAWK: Turn MystEngine::_cursorHints into a Common::Array 2016-02-07 15:27:03 +01:00
Bastien Bouclet
6e3719199e MOHAWK: Remove some dead code 2016-02-07 15:27:03 +01:00
Bastien Bouclet
316dc9c829 MOHAWK: Turn ScriptResource::resourceList into a Common::Array 2016-02-07 15:27:03 +01:00
Bastien Bouclet
a3064b9027 MOHAWK: Turn MystView::scriptResources into a Common::Array 2016-02-07 15:27:03 +01:00
Bastien Bouclet
32f1ee73ad MOHAWK: Turn MystView::soundList into a Common::Array 2016-02-07 15:27:03 +01:00
Bastien Bouclet
ef14781456 MOHAWK: Turn MystCondition::values into a Common::Array 2016-02-07 15:27:03 +01:00
Bastien Bouclet
989fe4d0cd MOHAWK: Turn MystView::conditionalImages into a Common::Array 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
ce25cdf8dc MOHAWK: Add override qualifiers to 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