[Scummvm-cvs-logs] SF.net SVN: scummvm:[41052] scummvm/trunk/engines/kyra

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Sun May 31 02:25:06 CEST 2009


Revision: 41052
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41052&view=rev
Author:   athrxx
Date:     2009-05-31 00:25:05 +0000 (Sun, 31 May 2009)

Log Message:
-----------
LOL: fix some valgrind warnings

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/script_lol.cpp
    scummvm/trunk/engines/kyra/sprites_lol.cpp

Modified: scummvm/trunk/engines/kyra/script_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lol.cpp	2009-05-30 22:15:00 UTC (rev 41051)
+++ scummvm/trunk/engines/kyra/script_lol.cpp	2009-05-31 00:25:05 UTC (rev 41052)
@@ -114,8 +114,10 @@
 
 int LoLEngine::olol_setWallType(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_setWallType(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
-	if (_wllWallFlags[stackPos(2)] & 4)
-		deleteMonstersFromBlock(stackPos(0));
+	if (stackPos(2) != -1) {
+		if (_wllWallFlags[stackPos(2)] & 4)
+			deleteMonstersFromBlock(stackPos(0));
+	}
 	setWallType(stackPos(0), stackPos(1), stackPos(2));
 	return 1;
 }
@@ -227,7 +229,7 @@
 
 int LoLEngine::olol_loadLevelGraphics(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_loadLevelGraphics(%p) (%s, %d, %d, %d, %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5));
-	loadLevelGraphics(stackPosString(0), stackPos(1), stackPos(2), (uint16)stackPos(3), (uint16)stackPos(4), (stackPos(5) == -1) ? 0 : stackPosString(5));
+	loadLevelGraphics(stackPosString(0), stackPos(1), stackPos(2), stackPos(3) == -1 ? -1 : (uint16)stackPos(3), stackPos(4) == -1 ? -1 : (uint16)stackPos(4), (stackPos(5) == -1) ? 0 : stackPosString(5));
 	return 1;
 }
 

Modified: scummvm/trunk/engines/kyra/sprites_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites_lol.cpp	2009-05-30 22:15:00 UTC (rev 41051)
+++ scummvm/trunk/engines/kyra/sprites_lol.cpp	2009-05-31 00:25:05 UTC (rev 41052)
@@ -506,6 +506,7 @@
 	const uint16 *c = getCharacterOrMonsterStats(id);
 	int r = (a << 8) / c[4];
 
+	/*
 	if (!(id & 0x8000))
 		r = (r * _monsterModifiers[3 + _monsterDifficulty]) >> 8;
 
@@ -514,9 +515,18 @@
 	if (_characters[id].skillLevels[1] <= 3)
 		return r;
 	else if (_characters[id].skillLevels[1] <= 7)
-		return (r- (r >> 2));
+		return (r- (r >> 2));*/
 
-	return (r- (r >> 1));
+	if (id & 0x8000) {
+		r = (r * _monsterModifiers[3 + _monsterDifficulty]) >> 8;
+	} else {
+		if (_characters[id].skillLevels[1] > 7)
+			r = (r- (r >> 1));
+		else if (_characters[id].skillLevels[1] > 3 && _characters[id].skillLevels[1] <= 7)
+			r = (r- (r >> 2));			
+	}
+
+	return r;
 }
 
 int LoLEngine::checkBlockOccupiedByParty(int x, int y, int testFlag) {


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