Commit Graph

58 Commits

Author SHA1 Message Date
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops
4235358fad MOHAWK: Use direct access on the hashmap for Riven variables now 2011-03-23 23:14:59 -04:00
Matthew Hoops
aaf05b2a59 MOHAWK: Begin using a hashmap to store Riven variables 2011-03-23 21:33:57 -04:00
Matthew Hoops
f40b74d496 MOHAWK: Handle launcher load fails more gracefully 2011-03-22 19:54:58 -04:00
Matthew Hoops
273ba73d5f MOHAWK: Minor cleanup and consistency fixes 2011-03-21 18:33:48 -04:00
Matthew Hoops
40c496d730 MOHAWK: Implement the hardcoded Catherine idle videos 2011-03-21 13:21:47 -04:00
Matthew Hoops
96c7f0d22d MOHAWK: Implement the Ytram trap 2011-03-20 16:13:53 -04:00
Matthew Hoops
6fd6291390 MOHAWK: Fix typo in the Riven missing executable dialog 2011-03-09 17:53:11 -05:00
Matthew Hoops
920bae62c0 MOHAWK: Fix Riven's cursor in the main menu
Actually call the showCursor() function now...
2011-03-07 17:28:19 -05:00
Matthew Hoops
9c7166ccc9 MOHAWK: Error message consistency 2011-03-07 11:02:50 -05:00
Matthew Hoops
10dad00a79 MOHAWK: Improve error handling when data isn't found 2011-03-07 11:00:41 -05:00
Matthew Hoops
ad7400524b MOHAWK: Make Riven use original executables for cursors
It will try both Windows and Macintosh executables. The hardcoded cursors have been removed.
2011-03-07 01:10:01 -05:00
Max Horn
41121be4d6 GUI: Rename SaveLoadChooser::runModal to runModalWithPluginAndTarget
This avoids hiding an overloaded virtual method, which in turn can
cause weird bugs (see also the next commit).

svn-id: r55815
2011-02-07 22:58:22 +00:00
Matthew Hoops
d6a4ff3639 MOHAWK: Recheck the current hotspot if a script has changed the enabled hotspots in Riven
svn-id: r55493
2011-01-24 02:43:07 +00:00
Matthew Hoops
7ed456f268 MOHAWK: Add support for installer files from Riven and other Broderbund games
svn-id: r55368
2011-01-21 01:58:53 +00:00
Matthew Hoops
0761ab7b3a MOHAWK: Rename some VideoManager functions so we have some unified naming between versions
svn-id: r55312
2011-01-18 20:30:16 +00:00
Alyssa Milburn
7e5ffb2bcf MOHAWK: Remove sound.h include from resource.h
svn-id: r54988
2010-12-21 18:16:20 +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
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
cb843daec0 MOHAWK: Have MohawkResource::open() return a bool for success/failure
svn-id: r54418
2010-11-22 18:07:33 +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
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
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
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
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
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
8bd71a6ab2 Cleanup; add a TODO.
svn-id: r50000
2010-06-18 02:29:04 +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
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
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
5568a8473b Get rid of Engine::_gameDataDir.
This greatly reduces indirect dependencies on several header files
from common.

svn-id: r48933
2010-05-04 11:56:52 +00:00
Matthew Hoops
001bca2d6c Remove use of global constructors in Mohawk.
svn-id: r48731
2010-04-19 20:28:36 +00:00
Max Horn
cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +00:00
Matthew Hoops
e8c2c2b25c Slightly rework refreshing cards in Riven (and remove the hackish changeToCard(0)).
svn-id: r48134
2010-02-26 08:14:33 +00:00
Matthew Hoops
b54724a778 Fix typo in the ospit->tspit linking book RMAP code.
svn-id: r48071
2010-02-16 06:08:25 +00:00
Matthew Hoops
5fd7dbb406 Move Riven variable randomization to initVars() and implement randomization for the dome and prison combinations.
svn-id: r48070
2010-02-16 03:01:46 +00:00
Matthew Hoops
1cd9498dbc Implement background video support for Riven; some VideoManager/QTPlayer cleanup.
svn-id: r48056
2010-02-13 23:34:18 +00:00
Max Horn
a652b603c9 MOHAWK: Don't remove save_slot config entries the user may have added on purpose
svn-id: r47723
2010-01-30 19:03:11 +00:00