Commit Graph
207 Commits
Author SHA1 Message Date
Filippos Karapetis 054dd568a4 Check which DoSound method is actually invoked from Sound::play, to remove a hack for Jones CD. Added code to handle games which don't actually call SetCursor inside Game::setCursor (like KQ5CD)
svn-id: r46086
2009-11-22 15:06:32 +00:00
Filippos Karapetis bada077c26 Removed duplicate code and simplified some feature detection
svn-id: r46038
2009-11-21 15:41:01 +00:00
Filippos Karapetis fd116847bd Fixed sound detection for Jones CD
svn-id: r46030
2009-11-20 23:37:56 +00:00
Filippos Karapetis 10fbefcd60 Simplified the doSound detection a bit
svn-id: r46028
2009-11-20 22:39:57 +00:00
Filippos Karapetis cf1d7f9259 - Removed the non-static selectors "overlay" and "setCursor" from the list of static selectors and introduced a new method for discovering the relevant features when selectors are missing - currently used for determining the graphics functions and setCursor types
- Simplified setCursor detection a bit

svn-id: r46012
2009-11-20 16:39:31 +00:00
Filippos Karapetis 662fc11d67 Check the overridden game object when performing setCursor detection, which properly fixes KQ5CD (thanks waltervn)
svn-id: r46009
2009-11-20 15:16:03 +00:00
Filippos Karapetis 94c8f77faa Added a game-specific workaround for setCursor detection in KQ5CD: the code for the setCursor selector has not been rewritten yet to use cursor views (it's the same as lsl3 and sq3, for example), but the game does use cursor views
svn-id: r46008
2009-11-20 14:51:15 +00:00
Filippos Karapetis 551ca5f2c0 Changed the lofs detection to iterate through all the methods of the Game object again, instead of a specific selector - fixes Jones
svn-id: r46006
2009-11-20 14:17:47 +00:00
Filippos Karapetis 893a8bb808 Some corrections for the lofs autodetection - SQ4 floppy works again
svn-id: r46002
2009-11-20 10:29:42 +00:00
Filippos Karapetis 2f6ded8727 Shifted some code around
svn-id: r46001
2009-11-20 08:55:35 +00:00
Filippos Karapetis 81d3a24cce - Rewrote the lofs parameter type auto-detection code
- Renamed dissectSelector -> autodetectFeature

svn-id: r46000
2009-11-20 08:52:32 +00:00
Filippos Karapetis f1036e47ad - Simplified the different feature detection types, removed some duplicate code and merged the feature detection code which relies on selectors
- Replaced the function checksum calculations to make it more apparent what the feature detections do
- Removed the now obsolete (and unused) firstRetOffset function

svn-id: r45995
2009-11-19 23:05:12 +00:00
Filippos Karapetis fbfafb576e Started objectifying kDoSound()
svn-id: r45862
2009-11-12 15:24:11 +00:00
Filippos Karapetis 226f0bd23d The menu bar code is no longer used in the new graphics code, and the menu state is no longer stored in saved games
svn-id: r45854
2009-11-12 09:24:46 +00:00
Filippos Karapetis 5daca46946 Removed unused variables and placed some more old code inside INCLUDE_OLDGFX defines
svn-id: r45668
2009-11-04 15:32:25 +00:00
Filippos Karapetis c8fbac1517 - Changed the segment manager to be a static part of the engine, and stopped deleting and recreating it when restoring games
- Merged game_exit(), script_free_vm_memory() and script_free_engine()
- Cleanup

svn-id: r45666
2009-11-04 14:22:17 +00:00
Filippos Karapetis 12e3375f3b Removed the reference to SciGuiCursor from EngineState
svn-id: r45660
2009-11-04 12:19:05 +00:00
Filippos Karapetis f755311114 priority_first and priority_last are not used by the new drawing code, thus the new code didn't handle priority changes by kGraph()
svn-id: r45658
2009-11-04 11:52:11 +00:00
Filippos Karapetis 7d00c4a7f1 Moved the audio CD handling code inside the AudioPlayer class. Some cleanup
svn-id: r45656
2009-11-04 11:22:46 +00:00
Filippos Karapetis 597524b255 Moved most of the code for playing sound effects and speech into a separate class
svn-id: r45653
2009-11-04 09:36:18 +00:00
Filippos Karapetis 57266a7cba - Removed status_bar_foreground and status_bar_background variables from the engine state
- Implemented clearMenuBar() in the new graphics code
- Removed the "status_bar" command, which was used to set custom colors for the status bar

svn-id: r45538
2009-10-30 14:39:26 +00:00
Filippos Karapetis 21323a8d12 Wrapped some more oldgui-specific code around INCLUDE_OLDGFX safeguards
svn-id: r45492
2009-10-28 22:01:42 +00:00
Filippos Karapetis 04ab6bc9fc Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard (defined in sci.h)
svn-id: r45459
2009-10-28 13:20:30 +00:00
Matthew Hoops 55e0efeb8f Add support for CD Audio in Jones in the Fast Lane CD and KQ6 CD.
svn-id: r45367
2009-10-25 03:26:20 +00:00
Max Horn 9e64255bd1 SCI: Rename game_obj to _gameObj
svn-id: r45235
2009-10-18 19:43:27 +00:00
Max Horn f3ab3051d8 SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit
svn-id: r45234
2009-10-18 19:42:56 +00:00
Martin Kiewitz 2ada85b6cc SCI: kAnimate now delays the first few calls less, otherwise sq3 will remove details graphicwise. Walter please check, if this creates a regression with lsl3.
svn-id: r45173
2009-10-16 18:46:18 +00:00
Martin Kiewitz a7e6f50ede SCI: removed speed throttler (cause of kAnimate change)
svn-id: r45094
2009-10-14 21:48:52 +00:00
Filippos Karapetis 0f995c02f3 Fixed a bug in the graphics function detection code, and corrected the location of the static "overlay" selector in SCI0 games. Fixes the demo of lsl3
svn-id: r45010
2009-10-13 09:33:57 +00:00
Filippos Karapetis d6f5d93dbf Started rewriting the Object struct into a class
svn-id: r44878
2009-10-10 15:58:51 +00:00
Walter van Niftrik 6c1cac3956 SCI: kMessage() rewrite
svn-id: r44860
2009-10-10 02:16:23 +00:00
Filippos Karapetis 9bb73a8457 Removed the unused _flags variable from EngineState
svn-id: r44857
2009-10-09 23:53:37 +00:00
Filippos Karapetis 14f8d50a62 Moved actor movement detection in state.cpp, together with the other detections and rewrote it to work in a similar fashion to the other detections
svn-id: r44836
2009-10-09 17:41:59 +00:00
Filippos Karapetis 53b1ff79a3 Oops...
svn-id: r44830
2009-10-09 16:21:37 +00:00
Filippos Karapetis 6e6336ece7 Fixed an issue when examining callk calls in the new graphics functions detection routine
svn-id: r44829
2009-10-09 16:20:15 +00:00
Filippos Karapetis 4011e948e7 Finished the automatic detection of the graphics functions used in SCI0 games. Also, introduced a new helper function to detect the offset of a ret call inside a script, with possible uses in other script detection routines
svn-id: r44828
2009-10-09 16:15:56 +00:00
Max Horn 76996301d1 SCI: Removed obsolete stringfrags code
svn-id: r44803
2009-10-08 21:29:45 +00:00
Filippos Karapetis bcade54247 Started rewriting the check for the graphics functions type (still not finished)
svn-id: r44787
2009-10-08 14:37:55 +00:00
Filippos Karapetis ce75c9270a Removed the unused game_time variable, and fixed the incorrect calculation of start_game_time when restoring a game
svn-id: r44770
2009-10-08 07:25:18 +00:00
Filippos Karapetis 1562add631 - Cleaned up the cursor code
- Renamed gui -> _gui in EngineState, for consistency
- Added a reference to SciGuiCursor in EngineState, to be used by current code
- Renamed setCursorHide -> hideCursor, setCursorShow -> showCursor
- Moved the cursor zone limiting code inside SciGuiCursor. This code is currently not functioning, as we need to call refreshPosition() before each updateScreen() call to limit the cursor position.

svn-id: r44760
2009-10-07 21:29:47 +00:00
Max Horn 6ad5840181 SCI: Rename EngineState::segMan to _segMan
svn-id: r44629
2009-10-04 18:38:18 +00:00
Max Horn 0da9ad5ff5 SCI: Add SegManager::findObjectByName() method, make parse_reg_t() local to console.cpp, and switch other code using it to use findObjectByName() instead.
svn-id: r44628
2009-10-04 18:36:58 +00:00
Max Horn 8ba75fc522 Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
svn-id: r44495
2009-09-30 16:16:53 +00:00
Filippos Karapetis fd21bb2611 - Moved the list of synonyms and parser nodes inside the vocabulary class
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class

svn-id: r44481
2009-09-30 12:17:38 +00:00
Max Horn 2fe6b32968 SCI: Remove EngineState::game_version, it was only used for saving anyway. Also remove syncCStr()
svn-id: r44358
2009-09-25 13:02:11 +00:00
Filippos Karapetis 13ad217cdd - Moved the SCI version in a global variable
- Changed all the SCI version checks to use getSciVersion()
- Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine)

The fallback detector should work correctly now

svn-id: r44269
2009-09-23 10:55:35 +00:00
Max Horn 5f440854b7 SCI: Add EngineState::_kernel member for convenience
svn-id: r44173
2009-09-17 17:00:36 +00:00
Max Horn eb77efda78 SCI: Add a global getSciVersion() function and make use of it
svn-id: r44170
2009-09-17 16:50:53 +00:00
Max Horn 364640cfd5 SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCache
svn-id: r44152
2009-09-17 13:21:42 +00:00
Filippos Karapetis f890a69428 Changed the way object selectors are accessed, by removing the relevant defines and adding appropriate methods to the Object structure
svn-id: r44138
2009-09-17 08:51:38 +00:00