aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script.cpp
AgeCommit message (Collapse)Author
2010-08-18SCI: Resolved a FIXME concerning scripts with more than one export table (it ↵Filippos Karapetis
only makes sense for SCI0-SCI1 games) svn-id: r52179
2010-08-11SCI: making camelot fix camelot-only for nowMartin Kiewitz
fixes kq6 getting assert as well (bug 3042866) svn-id: r51970
2010-08-10SCI: adding patch for eq1cdMartin Kiewitz
fixes ego swimming left/right of room 660 and getting a "message not found" error and a GE? signature mismatch - in sierra sci this also resulted in "message not found" and a hang afterwards - bug #3038387 svn-id: r51951
2010-08-06SCI: Split the new script patch code in a separate fileFilippos Karapetis
svn-id: r51810
2010-08-06SCI: fixing typoMartin Kiewitz
svn-id: r51809
2010-08-06SCI: adding patch for lsl6 issueMartin Kiewitz
fixes crashing when dieing at least in german lsl6, caused by temp memory space corruption. Also happened in sierra sci. svn-id: r51807
2010-08-06SCI: Added support for scripts that have more than one export table. Fixes ↵Filippos Karapetis
bug #3039785 - "Conquests of Camelot: Crash in Glastonbury Tor" svn-id: r51805
2010-08-06SCI: adjusting patch to write 0 instead of 1Martin Kiewitz
patch still worked, but 0 was meant to be there thx to lskovlun to point this out svn-id: r51796
2010-08-06SCI: adding script patchingMartin Kiewitz
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow svn-id: r51795
2010-08-06SCI: fix warningsMartin Kiewitz
svn-id: r51788
2010-08-06SCI: some work on the script patcherMartin Kiewitz
signature matching is working (added hoyle 4 signature) svn-id: r51787
2010-07-29SCI: Removed the language check from the Filippos Karapetis
KQ5 workaround, as there could be an issue with other non-English versions, too (e.g. the Spanish floppy version) svn-id: r51472
2010-07-29Extended the workaround for KQ5 French floppy for the German floppy too. ↵Filippos Karapetis
Fixes bug #3035396 - "KQ5: Crash when start the game" svn-id: r51471
2010-07-21SCI: fix initializing script 99 of sq3Martin Kiewitz
svn-id: r51097
2010-07-21SCI: adding workaround for sq3Martin Kiewitz
fixing off-by-one error when initializing script 93 svn-id: r51091
2010-07-18SCI: add script number to r51008 changeMartin Kiewitz
svn-id: r51009
2010-07-18SCI: add workaround for script 500 lsl3Martin Kiewitz
svn-id: r51008
2010-06-28SCI: stupid oversight fix r50446, too hot here :PMartin Kiewitz
svn-id: r50447
2010-06-28SCI: fixing valgrind issue in Script::initialiseClasses thx to wjp for ↵Martin Kiewitz
valgrind testing svn-id: r50446
2010-06-28SCI: Move a few remaining Script methods to engine/script.cppMax Horn
svn-id: r50441
2010-06-28SCI: get rid of Script::allocateObjectMax Horn
svn-id: r50438
2010-06-28SCI: Make Script member vars private; add const qualifiersMax Horn
Only three Script members remain public (for now) svn-id: r50428
2010-06-28SCI: Change warning back to error in Script::initialiseObjectsSci0Max Horn
Instead of turning the error into a warning globally, we now have code which ignores the error in Script 202 of KQ5 French, but will keep reporting if it turns up in other places. svn-id: r50427
2010-06-28SCI: More formatting cleanupMax Horn
svn-id: r50426
2010-06-27Made the script initialization/uninitialization methods part of the segment ↵Filippos Karapetis
manager svn-id: r50402
2010-06-27SCI: Made the code for initializing script classes, objects and locals part ↵Filippos Karapetis
of the Script class svn-id: r50398
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-27SCI: Separated the code for initializing script classes from the code for ↵Filippos Karapetis
initializing script objects svn-id: r50390
2010-06-27SCI: fixing regression from one of the mergesMartin Kiewitz
svn-id: r50387
2010-06-27Turned the error when failing to locate an invalid object back to a warning ↵Filippos Karapetis
(KQ5 French has an invalid object in script 202) svn-id: r50379
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-26Moved script_instantiate_sci0() inside the segment manager, and renamed it ↵Filippos Karapetis
to scriptInitialiseObjectsSci0() svn-id: r50357
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-15Removed the now unused EngineState parameter of ↵Filippos Karapetis
script_adjust_opcode_formats(), as well as an obsolete TODO svn-id: r49684
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-14Cleanup of the SCI0 object initialization codeFilippos Karapetis
svn-id: r49666
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-05-31Merged all the script relocation code inside script_instantiate(), and ↵Filippos Karapetis
changed the warning when reading an invalid species into an error (as it's severe, and if it happens it means something is seriously wrong) svn-id: r49361
2010-05-31Merged several script instantiation-related functions inside ↵Filippos Karapetis
script_instantiate() svn-id: r49343
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-30CleanupFilippos Karapetis
svn-id: r49334
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-30Limit access to the _bufSize, _scriptSize and _heapSize members of the ↵Filippos Karapetis
Script class svn-id: r49327
2010-05-29Limit access to the _classTable array (now it's directly accessible only ↵Filippos Karapetis
inside saveLoadWithSerializer() svn-id: r49318