243 Commits

Author SHA1 Message Date
Filippos Karapetis
c7c9f05cac Removed/replaced BREAKPOINT
svn-id: r41025
2009-05-30 10:42:08 +00:00
Max Horn
813853ccc2 SCI: Converted several fprintf(stderr) calls to warning/error (the remaining fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations)
svn-id: r40993
2009-05-29 13:07:14 +00:00
Filippos Karapetis
2590511c7d Turned some errors into warnings, as they occur in KQ5CD
svn-id: r40804
2009-05-23 10:22:27 +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
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
790e235ae1 SCI: Removed ENTRY_IS_VALID macro
svn-id: r40690
2009-05-18 15:07:31 +00:00
Max Horn
99713ca7fa SCI: Tweaks, cleanup
svn-id: r40688
2009-05-18 12:36:04 +00:00
Max Horn
a0b6f21a1a SCI: Fixed Table::initTable to invoke _table.clear()
svn-id: r40687
2009-05-18 12:35:42 +00:00
Max Horn
62876a5ad5 SCI: Changed SegManager to not pre-allocate _heap entries (leave the memory management to Common::Array)
svn-id: r40686
2009-05-18 12:35:18 +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
fc9096ba1d SCI: Replaced SegManager::getHeap() by Script::getHeap()
svn-id: r40683
2009-05-18 12:34:03 +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
8f0b776afb SCI: Added SegManager::getScriptIfLoaded() method
svn-id: r40598
2009-05-15 09:27:39 +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
Walter van Niftrik
67ce8fee85 SCI: A provisional fix for the "invalid selector" problem in KQ6 and other
SCI1.1 games.

svn-id: r40575
2009-05-14 22:33:31 +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
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
Walter van Niftrik
eb8ddbe8f4 SCI: Fixed a valgrind warning.
svn-id: r40492
2009-05-12 14:58:44 +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
574dee8e1f SCI: Got rid of last traces of class SegInterface
svn-id: r40377
2009-05-08 09:54:24 +00:00
Max Horn
0223b7e490 SCI: Moved findCanonicAddress from SegInterface to MemObject
svn-id: r40376
2009-05-08 09:54:06 +00:00
Max Horn
8d4a4271bb SCI: Moved freeAtAddress from SegInterface to MemObject
svn-id: r40375
2009-05-08 09:53:49 +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
d8738b9090 SCI: Started to merge SegInterface into MemObject
svn-id: r40373
2009-05-08 09:53:10 +00:00
Max Horn
76a48947de SCI: Added workaround for Common::Array<T>::resize() not zero-initing newly allocated memory if T is a scaler type, pointer, POD type. At least on OS X
svn-id: r40372
2009-05-08 09:52:51 +00:00
Matthew Hoops
226f8860ca Fix an endian bug
svn-id: r40370
2009-05-07 12:24:42 +00:00
Johannes Schickel
e63b778541 This should fix linking on PSP.
svn-id: r40310
2009-05-04 16:52:13 +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
88317c1944 SCI: Fixed savestate loading
svn-id: r40305
2009-05-04 15:04:55 +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
5e955ea045 SCI: Continue transition from MemObject to MemObjectNEW
svn-id: r40274
2009-05-03 11:07:07 +00:00
Max Horn
418a2a422e SCI: Got rid of the LIST_ALL_DEALLOCATABLE macro
svn-id: r40273
2009-05-03 11:04:37 +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
d695c24b9b SCI: Changed various params of type MemObject* to the more specific type Script&
svn-id: r40269
2009-05-03 09:21:08 +00:00
Max Horn
58ee0314ae SCI: Added SegManager::getScript method and modified code to make use of it; moved VERIFY from seg_manager.h to seg_manager.cpp
svn-id: r40268
2009-05-03 09:20:21 +00:00
Max Horn
2a89c7d1d4 SCI: Removed MEM_OBJ_RESERVED and related code
svn-id: r40265
2009-05-03 09:18:56 +00:00
Max Horn
240be613f9 SCI: Removed dead code
svn-id: r40264
2009-05-03 09:18:25 +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
6ca348c9d0 SCI: Further restructured the SegManager heap tables
svn-id: r40184
2009-04-28 16:00:59 +00:00
Max Horn
36fcc55c06 SCI: Removed the evil macros in engine/heapmgr.h, by manually instantiating them where used (this enables us to further modify the code later one)
svn-id: r40183
2009-04-28 15:59:40 +00:00
Max Horn
b5e9d79e15 SCI: Turned classtable into a Common::Array<Class>
svn-id: r40161
2009-04-27 12:31:27 +00:00