aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/segment.h
AgeCommit message (Collapse)Author
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
2010-05-18Add initial support for KQ6 Mac. Wrapper functions for read/writing to ↵Matthew Hoops
pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression. svn-id: r49070
2010-05-14Made locateVarSelector() a method of the Object classFilippos Karapetis
svn-id: r49031
2010-02-08Search through arrays for outgoing references to fix possible garbage ↵Matthew Hoops
collector problems; minor cleanup. svn-id: r47989
2010-02-03cleanupMax Horn
svn-id: r47835
2010-01-30Add support for saving/loading Arrays/Strings in SCI32. It's possible to ↵Matthew Hoops
save a game in GK1 now via the console, but not load (yet). svn-id: r47696
2010-01-26SCI: Add string support for odd-offset pointers into reg_t-based segments.Walter van Niftrik
svn-id: r47572
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2010-01-24SCI: CleanupWalter van Niftrik
svn-id: r47506
2010-01-05Zero the array before using it. You can go talk to Grace now, DrMcCoy.Matthew Hoops
svn-id: r47017
2010-01-01SCI: Fix segfault in dual-language KQ5.Walter van Niftrik
svn-id: r46864
2009-12-31Overload the = operator for SciArray which fixes the setType errors in GK1. ↵Matthew Hoops
Some other cleanup too. GK1 can now access the restore menu and get a bit further in the game (until a segfault in the Decompressor code). svn-id: r46789
2009-12-30SCI32:Matthew Hoops
- Set signature for Array/String - Add the kernel table differences for the GK2 demo - Implement kMessage changes in SCI32 - Use an empty string as the default path for all games now (and modify kValidPath to accept that only as valid) - Add dereferencing for Arrays svn-id: r46756
2009-12-24SCI32:Matthew Hoops
- Fix dup for kArray/kString - Implement kFileIO::rename (SCI1.1) - Implement part of the SCI32 additions to kFileIO - Implement the GetSaveDir part of kSave (SCI2.1) - Torin (SCI2.1!) now shows signs of life -- it will create the torin.prf file with correct data! svn-id: r46521
2009-12-23Some SCI32 (minor) String bug fixes and cleanup.Matthew Hoops
svn-id: r46492
2009-12-21SCI32:Matthew Hoops
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing). - Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music. - Some other minor SCI32 changes. svn-id: r46462
2009-10-11More work on the Object classFilippos Karapetis
svn-id: r44921
2009-10-10Started rewriting the Object struct into a classFilippos Karapetis
svn-id: r44878
2009-10-08SCI: Removed obsolete stringfrags codeMax Horn
svn-id: r44803
2009-10-08Change doxygen inline comments from "//!" to "///" as proposed on -develMax Horn
svn-id: r44802
2009-09-28SCI: Remove unsafe unmarkDeleted function.Willem Jan Palenstijn
It did not undo all effects of a script being deleted (specifically its superclasses remain unlocked), causing an inconsistent state. Also removed EcoQuest CD hack that worked around a specific instance of this problem. svn-id: r44449
2009-09-27SCI: Add utility functions for copying data between raw/non-raw segmentsWillem Jan Palenstijn
svn-id: r44387
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
2009-09-22- Merged scriptObjInit0() and scriptObjInit11()Filippos Karapetis
- Replaced some cases where getSciVersion() is used with _resMan->sciVersion(), as getSciVersion() will fail with the fallback detector (as the engine is not initialized). Object property accessors still crash currently, when used with the fallback detector svn-id: r44261