Commit graph

425 commits

Author SHA1 Message Date
Martin Kiewitz
4c9ad98dfe SCI: returning 0 when parameter reads go out-of-bounds, onto the stack and hit an uninitialized temp, fixes pq2 .490
svn-id: r50812
2010-07-12 08:38:30 +00:00
Martin Kiewitz
219a6627c2 SCI: changing uninitialized workaround for lsl6 narrator
svn-id: r50804
2010-07-11 18:51:28 +00:00
Martin Kiewitz
df6ead5f93 SCI: calling speed throttler as well from kPalette(setIntensity) if needed - fixes kq6 intro
svn-id: r50794
2010-07-10 22:27:28 +00:00
Martin Kiewitz
09fd47236d SCI: adding to execstack only right before executing kernel call, otherwise it wouldnt be possible to skip over sub-function kernel calls via workarounds
svn-id: r50792
2010-07-10 20:50:52 +00:00
Martin Kiewitz
5c2489f153 SCI: removing hoyle workaround from kAbs & signature and adding it into workaround table
svn-id: r50790
2010-07-10 19:58:25 +00:00
Martin Kiewitz
790e9b0351 SCI: added signatures for kGraph, removed isDummy boolean from KernelFunction
svn-id: r50786
2010-07-10 18:21:09 +00:00
Martin Kiewitz
0cd97ca5c5 SCI: improve error message on subcall signature mismatch
svn-id: r50774
2010-07-09 21:51:20 +00:00
Martin Kiewitz
af479a20ae SCI: adding workaround support for kernel subcalls, cleanup
svn-id: r50770
2010-07-09 21:33:12 +00:00
Martin Kiewitz
d27e4a475b SCI: removing origName from KernelFunction struct, adding debugCalls boolean for later use
svn-id: r50769
2010-07-09 21:10:14 +00:00
Martin Kiewitz
ba776fb293 SCI: implemented subsignatures for kDoSound
svn-id: r50755
2010-07-09 12:06:41 +00:00
Martin Kiewitz
7e05d6e62b SCI: part of subfunction signature&mapping implemented, little cleanup
svn-id: r50750
2010-07-08 21:22:59 +00:00
Filippos Karapetis
0c411d66ce SCI: Simplified op_div and op_mod, removed some variables and removed the pointless OBJ_PROPERTY wrapper
svn-id: r50719
2010-07-06 07:42:25 +00:00
Filippos Karapetis
6219ffe52f SCI: Removed the unused line number parameter from validate_variable() and related functions
svn-id: r50654
2010-07-04 21:31:09 +00:00
Filippos Karapetis
7d64f3e343 SCI: Added a short description for all opcodes, so that it's easier to understand what they do without cross referencing the wiki, and removed some obsolete and unused code
svn-id: r50645
2010-07-04 14:55:28 +00:00
Filippos Karapetis
21450f1a2e Added a workaround for an unitialized variable in GK2
svn-id: r50580
2010-07-01 22:56:02 +00:00
Lars Skovlund
e47dee2faa Accidentally missed this file in commit 50577
svn-id: r50578
2010-07-01 22:44:36 +00:00
Martin Kiewitz
4c04375c8c SCI: added another workaround for uninit temps, this time for jones/cd
svn-id: r50574
2010-07-01 22:09:19 +00:00
Filippos Karapetis
fa014867cf SCI: Mark the ShiftScreen, ListOps and ATan SCI1 kernel functions as unused (dummy) - we haven't seen them being used anywhere. Added a check and an error in case a kernel function which is considered to be unused is called.
svn-id: r50567
2010-07-01 20:16:42 +00:00
Filippos Karapetis
7f3b772938 SCI: Added workarounds for 2 uninitialized reads in Jones floppy (EGA and VGA), and added information on the SQ6 uninitialized workarounds
svn-id: r50562
2010-07-01 17:52:50 +00:00
Filippos Karapetis
b0b4f34d27 Added a workaround for an uninitialized temp read in KQ6 floppy, when opening the controls window - from bug report #3023602
svn-id: r50541
2010-07-01 05:33:51 +00:00
Filippos Karapetis
3cd5821085 SCI: Silenced a warning about a non game breaking script bug in Castle of Dr. Brain, room 360
svn-id: r50538
2010-06-30 17:47:44 +00:00
Martin Kiewitz
bf6acef9a9 SCI: fixed a typo, so that workarounds really trigger an ignore kernel call for now
svn-id: r50529
2010-06-30 11:09:49 +00:00
Martin Kiewitz
915b9fa318 SCI: removing full debug output when signature fails to the point where we didnt find a workaround for a signature mismatch
svn-id: r50522
2010-06-30 10:09:07 +00:00
Filippos Karapetis
8752eed8f2 SCI: Reverting r50516, SSCI didn't reset the node value when deleting the node. Also, a slight fix in VM debug code.
svn-id: r50521
2010-06-30 09:51:21 +00:00
Martin Kiewitz
7595e7c1be SCI: implementing workarounds for kernel calls, removing original code workaround for kDisposeScript / qfg1 room 64 and adding it to workaround table
svn-id: r50520
2010-06-30 09:47:04 +00:00
Martin Kiewitz
764aa1a125 SCI: adding inheritancelevel to uninit workarounds to make them safer
svn-id: r50518
2010-06-30 08:01:19 +00:00
Filippos Karapetis
42351265f1 Fixed 2 uninitialized reads in SQ6
svn-id: r50502
2010-06-29 20:12:42 +00:00
Martin Kiewitz
6402d64419 SCI: cleanup of execstack, output of backtrace slightly modified, is now also displaying local calls and exports
svn-id: r50445
2010-06-28 14:21:56 +00:00
Max Horn
30218a2c32 SCI: Make Script member vars private; add const qualifiers
Only three Script members remain public (for now)

