aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he
diff options
context:
space:
mode:
authorD G Turner2019-12-23 11:56:16 +0000
committerD G Turner2019-12-23 11:56:16 +0000
commit59b639ed4d9b8c45644053641522dedabd12fa56 (patch)
treecc98618132f1de362fca07369718af68df44e70a /engines/scumm/he
parentd5808d2903e2cc2a04e8545b84f1528230a9b010 (diff)
downloadscummvm-rg350-59b639ed4d9b8c45644053641522dedabd12fa56.tar.gz
scummvm-rg350-59b639ed4d9b8c45644053641522dedabd12fa56.tar.bz2
scummvm-rg350-59b639ed4d9b8c45644053641522dedabd12fa56.zip
SCUMM: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
Diffstat (limited to 'engines/scumm/he')
-rw-r--r--engines/scumm/he/logic/soccer.cpp56
-rw-r--r--engines/scumm/he/moonbase/ai_main.cpp3
-rw-r--r--engines/scumm/he/moonbase/ai_targetacquisition.cpp3
-rw-r--r--engines/scumm/he/script_v72he.cpp6
-rw-r--r--engines/scumm/he/wiz_he.cpp2
5 files changed, 46 insertions, 24 deletions
diff --git a/engines/scumm/he/logic/soccer.cpp b/engines/scumm/he/logic/soccer.cpp
index 567f74efc9..af9ee7ac35 100644
--- a/engines/scumm/he/logic/soccer.cpp
+++ b/engines/scumm/he/logic/soccer.cpp
@@ -601,31 +601,35 @@ int LogicHEsoccer::op_1014(int32 srcX, int32 srcY, int32 srcZ, int32 velX, int32
adjustedVelZ = (double)velZ * (double)vecNumerator / (double)vecDenom / 100.0;
break;
case 2:
- // length of movement vector
- double v15 = vectorLength((double)velX * (double)vecNumerator / (double)vecDenom, (double)velY * (double)vecNumerator / (double)vecDenom, (double)velZ * (double)vecNumerator / (double)vecDenom);
-
- if (v15 != 0.0) {
- // add the (scaled) movement vector to the input
- double v26 = (double)ABS(velX) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
- srcX = (int)((double)srcX + v26);
- double v25 = (double)ABS(velY) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
- srcY = (int)((double)srcY + v25);
- double v24 = (double)ABS(velZ) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
- srcZ = (int)((double)srcZ + v24);
- }
+ {
+ // length of movement vector
+ double v15 = vectorLength((double)velX * (double)vecNumerator / (double)vecDenom, (double)velY * (double)vecNumerator / (double)vecDenom, (double)velZ * (double)vecNumerator / (double)vecDenom);
+
+ if (v15 != 0.0) {
+ // add the (scaled) movement vector to the input
+ double v26 = (double)ABS(velX) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
+ srcX = (int)((double)srcX + v26);
+ double v25 = (double)ABS(velY) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
+ srcY = (int)((double)srcY + v25);
+ double v24 = (double)ABS(velZ) * (double)vecNumerator / (double)vecDenom * 50.0 / v15;
+ srcZ = (int)((double)srcZ + v24);
+ }
- // srcX = (newX / newZ) * 3869
- startX = (double)srcX / (double)srcZ * 3869.0;
- // srcY = (newY - (+524 * 100)) / (newZ * 3869 + (+524 * 100)
- startY = ((double)srcY - _userDataD[524] * 100.0) / (double)srcZ * 3869.0 + _userDataD[524] * 100.0;
- // srcZ = 3869
- startZ = 3869.0;
- // vectorX = (newX - srcX) / 100
- adjustedVelX = ((double)srcX - startX) / 100.0;
- // vectorY = (newY - srcY) / 100
- adjustedVelY = ((double)srcY - startY) / 100.0;
- // vectorZ = (newZ - 3869 = srcZ) / 100
- adjustedVelZ = ((double)srcZ - 3869.0) / 100.0;
+ // srcX = (newX / newZ) * 3869
+ startX = (double)srcX / (double)srcZ * 3869.0;
+ // srcY = (newY - (+524 * 100)) / (newZ * 3869 + (+524 * 100)
+ startY = ((double)srcY - _userDataD[524] * 100.0) / (double)srcZ * 3869.0 + _userDataD[524] * 100.0;
+ // srcZ = 3869
+ startZ = 3869.0;
+ // vectorX = (newX - srcX) / 100
+ adjustedVelX = ((double)srcX - startX) / 100.0;
+ // vectorY = (newY - srcY) / 100
+ adjustedVelY = ((double)srcY - startY) / 100.0;
+ // vectorZ = (newZ - 3869 = srcZ) / 100
+ adjustedVelZ = ((double)srcZ - 3869.0) / 100.0;
+ }
+ break;
+ default:
break;
}
@@ -698,6 +702,8 @@ int LogicHEsoccer::op_1014(int32 srcX, int32 srcY, int32 srcZ, int32 velX, int32
for (int i = 0; i < 10; i++)
_internalCollisionOutData[i] = outData[i];
break;
+ default:
+ break;
}
}
}
@@ -1040,6 +1046,8 @@ void LogicHEsoccer::getPointsForFace(int faceId, float &x1, float &y1, float &z1
y4 = objPoints[19];
z4 = objPoints[20];
break;
+ default:
+ break;
}
}
diff --git a/engines/scumm/he/moonbase/ai_main.cpp b/engines/scumm/he/moonbase/ai_main.cpp
index cc19cf501a..e56140bf10 100644
--- a/engines/scumm/he/moonbase/ai_main.cpp
+++ b/engines/scumm/he/moonbase/ai_main.cpp
@@ -2777,6 +2777,9 @@ int AI::getMaxCollectors(int pool) {
case 63:
return 2;
+
+ default:
+ break;
}
return 0;
diff --git a/engines/scumm/he/moonbase/ai_targetacquisition.cpp b/engines/scumm/he/moonbase/ai_targetacquisition.cpp
index 53acffa00f..d3446f31bc 100644
--- a/engines/scumm/he/moonbase/ai_targetacquisition.cpp
+++ b/engines/scumm/he/moonbase/ai_targetacquisition.cpp
@@ -271,6 +271,9 @@ float Sortie::calcH() {
case DUT_SHIELD:
retValue += 1;
break;
+
+ default:
+ break;
}
}
}
diff --git a/engines/scumm/he/script_v72he.cpp b/engines/scumm/he/script_v72he.cpp
index d86b0cebdf..f8cbe962f0 100644
--- a/engines/scumm/he/script_v72he.cpp
+++ b/engines/scumm/he/script_v72he.cpp
@@ -186,6 +186,9 @@ int ScummEngine_v72he::readArray(int array, int idx2, int idx1) {
case kDwordArray:
return (int32)READ_LE_UINT32(ah->data + offset * 4);
+
+ default:
+ break;
}
return 0;
@@ -225,6 +228,9 @@ void ScummEngine_v72he::writeArray(int array, int idx2, int idx1, int value) {
case kDwordArray:
WRITE_LE_UINT32(ah->data + offset * 4, value);
break;
+
+ default:
+ break;
}
}
diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp
index c2cefeaa3b..0d3a75c17f 100644
--- a/engines/scumm/he/wiz_he.cpp
+++ b/engines/scumm/he/wiz_he.cpp
@@ -445,6 +445,8 @@ static void decodeWizMask(uint8 *&dst, uint8 &mask, int w, int maskType) {
}
}
break;
+ default:
+ break;
}
}