aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/segment.h
AgeCommit message (Collapse)Author
2011-05-25ALL: analyse -> analyzeMatthew Hoops
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-24SCI: Close Memory Leak from kAnimate Calls.D G Turner
This was due to a missing destructor in the HunkTable. Thanks to wjp for this patch.
2011-03-08SCI: Cleanupmd5
2011-03-08SCI: Cleanupmd5
2011-02-28SCI: Moved hunk pointer handling to the GC, and removed some related workaroundsmd5
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.
2010-12-07SCI: Removed the system strings code and replaced it with a much more ↵Filippos Karapetis
simplified version, thus greatly simplifying handling of system strings svn-id: r54805
2010-11-19SCI: Moved the Object class in a separate fileFilippos Karapetis
svn-id: r54361
2010-11-18SCI: Added species selector functionality for SCI3Filippos Karapetis
svn-id: r54351
2010-11-18Get rid of a const_cast.Lars Skovlund
svn-id: r54333
2010-11-18SCI3: implement setInfoSelector() for SCI3, fixes infinite recursionLars Skovlund
svn-id: r54328
2010-11-17SCI: More work on SCI3, based on a patch by lskovlunFilippos Karapetis
- 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-08SCI: Some changes regarding the string heap in saved gamesFilippos Karapetis
- 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-10-20SCI: Added a new debug command, "find_callk"Filippos Karapetis
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-09-05SCI: kClone cleanupMartin Kiewitz
and fixing possible crash & typo svn-id: r52565
2010-09-05SCI: merging -info- stuff in Clone/DisposeCloneMartin Kiewitz
svn-id: r52562
2010-09-05SCI: initialize members of the Object class when it's constructedFilippos Karapetis
svn-id: r52544
2010-08-03SCI: CleanupFilippos Karapetis
svn-id: r51687
2010-07-07SCI: Dropped support for the very old saved game versions 9 - 11. Rationale: ↵Filippos Karapetis
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-06-28SCI: Clarify docs of GC related SegmentObj methodsMax Horn
svn-id: r50440
2010-06-28SCI: Fix DEBUG_GC mode and permanently enable itMax Horn
svn-id: r50430
2010-06-28SCI: Revise GC interface: use Common::Array<reg_t> instead of callbacksMax Horn
This means a little bit more overhead but makes the code much more readable and understandable. svn-id: r50429
2010-06-27SCI: Moved all the script-related code inside script.cpp/.h, and all script ↵Filippos Karapetis
opcode-related code inside vm.cpp/.h svn-id: r50396
2010-06-26Removed the misleading getHeap() function (only valid for SCI0-SCI1), plus ↵Filippos Karapetis
removed some unused defines svn-id: r50358
2010-06-26Zero out the memory pointer of a hunk when freeing itFilippos Karapetis
svn-id: r50351
2010-06-22Reverted the code which handles objects without a base object when loading, ↵Filippos Karapetis
for now. This possibly indicates an issue related to the garbage collector svn-id: r50142
2010-06-17Strict mode: Changed several warnings due to logic bugs into errors. If an ↵Filippos Karapetis
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-15Properly reconstruct the running stack when restoring (a regression from ↵Filippos Karapetis
commits #49376 and #49525), some formatting svn-id: r49689
2010-06-15Add support for SCI32 segment types to seg_table and vr debug commandsLars Skovlund
svn-id: r49686
2010-06-14Removed the code used for tracking script code block relocations in ↵Filippos Karapetis
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-14Really silence the warning with _bufSizeFilippos Karapetis
svn-id: r49652
2010-06-14Some cleanup of the script locals codeFilippos Karapetis
svn-id: r49649
2010-06-03Fixed compilationFilippos Karapetis
svn-id: r49407
2010-06-03Moved several object-related defines inside vm.h into segment.h, where the ↵Filippos Karapetis
Object class resides. Also, removed several unused defines svn-id: r49406
2010-05-31The save/load object init code is now unified with the regular object init codeFilippos Karapetis
svn-id: r49346
2010-05-30Limited access to the script export table and synonyms blockFilippos Karapetis
svn-id: r49338
2010-05-30SCI: Script exports and synonyms are now initialized when a script is ↵Filippos Karapetis
loaded. Removed a sanity check inside script_instantiate_sci0 for a bug which no longer exists svn-id: r49336
2010-05-30- Merged the SCI0 scriptRelocate() and SCI11 heapRelocate() functions inside ↵Filippos Karapetis
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-30Moved setScriptSize() inside Script::init(), and removed a FIXME - the ↵Filippos Karapetis
SCI1.1 word-align is done inside Script::init() svn-id: r49330
2010-05-30Made load_script() a member of the Script classFilippos Karapetis
svn-id: r49328
2010-05-30Limit access to the _bufSize, _scriptSize and _heapSize members of the ↵Filippos Karapetis
Script class svn-id: r49327
2010-05-29SCI: Merge Script::relocateBlock and Object::relocateMax Horn
The shared code now resides in a new static function named relocateBlock, which is invoked by the two methods. svn-id: r49316
2010-05-29SCI: Make Script::_exportTable const (yay :-)Max Horn
svn-id: r49315
2010-05-27SCI: fixing -propDict- selector on instances to contain -propDict- of the ↵Martin Kiewitz
corresponding class - fixes sq4cd/room 381 talk-clicking on robot - thx to waltervn & wjp svn-id: r49263
2010-05-26SCI: More const related changes; remove unnecessary casts which hide const ↵Max Horn
issues svn-id: r49248
2010-05-26SCI: Making various object and script related things constMax Horn
svn-id: r49246
2010-05-26Fixed compilationFilippos Karapetis
svn-id: r49242
2010-05-26Made find_unique_script_block() a member of the Script classFilippos Karapetis
svn-id: r49241
2010-05-26More work on controlling access to members of the Object class:Filippos Karapetis
- 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-19Removed the exportsAreWide variable from the segment manager and save games, ↵Filippos Karapetis
and moved validateExportFunc() in the Script class, thus resolving a TODO svn-id: r49093