336 Commits

Author SHA1 Message Date
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
Martin Kiewitz
b0fde0a1f6 SCI: removing debug warning to show processes opcodes, accidentaly commited
svn-id: r50230
2010-06-24 20:03:32 +00:00
Martin Kiewitz
381a862d61 SCI: partly reverting r50208, iceman has script code (fred::canBeHere) that 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-24 20:01:31 +00:00
Filippos Karapetis
42ca630f46 Fixed the LSL3 binoculars scene again, by fixing the invalid varselector reference
svn-id: r50227
2010-06-24 18:48:50 +00:00
Martin Kiewitz
346c3a3230 SCI: added uninitialized workaround for sq4cd
svn-id: r50226
2010-06-24 18:17:36 +00:00
Matthew Hoops
7edbcc26f7 Cleanup uninitialized read workaround(s).
svn-id: r50225
2010-06-24 17:48:15 +00:00
Martin Kiewitz
b8e2e8e5dd SCI: added uninitialized read for room 720 in lsl1
svn-id: r50222
2010-06-24 17:10:26 +00:00
Filippos Karapetis
6a811a8ae6 Added more information concerning the Dr. Brain uninitialized read
svn-id: r50219
2010-06-24 13:45:31 +00:00
Martin Kiewitz
4b2661c06a SCI: removing warning for known uninitialized reads
svn-id: r50217
2010-06-24 13:38:24 +00:00
Martin Kiewitz
a268d3462b SCI: change fix for island to make it work
svn-id: r50216
2010-06-24 13:30:20 +00:00
Martin Kiewitz
3fcb833148 SCI: fixed workaround table from r50214 to have a valid terminator, also added another fix for pharkas
svn-id: r50215
2010-06-24 13:20:21 +00:00
Martin Kiewitz
e45ffc68a3 SCI: created a workaround table for uninitialized reads, removing old commented out workarounds for pharkas and laura bow 2
svn-id: r50214
2010-06-24 13:17:45 +00:00
Martin Kiewitz
898c9165d9 SCI: added currently known object/methodnames in comments for uninitialized reads
svn-id: r50213
2010-06-24 12:32:41 +00:00
Martin Kiewitz
e5f22da051 SCI: added objectname and method name printed out when uninitialized temps are read
svn-id: r50212
2010-06-24 12:25:47 +00:00
Martin Kiewitz
f93ca1e424 SCI: implement detection for uninitialized temp variable reads and implement direct fixes for them, i couldnt figure out a valid replacement for island, pharkas and laurabow2 work that way. this should also get changed to a replacement table
svn-id: r50211
2010-06-24 11:54:33 +00:00
Filippos Karapetis
afffcec96e Turned two hacks inside validate_property() into errors till we find out where and why they occur (they shouldn't occur).
Also turned an error inside send_selector() when argc > 1 into a warning - these are usually script bugs and aren't fatal

svn-id: r50208
2010-06-24 11:29:26 +00:00
Filippos Karapetis
bbb29e2650 Fixed script 140 in the Island of Dr. Brain by adding a workaround for it inside op_link
svn-id: r50203
2010-06-24 07:54:02 +00:00
Filippos Karapetis
3a394793b6 Fixed 2 crashes in QFG1VGA, when dying:
- Ignoring a non-game breaking script bug (modifying the "longSong" object with argc = 2)
- Don't pop the callk stack frame if the stack is empty - fixes a crash when restoring from the death screen

svn-id: r50157
2010-06-22 18:25:15 +00:00
Filippos Karapetis
97dd94019c When loading or restarting, stop script processing if the game is being loaded or is restarting and the stack position has changed (it's always changed when loading) - fixes the case where the VM is trying to parse an invalid script
svn-id: r50121
2010-06-21 20:17:59 +00:00
Matthew Hoops
9ecbffe11a Add a workaround for a MUMG script bug, MUMG now works again.
svn-id: r50117
2010-06-21 15:51:04 +00:00
Filippos Karapetis
874eeb2370 Added hints inside validate_arithmetic(), together with some code useful for debugging. Some cleanup
svn-id: r50020
2010-06-18 14:48:39 +00:00
Filippos Karapetis
db70d66e4a Strict mode: Changed several warnings due to logic bugs into errors. If an error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
svn-id: r49973
2010-06-17 23:50:28 +00:00
Max Horn
78cd1aa145 SCI: Remove hack related to compiled kernel signatures.
Also change some things to comply to our code formatting conventions.

svn-id: r49967
2010-06-17 23:13:54 +00:00
Filippos Karapetis
701d69d6e2 Don't show warnings for a known script bug in SQ4CD with the Sq4GlobalNarrator object
svn-id: r49950
2010-06-17 20:52:53 +00:00
Filippos Karapetis
01d53a6216 Disabled two cases of findObjectByName() in SCI0 early games
svn-id: r49639
2010-06-13 22:01:10 +00:00
Filippos Karapetis
711f679b7f camelCase changes
svn-id: r49570
2010-06-10 11:43:20 +00:00