Commit Graph

48 Commits

Author SHA1 Message Date
David Turner
3cc456bf2a MOHAWK: Fixed Valgrind Error in Myst When Selecting 0 in Imager Code (Myst Card 4709)
Reworked MystGraphics::copyImageSectionToScreen() :
Added clipping of width and height within src surface dimensions.
Improved function readability.

svn-id: r54972
2010-12-20 04:29:53 +00:00
Bastien Bouclet
7daea87e61 MOHAWK: Yet more Myst vertical alignment / clipping fixes.
Fixes the boiler wheels drawing incorrectly. Fixes the rocket piano's leftmost key drawing too high. Fixes the timeclock controls beeing misaligned.

svn-id: r54947
2010-12-17 18:18:52 +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
24808d49eb MOHAWK: Added the "resources" command to Myst's debug console, which lists the resources in the current card.
Allow the "drawRect" debug command to take a resource id as a parameter, to draw the resource's bounding rect.

svn-id: r54933
2010-12-16 16:12:38 +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
Matthew Hoops
b1e3b48418 MOHAWK: Fix some Myst ME cards that store PICT images in WDIB resources (see myst 4013)
svn-id: r54867
2010-12-11 18:38:27 +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
836aab9968 MOHAWK: Fix drawing the last step of an animated update
svn-id: r54635
2010-11-29 21:00:37 +00:00
Bastien Bouclet
056ebd43d4 MOHAWK: Complete drawing the animated rect if running the animation steps didn't draw the whole rect.
svn-id: r54631
2010-11-29 20:59:30 +00:00
Bastien Bouclet
fcc1dd6749 MOHAWK: Implement 4 types of animated updates for Myst
svn-id: r54629
2010-11-29 20:58:58 +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
26bf0e8176 MOHAWK: Fix a typo fail (thanks, fuzzie)
svn-id: r54419
2010-11-22 18:09:31 +00:00
Matthew Hoops
0f2bcd2f9f MOHAWK: Cleanup resource handling
- Renamed getRawData() to getResource()
- Add a getResource() and hasResource() function for named resources
- Other minor formatting changes

svn-id: r54396
2010-11-20 23:53:14 +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
48416a7f03 MOHAWK: Implement the old Mohawk bitmap format (thanks to fuzzie)
svn-id: r54319
2010-11-18 13:31:12 +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
4e445b9467 MOHAWK: Apply patch #2988976: "MYST: Fix drawing partial subimages"
svn-id: r54297
2010-11-17 18:22:22 +00:00
Matthew Hoops
45f4f84e03 MOHAWK: Fix one more memory leak (hopefully the last :))
svn-id: r54166
2010-11-09 18:58:44 +00:00
David Turner
63d023964e MOHAWK: Close a number of memory leaks in Myst.
These corrections close a number of leaks reported by running Valgrind with --leak-check=full option, but some still remain, mainly in the image loading and caching.

svn-id: r54152
2010-11-09 11:02:06 +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
34f570419a MOHAWK: Cleanup
- Split the main Riven event loop into a separate function for readability and for use in the sunner external functions eventually
- Some minor function signature changes (const!)
- Rename matchVarToString() to getVar() (I have no idea where that original name came from, considering it takes a string and returns a variable
- Use solely Common::String in getVar()

svn-id: r52538
2010-09-05 00:48:38 +00:00
Matthew Hoops
8a168f028b MOHAWK: Improve support for the Riven Demo
- The exit button now appears and is functional
- The intro movies now play on start up
- Add shortcuts for returning to the menu/playing the intro videos again
- Make the text when hitting a boundary match the original
- Change the wording of the browser button message
- Note: The demo's extras.mhk (not the full game's!) is required now

svn-id: r52509
2010-09-03 19:13:58 +00:00
Matthew Hoops
cfbbc3928a MOHAWK: Implement functionality for the dome sliders
The sliders are now movable and reset properly. The combination defined in the lab journal works on all the domes too.

svn-id: r52476
2010-08-31 20:05:00 +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
c2cb3bb799 Add the page turning sound for the Riven journals and stub off the swipe transition used when turning pages.
svn-id: r50336
2010-06-26 18:27:18 +00:00
Matthew Hoops
be8a596668 Add support for the third inventory case in Riven: you have the two journals but not the trap book (happens at the end of the game).
svn-id: r50280
2010-06-25 18:20:31 +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
Max Horn
b3e404109c Move initGraphics and initCommonGFX from to new header.
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.

svn-id: r48934
2010-05-04 11:58:12 +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
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
Matthew Hoops
c04f8d00b1 Rename MohawkFile to MohawkArchive and OldMohawkFile to LivingBooksArchive_v1 (the latter originally having an ambiguous meaning) and move them to resource.* Also, renaming the Living Books game types to remove the ambiguous old/new.
svn-id: r47429
2010-01-22 03:43:57 +00:00
Torbjörn Andersson
ec34e88f75 Fixed assertion when setting non 8-bit cursors in Myst, Masterpiece Edition.
svn-id: r47358
2010-01-18 18:45:30 +00:00
Torbjörn Andersson
1a66ad80a4 Re-indentet switch() blocks to follow ScummVM indentation style. (I've always
found this style a bit unusual, but I value consistency.)

svn-id: r46734
2009-12-30 07:14:09 +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