Age | Commit message (Collapse) | Author |
|
cantBeHere in SCI1+
svn-id: r46011
|
|
svn-id: r46007
|
|
object again, instead of a specific selector - fixes Jones
svn-id: r46006
|
|
Sierra's dictionary files, and removed several unused selectors
svn-id: r46005
|
|
svn-id: r46002
|
|
deleting and recreating it when restoring games
- Merged game_exit(), script_free_vm_memory() and script_free_engine()
- Cleanup
svn-id: r45666
|
|
scaling
svn-id: r45659
|
|
svn-id: r44878
|
|
finished)
svn-id: r44787
|
|
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
|
|
svn-id: r44492
|
|
svn-id: r44429
|
|
svn-id: r44246
|
|
svn-id: r44170
|
|
svn-id: r44152
|
|
svn-id: r44151
|
|
svn-id: r44140
|
|
defines and adding appropriate methods to the Object structure
svn-id: r44138
|
|
BREAKPOINT() was used to an error
svn-id: r44041
|
|
getObjectName, respectively)
- Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency
svn-id: r44039
|
|
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
|
|
svn-id: r43982
|
|
- 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
|
|
svn-id: r43980
|
|
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
|
|
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
|
|
svn-id: r43824
|
|
svn-id: r43812
|
|
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
|
|
svn-id: r43776
|
|
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro
svn-id: r43729
|
|
- 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
|
|
all SCI0-SCI11 games can now be detected correctly from the fallback detector
- Simplified some checks for old script types
svn-id: r43678
|
|
some of Sierra's internal IDs to our own ones
- The class table is now created in the segment manager constructor
svn-id: r43504
|
|
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
|
|
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
|
|
svn-id: r42599
|
|
static data, which never changes during a game)
svn-id: r42398
|
|
- 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
|
|
which are only used for auto-detection from the convenience selector map and placed feature auto-detection in a separate function. Also, now the automatically detected graphics resources are shown in the console.
svn-id: r42212
|
|
removed game flag GF_SCI0_OLD
svn-id: r42211
|
|
- Auto-detected features are now printed in the console (to ease debugging)
svn-id: r42132
|
|
detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag
svn-id: r42118
|
|
constructed from the hardcoded function table, depending on the SCI version used
- SCI0 games using older graphics functions are now detected by the presence of the "curAngle" selector
- SCI0 games using a SCI1 table (like KQ1 demo version and full version) are detected by the presence of the "sightAngle" selector (as no SCI0 game seems to have it)
svn-id: r42095
|
|
of the "setVol" selector. Removed game flag GF_SCI1_NEWDOSOUND
svn-id: r42087
|
|
svn-id: r41833
|
|
svn-id: r41647
|
|
Storing them as reg_t* could cause the pointers to become invalid
when they pointed into CloneTable since CloneTable can be re-allocated.
svn-id: r41220
|
|
svn-id: r41198
|
|
(following our conventions); also slightly changed the EngineState constructor to init _version & _flags, and used this to make them constant
svn-id: r41177
|