aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.cpp
AgeCommit message (Collapse)Author
2010-06-30SCI: implementing workarounds for kernel calls, removing original code ↵Martin Kiewitz
workaround for kDisposeScript / qfg1 room 64 and adding it to workaround table svn-id: r50520
2010-06-30SCI: adding inheritancelevel to uninit workarounds to make them saferMartin Kiewitz
svn-id: r50518
2010-06-29Fixed 2 uninitialized reads in SQ6Filippos Karapetis
svn-id: r50502
2010-06-28SCI: cleanup of execstack, output of backtrace slightly modified, is now ↵Martin Kiewitz
also displaying local calls and exports svn-id: r50445
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: cleanupMax Horn
svn-id: r50419
2010-06-28SCI: added uninit workaround for lsl3 - when accessing set volume menu the ↵Martin Kiewitz
first time sound got muted before (because a uninitialized temp was used to do it, would have been 's' in sierra sci) svn-id: r50416
2010-06-28SCI: show arguments on selector invoke breakpoint even when VM_DEBUG_SEND is ↵Martin Kiewitz
not used, but in a compressed fashion svn-id: r50410
2010-06-27SCI: Removed the hack for loading games from the launcher from run_vm(). ↵Filippos Karapetis
This is now done on startup. This should fix loading from the launcher for LSL6 svn-id: r50406
2010-06-27CleanupFilippos Karapetis
svn-id: r50404
2010-06-27Made the script initialization/uninitialization methods part of the segment ↵Filippos Karapetis
manager svn-id: r50402
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: now showing kernel call name when argument signature check failsMartin Kiewitz
svn-id: r50380
2010-06-27SCI: better solution for the lsl6 uninit issue, we now go through all the ↵Martin Kiewitz
parents till we find a working workaround - we can use Narrator::startText that way inside the workaround table svn-id: r50374
2010-06-27SCI: adding uninit workaround for lsl6 (Narrator::startText)Martin Kiewitz
svn-id: r50373
2010-06-26SCI: added comment to vm-workaround tableMartin Kiewitz
svn-id: r50347
2010-06-26SCI: add another unint temp workaround for kq5 - when playing harp for the ↵Martin Kiewitz
harpies svn-id: r50334
2010-06-26SCI: pseudo-adding workaround for kq5 room 25 witch forestMartin Kiewitz
svn-id: r50332
2010-06-26SCI: fixing stupid torturegit conflict mergeMartin Kiewitz
svn-id: r50329
2010-06-26Fix format string warningWillem Jan Palenstijn
svn-id: r50325
2010-06-26SCI: adding more comment for export workaround (sq1)Martin Kiewitz
svn-id: r50318
2010-06-26SCI: added workaround for island of dr. brain elements puzzleMartin Kiewitz
svn-id: r50317
2010-06-26SCI: adding capability to resolve local calls as well for valgrind-sci, ↵Martin Kiewitz
adding another workaround for a script bug in sq1 (this time export 1 gets called locally) svn-id: r50308
2010-06-25SCI: implementing workaround for issue in room 58 sq1 (operation lt, doing ↵Martin Kiewitz
comparsion against pointer) svn-id: r50294
2010-06-25SCI: adding capability for detecting export-calls into valgrind-sci, adding ↵Martin Kiewitz
workaround for export 1 of script 703 in sq1 (gets called from various objects) svn-id: r50292
2010-06-25SCI: fix typoFlorian Kagerer
svn-id: r50291
2010-06-25AUDIO: get rid of MDT_PREFER_MIDI since it should be sufficient to either ↵Florian Kagerer
select MDT_PREFER_MT32 or MDT_PREFER_GM svn-id: r50288
2010-06-25SCI: adding workaround for uninitialized read in sq1Martin Kiewitz
svn-id: r50287
2010-06-25SCI: changing workaround results for opcodes from signal_reg to make_reg(0, 1)Martin Kiewitz
svn-id: r50278
2010-06-25When loading a game, stop all running VMs recursively, and also stop ↵Filippos Karapetis
kAnimate's current recursion. This fixes the invalid execution stack frame in SQ1, when loading from the death screen after dying from the acid drops in Kerona. This should also fix the invalid hunk pointers, thus the warning about invalid hunk pointers has been turned into an error, as it shouldn't occur anymore svn-id: r50277
2010-06-25Do not allow the VM to run on non-existent scripts (which shouldn't be ↵Filippos Karapetis
happening anymore) svn-id: r50276
2010-06-25Removed all of the non-validating code - there's no real point in removing ↵Filippos Karapetis
script validations svn-id: r50275
2010-06-25SCI: Introduce SciGameId enumMax Horn
svn-id: r50273
2010-06-25SCI: when writing to a temp, check for segment 0xFFFF and remove it. This ↵Martin Kiewitz
fixes a false-positive uninitialized read error in room 44 sq1 svn-id: r50269
2010-06-25Removed the checking of parameters again (it's wrong, as it happens after, ↵Filippos Karapetis
instead of before) and restored the workaround for SQ1 in op_add again svn-id: r50268
2010-06-25SCI: changes to the op GT workaroundMartin Kiewitz
svn-id: r50266
2010-06-25Extended validate_read_var to check for parameters too, and fixed the ↵Filippos Karapetis
uninitialized variable in SQ1 there svn-id: r50263
2010-06-25Added workarounds for two issues which appear when throwing the water at ↵Filippos Karapetis
Orat in SQ1, room 28 svn-id: r50262
2010-06-24SCI: better initialize temp variables with FFFF:0 instead. foreign lsl3 uses ↵Martin Kiewitz
kFileIO(readraw) and then kReadNumber directly. In that case we would produce many warnings because no terminating 0 is found svn-id: r50235
2010-06-24SCI: fixing the tortoisegit commit disaster :PMartin Kiewitz
svn-id: r50231
2010-06-24SCI: removing debug warning to show processes opcodes, accidentaly commitedMartin Kiewitz
svn-id: r50230
2010-06-24SCI: partly reverting r50208, iceman has script code (fred::canBeHere) that ↵Martin Kiewitz
asks for property 380. sierra also returned a zero when going out of bounds (see gregs engine object.cpp, ::getPropertyN - fixes iceman, lsl3 and probably more svn-id: r50229
2010-06-24Fixed the LSL3 binoculars scene again, by fixing the invalid varselector ↵Filippos Karapetis
reference svn-id: r50227
2010-06-24SCI: added uninitialized workaround for sq4cdMartin Kiewitz
svn-id: r50226
2010-06-24Cleanup uninitialized read workaround(s).Matthew Hoops
svn-id: r50225
2010-06-24SCI: added uninitialized read for room 720 in lsl1Martin Kiewitz
svn-id: r50222
2010-06-24Added more information concerning the Dr. Brain uninitialized readFilippos Karapetis
svn-id: r50219
2010-06-24SCI: removing warning for known uninitialized readsMartin Kiewitz
svn-id: r50217
2010-06-24SCI: change fix for island to make it workMartin Kiewitz
svn-id: r50216
2010-06-24SCI: fixed workaround table from r50214 to have a valid terminator, also ↵Martin Kiewitz
added another fix for pharkas svn-id: r50215