Commit Graph
210 Commits
Author SHA1 Message Date
Max Horn 26b7f0bbb9 SCI: Remove hack in convertSierraGameId which caused a memory leak
svn-id: r48083
2010-02-17 23:36:50 +00:00
Max Horn 975dbef0e5 SCI: Remove sound/audio.h include from engine/state.h
svn-id: r48063
2010-02-15 00:20:53 +00:00
Filippos Karapetis 07e405588d Moved the reference to AudioPlayer inside SciEngine (as it doesn't have a state, per se, and is static)
svn-id: r48059
2010-02-14 12:23:22 +00:00
Max Horn b9a11ddb0b SCI: Move language related code from EngineState to SciEngine
svn-id: r48052
2010-02-13 17:46:44 +00:00
Max Horn 9575cc08a2 SCI: Move GameFeatures from EngineState to SciEngine
svn-id: r48049
2010-02-13 17:44:58 +00:00
Max Horn a82939c9be SCI: Get rid of EngineState::resMan
svn-id: r48048
2010-02-13 17:44:19 +00:00
Max Horn 721a57a661 SCI: Move Gui/Gfx related permanent objects from EngineState to SciEngine
svn-id: r48047
2010-02-13 17:43:31 +00:00
Filippos Karapetis 2fb37063a4 Placed all the game feature detection code in a separate class
svn-id: r47850
2010-02-03 11:02:43 +00:00
Max Horn bb5e34a014 SCI: Get rid of EngineState::stack_segment
svn-id: r47833
2010-02-03 01:32:59 +00:00
Max Horn 4b19acf255 SCI: Use Common::List and Common::String to simplify breakpoint handling (untested)
svn-id: r47824
2010-02-02 22:52:41 +00:00
Martin Kiewitz a20f4ef1fc SCI: implemented reset for GfxMenu, not recreating object anymore
svn-id: r47793
2010-02-01 10:16:45 +00:00
Filippos Karapetis 5b7d430550 Fixed endless looping in Longbow, when the after market GM patches are used
svn-id: r47731
2010-01-31 00:14:23 +00:00
Martin Kiewitz a800855bf4 SCI: added new SciGui32 class, Gfx class needs some work though and hopefully i didnt overlook some kernel function that is also used by sci32. now using plane left/top
svn-id: r47679
2010-01-29 21:30:46 +00:00
Filippos Karapetis 722233fd0d - Moved all of the parser-related variables inside the Vocabulary class
- Moved the kSetSynonyms() function inside kscripts (as it's for script synonyms, not parser word synonyms)
- The parser vocabulary is now only initialized for SCI0 and SCI01 games, which had a parser

svn-id: r47483
2010-01-23 19:10:56 +00:00
Filippos Karapetis 22e8b3ed02 The GM patches from Sierra's GM utility can now also be processed with their original names. Thus, the user can just extract the patches from Sierra's GM utility in the extras folder, and it's not necessary to rename each individual file to "4.pat" and place it inside the associated game (works with the games that Sierra's GM patch updates, i.e. LSL1, LSL5, Hoyle3, SQ1, SQ4, Eco1, Longbow and Fairy tales)
svn-id: r47318
2010-01-16 00:22:22 +00:00
Filippos Karapetis 84cd8d2dc7 Renamed /gui to /graphics and /sfx to /sound, to better illustrate their purpose
svn-id: r47007
2010-01-05 01:22:16 +00:00
Filippos Karapetis f66d5a7f53 SCI: Removed the old graphics code
svn-id: r47005
2010-01-05 00:54:53 +00:00
Filippos Karapetis 60ece55fb9 Fallback detector:
- Added detection for SCI2 games (GK1, PQ4, QFG4)
- Rewrote the way demos are detected
- Games are no longer distinguished from the existence of certain files

svn-id: r46970
2010-01-04 13:50:43 +00:00
Filippos Karapetis 5cb5fe22ea SCI/new sound code:
- Made the SciMusic class private, and added wrapper functions for invoking specific methods of SciMusic from outside the SoundCommandParser class
- Many SCI games keep creating and destroying sound effects constantly (i.e. many times per second). Therefore, another scheme has been devised, which replaces the mutex that was in place. Whenever a sound command is run which operates on a specific object in the play list, we disallow onTimer() from kicking in. This isn't ideal, but it does stop random deadlocks because of locked mutexes without any noticeable side effects

svn-id: r46681
2009-12-28 20:10:15 +00:00
Filippos Karapetis 5adb6277eb SCI/new music code:
- Switched to Common::StackLock for mutexes
- Renamed Music::stopAll() -> Music::clearPlayList()
- Implemented a better Music::stopAll method, which stops all sounds with proper signals, instead of destroying them
- Renamed the SCI0 command cmdGetPlayNext -> cmdStopAllSounds and implemented it

svn-id: r46665
2009-12-27 23:46:11 +00:00
Filippos Karapetis fabe51c129 Renamed gameName -> gameId, to keep the same vocabulary everywhere
svn-id: r46635
2009-12-27 12:54:03 +00:00
Filippos Karapetis 12b6d4ab03 Some more work on the new music code
svn-id: r46569
2009-12-26 00:50:09 +00:00
Martin Kiewitz 2f5f625b98 SCI/newmusic: added filter support for kq4early and adlib
svn-id: r46563
2009-12-25 18:59:15 +00:00
Filippos Karapetis 0c1b646c7f - Started wrapping the current sound code around appropriate defines
- Introduced a new resource type, SoundResource, used in the new music code

svn-id: r46421
2009-12-19 16:19:53 +00:00
Matthew Hoops 26a5c1c3a5 Fix segfault when quitting. static const Common::String's shouldn't be used.
svn-id: r46416
2009-12-19 02:12:17 +00:00
Max Horn 65eae0b53e SCI: Reduce header interdependency
svn-id: r46118
2009-11-23 23:55:19 +00:00
Filippos Karapetis 8b4dabea83 Fixed game restarting regression
svn-id: r46026
2009-11-20 21:50:17 +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
Martin Kiewitz 1bc60e9d85 SCI/newgui: call menuReset() on game_init(), fixes double menu in pq2
svn-id: r45843
2009-11-11 21:22:04 +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 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 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 ff284c9f5b Remove unused includes when INCLUDE_OLDGFX is not set. Implemented the full screen updates that the current menu code is doing using new graphics functions (still unfinished). Some cleanup.
svn-id: r45536
2009-10-30 12:33:05 +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 d62342b32b Wording. Added warnings for unimplemented menu-related functions in the new GUI code
svn-id: r45489
2009-10-28 21:49:16 +00:00
Filippos Karapetis 5d037f64ef Added detection for pq1, cnick-lslcasino and cnick-longbow to the fallback detector. Simplified the code which distinguishes between demo and full versions. Some cleanup
svn-id: r45488
2009-10-28 21:46:27 +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
Filippos Karapetis 7e0f8a9af9 Added proper detection and handling of transitive SCI1-SCI1.1 games, like PQ1 VGA. These used SCI1 resources and compression with a SCI1.1 kernel (thanks to waltervn's observations)
svn-id: r45420
2009-10-26 21:41:41 +00:00
Filippos Karapetis 1a4b617398 - Removed graphics options code from the old GUI. Almost all of them are not supposed to be modified by the user (e.g. the way lines and brushes are drawn), and we can implement any of them again if needed in the new GUI (but they shouldn't really be needed).
- Added a config option to disable dithering in the new GUI if requested, called "undither", which is set to true by default and can be changed to false if needed per game
- The per-resource palette code has been removed for now, to be replaced by regular hashmaps (once the FreeSCI scifx reading code has been converted)

svn-id: r45378
2009-10-25 20:53:07 +00:00
Filippos Karapetis 452ae8a576 Cleanup
svn-id: r45366
2009-10-25 02:36:51 +00:00
Filippos Karapetis 512c9cae11 Fixed a crash when selecting menu items
svn-id: r45334
2009-10-22 09:36:46 +00:00
Max Horn 9e64255bd1 SCI: Rename game_obj to _gameObj
svn-id: r45235
2009-10-18 19:43:27 +00:00
Walter van Niftrik 6c1cac3956 SCI: kMessage() rewrite
svn-id: r44860
2009-10-10 02:16:23 +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 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
Martin Kiewitz 77b549a0ad SCI: SciGuiCursor class added, cleanup, OSystem removed from SciGui constructor
svn-id: r44730
2009-10-07 12:47:53 +00:00
Filippos Karapetis 7596f535ac Fixed crash when starting games with the stable GUI
svn-id: r44671
2009-10-05 19:28:43 +00:00
Filippos Karapetis 91a16e0c7d Moved the cursor movement code in the GUI
svn-id: r44664
2009-10-05 16:43:24 +00:00