aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script.cpp
AgeCommit message (Collapse)Author
2015-12-29SCI32: split up SCI2.1 into EARLY/MIDDLE/LATEMartin Kiewitz
- Detection works via signatures (couldn't find a better way) - new kString subcalls were introduced SCI2.1 LATE - kString now has signatures and is split via subcall table - kString fix, so that KQ7 doesn't crash, when starting a chapter - Sci2StringFunctionType removed, because no longer needed
2015-07-13SCI: Fix object init in SCI3 scripts which are larger than 64kbFilippos Karapetis
2015-05-17SCI: identifyOffsets() counter variablesMartin Kiewitz
2015-05-15SCI: adjust SCI3 offset identify thx lskovlunMartin Kiewitz
2015-05-14SCI: add SCI3 support for debug cmd scroMartin Kiewitz
2015-05-14SCI: add said-details to script_said debug cmdMartin Kiewitz
2015-05-14SCI: debug commands scro, scrs and script_saidMartin Kiewitz
implement string collecting for SCI3 implement object offset collecting for SCI0-SCI2 implement said-str offset collecting for SCI0-SCI1 add new debug command scro / script_objects add new debug command script_said string without terminating NUL now a warning the latter happens in qfg2 for amiga room 84
2015-05-04SCI: fix bug in new string identifying codeMartin Kiewitz
fixes string identifying in mac SCI1.1 games
2015-05-04SCI: Scripts: identify strings + debug commandMartin Kiewitz
debug command is called "script_strings" / "scrs"
2015-04-16SCI: QFG3 fix priority of chief in hut bug #5173Martin Kiewitz
this is a script issue and also happens in Sierra's SCI. Gets solved by script patch.
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-04SCI: script patcher is now a separate classMartin Kiewitz
2013-11-03SCI: improved script patcherMartin Kiewitz
Gabriel Knight + King's Quest 6 patches now also work for Mac versions of those games added support for selectors instead of using hardcoded values
2012-10-07SCI: Flip assertWillem Jan Palenstijn
This way the assert is checking that the allocated buffer is large enough for the memcpy that follows it.
2012-06-28SCI: Remove an incorrect error check in validateExportFunc()Filippos Karapetis
2012-06-26SCI: Rename a parameter in validateExportFunc()Filippos Karapetis
This ensures that it won't be confused with a function with the same name
2012-06-23SCI: Change the program counter (PC) to be a 32-bit variableFilippos Karapetis
This is needed for future support of large SCI3 scripts. The program counter is isolated and does not interfere with other parts of the VM, plus it does not get stored in saved games, so it's pretty straightforward to convert
2012-06-23SCI: Clean up validateExportFunc() and related functionsFilippos Karapetis
Also renamed some SCI3 related code to indicate when it's SCI3 specific
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-06-15SCI: Change getClassAddress() to only require the caller segmentFilippos Karapetis
The caller offset is never actually used inside the function
2012-06-15SCI: Replace RAW_IS_OBJECT with a methodFilippos Karapetis
2012-06-15SCI: Fix warningsFilippos Karapetis
Thanks to DrMcCoy for reporting them
2012-06-15Revert "SCI: Change Script::getObject() to accept a reg_t"Filippos Karapetis
This reverts commit 577d7e41c9ca2c498dc85e41c373fbdca8d2ed41.
2012-06-15SCI: Further cleanup of the script codeFilippos Karapetis
Merge the init() and load() Script methods and reset the script when necessary
2012-06-15SCI: _propertyOffsetsSci3 and classpos should be 32-bit integersFilippos Karapetis
These are needed for future handling of large SCI3 script files
2012-06-15SCI: Clean up the script initialization codeFilippos Karapetis
2012-06-15SCI: Change Script::getObject() to accept a reg_tFilippos Karapetis
This is needed for upcoming changes to the Script class
2012-06-14SCI: Add known large SCI3 scriptsFilippos Karapetis
2011-11-05SCI: Made more fields of the Script class private. Some cleanup.Filippos Karapetis
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-25ALL: initialise -> initializeMatthew Hoops
2011-05-13SCI: Avoid incrementing lockers of deleted scriptWillem Jan Palenstijn
Having a deleted script with non-zero lockers had the side effect of making the deleted script re-appear in the GC's work list, including any (deleted) objects in the script. This should be the root cause of bugs #3299458 and #3295849, so also delete the workaround added for that in 35086fe1.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-20SCI: Fix precedence (bug #3087872)Willem Jan Palenstijn
2011-03-14SCI: Got rid of VERIFY() and removed some newlines in error messagesmd5
2011-03-02SCI: Fixed script bug #3059871 - "SCI Fanmade - Ocean Battle: Crash while ↵md5
playing"
2011-01-04SCI: CleanupFilippos Karapetis
svn-id: r55123
2011-01-04SCI: Fixed part of bug #3150767 - "KQ5 French crash on startup, only partial ↵Filippos Karapetis
English text" This is a regression from r54510 svn-id: r55122
2011-01-01SCI: debugC calls no longer require a debug level of 2 to show outputFilippos Karapetis
svn-id: r55086
2010-12-21Simplify SCI3 relocation code, also making it correct.Lars Skovlund
svn-id: r54985
2010-11-27SCI: Fixed bug #3034713 - "ICEMAN Demo: Fails to find base object"Filippos Karapetis
This could happen because objects in scripts can be in the wrong order. Same thing happens in the French and German version of KQ5 (bug #3035396). Removed the scriptObjRemove() method, which is in fact a hack. svn-id: r54510
2010-11-24SCI: Some slight changes to get the "find_callk" console command working in KQ5Filippos Karapetis
- Ignore invalid object in KQ5 script 784 - Script 980 looks to be an unused leftover, as its object contain references to classes placed in script 988, which is missing svn-id: r54455
2010-11-18SCI: Slight formatting fix.Johannes Schickel
svn-id: r54330
2010-11-18SCI3: Add proper support for the calle instructionLars Skovlund
svn-id: r54327
2010-11-18Fix operator precedence problemLars Skovlund
svn-id: r54324
2010-11-17SCI: Added sanity checks for SCI3 scripts bigger than 64KBFilippos Karapetis
- Extended the "verify_scripts" console command for SCI3 scripts - Added a check for such large scripts when scripts are loaded, with an error for now, till a mechanism to support such scripts with a 16-bit addressing scheme is in place (e.g. overlaying, or splitting scripts). Either way, such scripts should span over more than one segment svn-id: r54304
2010-11-17SCI3: Handle script exports correctlyLars Skovlund
svn-id: r54302
2010-11-17SCI: Make class table size OB1 workaround slightly more readableMax Horn
svn-id: r54290
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 more work on SCI3, based on a patch by lskovlunFilippos Karapetis
- Added a SCI3 implementation of Script::load() - Added a SCI3 implementation of Script::initialiseClasses() - Removed some duplicate code svn-id: r54282