Commit Graph
100 Commits
Author SHA1 Message Date
Bastien Bouclet 4ec51bd843 MOHAWK: Implement Stoneship's last opcodes, tunnel alarm
svn-id: r55891
2011-02-12 11:03:27 +00:00
Bastien Bouclet ece050e26c MOHAWK: Complete Myst opcode 209, fixing the bookcase door lintel updates
svn-id: r55861
2011-02-09 20:52:46 +00:00
Bastien Bouclet d0a01c1689 MOHAWK: Implement Stoneship battery depletion
svn-id: r55860
2011-02-09 20:07:55 +00:00
Bastien Bouclet e7a57de38b GRAPHICS: Improved JPEG decoder performance
Replaced the 2D IDCT by two 1D IDCT (rows, then columns).
JPEG images now decode about twice as fast as they used to.

svn-id: r55794
2011-02-06 13:43:40 +00:00
Bastien Bouclet 77d2110101 MOHAWK: Implement Stoneship telescope
svn-id: r55665
2011-01-30 20:37:59 +00:00
Bastien Bouclet 0b69b6a842 MOHAWK: Myst, pass the playback direction from the calling script to the movie player.
svn-id: r55657
2011-01-30 13:54:39 +00:00
Bastien Bouclet b43fae5c18 MOHAWK: Myst, display a warning when trying to play a movie backwards.
svn-id: r55656
2011-01-30 13:44:01 +00:00
Bastien Bouclet a95f69c502 MOHAWK: Implement Stoneship cloud orbs
svn-id: r55652
2011-01-30 12:33:39 +00:00
Bastien Bouclet e2b3ac9f28 MOHAWK: More Stoneship progress, hologram viewer and drawers
svn-id: r55622
2011-01-29 18:45:45 +00:00
Bastien Bouclet 6ed7f48442 MOHAWK: Implement more Stoneship puzzles, up to linking back to Myst
svn-id: r55612
2011-01-29 10:49:15 +00:00
Bastien Bouclet 7baf4d2ed3 MOHAWK: Implement Stoneship chest puzzle
svn-id: r55577
2011-01-27 21:13:34 +00:00
Bastien Bouclet 67c057dc15 MOHAWK: Allow videos to be paused individually
svn-id: r55576
2011-01-27 21:12:34 +00:00
Bastien Bouclet caccceb02b MOHAWK: Dragging resources / levers code cleanup
svn-id: r55439
2011-01-22 17:26:09 +00:00
Bastien Bouclet aeff7cf12c MOHAWK: Implement Channelwood's remaining opcodes
svn-id: r55434
2011-01-22 16:44:00 +00:00
Bastien Bouclet f48cc4119c MOHAWK: Implement Channelwood opcodes 118 and 203: Sirius's drawer
svn-id: r55423
2011-01-22 13:03:54 +00:00
Bastien Bouclet 477ae820fb MOHAWK: Implement Channelwood opcodes 106 and 109: Stair door switch
svn-id: r55420
2011-01-22 12:15:42 +00:00
Bastien Bouclet 2fabd90937 MOHAWK: Implement Channelwood opcodes 108, 127, 128: elevators
svn-id: r55413
2011-01-22 10:09:01 +00:00
Bastien Bouclet 552648c225 MOHAWK: Complete Channelwood opcode 101, pipe bridge
svn-id: r55412
2011-01-22 09:37:56 +00:00
Bastien Bouclet f7f453a925 MOHAWK: Fix channelwood var getter 3, water flawing to temple elevator.
svn-id: r55395
2011-01-21 21:40:06 +00:00
Bastien Bouclet efec8d8864 MOHAWK: Implement Channelwood generic lever opcodes, and bridge opcodes
svn-id: r55394
2011-01-21 21:24:24 +00:00
Bastien Bouclet bf06c49544 MOHAWK: Implement channelwood pipe valves
svn-id: r55311
2011-01-18 19:32:36 +00:00
Bastien Bouclet f343bb9185 MOHAWK: Add a workaround to prevent a crash when pulling the gears puzzle reset lever in Myst ME.
CL1WLFCH.MOV is not the same for Myst ME and Myst win31. The proper fix will need backwards playing for QT movies.

