Age | Commit message (Collapse) | Author |
|
and moved validateExportFunc() in the Script class, thus resolving a TODO
svn-id: r49093
|
|
Segment manager functions allocateHunkEntry, getHunkPointer and freeHunkEntry are used directly (which are more descriptive, anyway)
- Replaced the GET_SEGMENT macro by a method of the segment manager
- Removed the unused reference to the created hunk in allocateHunkEntry(), only the reg_t reference to it is returned now
svn-id: r49078
|
|
Kernel class, where they belong
- Moved the kernel signature defines inside kernel.h
- Removed some unused references to EngineState
svn-id: r49075
|
|
callk opcode handler does that already
svn-id: r48064
|
|
svn-id: r48048
|
|
svn-id: r47707
|
|
invoke_selector
svn-id: r47665
|
|
svn-id: r47564
|
|
Apparently, according to the FreeSCI bugs list, SQ1 calls it with 1 parameter when exiting the Ulence flats bar
svn-id: r47563
|
|
svn-id: r47541
|
|
without a parser
svn-id: r47484
|
|
- 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
|
|
svn-id: r47005
|
|
- 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
|
|
(defined in sci.h)
svn-id: r45459
|
|
svn-id: r44878
|
|
svn-id: r44629
|
|
svn-id: r44464
|
|
ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them
Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now
svn-id: r44461
|
|
svn-id: r44458
|
|
It did not undo all effects of a script being deleted (specifically its
superclasses remain unlocked), causing an inconsistent
state. Also removed EcoQuest CD hack that worked around a specific
instance of this problem.
svn-id: r44449
|
|
and scriptObjInit11 to be more similar
svn-id: r44234
|
|
svn-id: r44171
|
|
svn-id: r44170
|
|
defines and adding appropriate methods to the Object structure
svn-id: r44138
|
|
svn-id: r44129
|
|
svn-id: r44127
|
|
svn-id: r44126
|
|
svn-id: r44042
|
|
getObjectName, respectively)
- Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency
svn-id: r44039
|
|
- 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
|
|
to allocateClone()
svn-id: r43935
|
|
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
|
|
removed eventually)
svn-id: r43905
|
|
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: r43875
|
|
- 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
|
|
svn-id: r43571
|
|
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
|
|
static data, which never changes during a game)
svn-id: r42398
|
|
svn-id: r41349
|
|
svn-id: r41340
|
|
VIEW_PRIORITY and PRIORITY_BAND_FIRST wrappers
svn-id: r41338
|
|
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: r41164
|
|
saving/loading is broken)
svn-id: r41101
|
|
where invoke_selector should stop
svn-id: r41095
|
|
- Rewrote the sci_opcodes enum so that it's easier to read
- Made the engine error out if data is sent to an invalid selector (which is a fatal condition)
svn-id: r41069
|