aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/segment.cpp
AgeCommit message (Collapse)Author
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-01-15SCI: Zero-terminate strings in SciString::fromString()Filippos Karapetis
2011-11-03SCI: Fixed a workaroundFilippos Karapetis
2011-11-03SCI: Add fixme comment to a weird comparisonEugene Sandulenko
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
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.
2011-01-01SCI: debugC calls no longer require a debug level of 2 to show outputFilippos Karapetis
svn-id: r55086
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-17SCI: Fixed the return values of Object::relocateSci3()Filippos Karapetis
svn-id: r54289
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-17SCI: Some restructuring. Added some SCI3 placeholders/stubsFilippos Karapetis
svn-id: r54280
2010-11-01ENGINES: Get rid of some (f)printfsMax Horn
svn-id: r54011
2010-08-06SCI: fixing another warningMartin Kiewitz
svn-id: r51789
2010-06-28SCI: Move a few remaining Script methods to engine/script.cppMax Horn
svn-id: r50441
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-27CleanupFilippos Karapetis
svn-id: r50359
2010-06-26Removed the misleading getHeap() function (only valid for SCI0-SCI1), plus ↵Filippos Karapetis
removed some unused defines svn-id: r50358
2010-06-25SCI: Introduce SciGameId enumMax Horn
svn-id: r50273
2010-06-25SCI: Restrict some 'error' exceptions to the places they occur; cleanupMax Horn
svn-id: r50271
2010-06-24Changed an error in LocalVariables::dereference() back to a warning, as it ↵Filippos Karapetis
occurs in 2 places during the intro of LB2 (called from kMemory(peek)) svn-id: r50202
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-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-14Silenced warningFilippos Karapetis
svn-id: r49651
2010-06-14Fixed a bug with commit #49640Filippos Karapetis
svn-id: r49650
2010-06-14Some cleanup of the script locals codeFilippos Karapetis
svn-id: r49649
2010-06-13The offset of script local variables is now calculated when the script is ↵Filippos Karapetis
loaded, thus we no longer need to save it. Merged scriptInitialiseLocals() with scriptInitialiseLocalsZero() svn-id: r49640
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-06-02Fixed regression from commit #49332 (merging of the SCI0 and SCI11 relocate ↵Filippos Karapetis
functions, where the SCI0 equivalent had a +1 count): it seems that we should skip over zero exports, however the total number of valid exports remains the same. Fixes KQ5 and QFG2. This also fixes the relocation calculation of script 71 in SQ3, so remove the comment that the script has broken relocation entries svn-id: r49394
2010-05-31Wrote the initialization code for the exports and synonyms table to make ↵Filippos Karapetis
more sense and fixed a bug with the initialization of the synonyms pointer, introduced with rev #49336 svn-id: r49360
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: Merge setLockers(1) call into Script::initMax Horn
svn-id: r49337
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-30Unified the script loading code, and marked an issue with the SCI11 heap ↵Filippos Karapetis
addresses svn-id: r49329
2010-05-30Made load_script() a member of the Script classFilippos Karapetis
svn-id: r49328
2010-05-30Clarify reasoning behind hack in Script::scriptRelocate()Lars Skovlund
svn-id: r49320