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

bluegr noreply at scummvm.org
Thu Apr 30 22:35:04 UTC 2026


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

Summary:
91e586f754 NANCY: Replace unicode character in comments
de1812fc4f NANCY: Allow stopping the lathe while it is running in Nancy8


Commit: 91e586f7549e632396240cad3d53ac3a853e1312
    https://github.com/scummvm/scummvm/commit/91e586f7549e632396240cad3d53ac3a853e1312
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-01T01:22:59+03:00

Commit Message:
NANCY: Replace unicode character in comments

Changed paths:
    engines/nancy/action/puzzle/arcadepuzzle.cpp
    engines/nancy/action/puzzle/cuttingpuzzle.cpp
    engines/nancy/action/puzzle/matchpuzzle.cpp


diff --git a/engines/nancy/action/puzzle/arcadepuzzle.cpp b/engines/nancy/action/puzzle/arcadepuzzle.cpp
index 5d0dd8e342a..f116112fb39 100644
--- a/engines/nancy/action/puzzle/arcadepuzzle.cpp
+++ b/engines/nancy/action/puzzle/arcadepuzzle.cpp
@@ -953,7 +953,7 @@ void ArcadePuzzle::wallAndPaddleCollision(int &ballLeft, int &ballTop, int &ball
 		brickCollision(ballLeft, ballTop, ballRight, ballBottom, ballCenterX, ballCenterY);
 	}
 
-	// Sanity: if ball is still outside field after all corrections → stuck
+	// Sanity: if ball is still outside field after all corrections -> stuck
 	if (ballTop < _fieldTop || _fieldBottom < ballBottom || ballLeft < _fieldLeft || _fieldRight < ballRight) {
 		_collisionType = 0x10;
 	}
