27 Commits

Author SHA1 Message Date
Bastien Bouclet
1d731aeef9 MOHAWK: Simplify retrieving game features 2020-03-28 07:38:39 +01:00
Bastien Bouclet
c9476543e0 MOHAWK: MYST: Allow changing the game language while on the main menu 2020-03-28 07:38:39 +01:00
D G Turner
1072fca204 MOHAWK: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-02 00:16:10 +00:00
Bastien Bouclet
09ed67d7f0 MOHAWK: MYST: Use OSystem::fillScreen now it works with all pixel formats 2019-11-10 21:04:29 +01:00
Bastien Bouclet
d810bb7451 MOHAWK: MYST: Fix misuse of OSystem::fillScreen
OSystem::fillScreen is documented to only accept values between 0 and
255, and thus cannot be sanely used for hi-color graphics. This is
probably an unfortunate leftover of when hi-color support was added.

Fixes videos playing on a white background on the 3DS.
2019-10-27 20:24:05 +01:00
Bastien Bouclet
3a7f85971f MOHAWK: MYST: Add support for the localized 25th games 2018-07-30 20:13:16 +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
8d654285cb MOHAWK: MYST: Fix drawing the Stoneship red page open door
When the lights are on, the open door image would not draw at the
correct position in Myst ME only.

This is due to the open door image being too small. The original has a
special case for that image. We reproduce that same hack.

Fixes Trac#7143.
2018-05-28 15:20:09 +02:00
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Bastien Bouclet
cafec8773d MOHAWK: Myst: Fix incorrect vault instructions using image patch
Thanks to dafioram for providing the replacement image.

Fixes #10115.
2017-08-12 09:02:51 +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
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
3391c726cf MOHAWK: Remap bitmaps not to use undefined colors
The Spanish version of Myst has bitmaps that use palette indices in the system
reserved range. Affected pixels previously used colors from the Windows system
palette instead of the bitmap's own palette, resulting in visual glitches.

Bitmaps are now remapped to the screen palette which is made of the Windows
reserved palette and part of the bitmap palette. The original engine used GDI's
StretchDIBits with DIB_RGB_COLORS to achieve the same result.

Fixes #7153.
2016-06-26 08:37:07 +02:00
Bastien Bouclet
5aeda50f58 MOHAWK: Fix the drawing time simulation
Was broken when adding transition support.
Fixes scripted card changes not displaying for a long enough time.
2016-02-26 07:22:30 +01:00
Bastien Bouclet
bc687c7216 MOHAWK: Fix two Myst resource stream memory leaks 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
Matthew Hoops
a5992a08a0 MOHAWK: Run Myst in 8bpp 2015-04-11 14:37:17 -04:00
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel
abd9e92086 MOHAWK: Make GPL headers consistent in themselves. 2014-02-18 02:39:36 +01:00
Bastien Bouclet
edb8b6e236 MOHAWK: Add the remaining Myst transition effects 2012-12-16 10:28:23 +01:00
Bastien Bouclet
07ee25c87d MOHAWK: Implement most of Myst's transition system 2012-12-16 06:54:13 +01:00
Matthew Hoops
e58724a180 MOHAWK: Remove Myst ME Macintosh "support"
The Mac version of Myst ME is actually not Mohawk and is instead closer to the engine used in Myst3.
2012-07-29 14:31:36 -04:00
Johannes Schickel
d214391431 MOHAWK: Get rid of casts on OSystem::copyRectToScreen calls. 2012-06-16 02:38:59 +02:00
Matthew Hoops
765a870445 GRAPHICS: Convert JPEG to the ImageDecoder API 2012-03-20 01:06:48 +01:00
Matthew Hoops
4516b5ea24 GRAPHICS: Convert PictDecoder to the ImageDecoder API 2012-03-20 01:06:48 +01:00
Matthew Hoops
5e52b0a5d4 MOHAWK: Split the graphics classes into their own files 2012-03-10 13:55:08 -05:00