Commit Graph
410 Commits
Author SHA1 Message Date
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
Max Horn b1e43f3ca0 SCI: Changed knames (kernel function name table) to Common::StringList
svn-id: r40078
2009-04-22 17:53:29 +00:00
Filippos Karapetis 44443badc5 Disable some (quite chatty) debug output - the savegme system looks stable enough
svn-id: r39801
2009-04-02 16:54:21 +00:00
Max Horn 1e94b9cd3c SCI: Rewrote vocabulary code to use a Common::HashMap<String,ResultWord>
svn-id: r39671
2009-03-24 17:42:12 +00:00
Max Horn b76f7fea4e SCI: Changed some char* into Common::String
svn-id: r39663
2009-03-24 12:46:48 +00:00
Max Horn 9ea32d4aa1 SCI: C++ify menu code
svn-id: r39659
2009-03-24 11:31:16 +00:00
Filippos Karapetis 80c243e5ca Renamed some defines:
- FREESCI_CURRENT_SAVEGAME_VERSION, FREESCI_MINIMUM_SAVEGAME_VERSION -> CURRENT_SAVEGAME_VERSION, MINIMUM_SAVEGAME_VERSION (saved games are not compatible with FreeSCI's ones anymore)
- _K_VIEW_SIG_FLAG_FREESCI_STOPUPD -> _K_VIEW_SIG_FLAG_STOPUPD (like the rest of the flags)
- Removed FREESCI_KFUNCT_GLUTTON (unused)

svn-id: r39478
2009-03-17 08:03:42 +00:00
Max Horn 466ba4bbfe SCI: Rewrote the save/load code, see also patch #2687400.
The new format is incompatible with the old one, and is still subject to
some further changes. Also, regressions are quite possible, so watch out.
Finally, the new code still contains some TODOs and FIXMEs. Several of
these will be more or less automatically resolved once other code gets
C++ified.

svn-id: r39430
2009-03-15 20:31:29 +00:00
Max Horn 7df4e2a80f SCI: Indention changes, changed 'songlib_t' params to 'const songlib_t &'
svn-id: r39429
2009-03-15 20:31:15 +00:00
Max Horn 150b38ffb7 SCI: Removed more dead code
svn-id: r39379
2009-03-14 01:44:53 +00:00
Filippos Karapetis b78001f7ca Changed the "internal" variable inside gfxr_pic_t to priorityTable (cause that's what it is), and changed its type to int * to avoid unneeded casts
svn-id: r39375
2009-03-14 00:05:01 +00:00
Max Horn 40b313c28e SCI: Moved savegame specific stuff from state.h to a new header savegame.h
svn-id: r39351
2009-03-12 03:26:21 +00:00
Max Horn ca4bdb8572 SCI: Removed some dead code
svn-id: r39349
2009-03-12 02:40:04 +00:00
Max Horn 862c9547c6 SCI: Removed some dead code
svn-id: r39328
2009-03-11 02:32:20 +00:00
Max Horn 1bc84955a3 SCI: Removing unused line from savegame.cfsml, fixing SongIteratorMessage -> SongIterator::Message in it
svn-id: r39306
2009-03-10 19:11:35 +00:00
Lars Skovlund 3cddcb1660 String fragments support
WIP: No regressions in this part, I hope

svn-id: r39297
2009-03-10 14:52:02 +00:00
Max Horn 6b58973536 SCI: Renamed SongIteratorMessage -> SongIterator::Message; cleanup
svn-id: r39289
2009-03-10 02:42:22 +00:00
Max Horn 4e6a7d83d1 SCI: Rewrote handling of song wakeup times & (iterator) delays, to avoid rounding issues between ticks (1/60s) and milliseconds; also fixed a bug (coming from Glutton ;) where delays measured in millisecs were treated as ticks instead. Thanks to Walter for the precursor of this patch
svn-id: r39263
2009-03-09 16:15:35 +00:00
Max Horn efa5493b2d SCI: Changed suffix list to be stored as a Common::List; also fixed spelling: suffices -> suffixes
svn-id: r39214
2009-03-08 08:17:43 +00:00
Max Horn 2dfae035ac SCI: Reduced header interdependencies some more
svn-id: r39202
2009-03-07 19:23:47 +00:00
Filippos Karapetis 1e29983d8e Replaced getInt16, getUInt16 and putInt16
svn-id: r39189
2009-03-07 16:14:20 +00:00
Max Horn c2f08b10d2 SCI: More cleanup in the song iterator codebase
svn-id: r39177
2009-03-07 06:56:39 +00:00
Max Horn 54e1256b0e SCI: Reduce SFX header dependencies
svn-id: r39159
2009-03-06 18:11:12 +00:00