aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/savegame.cpp
AgeCommit message (Collapse)Author
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-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-02Removed some unused variables from the engine stateFilippos Karapetis
svn-id: r41123
2009-06-01Some fixes for saving/loading (still broken)Filippos Karapetis
svn-id: r41102
2009-06-01Split the kernel functions away from the vocabulary functions (WIP, ↵Filippos Karapetis
saving/loading is broken) svn-id: r41101
2009-05-31SCI: Fixed loading; added 'const' keywords to several Vocabulary methodsMax Horn
svn-id: r41071
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-31Further objectification of the SCI vocabulary functions. Removed the ↵Filippos Karapetis
"kernel_words" console command, as it's exactly the same as "parser_words" svn-id: r41065
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-30Removed the "sfx_debuglog" command. Sound debug messages are now shown if ↵Filippos Karapetis
kDebugLevelSound is specified svn-id: r41039
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-28SCI: Turned SfxState into a proper class (i.e., convert the sfx_ funcs to ↵Max Horn
member methods) svn-id: r40973
2009-05-28SCI: Renamed sfx_state_t -> SfxState, preparing it to become a class eventuallyMax Horn
svn-id: r40958
2009-05-26SCI: Turned the global 'static MessageState state' variable into a member of ↵Max Horn
EngineState svn-id: r40910
2009-05-21SCI: Removed the 'save_dir' gui hackMax Horn
svn-id: r40772
2009-05-21Removed the PREG, PSTK, IS_NULL_REG and REG_EQ definesFilippos Karapetis
svn-id: r40767
2009-05-20removed trailing whitespacesMax Horn
svn-id: r40742
2009-05-20SCI: Changed EngineState::opcodes to a Common::Array (maybe we shold just ↵Max Horn
remove the relevant code completely, though, it seems useless, esp. as long as we hardcode the way we interpret every opcode svn-id: r40740
2009-05-19SCI: Introduce a new subclass StringFrag of MemObject (does nothing right ↵Max Horn
now); switched MemObject to subclass Common::Serializable svn-id: r40714
2009-05-19SCI: got rid of EngineState::savegame_version; some cleanupMax Horn
svn-id: r40713
2009-05-19SCI: Init the diff .#&$ EngineState::flags field in the constructor and when ↵Max Horn
loading -- fixes many weird crashes upon loading (lesson to be learned: if you add fields to a class, then (a) init it in the construtor and (b) if the class support serializing, make sure the new field is handled when saving/loading :-) svn-id: r40712
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: Tweaks, cleanupMax Horn
svn-id: r40688
2009-05-18SCI: Removed the unused member SegManager::gc_mark_bits; changed some int ↵Max Horn
params to SegmentId svn-id: r40685
2009-05-15SCI: Got rid of SEG_ID/SCRIPT_IDMax Horn
svn-id: r40599
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: Fixed restoring scripts when loading a SCI 1.1 savestateMax Horn
svn-id: r40582
2009-05-14SCI: cleanupMax Horn
svn-id: r40581
2009-05-14SCI: Added a paranoia check to find_unique_script_block which causes us to ↵Max Horn
bail out if we are about to get stuck in an endless loop svn-id: r40580
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-14CleanupFilippos Karapetis
svn-id: r40558
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: cleanupMax Horn
svn-id: r40518
2009-05-12SCI: Changed object / script local vars storage to use a Common::ArrayMax Horn
svn-id: r40515
2009-05-12SCI: Removed sci_memory.h/.cppMax Horn
svn-id: r40514
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: Replaced Cplain odeBlock array in class Script by a ↵Max Horn
Common::Array<CodeBlock> svn-id: r40433
2009-05-10SCI: Changed object list in Script instances to use Common:::ArrayMax Horn
svn-id: r40431
2009-05-08SCI: Renamed dstack_t -> DataStack; removed obsolete KF_OLD constantMax Horn
svn-id: r40374
2009-05-05SCI: Actually, it turns out the SystemString is more messed up than I ↵Max Horn
thought: In some places it allocates a memory block of max_size bytes; sometimes max_size+1 bytes; and sometimes max_size*sizeof(reg_t) bytes. And sometimes strings frags are accessed as plain C strings (e.g. when saved), sometimes as a string encode as a series of reg_t values. Ouch :/ svn-id: r40324
2009-05-05SCI: Fixed out of bounds access in (still incomplete?) string frags codeMax Horn
svn-id: r40321
2009-05-04SCI: Got rid of heapmgr.h; further improve the Table codeMax Horn
svn-id: r40308
2009-05-04SCI: Unified serializing code for Table subclasses, using template ↵Max Horn
specialization. This whole syncWithSerializer / DefaultSyncer / ArraySyncer code is experimental work in progress ;) svn-id: r40306
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: Completed transition from MemObject (a union of various structs) to ↵Max Horn
MemObjectNEW (a baseclass for these structs) svn-id: r40294
2009-05-03SCI: Changed SegManager to store the heap pointers in a Common::ArrrayMax Horn
svn-id: r40293
2009-05-03SCI: Made SegManager::heap_size unsignedMax Horn
svn-id: r40290