svn-id: r50428
2010-06-28 11:22:20 +00:00
Max Horn
4016bdfd27 SCI: cleanup
svn-id: r50419
2010-06-28 11:19:27 +00:00
Martin Kiewitz
10a9dfc0d7 SCI: added uninit workaround for lsl3 - when accessing set volume menu the 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-28 10:15:13 +00:00
Martin Kiewitz
31af2bfe32 SCI: show arguments on selector invoke breakpoint even when VM_DEBUG_SEND is not used, but in a compressed fashion
svn-id: r50410
2010-06-28 07:42:16 +00:00
Filippos Karapetis
048ceb73d3 SCI: Removed the hack for loading games from the launcher from run_vm(). This is now done on startup. This should fix loading from the launcher for LSL6
svn-id: r50406
2010-06-27 23:20:08 +00:00
Filippos Karapetis
8db94ef991 Cleanup
svn-id: r50404
2010-06-27 21:38:45 +00:00
Filippos Karapetis
4a60ff4090 Made the script initialization/uninitialization methods part of the segment manager
svn-id: r50402
2010-06-27 21:18:19 +00:00
Filippos Karapetis
bb992b0b93 SCI: Moved all the script-related code inside script.cpp/.h, and all script opcode-related code inside vm.cpp/.h
svn-id: r50396
2010-06-27 20:38:43 +00:00
Martin Kiewitz
a2cdc47530 SCI: now showing kernel call name when argument signature check fails
svn-id: r50380
2010-06-27 16:09:17 +00:00
Martin Kiewitz
32ee0338f8 SCI: better solution for the lsl6 uninit issue, we now go through all the parents till we find a working workaround - we can use Narrator::startText that way inside the workaround table
svn-id: r50374
2010-06-27 11:51:44 +00:00
Martin Kiewitz
0b6bd84aba SCI: adding uninit workaround for lsl6 (Narrator::startText)
svn-id: r50373
2010-06-27 11:19:23 +00:00
Martin Kiewitz
25cb3092f4 SCI: added comment to vm-workaround table
svn-id: r50347
2010-06-26 21:57:13 +00:00
Martin Kiewitz
9a0e2e9c46 SCI: add another unint temp workaround for kq5 - when playing harp for the harpies
svn-id: r50334
2010-06-26 17:37:28 +00:00
Martin Kiewitz
61295bcc4e SCI: pseudo-adding workaround for kq5 room 25 witch forest
svn-id: r50332
2010-06-26 16:54:09 +00:00
Martin Kiewitz
79b5e7d77e SCI: fixing stupid torturegit conflict merge
svn-id: r50329
2010-06-26 16:21:28 +00:00
Willem Jan Palenstijn
691323f16e Fix format string warning
svn-id: r50325
2010-06-26 15:55:40 +00:00
Martin Kiewitz
a4f139c4d2 SCI: adding more comment for export workaround (sq1)
svn-id: r50318
2010-06-26 12:20:40 +00:00
Martin Kiewitz
cb5d9f6af5 SCI: added workaround for island of dr. brain elements puzzle
svn-id: r50317
2010-06-26 12:04:15 +00:00
Martin Kiewitz
258494f036 SCI: adding capability to resolve local calls as well for valgrind-sci, adding another workaround for a script bug in sq1 (this time export 1 gets called locally)
svn-id: r50308
2010-06-26 08:29:55 +00:00
Martin Kiewitz
56d9acad90 SCI: implementing workaround for issue in room 58 sq1 (operation lt, doing comparsion against pointer)
svn-id: r50294
2010-06-25 22:48:55 +00:00
Martin Kiewitz
fc4fa25ec4 SCI: adding capability for detecting export-calls into valgrind-sci, adding workaround for export 1 of script 703 in sq1 (gets called from various objects)
svn-id: r50292
2010-06-25 22:34:53 +00:00
Florian Kagerer
b96c0a1f07 SCI: fix typo
svn-id: r50291
2010-06-25 21:04:22 +00:00