aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/game.cpp
AgeCommit message (Collapse)Author
2009-11-23SCI: Reduce header interdependencyMax Horn
svn-id: r46118
2009-11-20Fixed game restarting regressionFilippos Karapetis
svn-id: r46026
2009-11-12The menu bar code is no longer used in the new graphics code, and the menu ↵Filippos Karapetis
state is no longer stored in saved games svn-id: r45854
2009-11-11SCI/newgui: call menuReset() on game_init(), fixes double menu in pq2Martin Kiewitz
svn-id: r45843
2009-11-04Removed unused variables and placed some more old code inside INCLUDE_OLDGFX ↵Filippos Karapetis
defines svn-id: r45668
2009-11-04- Changed the segment manager to be a static part of the engine, and stopped ↵Filippos Karapetis
deleting and recreating it when restoring games - Merged game_exit(), script_free_vm_memory() and script_free_engine() - Cleanup svn-id: r45666
2009-11-04priority_first and priority_last are not used by the new drawing code, thus ↵Filippos Karapetis
the new code didn't handle priority changes by kGraph() svn-id: r45658
2009-10-30- Removed status_bar_foreground and status_bar_background variables from the ↵Filippos Karapetis
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-30Remove unused includes when INCLUDE_OLDGFX is not set. Implemented the full ↵Filippos Karapetis
screen updates that the current menu code is doing using new graphics functions (still unfinished). Some cleanup. svn-id: r45536
2009-10-28Wrapped some more oldgui-specific code around INCLUDE_OLDGFX safeguardsFilippos Karapetis
svn-id: r45492
2009-10-28Wording. Added warnings for unimplemented menu-related functions in the new ↵Filippos Karapetis
GUI code svn-id: r45489
2009-10-28Added detection for pq1, cnick-lslcasino and cnick-longbow to the fallback ↵Filippos Karapetis
detector. Simplified the code which distinguishes between demo and full versions. Some cleanup svn-id: r45488
2009-10-28Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard ↵Filippos Karapetis
(defined in sci.h) svn-id: r45459
2009-10-26Added proper detection and handling of transitive SCI1-SCI1.1 games, like ↵Filippos Karapetis
PQ1 VGA. These used SCI1 resources and compression with a SCI1.1 kernel (thanks to waltervn's observations) svn-id: r45420
2009-10-25- Removed graphics options code from the old GUI. Almost all of them are not ↵Filippos Karapetis
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-25CleanupFilippos Karapetis
svn-id: r45366
2009-10-22Fixed a crash when selecting menu itemsFilippos Karapetis
svn-id: r45334
2009-10-18SCI: Rename game_obj to _gameObjMax Horn
svn-id: r45235
2009-10-10SCI: kMessage() rewriteWalter van Niftrik
svn-id: r44860
2009-10-08SCI: Removed obsolete stringfrags codeMax Horn
svn-id: r44803
2009-10-08Started rewriting the check for the graphics functions type (still not ↵Filippos Karapetis
finished) svn-id: r44787
2009-10-07- Cleaned up the cursor codeFilippos Karapetis
- 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-07SCI: SciGuiCursor class added, cleanup, OSystem removed from SciGui constructorMartin Kiewitz
svn-id: r44730
2009-10-05Fixed crash when starting games with the stable GUIFilippos Karapetis
svn-id: r44671
2009-10-05Moved the cursor movement code in the GUIFilippos Karapetis
svn-id: r44664
2009-10-04SCI: Rename EngineState::segMan to _segManMax Horn
svn-id: r44629
2009-09-30- Moved the list of synonyms and parser nodes inside the vocabulary classFilippos Karapetis
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class svn-id: r44481
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- 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-22SCI: Change SystemStrings to use RAW storage consistenlyMax Horn
svn-id: r44246
2009-09-22SCI: Change SystemString::name from char* to Common::StringMax Horn
svn-id: r44243
2009-09-22SCI: SegmentObj's now set their type in constructor; replace central ↵Max Horn
SegmentObj::createSegmentObj call in SegManager::allocSegment by several explicit 'new' statements; some extra cleanup svn-id: r44242
2009-09-17SCI: Add EngineState::_kernel member for convenienceMax Horn
svn-id: r44173
2009-09-17Made script_lookup_export() a method of SegManagerFilippos Karapetis
svn-id: r44140
2009-09-15Removed some unused variables from the engine stateFilippos Karapetis
svn-id: r44099
2009-09-12- Made obj_get and obj_get_name methods of SegManager (getObject and ↵Filippos Karapetis
getObjectName, respectively) - Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency svn-id: r44039
2009-09-06SCI: Rename SegManager::exports_wide to _exportsAreWide and changed it to a ↵Max Horn
bool, and rename setExportWidth() to setExportAreWide() svn-id: r43988
2009-09-06SCI: Cleanup for some SegManager internalsMax Horn
- rename segGet and getSegment to getScriptSegment; the two can be distinguished by the parameter count. - rename type SCRIPT_GET to ScriptLoadType to conform with our code formatting conventions - rename get_class_address to getClassAddress - some cleanup svn-id: r43981
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
2009-09-01- Reverted the *vga targets back to *sci, and used the extras field again ↵Filippos Karapetis
for VGA remakes - The extras field is now filled by the fallback detector for VGA games svn-id: r43893
2009-09-01- Added MD5's for the 5 different Crazy Nick's collectionsFilippos Karapetis
- Added the MD5's of the French versions of GK2 and SQ6 (bug reports #2846842 and #2846515) - Added a different game id for QFG1 VGA (SCI1.1), to distinguish it from the older EGA version (SCI0) and added detection for the VGA version in the fallback detector - Changed some VGA SCI game IDs: lsl1sci -> lsl1vga, pq1sci -> pq1vga, sq1sci -> sq1vga, to distinguish SCI VGA remakes from SCI EGA remakes (like with QFG1VGA) svn-id: r43891
2009-09-01- Moved the Sierra game ID conversion code inside game.cpp, so that any ↵Filippos Karapetis
game-specific workarounds are tested against ScummVM IDs - Added detection for the EcoQuest 1 demo in the fallback detector - Partially reverted my previous "fix" for EcoQuest 1 CD, and turned it into a script-specific hack for that game, for now - Added handling of kDisposeScript calls made with 2 parameters, e.g. in KQ5CD and others (still untested, haven't found a test case) svn-id: r43887
2009-08-31Removed many bogus return values in the SCI graphics functions - some ↵Filippos Karapetis
functions always returned "true", whereas in others they errored out in fatal conditions before any value was returned. FreeSCI was returning values from the graphics drivers it used. In ScummVM, we have one graphics driver, and we error out in fatal conditions anyway, so these error checks are no longer necessary, and the resulting code looks much neater svn-id: r43851
2009-08-30SCI: Add lofs detection.Walter van Niftrik
svn-id: r43824
2009-08-25- Simplified the parameters of some functionsFilippos Karapetis
- Replaced some EngineState parameters - The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions - Plugged 2 leaks in the fallback detector - Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency svn-id: r43722
2009-08-23- Added more mappings from Sierra's internal IDs to our own ones. Hopefully, ↵Filippos Karapetis
all SCI0-SCI11 games can now be detected correctly from the fallback detector - Simplified some checks for old script types svn-id: r43678
2009-08-19SCI: Add partial support for Amiga SCI1 games.Walter van Niftrik
svn-id: r43549
2009-08-18- Added game ID detection to the fallback detector. We still need to map ↵Filippos Karapetis
some of Sierra's internal IDs to our own ones - The class table is now created in the segment manager constructor svn-id: r43504
2009-08-17- Simplified some functions to accept only the parts of the EngineState they ↵Filippos Karapetis
need as parameters, instead of the whole EngineState - Moved the class table in the Segment manager - it's the only class using it directly - Removed the sci11 flag from save games (we already know this, we don't need to store it) - Moved script_get_segment() and get_class_address() inside the segment manager class - Removed the script_locate_by_segment wrapper - Simplified script_lookup_export() a lot by removing some paranoia checks - Added some WIP code for automatically determining the game id in the fallback detector (still not working) - General cleanup svn-id: r43458
2009-08-16SCI: Stage 1 of the game detection overhaul. The end goal is to autodetectWalter van Niftrik
as much as possible. All SCI_VERSION_* information was removed from detection.cpp (much of it was incorrect anyway). svn-id: r43449
2009-08-15SCI: Added enum for map and volume versions. Removed res_version setting fromWalter van Niftrik
detection.cpp (should be detectable). Cleanup. svn-id: r43390