[Scummvm-git-logs] scummvm master -> 1b2df836cc0cd97541a6875425b06cbf5cb233ce

neuromancer noreply at scummvm.org
Wed Sep 9 09:45:38 UTC 2026


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

Summary:
1b2df836cc COLONY: dropping the core should normally destroy it, except in some specific places


Commit: 1b2df836cc0cd97541a6875425b06cbf5cb233ce
    https://github.com/scummvm/scummvm/commit/1b2df836cc0cd97541a6875425b06cbf5cb233ce
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2026-09-09T11:40:47+02:00

Commit Message:
COLONY: dropping the core should normally destroy it, except in some specific places

Changed paths:
    engines/colony/animation.cpp
    engines/colony/movement.cpp


diff --git a/engines/colony/animation.cpp b/engines/colony/animation.cpp
index e5cf29d88b7..97be2242e79 100644
--- a/engines/colony/animation.cpp
+++ b/engines/colony/animation.cpp
@@ -1500,7 +1500,6 @@ void ColonyEngine::handleAnimationClick(int item) {
 				responsiveAnimationDelay(_system, 50);
 			}
 			_liftUp = false;
-			_animationResult = 1;
 		} else if (item == 9 && !_liftUp) {
 			_sound->play(Sound::kLift);
 			// Raise the object: animate states 1→5
@@ -1513,8 +1512,8 @@ void ColonyEngine::handleAnimationClick(int item) {
 				responsiveAnimationDelay(_system, 50);
 			}
 			_liftUp = true;
-			_animationResult = 1;
 		}
+		_animationResult = (_liftUp != (_fl == 2));
 	}
 }
 
diff --git a/engines/colony/movement.cpp b/engines/colony/movement.cpp
index dae6fafb879..4e6818edc26 100644
--- a/engines/colony/movement.cpp
+++ b/engines/colony/movement.cpp
@@ -1479,7 +1479,14 @@ void ColonyEngine::dropCarriedObject() {
 	if (_fl != 2)
 		return;
 
-	// Special case: carrying reactor core — IBM_COMM.C: DoGlassSound()
+	if (!loadLiftAnimation(_carryType))
+		return;
+	_animationResult = 0;
+	playAnimation();
+	if (!_animationResult)
+		return;
+
+	// DropFL(): lowering a core onto the floor destroys it.
 	if (_carryType == kObjReactor) {
 		_sound->play(Sound::kGlass);
 		_carryType = 0;
@@ -1487,16 +1494,6 @@ void ColonyEngine::dropCarriedObject() {
 		return;
 	}
 
-	// Play the drop animation.
-	if (loadLiftAnimation(_carryType)) {
-		_animationResult = 0;
-		playAnimation();
-		if (!_animationResult) {
-			// Animation was cancelled  don't drop
-			return;
-		}
-	}
-
 	int xloc = _me.xloc;
 	int yloc = _me.yloc;
 	int xindex = _me.xindex;




More information about the Scummvm-git-logs mailing list