[Scummvm-cvs-logs] SF.net SVN: scummvm:[47967] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Sun Feb 7 17:12:31 CET 2010
Revision: 47967
http://scummvm.svn.sourceforge.net/scummvm/?rev=47967&view=rev
Author: athrxx
Date: 2010-02-07 16:12:31 +0000 (Sun, 07 Feb 2010)
Log Message:
-----------
LOL: fixed handling of invalid monster attack sfx in the Urbish mines (should fix bug no #2945950)
Modified Paths:
--------------
scummvm/trunk/engines/kyra/gui_lol.cpp
scummvm/trunk/engines/kyra/lol.cpp
scummvm/trunk/engines/kyra/lol.h
scummvm/trunk/engines/kyra/scene_lol.cpp
scummvm/trunk/engines/kyra/sound_lol.cpp
scummvm/trunk/engines/kyra/sprites_lol.cpp
Modified: scummvm/trunk/engines/kyra/gui_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lol.cpp 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/gui_lol.cpp 2010-02-07 16:12:31 UTC (rev 47967)
@@ -1474,7 +1474,7 @@
int LoLEngine::clickedWall(Button *button) {
int block = calcNewBlockPosition(_currentBlock, _currentDirection);
int dir = _currentDirection ^ 2;
- uint8 type = _wllBuffer3[_levelBlockProperties[block].walls[dir]];
+ uint8 type = _specialWallTypes[_levelBlockProperties[block].walls[dir]];
int res = 0;
switch (type) {
Modified: scummvm/trunk/engines/kyra/lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/lol.cpp 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/lol.cpp 2010-02-07 16:12:31 UTC (rev 47967)
@@ -133,7 +133,7 @@
memset(_visibleBlockIndex, 0, sizeof(_visibleBlockIndex));
_smoothScrollModeNormal = 1;
- _wllVmpMap = _wllBuffer3 = _wllBuffer4 = _wllWallFlags = 0;
+ _wllVmpMap = _specialWallTypes = _wllBuffer4 = _wllWallFlags = 0;
_wllShapeMap = 0;
_lvlShapeTop = _lvlShapeBottom = _lvlShapeLeftRight = 0;
_levelBlockProperties = 0;
@@ -338,7 +338,7 @@
delete[] _wllVmpMap;
delete[] _wllShapeMap;
- delete[] _wllBuffer3;
+ delete[] _specialWallTypes;
delete[] _wllBuffer4;
delete[] _wllWallFlags;
delete[] _lvlShapeTop;
@@ -458,8 +458,8 @@
memset(_wllVmpMap, 0, 80);
_wllShapeMap = new int8[80];
memset(_wllShapeMap, 0, 80);
- _wllBuffer3 = new uint8[80];
- memset(_wllBuffer3, 0, 80);
+ _specialWallTypes = new uint8[80];
+ memset(_specialWallTypes, 0, 80);
_wllBuffer4 = new uint8[80];
memset(_wllBuffer4, 0, 80);
_wllWallFlags = new uint8[80];
Modified: scummvm/trunk/engines/kyra/lol.h
===================================================================
--- scummvm/trunk/engines/kyra/lol.h 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/lol.h 2010-02-07 16:12:31 UTC (rev 47967)
@@ -1117,7 +1117,7 @@
uint8 *_wllVmpMap;
int8 *_wllShapeMap;
- uint8 *_wllBuffer3;
+ uint8 *_specialWallTypes;
uint8 *_wllBuffer4;
uint8 *_wllWallFlags;
Modified: scummvm/trunk/engines/kyra/scene_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_lol.cpp 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/scene_lol.cpp 2010-02-07 16:12:31 UTC (rev 47967)
@@ -170,7 +170,7 @@
_wllShapeMap[c] = *d;
}
d += 2;
- _wllBuffer3[c] = *d;
+ _specialWallTypes[c] = *d;
d += 2;
_wllWallFlags[c] = *d;
d += 2;
Modified: scummvm/trunk/engines/kyra/sound_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_lol.cpp 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/sound_lol.cpp 2010-02-07 16:12:31 UTC (rev 47967)
@@ -164,7 +164,7 @@
return;
_lastSfxTrack = track;
- if (track == -1)
+ if (track == -1 || track >= _ingameSoundListSize)
return;
volume &= 0xff;
Modified: scummvm/trunk/engines/kyra/sprites_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites_lol.cpp 2010-02-07 15:48:47 UTC (rev 47966)
+++ scummvm/trunk/engines/kyra/sprites_lol.cpp 2010-02-07 16:12:31 UTC (rev 47967)
@@ -1433,7 +1433,7 @@
uint8 w = _levelBlockProperties[_monsterCurBlock].walls[(s >> 1) ^ 2];
if (_wllWallFlags[w] & 0x20) {
- if (_wllBuffer3[w] == 5) {
+ if (_specialWallTypes[w] == 5) {
openCloseDoor(_monsterCurBlock, 1);
return -1;
}
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