Commit Graph
361 Commits
Author SHA1 Message Date
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
Florian Kagerer c35e350531 AUDIO: get rid of MDT_PREFER_MIDI since it should be sufficient to either select MDT_PREFER_MT32 or MDT_PREFER_GM
svn-id: r50288
2010-06-25 20:51:57 +00:00
Martin Kiewitz 683d54a746 SCI: adding workaround for uninitialized read in sq1
svn-id: r50287
2010-06-25 20:46:08 +00:00
Martin Kiewitz 69694f3619 SCI: changing workaround results for opcodes from signal_reg to make_reg(0, 1)
svn-id: r50278
2010-06-25 17:59:48 +00:00
Filippos Karapetis aedc77f0bd When loading a game, stop all running VMs recursively, and also stop 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-25 17:25:00 +00:00
Filippos Karapetis b6d1b3bc0b Do not allow the VM to run on non-existent scripts (which shouldn't be happening anymore)
svn-id: r50276
2010-06-25 17:13:47 +00:00
Filippos Karapetis ab19e87414 Removed all of the non-validating code - there's no real point in removing script validations
svn-id: r50275
2010-06-25 16:54:03 +00:00
Max Horn 6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +00:00
Martin Kiewitz 8ff6a709fb SCI: when writing to a temp, check for segment 0xFFFF and remove it. This fixes a false-positive uninitialized read error in room 44 sq1
svn-id: r50269
2010-06-25 16:04:37 +00:00
Filippos Karapetis e55686590e Removed the checking of parameters again (it's wrong, as it happens after, instead of before) and restored the workaround for SQ1 in op_add again
svn-id: r50268
2010-06-25 15:28:24 +00:00
Martin Kiewitz 2b43c3a668 SCI: changes to the op GT workaround
svn-id: r50266
2010-06-25 14:50:27 +00:00
Filippos Karapetis 494a7fa8ab Extended validate_read_var to check for parameters too, and fixed the uninitialized variable in SQ1 there
svn-id: r50263
2010-06-25 12:43:43 +00:00
Filippos Karapetis 279da6ac48 Added workarounds for two issues which appear when throwing the water at Orat in SQ1, room 28
svn-id: r50262
2010-06-25 12:15:36 +00:00
Martin Kiewitz 06a65d5c33 SCI: better initialize temp variables with FFFF:0 instead. foreign lsl3 uses 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-24 21:32:29 +00:00
Martin Kiewitz e8d31ccc07 SCI: fixing the tortoisegit commit disaster :P
svn-id: r50231
2010-06-24 20:10:51 +00:00