[Scummvm-cvs-logs] SF.net SVN: scummvm:[43286] scummvm/branches/branch-1-0-0/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Tue Aug 11 20:23:12 CEST 2009
Revision: 43286
http://scummvm.svn.sourceforge.net/scummvm/?rev=43286&view=rev
Author: lordhoto
Date: 2009-08-11 18:23:12 +0000 (Tue, 11 Aug 2009)
Log Message:
-----------
Backport of revisions 43283 to 43285 from trunk. This fixes bug #2835715 "KYRA: GFX glitch in Amiga version at the bridge" and another game load glitch, when Brandon was in the Will-O-Wisp form.
Modified Paths:
--------------
scummvm/branches/branch-1-0-0/engines/kyra/saveload_lok.cpp
scummvm/branches/branch-1-0-0/engines/kyra/script_lok.cpp
scummvm/branches/branch-1-0-0/engines/kyra/sequences_lok.cpp
Modified: scummvm/branches/branch-1-0-0/engines/kyra/saveload_lok.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/kyra/saveload_lok.cpp 2009-08-11 18:17:53 UTC (rev 43285)
+++ scummvm/branches/branch-1-0-0/engines/kyra/saveload_lok.cpp 2009-08-11 18:23:12 UTC (rev 43286)
@@ -182,10 +182,27 @@
}
setHandItem(_itemInHand);
- _animator->setBrandonAnimSeqSize(3, 48);
+
+ // Will-O-Wisp uses a different shape size than Brandon's usual
+ // shape, thus we need to setup the correct size depending on
+ // his state over here. This fixes graphics glitches when loading
+ // saves, where Brandon is transformed into the Will-O-Wisp.
+ if (_brandonStatusBit & 2)
+ _animator->setBrandonAnimSeqSize(5, 48);
+ else
+ _animator->setBrandonAnimSeqSize(3, 48);
+
redrawInventory(0);
- _brandonPosX = brandonX;
- _brandonPosY = brandonY;
+
+ _brandonPosX = _brandonPosY = -1;
+
+ // Unlike the original we did restore Brandon's position in the scene screen on load.
+ // This appereantly caused graphics gliches in some scenes. For example bug #2835715
+ // ("KYRA: GFX glitch in Amiga version at the bridge") is caused by this feature.
+ // Thus we disable that for now.
+ //_brandonPosX = brandonX;
+ //_brandonPosY = brandonY;
+
enterNewScene(_currentCharacter->sceneId, _currentCharacter->facing, 0, 0, 1);
_animator->animRefreshNPC(0);
Modified: scummvm/branches/branch-1-0-0/engines/kyra/script_lok.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/kyra/script_lok.cpp 2009-08-11 18:17:53 UTC (rev 43285)
+++ scummvm/branches/branch-1-0-0/engines/kyra/script_lok.cpp 2009-08-11 18:23:12 UTC (rev 43286)
@@ -1335,7 +1335,7 @@
updateInput();
- int input = checkInput(_buttonList, false) & 0xFF;
+ int input = checkInput(0, false) & 0xFF;
removeInputTop();
if (input == 200)
break;
Modified: scummvm/branches/branch-1-0-0/engines/kyra/sequences_lok.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/kyra/sequences_lok.cpp 2009-08-11 18:17:53 UTC (rev 43285)
+++ scummvm/branches/branch-1-0-0/engines/kyra/sequences_lok.cpp 2009-08-11 18:23:12 UTC (rev 43286)
@@ -673,7 +673,7 @@
_animator->animRefreshNPC(0);
delayWithTicks(8);
}
- _animator->setBrandonAnimSeqSize(4, 48);
+ _animator->setBrandonAnimSeqSize(3, 48);
_currentCharacter->currentAnimFrame = 7;
_animator->animRefreshNPC(0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list