Martin Kiewitz
18d9f917a0
SCI: set _driver to 0 in MidiParser_SCI destructor to stop the MidiParser destructor call allNotesOff() which would affect all channels all the time - fixes sq1 ship flying away sound getting stopped when ladder falls down
...
svn-id: r50313
2010-06-26 11:16:25 +00:00
Paul Gilbert
d7fe988251
Bugfix to dirty area handling to prevent creation of invalid rects
...
svn-id: r50312
2010-06-26 11:14:38 +00:00
Martin Kiewitz
906b3221f5
SCI: removing fixme (issue got already solved)
...
svn-id: r50311
2010-06-26 10:51:38 +00:00
Martin Kiewitz
16f854ba64
SCI: dont call midiparser->stop() if paused sound gets stopped
...
svn-id: r50310
2010-06-26 10:47:38 +00:00
Martin Kiewitz
cf3a37585c
SCI: making hack inside kAbs hoyle1 specific, added fixme
...
svn-id: r50309
2010-06-26 09:34:14 +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
Paul Gilbert
70e4a8605b
Minor bugfix for correctly positioning where background sprites are drawn
...
svn-id: r50298
2010-06-26 00:37:44 +00:00
Paul Gilbert
ab261facee
Added extra validation for sprite decoding
...
svn-id: r50297
2010-06-26 00:36:43 +00:00
Paul Gilbert
e328bd8f7f
Added support for Fab compressed sprite sets
...
svn-id: r50295
2010-06-25 23:43:07 +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
e1a333570e
SCI: set MDT_PREFER_GM instead od MDT_PREFER_MT32
...
svn-id: r50289
2010-06-25 20:58:52 +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
Filippos Karapetis
4785e1fd3f
Renamed some variables
...
svn-id: r50284
2010-06-25 19:09:19 +00:00
Florian Kagerer
6561b93f1e
KYRA: fixed typo
...
svn-id: r50283
2010-06-25 19:06:10 +00:00
Florian Kagerer
e34d7342f5
KYRA: implement new gui option flags
...
svn-id: r50282
2010-06-25 18:57:50 +00:00
Florian Kagerer
3962f8ba59
AUDIO: some fixes in the audio device code (no sound option, new GUIO flags)
...
svn-id: r50281
2010-06-25 18:47:52 +00:00
Matthew Hoops
be8a596668
Add support for the third inventory case in Riven: you have the two journals but not the trap book (happens at the end of the game).
...
svn-id: r50280
2010-06-25 18:20:31 +00:00
Filippos Karapetis
784f52a677
Removed the getHunkPointer error - it's valid SCI behavior (e.g. when loading/quitting sometimes, since hunks are not saved). We check for valid hunk pointers anyway, so there's no reason for the warning/error
...
svn-id: r50279
2010-06-25 17:59:49 +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
Martin Kiewitz
b188fc14a2
SCI: only send new volume to currently mapped channels, fixes assert in sq1 because setVolume is called on an object that's currently not playing. added fixme
...
svn-id: r50274
2010-06-25 16:43:09 +00:00
Max Horn
6ee82a2027
SCI: Introduce SciGameId enum
...
svn-id: r50273
2010-06-25 16:16:29 +00:00
Max Horn
23d384e6b8
SCI: Remove SciEngine::getFlags()
...
svn-id: r50272
2010-06-25 16:12:38 +00:00
Max Horn
1e9977a725
SCI: Restrict some 'error' exceptions to the places they occur; cleanup
...
svn-id: r50271
2010-06-25 16:11:00 +00:00
Max Horn
7d4d58bab4
SCUMM: Set some more detection file sizes
...
svn-id: r50270
2010-06-25 16:08:34 +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
Filippos Karapetis
159958fbe2
Some more info on kText(), removed dead code
...
svn-id: r50267
2010-06-25 15:06:00 +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
df37aff357
Added the SCI2.1 kText kernel function (subop 0, kTextSize for now)
...
svn-id: r50265
2010-06-25 14:50:10 +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
c6b0a5e896
SCI: detect, if SCI1.1 game is merging or copying palette instead of using gameIds. Also prints method used, when using debug command "version"
...
svn-id: r50261
2010-06-25 10:04:31 +00:00
Filippos Karapetis
550209d1e6
Removed the game ID check for embedded priority in icon controls, and replaced it with a check for priority existence
...
svn-id: r50260
2010-06-25 09:57:37 +00:00
Johannes Schickel
1e29dc3641
Fixed use of uninitialized variable.
...
svn-id: r50250
2010-06-24 22:55:44 +00:00
Martin Kiewitz
aa3bfe5489
SCI: doing the exact opposite of r50236 code-wise now, as it was meant to be
...
svn-id: r50237
2010-06-24 21:46:57 +00:00
Martin Kiewitz
f014c9ed7e
SCI: ignore segment 0xFFFF in segmanager getchar, when offset > 1 - so we dont write a warning, if the scripts use some uninitialized temp variable as terminator
...
svn-id: r50236
2010-06-24 21:42:08 +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
Willem Jan Palenstijn
a03afd1898
SCI: Make kStrAt clear segment when writing characters
...
This is necessary since the uninitialized value detection from r50211,
and is analogous to seg_manager.cpp's setChar.
(Triggered in LSL3 age verification.)
svn-id: r50234
2010-06-24 21:09:38 +00:00
Martin Kiewitz
35b5da7e0f
SCI: reverting r50232, didnt make sense. thx @ wjp for noticing
...
svn-id: r50233
2010-06-24 20:52:35 +00:00
Martin Kiewitz
893429d092
SCI: correctly put NUL inside SegManager::strncpy() even when using n = 0xFFFFFFFFU
...
svn-id: r50232
2010-06-24 20:40:57 +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