svn-id: r55310
2011-01-18 19:30:32 +00:00
Bastien Bouclet 58c9e219b6 MOHAWK: Add gulls and butterflies to Myst
svn-id: r55308
2011-01-18 19:17:24 +00:00
Bastien Bouclet 09c35e99b8 MOHAWK: Implement Myst's clock tower gears puzzle
svn-id: r55253
2011-01-15 19:11:53 +00:00
Bastien Bouclet aa38ad519c MOHAWK: Implement Atrus videos in D'ni
svn-id: r55245
2011-01-14 21:42:33 +00:00
Bastien Bouclet ca249f5c65 MOHAWK: Implement video looping for Myst's green book
svn-id: r55244
2011-01-14 20:08:27 +00:00
Bastien Bouclet 75a2c36ecd MOHAWK: Implement video seeking Myst's rocket link book
svn-id: r55230
2011-01-13 19:30:00 +00:00
Bastien Bouclet f3f3b3bd62 MOHAWK: Play the right parts of Myst's tower clock bridge movie
svn-id: r55209
2011-01-11 20:00:57 +00:00
Bastien Bouclet b1de27ed8f MOHAWK: Implement Myst imager videos seeking / looping
svn-id: r55208
2011-01-11 19:52:58 +00:00
Bastien Bouclet 81d29aa303 MOHAWK: Add a stub for Myst var getter 308
svn-id: r55187
2011-01-09 16:13:31 +00:00
Bastien Bouclet 9058a83ad9 MOHAWK: Myst zip mode improvements
- Save visited zip destinations in the game state
- Only allow zipping to visited zip destinations
- Save zip mode setting in the game state

svn-id: r55185
2011-01-09 15:31:08 +00:00
Bastien Bouclet 9265c85c49 MOHAWK: Implement minimal D'ni stack. Lacking movie control.
svn-id: r55180
2011-01-09 10:14:40 +00:00
Bastien Bouclet d202e4c9dc MOHAWK: Change Myst credits stack not to use the var store
svn-id: r55170
2011-01-08 17:40:29 +00:00
Bastien Bouclet 1a18e99e69 MOHAWK: Changed Myst intro stack to behave like the original. ie fully skippable intro.
svn-id: r55164
2011-01-08 12:34:41 +00:00
Bastien Bouclet b55e593cdd MOHAWK: Merge Myst intro opcode 100 with generic opcode 40 into engine method changeStack
svn-id: r55152
2011-01-07 19:26:31 +00:00
Bastien Bouclet 2c95f1f8e1 MOHAWK: Implement Myst opcodes 133, Stellar observatory go button
svn-id: r55104
2011-01-03 17:37:52 +00:00
Bastien Bouclet 83f0a28623 MOHAWK: Implement Myst opcodes 134 to 137, and 170 to 177, Stellar observatory sliders
svn-id: r55096
2011-01-02 17:06:43 +00:00
Bastien Bouclet fd5754d6af MOHAWK: Fix checking Myst rocket sound puzzle before moving all the sliders.
Fix a off by one graphical glitch that happened when moving sliders.
Implement opcode 300.

