Age | Commit message (Collapse) | Author |
|
initializing some problematic scripts in certain demos (e.g. the EcoQuest 1 demo), and fixed the return values of script_instantiate_sci0() in the process
svn-id: r43759
|
|
svn-id: r43754
|
|
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro
svn-id: r43729
|
|
svn-id: r43725
|
|
- 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
|
|
several "invalid selector" VM crashes caused by duplicate classes.
svn-id: r43680
|
|
all SCI0-SCI11 games can now be detected correctly from the fallback detector
- Simplified some checks for old script types
svn-id: r43678
|
|
svn-id: r43571
|
|
some of Sierra's internal IDs to our own ones
- The class table is now created in the segment manager constructor
svn-id: r43504
|
|
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: r43289
|
|
svn-id: r43218
|
|
svn-id: r42609
|
|
svn-id: r42599
|
|
svn-id: r42587
|
|
static data, which never changes during a game)
svn-id: r42398
|
|
svn-id: r42371
|
|
- Enabled the parts where disassemble() is called
svn-id: r42263
|
|
- 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
|
|
removed game flag GF_SCI0_OLD
svn-id: r42211
|
|
(essentially, lofss and lofsa both load an offset, with lofsa loading it in the accumulator and lofss in the stack). lofss is rarely used in SCI1.1 games, which explains why no lofss-related crashes have been observed in SCI1.1
svn-id: r42209
|
|
svn-id: r42167
|
|
detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag
svn-id: r42118
|
|
svn-id: r42079
|
|
- When an error occurs, manipulate the execution stack before error() opens the console inside getDebugger(), like FreeSCI did. Added another method for obtaining the SCI console for use by the engine itself.
svn-id: r42062
|
|
svn-id: r42044
|
|
svn-id: r41647
|
|
svn-id: r41359
|
|
svn-id: r41349
|
|
SciEngine::_gamestate is updated whenever the EngineState gets changed (due to loading a savestate)
svn-id: r41346
|
|
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
|
|
kernel func map in kernel.cpp a bit
svn-id: r41176
|
|
moved any 'extern' decls of them into a new header file
svn-id: r41163
|
|
like SQ3 fail in some validations (e.g. when loading). Also, fixed a potential out of bounds access when copying the value of __FILE__ into a buffer (as its value can be quite long in some cases).
svn-id: r41154
|
|
- Removed the commands which manipulated variables and turned them into debug variables instead
- Rewrote help so that it's more organized and easier to read
- Unified the debug variable names
svn-id: r41136
|
|
svn-id: r41129
|
|
svn-id: r41126
|
|
inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct
svn-id: r41125
|
|
saving/loading is broken)
svn-id: r41101
|
|
out if something went wrong and open the debugger console. Changed all the places where they were used to error() out instead, as ScummVM's debugger console can open on error()
svn-id: r41073
|
|
- 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
|
|
look at debug() and debugC(), since I'm really bored with this now. :-)
svn-id: r41061
|
|
svn-id: r41057
|
|
svn-id: r41051
|
|
- Turned all SCIkwarn and SCIkdebug functions to ScummVM's debugC function
- Placed some debug code in appropriate defines: DEBUG_PARSER, DEBUG_AVOIDPATH and DEBUG_SOUND
- Removed the "debuglog" command and the "script_checkloads_flag" and "sci_debug_flags" variables
svn-id: r41033
|
|
fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations)
svn-id: r40993
|
|
by changing the executionStack implementation to a list.
svn-id: r40971
|
|
svn-id: r40965
|