[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