From 59b639ed4d9b8c45644053641522dedabd12fa56 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Mon, 23 Dec 2019 11:56:16 +0000 Subject: SCUMM: Fix Missing Default Switch Cases These are flagged by GCC if -Wswitch-default is enabled. --- engines/scumm/he/logic/soccer.cpp | 56 ++++++++++++---------- engines/scumm/he/moonbase/ai_main.cpp | 3 ++ engines/scumm/he/moonbase/ai_targetacquisition.cpp | 3 ++ engines/scumm/he/script_v72he.cpp | 6 +++ engines/scumm/he/wiz_he.cpp | 2 + 5 files changed, 46 insertions(+), 24 deletions(-) (limited to 'engines/scumm/he') 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; } } -- cgit v1.2.3