Commit Graph
132 Commits
Author SHA1 Message Date
Filippos Karapetis 15d5b8436e Removed the "sfx_debuglog" command. Sound debug messages are now shown if kDebugLevelSound is specified
svn-id: r41039
2009-05-30 17:53:12 +00:00
Filippos Karapetis 3490819a66 - Removed debug_mode from the engine state
- 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-30 15:40:49 +00:00
Max Horn d3bd7b622c SCI: Turned SfxState into a proper class (i.e., convert the sfx_ funcs to member methods)
svn-id: r40973
2009-05-28 22:48:15 +00:00
Max Horn d70504c910 SCI: Renamed sfx_state_t -> SfxState, preparing it to become a class eventually
svn-id: r40958
2009-05-28 10:54:30 +00:00
Max Horn 7fbbaff990 SCI: Turned the global 'static MessageState state' variable into a member of EngineState
svn-id: r40910
2009-05-26 11:33:18 +00:00
Max Horn b431254070 SCI: Removed the 'save_dir' gui hack
svn-id: r40772
2009-05-21 21:50:11 +00:00
Filippos Karapetis 4799cbf1c3 Removed the PREG, PSTK, IS_NULL_REG and REG_EQ defines
svn-id: r40767
2009-05-21 17:18:46 +00:00
Max Horn bba91075bf removed trailing whitespaces
svn-id: r40742
2009-05-20 17:53:31 +00:00
Max Horn 4c786a44c9 SCI: Changed EngineState::opcodes to a Common::Array (maybe we shold just 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-20 17:52:33 +00:00
Max Horn 136fcb3810 SCI: Introduce a new subclass StringFrag of MemObject (does nothing right now); switched MemObject to subclass Common::Serializable
svn-id: r40714
2009-05-19 00:34:10 +00:00
Max Horn 4755fcb130 SCI: got rid of EngineState::savegame_version; some cleanup
svn-id: r40713
2009-05-19 00:33:48 +00:00
Max Horn 091b347a7e SCI: Init the diff .#&$ EngineState::flags field in the constructor and when 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-19 00:02:44 +00:00
Max Horn b0c1cf52e0 SCI: Got rid of EngineState::execution_stack_pos; overally, the resulting 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-18 18:15:45 +00:00
Max Horn 99713ca7fa SCI: Tweaks, cleanup
svn-id: r40688
2009-05-18 12:36:04 +00:00
Max Horn 5170acd00c SCI: Removed the unused member SegManager::gc_mark_bits; changed some int params to SegmentId
svn-id: r40685
2009-05-18 12:34:56 +00:00
Max Horn 9c44705f05 SCI: Got rid of SEG_ID/SCRIPT_ID
svn-id: r40599
2009-05-15 09:28:31 +00:00
Max Horn 75c0d719c9 SCI: Turned several script related SegManager methods into Script methods
svn-id: r40597
2009-05-15 09:27:07 +00:00
Filippos Karapetis 565cfa074d Simplified SCI versions to be SCI version generations, and fixed some game entries in the process. Also, added a sanity check for invalid game entries
svn-id: r40596
2009-05-15 09:04:21 +00:00
Max Horn bd2e21c97a SCI: Fixed restoring scripts when loading a SCI 1.1 savestate
svn-id: r40582
2009-05-14 23:39:36 +00:00
Max Horn d2dfa0ac11 SCI: cleanup
svn-id: r40581
2009-05-14 23:39:16 +00:00
Max Horn 7f2a146597 SCI: Added a paranoia check to find_unique_script_block which causes us to bail out if we are about to get stuck in an endless loop
svn-id: r40580
2009-05-14 23:10:22 +00:00
Max Horn cd063606a0 SCI: Changed sci_obj_* enum value names to uppercase, in accordance with our code formatting conventions
svn-id: r40578
2009-05-14 23:09:30 +00:00
Filippos Karapetis e03fba03b5 Cleanup
svn-id: r40558
2009-05-14 11:46:02 +00:00
Filippos Karapetis 999d46b241 Started using game-specific flags and removed/replaced some SCI version 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-14 09:12:27 +00:00
Filippos Karapetis e940bcff23 - Simplified SCI version detection a bit and clarified the different version 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-13 16:52:41 +00:00
Max Horn 37a0157c97 SCI: cleanup
svn-id: r40518
2009-05-12 23:32:32 +00:00
Max Horn 7f29670843 SCI: Changed object / script local vars storage to use a Common::Array
svn-id: r40515
2009-05-12 23:30:42 +00:00
Max Horn 0255cd0213 SCI: Removed sci_memory.h/.cpp
svn-id: r40514
2009-05-12 23:30:10 +00:00
Max Horn 1949133d22 SCI: Simplified the Table class, by making it use an Common::Array 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-11 13:32:00 +00:00
Max Horn 14aa9d70ac SCI: Replaced Cplain odeBlock array in class Script by a Common::Array<CodeBlock>
svn-id: r40433
2009-05-10 20:13:12 +00:00
Max Horn 019f87fd1b SCI: Changed object list in Script instances to use Common:::Array
svn-id: r40431
2009-05-10 19:17:51 +00:00
Max Horn b49dd22173 SCI: Renamed dstack_t -> DataStack; removed obsolete KF_OLD constant
svn-id: r40374
2009-05-08 09:53:31 +00:00
Max Horn 7e51eb6478 SCI: Actually, it turns out the SystemString is more messed up than I 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-05 12:23:05 +00:00
Max Horn 36f58b6378 SCI: Fixed out of bounds access in (still incomplete?) string frags code
svn-id: r40321
2009-05-05 12:00:51 +00:00
Max Horn f2da4bc447 SCI: Got rid of heapmgr.h; further improve the Table code
svn-id: r40308
2009-05-04 15:23:33 +00:00
Max Horn 6e6a8f8d6c SCI: Unified serializing code for Table subclasses, using template specialization. This whole syncWithSerializer / DefaultSyncer / ArraySyncer code is experimental work in progress ;)
svn-id: r40306
2009-05-04 15:05:11 +00:00
Max Horn a41069d69b SCI: Started adding methods to MemObject subclasses: constructors, destructors, dereference() (and currently commented out refs to Common::Serializable
svn-id: r40295
2009-05-03 22:47:04 +00:00
Max Horn d960c1e2a5 SCI: Completed transition from MemObject (a union of various structs) to MemObjectNEW (a baseclass for these structs)
svn-id: r40294
2009-05-03 22:46:38 +00:00
Max Horn 82f2672008 SCI: Changed SegManager to store the heap pointers in a Common::Arrray
svn-id: r40293
2009-05-03 22:46:11 +00:00
Max Horn f108a31ad7 SCI: Made SegManager::heap_size unsigned
svn-id: r40290
2009-05-03 22:45:13 +00:00
Max Horn 79b0711cfd SCI: Begun conversion of the MemObject union (used to implement poor man's fake inheritance) into a base class of all the various union members
svn-id: r40272
2009-05-03 09:30:59 +00:00
Max Horn 50c8821072 SCI: Renamed MemObject::type and ::segmgr_id to _type resp. _segmgrId, and added accessor methods getType() and getSegMgrId()
svn-id: r40271
2009-05-03 09:30:33 +00:00
Max Horn ba57b21d09 SCI: Changed SegManager to subclass Common::Serializable
svn-id: r40270
2009-05-03 09:25:15 +00:00
Max Horn ed914d6740 SCI: Improved the Table template a bit by taking advantage of C++ features
svn-id: r40190
2009-04-28 22:56:44 +00:00
Max Horn b5e9d79e15 SCI: Turned classtable into a Common::Array<Class>
svn-id: r40161
2009-04-27 12:31:27 +00:00
Max Horn 5881abb213 SCI: Removed unused vars; doxygenified some comments; cleanup
svn-id: r40159
2009-04-27 12:29:51 +00:00
Max Horn 9445439c4f SCI: Renamed gfxw_widget_t and subtypes to GfxWidget etc.
svn-id: r40104
2009-04-24 10:46:20 +00:00
Max Horn 86b3657476 SCI: Started to C++ify the gfxw_widget_t codebase
svn-id: r40103
2009-04-24 10:45:09 +00:00
Max Horn 486f10edaf SCI: Store parse_tree_branch_t in a Common::Arraay
svn-id: r40100
2009-04-24 10:42:53 +00:00
Max Horn 3af8918e1a SCI: Changed kfunct_table to a Common::Array
svn-id: r40080
2009-04-22 17:54:11 +00:00