@@ -992,7 +992,7 @@ bool ArcadePuzzle::brickCollision(int &ballLeft, int &ballTop, int &ballRight, i
 	int col = (ballCenterX - _brickAreaLeft) / _brickWidth;
 	int i   = row * _brickCols + col;
 
-	// Out of bounds or dead/pending → ball passes through freely (leave collisionType = -2)
+	// Out of bounds or dead/pending -> ball passes through freely (leave collisionType = -2)
 	if (i < 0 || i >= _totalBricks)
 		return false;
 	Brick &b = _bricks[i];
@@ -1004,7 +1004,7 @@ bool ArcadePuzzle::brickCollision(int &ballLeft, int &ballTop, int &ballRight, i
 	int prevCY = _ballPrevTop  + _ballHalfH;
 
 	// Check each exposed face using trajectory line-segment intersection.
-	// Priority order matches original: top(8) → bottom(10) → left(7) → right(9).
+	// Priority order matches original: top(8) -> bottom(10) -> left(7) -> right(9).
 	if (b.neighborUp == -1 &&
 	    segmentsCross(prevCX, prevCY, ballCenterX, ballCenterY,
 	                  b.vpRect.left, b.vpRect.top, b.vpRect.right, b.vpRect.top)) {
@@ -1241,7 +1241,7 @@ void ArcadePuzzle::addToExplosionList(int brickIdx, uint32 delay) {
 
 void ArcadePuzzle::playBrickHitSound() {
 	// Rotates through sounds[2], sounds[3], sounds[4] (brick hit A/B/C)
-	int slot = _brickSoundRotator + 2; // maps 0→2, 1→3, 2→4
+	int slot = _brickSoundRotator + 2; // maps 0->2, 1->3, 2->4
 	g_nancy->_sound->playSound(_sounds[slot]);
 	_brickSoundRotator = (_brickSoundRotator + 1) % 3;
 }
diff --git a/engines/nancy/action/puzzle/cuttingpuzzle.cpp b/engines/nancy/action/puzzle/cuttingpuzzle.cpp
index d415a629ea9..e0118475796 100644
--- a/engines/nancy/action/puzzle/cuttingpuzzle.cpp
+++ b/engines/nancy/action/puzzle/cuttingpuzzle.cpp
@@ -216,7 +216,7 @@ void CuttingPuzzle::execute() {
 					++_animFrame;
 					redrawSurface();
 				} else {
-					// Completed one full animation loop → one macro-cycle.
+					// Completed one full animation loop -> one macro-cycle.
 					_animFrame = 0;
 
 					// Play the lathe loop sound if it's not already playing.
diff --git a/engines/nancy/action/puzzle/matchpuzzle.cpp b/engines/nancy/action/puzzle/matchpuzzle.cpp
index f51e79e2ea5..a5a964ea6c2 100644
--- a/engines/nancy/action/puzzle/matchpuzzle.cpp
+++ b/engines/nancy/action/puzzle/matchpuzzle.cpp
@@ -483,7 +483,7 @@ void MatchPuzzle::checkForMatch(int col, int row) {
 	_matchColStart = cStart;
 	_matchColEnd   = cEnd;
 
-	int vLen = rEnd - rStart; // 2 → 3-match, 3 → 4-match, 4 → 5-match
+	int vLen = rEnd - rStart; // 2 -> 3-match, 3 -> 4-match, 4 -> 5-match
 	int hLen = cEnd - cStart;
 
 	// --- Score and mark: vertical match (>=3 flags) ---


Commit: de1812fc4f87a14f8c4a6fcccec8e0f07f0ff977
    https://github.com/scummvm/scummvm/commit/de1812fc4f87a14f8c4a6fcccec8e0f07f0ff977
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-05-01T01:34:40+03:00

Commit Message:
NANCY: Allow stopping the lathe while it is running in Nancy8

Fix #16714

Changed paths:
    engines/nancy/action/puzzle/cuttingpuzzle.cpp


diff --git a/engines/nancy/action/puzzle/cuttingpuzzle.cpp b/engines/nancy/action/puzzle/cuttingpuzzle.cpp
index e0118475796..4a6a03e329b 100644
--- a/engines/nancy/action/puzzle/cuttingpuzzle.cpp
+++ b/engines/nancy/action/puzzle/cuttingpuzzle.cpp
@@ -341,7 +341,7 @@ void CuttingPuzzle::execute() {
 }
 
 void CuttingPuzzle::handleInput(NancyInput &input) {
-	if (_state != kRun || _latheRunning)
+	if (_state != kRun)
 		return;
 
 	// Convert mouse position to viewport-local coordinates.
@@ -349,6 +349,26 @@ void CuttingPuzzle::handleInput(NancyInput &input) {
 	Common::Rect vpPos = NancySceneState.getViewport().getScreenPosition();
 	localMouse -= Common::Point(vpPos.left, vpPos.top);
 
+	// Allow stopping the lathe by clicking on the on/off switch hotspot.
+
+	// Start/stop switch: toggle the lathe (re-clicking while stopped is a no-op
+	// since the lathe auto-stops after 14 cycles).
+	if (_switchDest.contains(localMouse)) {
+		g_nancy->_cursor->setCursorType(CursorManager::kHotspot);
+
+		if (input.input & NancyInput::kLeftMouseButtonUp) {
+			_latheRunning = !_latheRunning;
+			_macroCycleCount = 0;
+			_animFrame = 0;
+			g_nancy->_sound->playSound(_startStopSound);
+			redrawSurface();
+		}
+		return;
+	}
+
+	if (_latheRunning)
+		return;
+
 	if (!_exitHotspot.isEmpty() && _exitHotspot.contains(localMouse)) {
 		g_nancy->_cursor->setCursorType(CursorManager::kMoveBackward);
 		if (input.input & NancyInput::kLeftMouseButtonUp) {
@@ -378,21 +398,6 @@ void CuttingPuzzle::handleInput(NancyInput &input) {
 		return;
 	}
 
-	// Start/stop switch: start the lathe (re-clicking while stopped is a no-op
-	// since the lathe auto-stops after 14 cycles).
-	if (_switchDest.contains(localMouse)) {
-		g_nancy->_cursor->setCursorType(CursorManager::kHotspot);
-
-		if (input.input & NancyInput::kLeftMouseButtonUp) {
-			_latheRunning    = true;
-			_macroCycleCount = 0;
-			_animFrame       = 0;
-			g_nancy->_sound->playSound(_startStopSound);
-			redrawSurface();
-		}
-		return;
-	}
-
 	// Blade-position needle: clicking the left half moves the blade left,
 	// clicking the right half moves it right.
 	if (_currentMarkerPos < _markerDest.size() &&




More information about the Scummvm-git-logs mailing list