From 455527b4a509bbbe030edc40e2d84685af1ef51f Mon Sep 17 00:00:00 2001
From: Henrik Kretzschmar <henne@nachtwindheim.de>
Date: Thu, 5 Aug 2010 19:07:59 +0200
Subject: [PATCH] add 3 workarrounds for QFG4
This patch add 3 workarrounds for QFG4.
All errors can happen in all rooms.
They appear while:
* accessing the game menu:
Uninitialized read for temp 3 from method controlPlane::setBitmap (script 64917, room 810, localCall ffffffff)!
* while a fight
Uninitialized read for temp 3 from method Plane::setBitmap (script 64917, room 810, localCall ffffffff)!
* open characterscreen
Uninitialized read for temp 5 from method charInitScreen::dispatchEvent (script 15, room 770, localCall ffffffff)!
---
engines/sci/engine/workarounds.cpp | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index c9df8e1..1af5965 100644
a
|
b
|
const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
|
128 | 128 | { GID_QFG2, -1, 701, -1, "Alley", "at", -1, 0, { WORKAROUND_FAKE, 0 } }, // when walking inside the alleys in the town - bug #3035835 & #3038367 |
129 | 129 | { GID_QFG2, -1, 990, 0, "Restore", "doit", -1, 364, { WORKAROUND_FAKE, 0 } }, // when press enter in restore dialog w/o any saved games present |
130 | 130 | { GID_QFG3, 330, 330, -1, "Teller", "doChild", -1, -1, { WORKAROUND_FAKE, 0 } }, // when talking to King Rajah about "Rajah" (bug #3036390, temp 1) or "Tarna" (temp 0), or when clicking on yourself and saying "Greet" (bug #3039774, temp 1) |
| 131 | { GID_QFG4, -1, 15, -1, "charInitScreen", "dispatchEvent", -1, 5, { WORKAROUND_FAKE, 0 } }, // when viewing the character screen |
| 132 | { GID_QFG4, -1, 64917, -1, "controlPlane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // when entering the game menu |
| 133 | { GID_QFG4, -1, 64917, -1, "Plane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // happen sometimes in fights |
131 | 134 | { GID_SQ1, 103, 103, 0, "hand", "internalEvent", -1, -1, { WORKAROUND_FAKE, 0 } }, // Spanish (and maybe early versions?) only: when moving cursor over input pad, temps 1 and 2 |
132 | 135 | { GID_SQ1, -1, 703, 0, "", "export 1", -1, 0, { WORKAROUND_FAKE, 0 } }, // sub that's called from several objects while on sarien battle cruiser |
133 | 136 | { GID_SQ1, -1, 703, 0, "firePulsar", "changeState", 0x18a, 0, { WORKAROUND_FAKE, 0 } }, // export 1, but called locally (when shooting at aliens) |