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

Strangerke Strangerke at scummvm.org
Sun Sep 11 11:10:29 CEST 2016


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:
b0bfa2e4f5 DM: Replace multiple if statements by a switch in commandMoveParty


Commit: b0bfa2e4f535cdaafb389950381fc3fff340e634
    https://github.com/scummvm/scummvm/commit/b0bfa2e4f535cdaafb389950381fc3fff340e634
Author: Strangerke (strangerke at scummvm.org)
Date: 2016-09-11T11:00:03+02:00

Commit Message:
DM: Replace multiple if statements by a switch in commandMoveParty

Changed paths:
    engines/dm/eventman.cpp



diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index 7534927..19db589 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -989,25 +989,33 @@ void EventManager::commandMoveParty(CommandType cmdType) {
 
 	_vm->_dungeonMan->mapCoordsAfterRelMovement(_vm->_dungeonMan->_partyDir, movementArrowToStepForwardCount[movementArrowIdx], movementArrowToSepRightCount[movementArrowIdx], partyMapX, partyMapY);
 	curSquare = _vm->_dungeonMan->getSquare(partyMapX, partyMapY);
-	int16 partySquareType = curSquare.getType();
-	if (partySquareType == k3_ElementTypeStairs) {
+
+	bool isMovementBlocked = false;
+	SquareType partySquareType = curSquare.getType();
+	switch (partySquareType){
+	case k0_ElementTypeWall:
+		isMovementBlocked = true;
+		break;
+	case k3_ElementTypeStairs: {
 		_vm->_moveSens->getMoveResult(Thing::_party, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kM1_MapXNotOnASquare, 0);
 		_vm->_dungeonMan->_partyMapX = partyMapX;
 		_vm->_dungeonMan->_partyMapY = partyMapY;
 		byte stairState = curSquare.toByte();
 		commandTakeStairs(getFlag(stairState, k0x0004_StairsUp));
 		return;
-	}
-
-	bool isMovementBlocked = false;
-	if (partySquareType == k0_ElementTypeWall)
-		isMovementBlocked = true;
-	else if (partySquareType == k4_DoorElemType) {
+		}
+	case k4_DoorElemType: {
 		byte doorState = curSquare.getDoorState();
 		isMovementBlocked = (doorState != k0_doorState_OPEN) && (doorState != k1_doorState_FOURTH) && (doorState != k5_doorState_DESTROYED);
-	} else if (partySquareType == k6_ElementTypeFakeWall) {
+		}
+		break;
+	case k6_ElementTypeFakeWall: {
 		byte wallState = curSquare.toByte();
 		isMovementBlocked = (!getFlag(wallState, k0x0004_FakeWallOpen) && !getFlag(wallState, k0x0001_FakeWallImaginary));
+		}
+		break;
+	default:
+		break;
 	}
 
 	if (_vm->_championMan->_partyChampionCount) {





More information about the Scummvm-git-logs mailing list