Commit Graph
49 Commits
Author SHA1 Message Date
Bastien Bouclet 84b2dc5cc8 MOHAWK: Fix some clang-tidy warnings 2018-03-31 13:36:09 +02: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
Johannes Schickel abd9e92086 MOHAWK: Make GPL headers consistent in themselves. 2014-02-18 02:39:36 +01:00
Matthew Hoops 5e52b0a5d4 MOHAWK: Split the graphics classes into their own files 2012-03-10 13:55:08 -05:00
Tarek Soliman 921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Bastien Bouclet 3ca0b304cf MOHAWK: Implement fading for Myst Demo 2011-08-27 17:09:11 +02:00
Matthew Hoops fcd84f67c8 MOHAWK: Stub off Riven transition speed code 2011-08-15 22:53:02 -04:00
Bastien Bouclet 0bbd43eb32 MOHAWK: Implement Myst demo opcodes 298 and 299, sneak preview speech. 2011-08-13 20:22:27 +02:00
Bastien Bouclet 7cc82487d3 MOHAWK: When running scripts in Myst, add delays when necessary between draws to mimic older hardware. 2011-05-14 14:10:45 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Alyssa Milburn 86fcca5a87 MOHAWK: comment text after #endif 2011-03-29 15:06:46 +02:00
Matthew Hoops b101fd6f03 MOHAWK: Allow disabling of Riven compilation 2011-03-28 22:26:23 -04:00
Matthew Hoops 4a7572d893 MOHAWK: Allow disabling compiling cstime 2011-03-28 22:26:23 -04:00
Matthew Hoops e5811cd6c3 MOHAWK: Allow disabling compilation of Myst 2011-03-28 22:26:23 -04:00
Matthew Hoops 8743838f47 MOHAWK: Add initial support for the Riven credits sequence
The credits start too early for a few of the end game sequences, but otherwise works well (minus missing fade support, but that is throughout the game anyway).
2011-03-09 13:59:30 -05:00
Alyssa Milburn b10f072c9e MOHAWK: Add CSTime engine.
svn-id: r55362
2011-01-20 21:35:00 +00:00
Alyssa Milburn a3e9197805 MOHAWK: Add getSubImageSize function.
svn-id: r55334
2011-01-19 20:53:28 +00:00
Matthew Hoops 503fdb6147 GRAPHICS: Add a getSurface() function to JPEG to automatically convert to RGB
svn-id: r55301
2011-01-18 16:18:10 +00:00
Matthew Hoops d03ff6e036 MOHAWK: Allow for Riven to update specific portions of the screen
svn-id: r55206
2011-01-11 19:23:24 +00:00
Alyssa Milburn 64a8652cd6 MOHAWK: Add subimage drawing/caching code
svn-id: r55038
2010-12-25 19:52:54 +00:00
Matthew Hoops 8ec9f96d54 MOHAWK: Remove global construction of _viewport
svn-id: r54945
2010-12-17 14:36:32 +00:00
Bastien Bouclet c441539bb0 MOHAWK: Change resolution to 544x332 to match the original.
This fixes the vertical alignment issues, and graphic corruption on some cards.

svn-id: r54943
2010-12-17 11:31:08 +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 c6887d0404 MOHAWK: Implement Myst opcodes 106, 108 and 202 : tower rotation
svn-id: r54883
2010-12-12 18:41:15 +00:00
Alyssa Milburn 27799e354e MOHAWK: move shared setPalette/copyImage routines into GraphicsManager
svn-id: r54743
2010-12-02 21:25:15 +00:00
Alyssa Milburn ddd691e2d3 MOHAWK: add LBGraphics::copyImageSectionToScreen
svn-id: r54707
2010-12-01 18:21:17 +00:00
Alyssa Milburn c34410d49d MOHAWK: don't include livingbooks.h from graphics.h
svn-id: r54670
2010-11-30 09:04:47 +00:00
Bastien Bouclet efc6ff54a3 MOHAWK: Misc cleanups
svn-id: r54645
2010-11-29 21:03:02 +00:00
Bastien Bouclet b49cb3b35a MOHAWK: Start implementing opcodes using the animated update feature
svn-id: r54627
2010-11-29 20:58:28 +00:00
Bastien Bouclet a9617cbe28 MOHAWK: Added dirty rects support for Myst
svn-id: r54625
2010-11-29 20:57:54 +00:00
Bastien Bouclet 2ac1fdad32 Revert "MOHAWK: Revert the screen cache since it has a huge performance hit, and is not needed as is."
This reverts commit 291bea1858.