svn-id: r55092
2011-01-02 14:15:15 +00:00
Bastien Bouclet 14cd97cc77 MOHAWK: Implement Myst opcodes 129 to 132, and 192 to 197, Stellar observatory buttons
svn-id: r55065
2010-12-30 13:53:14 +00:00
Bastien Bouclet 6c9a4d36ec MOHAWK: Implement Myst opcode 214, Stellar observatory initialization
svn-id: r55063
2010-12-29 19:33:49 +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 938b633238 MOHAWK: Fix playing sound from aliases in Myst ME.
svn-id: r55031
2010-12-24 11:04:25 +00:00
Bastien Bouclet 04b5163228 MOHAWK: Fix Myst's combination book pages drawing at the bottom of the screen.
svn-id: r55030
2010-12-24 10:52:02 +00:00
Bastien Bouclet 9c23440ae4 MOHAWK: Fix 2 crashers with the Myst imager (selecting 00 and playing the moutain video).
svn-id: r54973
2010-12-20 07:58:45 +00:00
Bastien Bouclet da53b85498 MOHAWK: Implement Myst opcodes 109, 117, 118 and 208 : dock forechamber imager
svn-id: r54965
2010-12-19 17:36:36 +00:00
Bastien Bouclet c2bae4b35b MOHAWK: Add 2 Myst var getter / setters
svn-id: r54960
2010-12-19 07:26:34 +00:00
Bastien Bouclet c3fdcef751 MOHAWK: Fix Myst courtyard boxes. Hover areas entering / leaving is now handled separatly from other resources since the former have to get events even when they are disabled.
svn-id: r54959
2010-12-19 07:02:02 +00:00
Bastien Bouclet 3e31ed6d98 MOHAWK: Myst sound rework, part 2
svn-id: r54954
2010-12-18 13:13:49 +00:00
Bastien Bouclet c870bf22d1 MOHAWK: Separate background sound handling from other sounds for Myst. Allow the scripts to change the background sound volume.
svn-id: r54953
2010-12-18 13:12:56 +00:00
Bastien Bouclet 03da126ec7 MOHAWK: Implement Myst opcodes 157, 161 and 162: Rocket piano
svn-id: r54949
2010-12-18 08:07:16 +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
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 151d180e55 MOHAWK: Implement Myst opcodes 128, 168, 216, 217, 304, 305, and 153 to 156 : Giant tree. Channelwood is now accessible from Myst.
svn-id: r54941
2010-12-17 07:44:59 +00:00
Bastien Bouclet 68e32de097 MOHAWK: Implement Myst opcodes 146, 149, 150, 150 : Minimal boiler
svn-id: r54934
2010-12-16 16:13:50 +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 1b267f5281 MOHAWK: Implement Myst opcodes 147, 169, 182 : Cabin match
svn-id: r54931
2010-12-16 08:03:19 +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 c2e48f5c08 MOHAWK: Implement Myst opcodes 122 to 124 : Cabin safe handle
svn-id: r54905
2010-12-14 06:42:00 +00:00
Bastien Bouclet 896316a96a MOHAWK: Fix freeze after tower rotation. Fix opcode 121 : cabin safe digit change.
svn-id: r54889
2010-12-12 19:28:43 +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
Bastien Bouclet 36851d4eb4 MOHAWK: Implement Myst opcodes 113, 114, 198 : Vault open / close
In progress tower rotation

