Commit Graph

158 Commits

Author SHA1 Message Date
Matthew Hoops
d94844f205 MOHAWK: Add support for Riven 24bpp images (not yet used)
svn-id: r54345
2010-11-18 20:40:48 +00:00
Matthew Hoops
411866ee18 MOHAWK: Cleanup bitmap surface and pack/draw function handling
svn-id: r54338
2010-11-18 19:06:38 +00:00
Matthew Hoops
ffc6ed643f MOHAWK: Remove unused drawRLE() function
svn-id: r54320
2010-11-18 13:48:49 +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
d971396572 MOHAWK: Cleanup Myst script handling
Scripts are now loaded from a central place and are properly freed at the correct time. This fixes a regression from r54152.

svn-id: r54309
2010-11-18 05:47:16 +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
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +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
Matthew Hoops
0dd4a46102 MOHAWK: Fix cache memory leak and some formatting
svn-id: r54165
2010-11-09 18:52:29 +00:00
Matthew Hoops
a4978587d8 MOHAWK: Fix memory leaks (thanks to digitall for finding)
svn-id: r54164
2010-11-09 18:38:35 +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
025a14b326 MOHAWK: Remove console FIXME's
svn-id: r54109
2010-11-07 02:08:02 +00:00
Max Horn
b4787d9430 MOHAWK: Convert all printf to debugN calls
This involves some nasty decisions, like mixing debugN and DebugPrintf
calls in the RivenConsole. I added FIXME comments about this.

svn-id: r54107
2010-11-07 01:03:29 +00:00
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Max Horn
34cc54eaa9 Add doxygen comment for namespaces of several engines.
This is an empty template which ideally engine maintainers
would update and complete with concrete information...

svn-id: r53481
2010-10-15 12:28:56 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Matthew Hoops
bb5db4aa3b MOHAWK: Finish implementation of the Riven Marble Puzzle
You can now place the marbles and pressing the button will now only set the power to on if the marbles are in the correct positions.

svn-id: r52735
2010-09-15 20:28:42 +00:00
Thierry Crozat
fc11604e73 i18n: Translate the Save and Load buttons in myst and riven
svn-id: r52692
2010-09-12 21:35:49 +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
0cba4f0306 MOHAWK: Implement blocking sound in Riven
Sounds that set the third argument of the playSound opcode to 1 (wherever they may be) will now block. The volume parameter of playSound is also now honored. Merge the Myst sound blocking code with this too.

svn-id: r52643
2010-09-08 20:50:56 +00:00
Matthew Hoops
58139baf37 MOHAWK: Sound cleanup
Merge the Riven sound file code with the main Riven resource code and remove the mainSoundFile parameter from Sound::playSound(). Reasoning: The sound id's do not collide with the sound id's in the main data files. The sound archives only exist because the original CD version had the ability to choose between low and high quality audio.

svn-id: r52631
2010-09-07 20:18:30 +00:00
Matthew Hoops
87a6b631bf MOHAWK: Add stopping sounds to the telescope functions
svn-id: r52628
2010-09-07 19:00:55 +00:00
Matthew Hoops
009889dd13 MOHAWK: Implement xgplateau3160_dopools
The pools of water will now always show the video of returning to the "off" state.

svn-id: r52626
2010-09-07 17:58:10 +00:00
Matthew Hoops
f27a0b2c43 MOHAWK: Fix the boiler puzzle videos
svn-id: r52621
2010-09-07 15:27:06 +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
aa5cd3e682 MOHAWK: Ignore invalid Riven hotspots again
There is at least one example of a bad hotspot in Riven (tspit 
371 (377 in the DVD version), hotspot 4). This particular hotspot is a zip hotspot which looks like it has its left and right coordinates reversed. However, the zip hotspot would only take the player to the same card as the non zip hotspot so it seems they removed this hotspot with a hack. This fixes a regression from r52487.

svn-id: r52532
2010-09-04 21:43:16 +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
1475f75653 MOHAWK: Update videos when the delay opcode is called
The fixes a couple scripts which decide to delay through a background video turning into a virtual blocking video.

svn-id: r52488
2010-09-01 23:39:25 +00:00
Matthew Hoops
a053ef7cd1 MOHAWK: Cleanup mouse cursor position handling in Riven
This fixes some cursors showing up incorrectly if the cursor moved during ie. a video and then the card changes. Also, remove an unneeded rect check in loadHotspots() that's from the ancient times before script size calculation was fixed and some warnings that don't affect gameplay.

svn-id: r52487
2010-09-01 23:22:12 +00:00
Matthew Hoops
649e275ca6 MOHAWK: Implement xbookclick
It is now possible to trap Gehn in the trap book. Side note: Riven is now completable from the beginning provided you know the D'ni number system already (and the marble puzzle is just hacked to always work).

svn-id: r52482
2010-09-01 13:28:12 +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
9f5f27b42e MOHAWK: Fix xgwatch in the DVD version, which uses sounds in a different location
svn-id: r52302
2010-08-23 17:01:33 +00:00
Matthew Hoops
c1e63b55e4 MOHAWK: Print the rect of the hotspot in the 'hotspot' command too
svn-id: r52300
2010-08-23 14:41:25 +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
5bd2a99717 MOHAWK: Draw in the dome combination in the lab journal
svn-id: r52216
2010-08-19 18:04:11 +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
Max Horn
0e2807dc27 GRAPHICS: Change signature of VideoDecoder::load()
Now takes a pointer to a stream, instead of a reference.
The rational is that in all instances, callers have a pointer
(and dereference it to call load), and all load implementations
turn the reference back into a pointer.

svn-id: r51725
2010-08-04 08:25:05 +00:00
Matthew Hoops
de7108054f Add detection for 'Little Monster at School' and the bunch of demos that came on the CD (on the demo server now too).
svn-id: r50776
2010-07-09 22:10:22 +00:00
Matthew Hoops
0e4bf4aff7 Fix some other valgrind warnings.
svn-id: r50762
2010-07-09 16:53:50 +00:00
Matthew Hoops
541daf918a Introduce the RivenScriptManager to keep track of scripts and free them when required. The old way of using SharedPtr was quite hacky and didn't work properly when talking to Gehn in ospit.
svn-id: r50761
2010-07-09 16:53:20 +00:00
Matthew Hoops
48a107b821 Update comment on CD swapping in Riven.
svn-id: r50479
2010-06-29 03:04:08 +00:00
Matthew Hoops
146cc7cb3c Silence a valgrind warning.
svn-id: r50478
2010-06-29 03:00:53 +00:00
Matthew Hoops
79aa49a509 Fix the load game dialog in Riven DVD's menu, borrowed from Parallaction.
svn-id: r50477
2010-06-29 02:55:31 +00:00
Matthew Hoops
e5e90eb8a8 Add a debug console command to Riven for displaying combinations to puzzles.
svn-id: r50338
2010-06-26 19:09:45 +00:00
Matthew Hoops
2b9f4e5068 Gehn's cage should be closed initially, so initialize ocage to 1.
svn-id: r50337
2010-06-26 18:44:32 +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
554640ee8a Fix saving while viewing the inventory in Riven and cleanup the save/load code.
svn-id: r50333
2010-06-26 17:21:50 +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