[Scummvm-cvs-logs] scummvm master -> dbb50219fbfcd6c08c4ee516460ea20918724344

bluegr bluegr at gmail.com
Tue Jan 22 00:04:20 CET 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
b95695719f SCI: Fix angle rounding in the SCI1 implementation of kGetAngle (bug #3601479)
dbb50219fb SCI: Fix uninitialized variable workaround for scene 510 (bug #3575570)


Commit: b95695719f69658c7abe3e01d9c9a9c066b73864
    https://github.com/scummvm/scummvm/commit/b95695719f69658c7abe3e01d9c9a9c066b73864
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2013-01-21T14:56:46-08:00

Commit Message:
SCI: Fix angle rounding in the SCI1 implementation of kGetAngle (bug #3601479)

Fixes bug #3601479 - "SCI KQ6: Castle walls - stuck in same room".
Many thanks to wjp for his help on the kGetAngle implementation

Changed paths:
    engines/sci/engine/kmath.cpp



diff --git a/engines/sci/engine/kmath.cpp b/engines/sci/engine/kmath.cpp
index 4b8fadb..14a20b8 100644
--- a/engines/sci/engine/kmath.cpp
+++ b/engines/sci/engine/kmath.cpp
@@ -87,7 +87,7 @@ uint16 kGetAngleWorker(int16 x1, int16 y1, int16 x2, int16 y2) {
 	// SCI1 games (QFG2 and newer) use a simple atan implementation. SCI0 games
 	// use a somewhat less accurate calculation (below).
 	if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY)
-		return (int16)(360 - atan2((double)(x1 - x2), (double)(y1 - y2)) * 57.2958) % 360;
+		return (int16)(360 - atan2((double)(x1 - x2), (double)(y1 - y2)) * 180 / M_PI + 0.5) % 360;
 
 	int16 xRel = x2 - x1;
 	int16 yRel = y1 - y2; // y-axis is mirrored.


Commit: dbb50219fbfcd6c08c4ee516460ea20918724344
    https://github.com/scummvm/scummvm/commit/dbb50219fbfcd6c08c4ee516460ea20918724344
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2013-01-21T15:01:22-08:00

Commit Message:
SCI: Fix uninitialized variable workaround for scene 510 (bug #3575570)

A non-zero value must be used in the uninitialized variable, otherwise
the prize is awarded twice. Fixes bug #3575570 - "SCI: QfG3: Both the
player and Yesufu are declared winners"

Changed paths:
    engines/sci/engine/workarounds.cpp



diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index f5abd5a..ff7e601 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -140,7 +140,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
 	{ GID_QFG2,          260,   260,  0,            "jabbarS", "changeState",0x2d22,   -1, { WORKAROUND_FAKE,   0 } }, // During the thief's first mission (in the house), just before Jabbar is about to enter the house (where you have to hide in the wardrobe), bug #3040469, temps 1 and 2
 	{ GID_QFG2,          500,   500,  0,   "lightNextCandleS", "changeState",    -1,   -1, { WORKAROUND_FAKE,   0 } }, // Inside the last room, while Ad Avis performs the ritual to summon the genie - bug #3148418
 	{ GID_QFG2,           -1,   700,  0,                 NULL, "showSign",       -1,   10, { WORKAROUND_FAKE,   0 } }, // Occurs sometimes when reading a sign in Raseir, Shapeir et al - bugs #3272735, #3275413
-	{ GID_QFG3,          510,   510,  0,         "awardPrize", "changeState",    -1,    0, { WORKAROUND_FAKE,   0 } }, // Simbani warrior challenge, after throwing the spears and retrieving the ring - bug #3049435
+	{ GID_QFG3,          510,   510,  0,         "awardPrize", "changeState",    -1,    0, { WORKAROUND_FAKE,   1 } }, // Simbani warrior challenge, after throwing the spears and retrieving the ring - bug #3049435. Must be non-zero, otherwise the prize is awarded twice - bug #3575570.
 	{ GID_QFG3,          140,   140,  0,              "rm140", "init",       0x1008,    0, { WORKAROUND_FAKE,   0 } }, // when importing a character and selecting the previous profession - bug #3040460
 	{ 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)
 	{ GID_QFG3,          700,   700, -1,      "monsterIsDead", "changeState",    -1,    0, { WORKAROUND_FAKE,   0 } }, // in the jungle, after winning any fight, bug #3040624






More information about the Scummvm-git-logs mailing list