svn-id: r54866
2010-12-11 17:00:22 +00:00
Bastien Bouclet adc7dc0785 MOHAWK: Fix using wrong coordinates in Myst opcode 28, restoreDefaultRect
svn-id: r54864
2010-12-11 12:59:56 +00:00
Bastien Bouclet 7419d8c087 MOHAWK: Implement Myst opcodes 116, 186, 188, 189, clock tower time controls
svn-id: r54863
2010-12-11 11:40:12 +00:00
Bastien Bouclet 2a8c1ab13a MOHAWK: Change Myst fireplace and green book to use correct vars
svn-id: r54859
2010-12-11 08:33:39 +00:00
Bastien Bouclet 107a2a25aa MOHAWK: Implement Myst opcode 115, give page to book
svn-id: r54856
2010-12-10 19:51:00 +00:00
Bastien Bouclet fb854b1483 MOHAWK: Fix Myst library books, fireplace combination book, and bookcase transform animation.
svn-id: r54802
2010-12-06 20:29:45 +00:00
Bastien Bouclet 24a0b50ac3 MOHAWK: Implement Myst opcodes 158 to 166: Rocket sliders + check lever + link book
svn-id: r54776
2010-12-05 08:36:41 +00:00
Bastien Bouclet 52217fa434 MOHAWK: Implement Myst opcodes 120 and 210, rocket power generator
svn-id: r54759
2010-12-04 11:54:08 +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 bf82f16982 MOHAWK: Implement Myst opcodes 141 to 143, circuit breakers
svn-id: r54741
2010-12-02 21:16:39 +00:00
Bastien Bouclet a9388af996 MOHAWK: Fix resource type 12
svn-id: r54740
2010-12-02 21:15:47 +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
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
Bastien Bouclet efc6ff54a3 MOHAWK: Misc cleanups
svn-id: r54645
2010-11-29 21:03:02 +00:00
Bastien Bouclet 29359ee372 MOHAWK: Set the initial stack back to the intro
svn-id: r54644
2010-11-29 21:02:39 +00:00
Bastien Bouclet 278b8a1429 MOHAWK: Play videos when the maze runner moves.
svn-id: r54643
2010-11-29 21:02:25 +00:00
Bastien Bouclet a526bdb839 MOHAWK: Add Selenitic opcode 101, maze runner sound help.
svn-id: r54642
2010-11-29 21:02:11 +00:00
Bastien Bouclet 1b50b62157 MOHAWK: Minimal implementation of the maze runner. Selenitic is now completable.
svn-id: r54641
2010-11-29 21:01:57 +00:00
Bastien Bouclet 69ff712a48 MOHAWK: Implement Selenitic maze runner init opcodes 200, 201, 202, 205, 206
svn-id: r54640
2010-11-29 21:01:43 +00:00
Bastien Bouclet c393f8f9d2 MOHAWK: Implement retrieving the invoking resource from data for init and exit scripts.
svn-id: r54639
2010-11-29 21:01:30 +00:00
Bastien Bouclet 3bd40b0d4b MOHAWK: Implement selenitic opcode 110 used for the maze runner exit logic.
svn-id: r54638
2010-11-29 21:01:15 +00:00
Bastien Bouclet 7ee7b91157 MOHAWK: Complete the list of stack / start cards.
Fix linking back from another age.

svn-id: r54637
2010-11-29 21:01:02 +00:00
Bastien Bouclet f8026bf852 MOHAWK: Preinitialise saved card id for use when linking back to Myst from an other age.
svn-id: r54636
2010-11-29 21:00:49 +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 7ea90ddf19 MOHAWK: Create constants for remaining Myst resource types
svn-id: r54634
2010-11-29 21:00:23 +00:00
Bastien Bouclet 149eed5c32 MOHAWK: Persistent scripts cleanup
- Rename InitOpcodes / PersistentOpcodes to Persistent Scripts for consistency
- Get rid of the global var used to tell if the sound receiver script is running

svn-id: r54633
2010-11-29 21:00:05 +00:00
Bastien Bouclet bfd272a46e MOHAWK: Add a generic temp var for use by Myst scripts.
svn-id: r54632
2010-11-29 20:59:44 +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 ed59b28d0b MOHAWK: Do not always update the screen after a card change. Necessary for "animated card changes" to work.
svn-id: r54630
2010-11-29 20:59:17 +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 f8a4190e75 MOHAWK: More animated update opcodes work for Myst
svn-id: r54628
2010-11-29 20:58:45 +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 90b336ec34 MOHAWK: Changed sliders to restore the main background instead of doing their own background caching. It is possible now there is the image cache.
svn-id: r54626
2010-11-29 20:58:10 +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 359cece3b7 MOHAWK: Implement opcode 3 "take / drop page", and the corresponding getters and setters for selenitic
svn-id: r54623
2010-11-29 20:57:27 +00:00
Bastien Bouclet d3289529eb MOHAWK: Fix flag values used to dertermine if an area can become active.
svn-id: r54622
2010-11-29 20:57:11 +00:00
Bastien Bouclet 3b1440b0d4 MOHAWK: Implement / fix Myst opcode 4.
svn-id: r54621
2010-11-29 20:56:56 +00:00
Bastien Bouclet 92dc0fe5b5 MOHAWK: Only draw a resource conditional subimages if it has the "subimages enabled" flag set.
svn-id: r54620
2010-11-29 20:56:39 +00:00
Bastien Bouclet 0cff3be66f MOHAWK: More Myst common opcodes checking / renaming
svn-id: r54619
2010-11-29 20:56:21 +00:00