Commit Graph

143 Commits

Author SHA1 Message Date
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
Matthew Hoops
7c9cbf75c0 Implement the rest of xvalvecontrol for the boiler puzzle in Riven, initialize a variable for the boiler platform switch.
svn-id: r50200
2010-06-24 05:31:07 +00:00
Matthew Hoops
019657fcd6 Fully implement xvga1300_carriage, the gallow's carriage is now fully usable.
svn-id: r50139
2010-06-22 14:03:55 +00:00
Matthew Hoops
e3b3641db2 Finish implementation of the jspit elevator logic.
svn-id: r50136
2010-06-22 05:10:43 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Matthew Hoops
8bd71a6ab2 Cleanup; add a TODO.
svn-id: r50000
2010-06-18 02:29:04 +00:00
Matthew Hoops
492f748a4b Add a comment on the unknown switch command argument.
svn-id: r49999
2010-06-18 02:28:58 +00:00
Eugene Sandulenko
f2a62bb1f5 MOHAWK: Properly add detection for Riven DVD.
svn-id: r49789
2010-06-15 10:59:43 +00:00
Eugene Sandulenko
44a39ffbc6 AdvancedDetector: Add new parameter directoryGlobs.
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.

svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
0b83afce03 MOHAWK: Sync with latest GUI changes.
svn-id: r49787
2010-06-15 10:57:47 +00:00
Eugene Sandulenko
1c3e96ac12 Split out Mohawk detection tables into separate file.
svn-id: r49658
2010-06-14 14:52:49 +00:00
Eugene Sandulenko
d59c312b08 Mohawk: Added support for running Riven off DVD layout.
Uses new directory depth feature of AdvancedDetector.
Set directory depth to 2 and added Assets1/ directory.
As a result, DVD layout which does not have any game data
file in top level directory gets detected and runs well.

svn-id: r49654
2010-06-14 14:50:53 +00:00
Eugene Sandulenko
4d517ed0e9 Extended advancedDetector with depth parameter.
Now AD can search nested directories. By default it is turned off,
but there is new parameter to ADParameters struct. Usually value
of 2 is good enough for all purposes.

svn-id: r49653
2010-06-14 14:50:23 +00:00
Matthew Hoops
14a4d8f8b0 Fix a regression from r49377 - we should be checking against code in addition to index for duplicate MLST's.
svn-id: r49395
2010-06-02 17:04:55 +00:00
Matthew Hoops
a8deacfc7e In Riven, if we get a change card opcode on a mouse down event, ignore the next mouse up event so we don't misinterpret that as an event in the next card; minor cleanup.
svn-id: r49393
2010-06-02 15:26:35 +00:00
Matthew Hoops
42b22d16f6 Fix videos in Riven activated from a different card from which they are played; minor cleanup.
svn-id: r49377
2010-06-01 17:01:22 +00:00