aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.cpp
AgeCommit message (Collapse)Author
2016-08-01SCI32: Add bitmap segment and remove GC option from hunk segmentColin Snover
2016-07-12SCI32: Disable kernel call 0x23 on LSL6hiresColin Snover
LSL6hires calls 0x23 (Graph/Robot) from game scripts, but it is a null function in the game's interpreter.
2016-07-02SCI: Remove presumably long-outdated FIXMEWillem Jan Palenstijn
2016-07-02SCI: Improve kernel subfunction loggingWillem Jan Palenstijn
ExecStack now stores the kernel call number as well as the subfunction. This allows kStub and backtraces to log the actual subfunction called. The kernel call number in ExecStack used to be stored in the debugSelector field. It now has its own field, to avoid confusion.
2016-03-08SCI: Separate the demos of QFG4, PQ4 and GK1 from their full versionsFilippos Karapetis
The demo versions of these games were using a very different engine - SCI1.1 vs SCI2/SCI2.1. Thus, we split them into different game IDs, to avoid mixing specific game checks for them, as well as specific game workarounds, which are different for the demos than the full versions. Also, the demos should be working when SCI32 is disabled. For these games, we don't use ADGF_DEMO, to avoid game IDs like foodemo-demo
2016-01-22SCI: add user option for high resolution graphicsMartin Kiewitz
Instead of choosing Windows as platform, users can now also simply click this option for Gabriel Knight 1 + King's Quest 6 Defaults to high resolution graphics
2016-01-04SCI32: fix kString calling from within kArrayMartin Kiewitz
(didn't work since the introduction of kString signatures and the kString split-up)
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-03-20SCI: improve debug output for signature mismatchMartin Kiewitz
dump parameter list to debugger as well
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-11-21SCI: fix script patcher for games w/o vocabMartin Kiewitz
2013-05-02COMMON: Change kPlatformPC to kPlatformDOSMatthew Hoops
"PC" was very ambiguous and now it matches what we show in the GUI. This also corrects sword2's platform to Windows.
2013-04-28SCI: Fix Phantasmagoria Mac's kDoSoundMatthew Hoops
2013-04-26SCI: Fix SCI32 BE selector name countMatthew Hoops
2012-07-04SCI: Update some kernel table related commentsFilippos Karapetis
2012-07-04SCI: Merge and simplify the code that sets the kernel functionsFilippos Karapetis
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: Replace RAW_IS_OBJECT with a methodFilippos Karapetis
2012-06-15Revert "SCI: Change Script::getObject() to accept a reg_t"Filippos Karapetis
This reverts commit 577d7e41c9ca2c498dc85e41c373fbdca8d2ed41.
2012-06-15SCI: Change Script::getObject() to accept a reg_tFilippos Karapetis
This is needed for upcoming changes to the Script class
2011-11-29SCI: Fix restarting SCI engine with different SCI versionWillem Jan Palenstijn
2011-11-29SCI: Add RtL FIXMEWillem Jan Palenstijn
2011-10-18SCI: Set the correct number of kernel functions for SCI3Filippos Karapetis
2011-09-22SCI: Ignore invalid pointers if the kernel function signature specifies itFilippos Karapetis
SCI scripts can send stale pointers to kernel functions (e.g. after loading a saved game). This is normal in some cases (such as kDisplay and kGraphRestoreBox), and their signatures are set to allow invalid pointers. Thus, in such cases, allow invalid pointers, as the kernel functions will handle them themselves. Fixes bug #3412002, and properly fixes bugs #3389579, #3292251, #3308087 and #3056811. Removed a relevant TODO.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-02-16SCI: Add support for the KQ5 FM Towns resource formatMatthew Hoops
Thanks to alexbevi for providing details on the format
2011-02-05SCI: Add support for BE selector name tablesMatthew Hoops
svn-id: r55780
2011-01-08SCI2.1: Added a comment with the SCI2.1 games using a SCI2 kernelFilippos Karapetis
svn-id: r55176
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-18SCI3: Added another previously unused opcode (0x27 / 0x4e)Filippos Karapetis
svn-id: r54341
2010-11-17SCI3: Implement opcode to retrieve the info selector.Lars Skovlund
svn-id: r54303
2010-11-12SCI: Don't check for SCI2/SCI2.1 kernel types in SCI3 games. Filippos Karapetis
Patch by lskovlun svn-id: r54216
2010-11-02SCI: Remove any use of printfMax Horn
svn-id: r54037
2010-11-01COMMON: Rename String::printf() to String::format()Max Horn
This is a first step towards getting rid of all uses of regular printf, fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase. The name format() reflects the purpose of the function, and parallels String.format() in Java, boost::format, and others. svn-id: r54004
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-04SCI: Updated comment concerning kCantBeHere and removed a wrong check for ↵Filippos Karapetis
Hoyle 3 svn-id: r52523
2010-08-04SCI: Add kDisplay workarounds for the Hero's Quest demoMatthew Hoops
svn-id: r51742
2010-08-03SCI: adding bpk debug commandMartin Kiewitz
currently removing or listing such breakpoints is not yet supported svn-id: r51710
2010-08-02SCI: fixing leak kernel subfunctionsMartin Kiewitz
svn-id: r51665
2010-08-01SCI: Cleanup.Johannes Schickel
svn-id: r51584
2010-08-01SCI: changing noname selector namesMartin Kiewitz
removing space from previous name svn-id: r51582
2010-07-29SCI: fixing hoyle 3Martin Kiewitz
hoyle 3 is using kCanBeHere, but it has cantBeHere and canBeHere selectors so our auto detection would fail it also has a cantBeHere stub in Actor, thus it won't set acc at all. We reset acc because of that before calling cantBeHere selector (!) of the actors (canBeHere isnt used) so that we wont get a collision otherwise because acc is non zero when calling kDoBresen (fixes all sorts of bugs, clone2727 should clean it up :P svn-id: r51485
2010-07-29SCI: finished logkernel commandMartin Kiewitz
use 'logkernel DoSound' on to log calls to all kDoSound subfunctions. use 'logkernel DoSoundPlay' to log calls to kDoSound(play) svn-id: r51483
2010-07-29SCI: midi hold behaviour fixedMartin Kiewitz
we shouldnt react on hold midi data when no actual hold was called, fixes eq2/amulet problem (bug #3035392) svn-id: r51482
2010-07-29SCI: some subfunction support for logkernelMartin Kiewitz
svn-id: r51475
2010-07-27SCI: Better fix for bug #3035058 - ECOQUEST demo: Missing subtitlesMatthew Hoops
The demo really uses kGetMessage and not kMessage. We now detect which version of the message function is used. Thanks to Walter for pointing this out. svn-id: r51384
2010-07-23SCI: logkernel changesMartin Kiewitz
removing old manual debug code, use logkernel * on/off to log all calls svn-id: r51222
2010-07-23SCI: adding new debug command logkernelMartin Kiewitz
svn-id: r51220
2010-07-21SCI: Moved all the static kernel-related tables in a separate file. Also, ↵Filippos Karapetis
moved kStub, kStubNull and kDummy inside kmisc.cpp, together with the other misc kernel calls svn-id: r51089