aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.cpp
AgeCommit message (Collapse)Author
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
2010-07-21SCI: Moved all the workaround tables in a separate file, to keep them apart ↵Filippos Karapetis
from the actual code svn-id: r51088
2010-07-20SCI: some sci32 fixesMartin Kiewitz
kOnMe, kLocal2Global, kGlobal2Local now hires capable, hotspots seem to work in lsl6 and sq6, although pressing on start in sq6 doesn't work yet, you need to click on the rightmost/bottom area svn-id: r51074
2010-07-20SCI: clean up workaround tables/codeMartin Kiewitz
svn-id: r51068
2010-07-20SCI: adding workaround for sq1 in barMartin Kiewitz
kGraph(drawLine) gets called sometimes with additional parameter svn-id: r51065
2010-07-20SCI: adding uninit workarounds for cnick gamesMartin Kiewitz
longbow and king's quest KQ has the same issues as hoyle 3 svn-id: r51063
2010-07-20SCI: change the workaround-typesMartin Kiewitz
0 is now don't call 1 is do call 2 is don't call and fake acc makes more sense svn-id: r51060
2010-07-20SCI: added workaround for kq1 kDoSound(fade)Martin Kiewitz
gets called with object 0:0 in several scenes, just ignore that call svn-id: r51059
2010-07-20SCI: renaming kDoSound(resume) to resumeAfterRestoreMartin Kiewitz
kDoSound(resumeAfterRestore) is called right after restoring a saved game for sound-sci0 games, we already resume playing music inside restore, so we don't need to implement this at all svn-id: r51058
2010-07-19SCI: lsl6 workaround switched on for all roomsMartin Kiewitz
lsl6 workaround also happens later, so we switch it to all rooms svn-id: r51026
2010-07-19SCI: fixing signature for kDoSound(setReverb)Martin Kiewitz
fixes lsl5 signature mismatch, signature was wrong svn-id: r51020
2010-07-18SCI : Corrected valgrind error on engine exitDavid Turner
svn-id: r51011
2010-07-18SCI: Add Mac signature for kTextSize which can have an extra integer parameter.Matthew Hoops
svn-id: r51004
2010-07-18SCI: adding room numbers to all workaroundsMartin Kiewitz
svn-id: r50990
2010-07-17SCI: removing kSetPort 4 argument support from r44938, which was wrong - ↵Martin Kiewitz
adding workaround for lsl6 ending - fixes lsl6 ending svn-id: r50967
2010-07-16SCI: adding signatures for 4-parameter variant of kDoSound(sendMidi), needs ↵Martin Kiewitz
to get figured out how this works - fixes signature mismatch in lsl1 svn-id: r50937
2010-07-14SCI: removing #ifdef ENABLE_SCI32 from one single line (just a waste) and ↵Martin Kiewitz
adding it to kDoSound (SCI2.1) svn-id: r50897
2010-07-14SCI: added signatures for kFileIO, some changes to actual kFileIO code, ↵Martin Kiewitz
removed some CHECKMEs/TODOs svn-id: r50896
2010-07-14SCI: changing kList(18) into StubNull, so that torin demo works a little ↵Martin Kiewitz
more till we figure out what's supposed to be in there svn-id: r50880
2010-07-14SCI: changing signature of kDoSound(play) in SCI2.1 to "o(i)" now, because ↵Martin Kiewitz
qfg4 still uses "oi" calling svn-id: r50879
2010-07-14SCI: adding sound version 2.1, to properly add sci2.1 signature for ↵Martin Kiewitz
kDoSound(play) svn-id: r50878
2010-07-14SCI: replacing some tabs with spacesMartin Kiewitz
svn-id: r50877
2010-07-14SCI: changing SIG_SCI2 back to SIG_SCI32, because all those signatures are ↵Martin Kiewitz
meant for SCI2+, not SCI2 only. Changing SIG_SCI21 to only mean SCI2.1 instead of SCI2.1+, making main signature and mapping of kList exclusive to SCI2.1 svn-id: r50876
2010-07-14SCI: replacing fixme with todoMartin Kiewitz
svn-id: r50875