aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.h
AgeCommit message (Collapse)Author
2010-01-05SCI: Removed the old graphics codeFilippos Karapetis
svn-id: r47005
2010-01-05SCI: adjusting cel drawing according to left/top of planeMartin Kiewitz
svn-id: r47002
2010-01-04SCI: now filtering screenItems against planesMartin Kiewitz
svn-id: r46996
2010-01-04Fallback detector:Filippos Karapetis
- 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
2009-12-27Renamed gameName -> gameId, to keep the same vocabulary everywhereFilippos Karapetis
svn-id: r46635
2009-12-27Now using m_kiewitz's picture code to show pictures in SCI32. Also took some ↵Filippos Karapetis
bits off a similar patch from clone2727. The Sierra logo screen and the menu screen in GK1 should now be shown fully! svn-id: r46609
2009-12-26Some more work on the new music codeFilippos Karapetis
svn-id: r46569
2009-12-25SCI/newmusic: added filter support for kq4early and adlibMartin Kiewitz
svn-id: r46563
2009-12-21SCI32:Matthew Hoops
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing). - Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music. - Some other minor SCI32 changes. svn-id: r46462
2009-11-20Changed some comments back to DOxygen (inline) style and removed some more ↵Filippos Karapetis
dead code svn-id: r46029
2009-11-20Removed the syncTime and syncCue selectors from the list of static ↵Filippos Karapetis
selectors, along with their relevant FIXMEs. These selectors are used for lip syncing in CD talkie games, which always got a selector vocabulary, so we don't need to hardcode them. Did some further simplification/rewrite of the static selector tables svn-id: r46019
2009-11-20Removed more unused selectors - the canBeHere selector is replaced by ↵Filippos Karapetis
cantBeHere in SCI1+ svn-id: r46011
2009-11-20FormattingFilippos Karapetis
svn-id: r46007
2009-11-20Changed the lofs detection to iterate through all the methods of the Game ↵Filippos Karapetis
object again, instead of a specific selector - fixes Jones svn-id: r46006
2009-11-20Selector cleanup: rearranged all selectors to be in the same order as in ↵Filippos Karapetis
Sierra's dictionary files, and removed several unused selectors svn-id: r46005
2009-11-20Some corrections for the lofs autodetection - SQ4 floppy works againFilippos Karapetis
svn-id: r46002
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-04Added references to the scaleX and scaleY selectors, used for SCI1.1 view ↵Filippos Karapetis
scaling svn-id: r45659
2009-10-10Started rewriting the Object struct into a classFilippos Karapetis
svn-id: r44878
2009-10-08Started rewriting the check for the graphics functions type (still not ↵Filippos Karapetis
finished) svn-id: r44787
2009-10-01SCI: Remove outdated debugging hack.Willem Jan Palenstijn
In the past, a negative selector value was used to identify a callk stack frame. Currently a type of EXEC_STACK_TYPE_KERNEL already does that. svn-id: r44510
2009-09-30SCI: Replace magic '-42' by an enumMax Horn
svn-id: r44492
2009-09-27SCI: Fix scrolling in SCI1 list controls.Walter van Niftrik
svn-id: r44429
2009-09-22SCI: Change SystemStrings to use RAW storage consistenlyMax Horn
svn-id: r44246
2009-09-17SCI: Add a global getSciVersion() function and make use of itMax Horn
svn-id: r44170
2009-09-17SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCacheMax Horn
svn-id: r44152
2009-09-17SCI: Move parts of struct ScriptState into a new struct DebugStateMax Horn
svn-id: r44151
2009-09-17Made script_lookup_export() a method of SegManagerFilippos Karapetis
svn-id: r44140
2009-09-17Changed the way object selectors are accessed, by removing the relevant ↵Filippos Karapetis
defines and adding appropriate methods to the Object structure svn-id: r44138
2009-09-12Removed the unused ASSERT()-related code and changed a warning where ↵Filippos Karapetis
BREAKPOINT() was used to an error svn-id: r44041
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: Script::obj_indices is now protectedMax Horn
Add new methods init, allocateObject and getObject to class Script, and use them instead of directly accessing Script::obj_indices. Replace RAW_GET_CLASS_INDEX with Script::getObject() svn-id: r43987
2009-09-06SCI: cleanupMax Horn
svn-id: r43982
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-06SCI: Rename resManager -> resMan; segManager -> segManMax Horn
svn-id: r43980
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
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-30SCI: Add lofs detection.Walter van Niftrik
svn-id: r43824
2009-08-30SCI: Add SetCursor detection. Cleanup.Walter van Niftrik
svn-id: r43812
2009-08-28- Removed the unused selectors "prevSignal", "who" and "distance" from the ↵Filippos Karapetis
quick access selector array - Added the "motionCue" and "egoMoveSpeed" selectors to the selector array, to limit the places where findSelector() is used only in debugging functions - Reordered the selector initialization in mapSelectors(), so that their order matches the order found in vocab.997 svn-id: r43779
2009-08-28Removed the unused selectors (edgeHit, semanticFail and baseSetter)Filippos Karapetis
svn-id: r43776
2009-08-25- Replaced more cases of EngineState parametersFilippos Karapetis
- Made some version comparisons for old SCI0 versions easier to read - Removed the GET_SEL32SV macro svn-id: r43729
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-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-17Fix compilation of the SCI engine. It seems that all of the SCI header files ↵Johannes Schickel
I touched (and probably others I luckily didn't touch) seem to assume that files including them will supply needed types. That looks like a major issue in SCI. Someone with knowledge of the SCI code should look into this and cleanup the includes of *all* SCI headers. svn-id: r43459
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-07-18SCI: Fix breakpointsWillem Jan Palenstijn
svn-id: r42599
2009-07-11Moved the kernel and the vocabulary outside of the engine state (they're ↵Filippos Karapetis
static data, which never changes during a game) svn-id: r42398
2009-07-08Some cleanup for the script debugger code:Filippos Karapetis
- Renamed struct DebugState to ScriptState and r_amp_rest to restAdjust inside EngineState. Changed restAdjust to be a uint16 (actually it is a uint16, but it was being casted back and forth from an unsigned integer, so this clears up its type and size) - Moved the script state variables from inside the run_vm() into the ScriptState struct, so that they can be accessed by the console commands and the script debugger all the time, and removed the weird isValid code svn-id: r42260