Tarek Soliman
edc5249772
JANITORIAL: Fix template definition whitespace
2012-02-10 21:17:27 -06:00
Matthew Hoops
28301e2bd1
ALL: analyse -> analyze
2011-05-25 10:50:47 -04:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
D G Turner
bcb9179a8b
SCI: Close Memory Leak from kAnimate Calls.
...
This was due to a missing destructor in the HunkTable.
Thanks to wjp for this patch.
2011-03-24 20:59:20 +00:00
md5
12e7d3078b
SCI: Cleanup
2011-03-08 20:13:08 +02:00
md5
0642b30933
SCI: Cleanup
2011-03-08 14:46:03 +02:00
md5
0d555c497d
SCI: Moved hunk pointer handling to the GC, and removed some related workarounds
...
SCI scripts can contain stale pointers, which are used later on. We now delete
the contents of hunk entries without invalidating the relevant pointers and let
the GC clear the references. Many thanks to waltervn and wjp for all their work
and help on this.
2011-02-28 15:56:03 +02:00
Filippos Karapetis
de2ef2edc0
SCI: Removed the system strings code and replaced it with a much more simplified version, thus greatly simplifying handling of system strings
...
svn-id: r54805
2010-12-07 00:47:05 +00:00
Filippos Karapetis
3b07056a47
SCI: Moved the Object class in a separate file
...
svn-id: r54361
2010-11-19 08:18:24 +00:00
Filippos Karapetis
4609f11137
SCI: Added species selector functionality for SCI3
...
svn-id: r54351
2010-11-18 22:27:56 +00:00
Lars Skovlund
487feb3843
Get rid of a const_cast.
...
svn-id: r54333
2010-11-18 17:38:56 +00:00
Lars Skovlund
0001a6b74d
SCI3: implement setInfoSelector() for SCI3, fixes infinite recursion
...
svn-id: r54328
2010-11-18 17:13:01 +00:00
Filippos Karapetis
b707d6e7dc
SCI: More work on SCI3, based on a patch by lskovlun
...
- Added SCI3 equivalents for access to object selectors
- Added SCI3 implementation of object relocation
- Added SCI3 implementation of Script::initialiseClasses()
svn-id: r54283
2010-11-17 11:15:52 +00:00
Filippos Karapetis
5de2668939
SCI: Some changes regarding the string heap in saved games
...
- Maintain the state of the string heap space in saved games
- Merged SegManager::reconstructScripts() inside SegManager::saveLoadWithSerializer()
- Disabled a now unnecessary script patch for the cipher puzzle in Castle of Dr. Brain, and performed some cleanup for another disabled patch
- Removed direct access to the _baseObj variable of objects
svn-id: r54133
2010-11-08 00:18:34 +00:00
Filippos Karapetis
3d85d6804b
SCI: Added a new debug command, "find_callk"
...
This command can be used to find the object methods (including their
corresponding objects and owner scripts) that call a specific kernel
call. This shall aid us track all the spots where a particular kernel
function is called from, therefore it'll be a bit easier to find
examples where unimplemented kernel functions are called
svn-id: r53646
2010-10-20 17:31:29 +00:00
Martin Kiewitz
49c8d1a549
SCI: kClone cleanup
...
and fixing possible crash & typo
svn-id: r52565
2010-09-05 15:34:25 +00:00
Martin Kiewitz
d817bec4fd
SCI: merging -info- stuff in Clone/DisposeClone
...
svn-id: r52562
2010-09-05 15:09:50 +00:00
Filippos Karapetis
fe2924d50d
SCI: initialize members of the Object class when it's constructed
...
svn-id: r52544
2010-09-05 12:33:27 +00:00
Filippos Karapetis
32807512d9
SCI: Cleanup
...
svn-id: r51687
2010-08-03 12:41:36 +00:00
Filippos Karapetis
9add81aaf2
SCI: Dropped support for the very old saved game versions 9 - 11. Rationale: a lot has changed since then, we're still not stable, and this helps clean up the code, thus we're still in a position to drop support for old saved games
...
svn-id: r50738
2010-07-07 20:12:41 +00:00
Max Horn
4f606cc10d
SCI: Clarify docs of GC related SegmentObj methods
...
svn-id: r50440
2010-06-28 12:28:29 +00:00
Max Horn
6c0205b104
SCI: Fix DEBUG_GC mode and permanently enable it
...
svn-id: r50430
2010-06-28 11:23:00 +00:00
Max Horn
31b2902714
SCI: Revise GC interface: use Common::Array<reg_t> instead of callbacks
...
This means a little bit more overhead but makes the code much more readable
and understandable.
svn-id: r50429
2010-06-28 11:22:41 +00:00
Filippos Karapetis
bb992b0b93
SCI: Moved all the script-related code inside script.cpp/.h, and all script opcode-related code inside vm.cpp/.h
...
svn-id: r50396
2010-06-27 20:38:43 +00:00
Filippos Karapetis
7a14846bdd
Removed the misleading getHeap() function (only valid for SCI0-SCI1), plus removed some unused defines
...
svn-id: r50358
2010-06-26 23:48:27 +00:00
Filippos Karapetis
e2026f4a26
Zero out the memory pointer of a hunk when freeing it
...
svn-id: r50351
2010-06-26 22:48:47 +00:00
Filippos Karapetis
c28fa2cf19
Reverted the code which handles objects without a base object when loading, for now. This possibly indicates an issue related to the garbage collector
...
svn-id: r50142
2010-06-22 15:03:19 +00:00
Filippos Karapetis
db70d66e4a
Strict mode: Changed several warnings due to logic bugs into errors. If an error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
...
svn-id: r49973
2010-06-17 23:50:28 +00:00
Filippos Karapetis
e64eb71ce8
Properly reconstruct the running stack when restoring (a regression from commits #49376 and #49525 ), some formatting
...
svn-id: r49689
2010-06-15 09:11:26 +00:00
Lars Skovlund
9a1db3f770
Add support for SCI32 segment types to seg_table and vr debug commands
...
svn-id: r49686
2010-06-15 08:21:39 +00:00
Filippos Karapetis
1fde7f1abc
Removed the code used for tracking script code block relocations in SCI0-SCI1 games, as we don't actually relocate these blocks, and it was used solely for verification of the exports table. The issue that this warning was created for should no longer occur
...
svn-id: r49669
2010-06-14 20:45:00 +00:00
Filippos Karapetis
4f3bb60cd5
Really silence the warning with _bufSize
...
svn-id: r49652
2010-06-14 13:53:15 +00:00
Filippos Karapetis
cd77cb96fc
Some cleanup of the script locals code
...
svn-id: r49649
2010-06-14 12:44:57 +00:00
Filippos Karapetis
f1af6bad6d
Fixed compilation
...
svn-id: r49407
2010-06-03 10:26:51 +00:00
Filippos Karapetis
86b452d36c
Moved several object-related defines inside vm.h into segment.h, where the Object class resides. Also, removed several unused defines
...
svn-id: r49406
2010-06-03 10:16:21 +00:00
Filippos Karapetis
3f4302214c
The save/load object init code is now unified with the regular object init code
...
svn-id: r49346
2010-05-31 11:25:59 +00:00
Filippos Karapetis
50cd1d1da4
Limited access to the script export table and synonyms block
...
svn-id: r49338
2010-05-30 23:31:33 +00:00
Filippos Karapetis
a0ee93ece5
SCI: Script exports and synonyms are now initialized when a script is loaded. Removed a sanity check inside script_instantiate_sci0 for a bug which no longer exists
...
svn-id: r49336
2010-05-30 21:49:07 +00:00
Filippos Karapetis
dc4d61f718
- Merged the SCI0 scriptRelocate() and SCI11 heapRelocate() functions inside relocate(). scriptRelocate checked one more relocation entry, which seems wrong, so we're now checking for the correct number of relocations in all SCI versions
...
- Re-added the error when script + heap exceed 64KB (better than an assert) - this should theoretically never happen, and it never has for the games tested
- Removed the relocated sanity check - again, it shouldn't occur (else something else is wrong)
svn-id: r49332
2010-05-30 20:06:50 +00:00
Filippos Karapetis
016862ac3a
Moved setScriptSize() inside Script::init(), and removed a FIXME - the SCI1.1 word-align is done inside Script::init()
...
svn-id: r49330
2010-05-30 18:45:07 +00:00
Filippos Karapetis
5cdb13b3e8
Made load_script() a member of the Script class
...
svn-id: r49328
2010-05-30 16:38:08 +00:00
Filippos Karapetis
c32e88fe0b
Limit access to the _bufSize, _scriptSize and _heapSize members of the Script class
...
svn-id: r49327
2010-05-30 16:14:31 +00:00
Max Horn
4ecacdad16
SCI: Merge Script::relocateBlock and Object::relocate
...
The shared code now resides in a new static function named
relocateBlock, which is invoked by the two methods.
svn-id: r49316
2010-05-29 23:09:00 +00:00
Max Horn
42d6ed880b
SCI: Make Script::_exportTable const (yay :-)
...
svn-id: r49315
2010-05-29 21:42:42 +00:00
Martin Kiewitz
453d13dc2d
SCI: fixing -propDict- selector on instances to contain -propDict- of the corresponding class - fixes sq4cd/room 381 talk-clicking on robot - thx to waltervn & wjp
...
svn-id: r49263
2010-05-27 17:41:20 +00:00
Max Horn
db475d1501
SCI: More const related changes; remove unnecessary casts which hide const issues
...
svn-id: r49248
2010-05-26 18:11:17 +00:00
Max Horn
0197e9f6a1
SCI: Making various object and script related things const
...
svn-id: r49246
2010-05-26 16:30:10 +00:00
Filippos Karapetis
af8a82aa13
Fixed compilation
...
svn-id: r49242
2010-05-26 14:31:51 +00:00
Filippos Karapetis
bfaba64c6a
Made find_unique_script_block() a member of the Script class
...
svn-id: r49241
2010-05-26 14:25:51 +00:00
Filippos Karapetis
1c0bbb10cb
More work on controlling access to members of the Object class:
...
- Moved the code for initializing the object class, species and base object inside the Object class
- Made propertyOffsetToId() a method of the Object class
- Made relocateObject() a method of the Object class
- The Object getVariable() method now returns a reference to the requested variable
Only SegManager::reconstructScripts() is left needing direct access to the members of the Object class
svn-id: r49228
2010-05-26 08:27:24 +00:00