aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.cpp
AgeCommit message (Collapse)Author
2009-07-02Moved some more debug state related variables in the DebugState structFilippos Karapetis
svn-id: r42044
2009-06-18PatchMax Horn
svn-id: r41647
2009-06-07SCI: Got rid of g_EngineStateMax Horn
svn-id: r41359
2009-06-07SCI: Moved resource36 handling into resource manager.Walter van Niftrik
svn-id: r41349
2009-06-07SCI: Fixed the broken SciEngine::pauseEngineIntern code by ensuring that ↵Max Horn
SciEngine::_gamestate is updated whenever the EngineState gets changed (due to loading a savestate) svn-id: r41346
2009-06-06Store long-term pointers to object variables in a new ObjVarRef struct.Willem Jan Palenstijn
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
2009-06-05Moved some more debug commands to ScummVM's coneole and removed some unused codeFilippos Karapetis
svn-id: r41198
2009-06-04SCI: Renamed EngineState::flags and version to _flags and _version ↵Max Horn
(following our conventions); also slightly changed the EngineState constructor to init _version & _flags, and used this to make them constant svn-id: r41177
2009-06-04SCI: Renamed _kfuncTable -> _kernelFuncs; and simplified/streamlined the ↵Max Horn
kernel func map in kernel.cpp a bit svn-id: r41176
2009-06-04SCI: Renamed various debug related global variables to have a g_ prefix; and ↵Max Horn
moved any 'extern' decls of them into a new header file svn-id: r41163
2009-06-04Turned debug_weak_validations on by default again, as apparently some games ↵Filippos Karapetis
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
2009-06-03- Sorted the console commands a bit more Filippos Karapetis
- 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
2009-06-02Moved some more console commands to ScummVM's debug consoleFilippos Karapetis
svn-id: r41129
2009-06-02Moved some more console commands to ScummVM's debug consoleFilippos Karapetis
svn-id: r41126
2009-06-02Removed the gfxw_new_visual and gfxw_new_port wrappers, moved _kfuncTable ↵Filippos Karapetis
inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct svn-id: r41125
2009-06-01Split the kernel functions away from the vocabulary functions (WIP, ↵Filippos Karapetis
saving/loading is broken) svn-id: r41101
2009-05-31Removed script_error_flag and script_debug_flag, which were used to error ↵Filippos Karapetis
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
2009-05-31- Further objectification of the SCI vocabulary functionsFilippos Karapetis
- 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
2009-05-31The error() and warning() functions add ! and newline automatically. (I didn'tTorbjörn Andersson
look at debug() and debugC(), since I'm really bored with this now. :-) svn-id: r41061
2009-05-31More objectification of the Vocabulary functionsFilippos Karapetis
svn-id: r41057
2009-05-30Started objectifying the vocabulary functions (WIP)Filippos Karapetis
svn-id: r41051
2009-05-30- Removed debug_mode from the engine stateFilippos Karapetis
- 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
2009-05-29SCI: Converted several fprintf(stderr) calls to warning/error (the remaining ↵Max Horn
fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations) svn-id: r40993
2009-05-28SCI: Fix potential dangling pointer more robustly,Willem Jan Palenstijn
by changing the executionStack implementation to a list. svn-id: r40971
2009-05-28SCI: Merged SfxPlayer/NewPlayer code into sfx/core.cppMax Horn
svn-id: r40965
2009-05-28SCI: Fix potential dangling pointer after reallocationWillem Jan Palenstijn
svn-id: r40963
2009-05-21Removed the PREG, PSTK, IS_NULL_REG and REG_EQ definesFilippos Karapetis
svn-id: r40767
2009-05-19SCI: Some debugger fixes and cleanup.Walter van Niftrik
svn-id: r40732
2009-05-19SCI: Cleanup/paranoia checksMax Horn
svn-id: r40711
2009-05-18SCI: Got rid of EngineState::execution_stack_pos; overally, the resulting ↵Max Horn
code should be even stricter in detecting invalid VM stack access (and some bugs when loading saves might be fixed now...) svn-id: r40694
2009-05-18SCI: Replaced SegManager::getHeap() by Script::getHeap()Max Horn
svn-id: r40683
2009-05-17SCI: LSL6 invalid selector workaround is now always active, not just atWalter van Niftrik
startup. Added support for mirrored pic drawing. svn-id: r40648
2009-05-16SCI: Allow the VM to continue when the invalid selector access occurs at the ↵Walter van Niftrik
start of LSL6. svn-id: r40627
2009-05-15- Moved all the files out of /sci/scicore and into /sciFilippos Karapetis
- Moved /scicore/sciconsole.h into /engine, and renamed /engine/scriptconsole.cpp to /engine/sciconsole.cpp svn-id: r40608
2009-05-15SCI: Got rid of SEG_ID/SCRIPT_IDMax Horn
svn-id: r40599
2009-05-15SCI: Added SegManager::getScriptIfLoaded() methodMax Horn
svn-id: r40598
2009-05-15SCI: Turned several script related SegManager methods into Script methodsMax Horn
svn-id: r40597
2009-05-15Simplified SCI versions to be SCI version generations, and fixed some game ↵Filippos Karapetis
entries in the process. Also, added a sanity check for invalid game entries svn-id: r40596
2009-05-14SCI: Changed sci_obj_* enum value names to uppercase, in accordance with our ↵Max Horn
code formatting conventions svn-id: r40578
2009-05-14Fixed various GCC 4.2 warnings, among them an actual longstanding bug (3 ↵Max Horn
years :) in the quicktime midi code svn-id: r40577
2009-05-14Replaced the SCI_VERSION_FTU_DOSOUND_VARIANT_2 version check with the game ↵Filippos Karapetis
feature flag GF_SCI1_NEWDOSOUND svn-id: r40561
2009-05-14- Replaced SCI_VERSION_FTU_LOFS_ABSOLUTE with the GF_SCI1_LOFSABSOLUTE game flagFilippos Karapetis
- Moved the version defines outside of versions.h svn-id: r40559
2009-05-14Started using game-specific flags and removed/replaced some SCI version ↵Filippos Karapetis
checks with flags. - The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag - The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag - Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag - Removed the leftover min_version and max_version variables from gamestate - Cleaned up kGetTime() a bit svn-id: r40552
2009-05-13- Simplified SCI version detection a bit and clarified the different version ↵Filippos Karapetis
feature flags (not used yet) - Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these) - Removed the empty GameFlags structure and replaced it with a 32-bit integer instead svn-id: r40524
2009-05-12SCI: Changed object / script local vars storage to use a Common::ArrayMax Horn
svn-id: r40515
2009-05-11SCI: Hook FreeSCI console commands into the ScummVM console (incomplete as ↵Max Horn
of now, because printf output is not yet redirect to the GUI console) svn-id: r40459
2009-05-11SCI: Simplified the Table class, by making it use an Common::Array ↵Max Horn
internally. Increased savegame version, breaking compatibility to the previous one -- sorry for that, but some of my previous changes accidentally messed up the table syncing, resulting in messed up savegames anyway; these breakages should be fixed with this commit svn-id: r40453
2009-05-10SCI: Changed object list in Script instances to use Common:::ArrayMax Horn
svn-id: r40431
2009-05-06SCI: Added operator== and !=, as well as an isNull method to reg_tMax Horn
svn-id: r40356
2009-05-03SCI: Started adding methods to MemObject subclasses: constructors, ↵Max Horn
destructors, dereference() (and currently commented out refs to Common::Serializable svn-id: r40295