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