aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.cpp
AgeCommit message (Collapse)Author
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
2009-05-03SCI: Changed SegManager to store the heap pointers in a Common::ArrrayMax Horn
svn-id: r40293
2009-05-03SCI: Continue transition from MemObject to MemObjectNEWMax Horn
svn-id: r40274
2009-05-03SCI: Renamed MemObject::type and ::segmgr_id to _type resp. _segmgrId, and ↵Max Horn
added accessor methods getType() and getSegMgrId() svn-id: r40271
2009-05-03SCI: Changed various params of type MemObject* to the more specific type Script&Max Horn
svn-id: r40269
2009-05-03SCI: Added SegManager::getScript method and modified code to make use of it; ↵Max Horn
moved VERIFY from seg_manager.h to seg_manager.cpp svn-id: r40268
2009-04-28SCI: Improved the Table template a bit by taking advantage of C++ featuresMax Horn
svn-id: r40190
2009-04-28SCI: Renamed execution_stack -> _executionStack and turned it into a ↵Max Horn
Common::Array svn-id: r40182
2009-04-27SCI: Turned classtable into a Common::Array<Class>Max Horn
svn-id: r40161
2009-04-22SCI: Changed kfunct_table to a Common::ArrayMax Horn
svn-id: r40080
2009-04-20SCI: Renamed global array 'formats' to the slightly more descriptive ↵Max Horn
g_opcode_formats svn-id: r40031
2009-04-11SCI: Renamed bp_flag -> breakpointFlag; replaced global send_calls_allocated ↵Max Horn
& send_calls vars by a local Common::Stack instance svn-id: r39930
2009-03-24SCI: Changed some char* into Common::StringMax Horn
svn-id: r39663
2009-03-12SCI: cleanupMax Horn
svn-id: r39353
2009-03-12SCI: Removed most uses of the 'inline' keyword. It is usually better to let ↵Max Horn
the compiler figure out what to inline. As it is, most of these looked as if they were randomly placed ;) svn-id: r39352
2009-03-07Replaced getInt16, getUInt16 and putInt16Filippos Karapetis
svn-id: r39189
2009-03-01SCI: Renamed some sfx header filesMax Horn
svn-id: r39006
2009-02-28SCI: Use the ResourceType enum instead of integers where it makes senseJordi Vilalta Prat
svn-id: r38988
2009-02-28resource_t struct replaced with stub Resource class for future objectifying. ↵Greg Frieger
Also the crash when exiting SCI1 games was fixed svn-id: r38982
2009-02-28Turned ResourceManager into a class, along with all related functionsGreg Frieger
svn-id: r38978
2009-02-28clean up some warningsAndre Heider
svn-id: r38965
2009-02-28SCI: Renamed some kernel types and general cleanupJordi Vilalta Prat
svn-id: r38961
2009-02-27SCI: Renamed include/engine.h to engine/state.h; added a corresponding .cpp ↵Max Horn
file with the EngineState constructor svn-id: r38921
2009-02-27SCI: Moved almost all files from include/ to other dirs; only ↵Max Horn
include/engine.h remains svn-id: r38920