[Scummvm-git-logs] scummvm master -> ccfbc8f30530482a5afa603555f66b447ca3957b

dreammaster dreammaster at scummvm.org
Sun Jan 21 02:54:48 CET 2018


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

Summary:
ccfbc8f305 XEEN: Cleanup of animate3d method's ranged attack code


Commit: ccfbc8f30530482a5afa603555f66b447ca3957b
    https://github.com/scummvm/scummvm/commit/ccfbc8f30530482a5afa603555f66b447ca3957b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-01-20T20:54:36-05:00

Commit Message:
XEEN: Cleanup of animate3d method's ranged attack code

Changed paths:
    engines/xeen/debugger.cpp
    engines/xeen/interface_scene.cpp


diff --git a/engines/xeen/debugger.cpp b/engines/xeen/debugger.cpp
index 4efd181..42f61b0 100644
--- a/engines/xeen/debugger.cpp
+++ b/engines/xeen/debugger.cpp
@@ -96,11 +96,13 @@ bool Debugger::cmdSpells(int argc, const char **argv) {
 	for (uint charIdx = 0; charIdx < party._activeParty.size(); ++charIdx) {
 		Character &c = party._activeParty[charIdx];
 		Common::fill(c._spells, c._spells + MAX_SPELLS_PER_CLASS, true);
-		c._currentSp = 500;
+		c._currentSp = 9999;
 	}
 
-	party._gems += 500;
-	return false;
+	party._gems += 1000;
+
+	debugPrintf("Spells given to party.\n");
+	return true;
 }
 
 bool Debugger::cmdDump(int argc, const char **argv) {
diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp
index ed8ab76..a1075fa 100644
--- a/engines/xeen/interface_scene.cpp
+++ b/engines/xeen/interface_scene.cpp
@@ -760,40 +760,44 @@ void InterfaceScene::animate3d() {
 		}
 	}
 
-	DrawStruct *combatImgs1 = map._isOutdoors ? _outdoorList._attackImgs1 : _indoorList._attackImgs1;
-	DrawStruct *combatImgs2 = map._isOutdoors ? _outdoorList._attackImgs2 : _indoorList._attackImgs2;
-	DrawStruct *combatImgs3 = map._isOutdoors ? _outdoorList._attackImgs3 : _indoorList._attackImgs3;
-	DrawStruct *combatImgs4 = map._isOutdoors ? _outdoorList._attackImgs4 : _indoorList._attackImgs4;
+	DrawStruct *rangedImgs1 = map._isOutdoors ? _outdoorList._attackImgs1 : _indoorList._attackImgs1;
+	DrawStruct *rangedImgs2 = map._isOutdoors ? _outdoorList._attackImgs2 : _indoorList._attackImgs2;
+	DrawStruct *rangedImgs3 = map._isOutdoors ? _outdoorList._attackImgs3 : _indoorList._attackImgs3;
+	DrawStruct *rangedImgs4 = map._isOutdoors ? _outdoorList._attackImgs4 : _indoorList._attackImgs4;
 
 	if (combat._monstersAttacking) {
+		// Monsters doing ranged attacks. Sequentially move the attack from
+		// whichever row it started in to the front (where the party is)
 		for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) {
-			if (combatImgs1[idx]._sprites) {
-				combatImgs1[idx]._sprites = nullptr;
-				combat._shootingRow[idx] = false;
-			} else if (combatImgs2[idx]._sprites) {
-				combatImgs1[idx]._sprites = combatImgs2[idx]._sprites;
-				combatImgs2[idx]._sprites = nullptr;
-			} else if (combatImgs3[idx]._sprites) {
-				combatImgs2[idx]._sprites = combatImgs3[idx]._sprites;
-				combatImgs3[idx]._sprites = nullptr;
-			} else if (combatImgs4[idx]._sprites) {
-				combatImgs3[idx]._sprites = combatImgs4[idx]._sprites;
-				combatImgs4[idx]._sprites = nullptr;
+			if (rangedImgs1[idx]._sprites) {
+				rangedImgs1[idx]._sprites = nullptr;
+				combat._shootingRow[idx] = 0;
+			} else if (rangedImgs2[idx]._sprites) {
+				rangedImgs1[idx]._sprites = rangedImgs2[idx]._sprites;
+				rangedImgs2[idx]._sprites = nullptr;
+			} else if (rangedImgs3[idx]._sprites) {
+				rangedImgs2[idx]._sprites = rangedImgs3[idx]._sprites;
+				rangedImgs3[idx]._sprites = nullptr;
+			} else if (rangedImgs4[idx]._sprites) {
+				rangedImgs3[idx]._sprites = rangedImgs4[idx]._sprites;
+				rangedImgs4[idx]._sprites = nullptr;
 			}
 		}
 	} else if (_charsShooting) {
+		// Characters shooting at monsters. Sequentially move the attack
+		// away from the party
 		for (int idx = 0; idx < MAX_PARTY_COUNT; ++idx) {
-			if (combatImgs4[idx]._sprites) {
-				combatImgs4[idx]._sprites = nullptr;
-			} else if (combatImgs3[idx]._sprites) {
-				combatImgs4[idx]._sprites = combatImgs3[idx]._sprites;
-				combatImgs3[idx]._sprites = nullptr;
-			} else if (combatImgs2[idx]._sprites) {
-				combatImgs3[idx]._sprites = combatImgs2[idx]._sprites;
-				combatImgs2[idx]._sprites = nullptr;
-			} else if (combatImgs1[idx]._sprites) {
-				combatImgs2[idx]._sprites = combatImgs1[idx]._sprites;
-				combatImgs1[idx]._sprites = nullptr;
+			if (rangedImgs4[idx]._sprites) {
+				rangedImgs4[idx]._sprites = nullptr;
+			} else if (rangedImgs3[idx]._sprites) {
+				rangedImgs4[idx]._sprites = rangedImgs3[idx]._sprites;
+				rangedImgs3[idx]._sprites = nullptr;
+			} else if (rangedImgs2[idx]._sprites) {
+				rangedImgs3[idx]._sprites = rangedImgs2[idx]._sprites;
+				rangedImgs2[idx]._sprites = nullptr;
+			} else if (rangedImgs1[idx]._sprites) {
+				rangedImgs2[idx]._sprites = rangedImgs1[idx]._sprites;
+				rangedImgs1[idx]._sprites = nullptr;
 			}
 		}
 	}





More information about the Scummvm-git-logs mailing list