svn-id: r54624
2010-11-29 20:57:41 +00:00
Bastien Bouclet 92d74fa56d MOHAWK: Disabled hotspots are now unclickable areas. Display blue rects for unreachable zip destinations when drawing resource rects.
svn-id: r54615
2010-11-29 20:55:11 +00:00
Bastien Bouclet 291bea1858 MOHAWK: Revert the screen cache since it has a huge performance hit, and is not needed as is.
svn-id: r54605
2010-11-29 20:52:46 +00:00
Matthew Hoops 2d924afa9d MOHAWK: Add basic Living Books support (all credit goes to fuzzie!)
v1 and v3 (both Windows and Mac) are working, v1 support is in better shape.

svn-id: r54558
2010-11-28 22:55:15 +00:00
Matthew Hoops 07ea74d37b MOHAWK: Refactor cursor handling
Cursor handling has now been moved to a new CursorManager class (which is subclassed for Myst/Riven) from the GraphicsManager classes. This will be needed for Living Books which will have a class for Windows and Mac cursors (coming soon!).

svn-id: r54469
2010-11-25 04:49:11 +00:00
Matthew Hoops 4c733c4278 MOHAWK: Cleanup image surface handling
- Renamed ImageData to MohawkSurface
- Added offset x/y fields to MohawkSurface
- The image cache now stores MohawkSurface pointers
- Switched Living Books to 8bpp mode (it requires that in the end anyway)

svn-id: r54468
2010-11-25 02:59:56 +00:00
Matthew Hoops 7fb352e38a MOHAWK: Implement an image cache system
This should greatly improve the performance in Myst (especially Myst ME, which uses the slow JPEG decoder). This should also slightly improve the Riven performance; the sliders now work a bit better.

svn-id: r54388
2010-11-19 21:25:36 +00:00
Matthew Hoops ecb42156ce MOHAWK: Cache the Myst screen buffer
This is needed for use with sliders. The screen is now updated fewer times as well.

svn-id: r54300
2010-11-17 19:58:19 +00:00
Matthew Hoops 30080c7e07 MOHAWK: Add initial work on the Riven marble puzzle
The marbles are currently drawn, and you can pick them up, but you can not place them on the grid yet.

svn-id: r52661
2010-09-09 17:27:02 +00:00
Matthew Hoops 8d0b207dd5 MOHAWK: Add initial work for the dome sliders
While the sliders cannot move yet, the game now knows if the puzzle is complete and whether you're over a slider or not. Drawing the sliders and moving the sliders will come next.

svn-id: r52292
2010-08-23 04:14:30 +00:00
Matthew Hoops ce9afcfab1 MOHAWK: Draw in the telescope combination in Catherine's journal
svn-id: r52215
2010-08-19 17:33:10 +00:00
Matthew Hoops ad0eb0b06e Move the PICT code to graphics/ with some updates; needed for SCI1.1 Mac.
svn-id: r49195
2010-05-24 17:18:09 +00:00
Matthew Hoops 2f31b05651 Move Mohawk's QuickTime code to graphics/ (and QDM2 to sound, disabled when Mohawk is not enabled) so SCI can use the code.
svn-id: r49165
2010-05-23 18:33:55 +00:00
Matthew Hoops 001bca2d6c Remove use of global constructors in Mohawk.
svn-id: r48731
2010-04-19 20:28:36 +00:00
Matthew Hoops be9a0946b4 Implement xgwatch so you can now find out the combination to free Catherine.
svn-id: r48073
2010-02-16 23:15:57 +00:00
Matthew Hoops 9fb9c0955d Add support for the Motion JPEG codec (used in some Myst ME 10th Anniversary videos); minor cleanup.
svn-id: r48028
2010-02-10 00:20:33 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Eugene Sandulenko 0ea022d076 Add Mohawk engine code. Part 1/3: main code.
svn-id: r46727
2009-12-29 23:18:24 +00:00