summaryrefslogtreecommitdiff
path: root/ZAPD/ZCutscene.cpp
diff options
context:
space:
mode:
authorYanis42 <35189056+Yanis42@users.noreply.github.com>2023-10-08 21:27:57 +0200
committerGitHub <noreply@github.com>2023-10-08 15:27:57 -0400
commit338e35f89afc905399ad90c952d154ae7b20bf75 (patch)
tree46bdbf3fc8f41b42454e3f68c38f281824b552f9 /ZAPD/ZCutscene.cpp
parentc7dd81e67783a93e728e5662dfe0c8732d79ce59 (diff)
Update OoT and MM's cutscene names (#303)
* progress * fixed non-matching issues * moved the enums to their own file & improvements * format * split MM and OoT * more cleanup * initial MM update * MM improvements * format * class/function name update * reduce the amount of zeroes (match) * enum rename * format * removed hardcoded enums for OoT * review 1 * remove mm hardcoded enums * format * ActorCutscene -> CutsceneEntry CutsceneEntry -> CutsceneScriptEntry * format * some changes in (actor) cutsceneentry * config "CutsceneEnumData" -> "EnumData" * add ``else if``s inside ``ConfigFunc_EnumData`` * more ``else if``s * removed reference in ``~CutsceneCommand``
Diffstat (limited to 'ZAPD/ZCutscene.cpp')
-rw-r--r--ZAPD/ZCutscene.cpp396
1 files changed, 191 insertions, 205 deletions
diff --git a/ZAPD/ZCutscene.cpp b/ZAPD/ZCutscene.cpp
index c2e6c2b..ea723b2 100644
--- a/ZAPD/ZCutscene.cpp
+++ b/ZAPD/ZCutscene.cpp
@@ -3,7 +3,6 @@
#include <cassert>
#include "Globals.h"
-#include "OtherStructs/CutsceneMM_Commands.h"
#include "Utils/BitConverter.h"
#include "Utils/StringHelper.h"
#include "WarningHandler.h"
@@ -129,174 +128,147 @@ void ZCutscene::ParseRawData()
CutsceneCommand* ZCutscene::GetCommandOoT(uint32_t id, offset_t currentPtr) const
{
- CutsceneCommands cmdID = static_cast<CutsceneCommands>(id);
+ CutsceneOoT_CommandType cmdID = static_cast<CutsceneOoT_CommandType>(id);
const auto& rawData = parent->GetRawData();
- switch (id)
- {
- case 10: // CutsceneCommands::SetPlayerAction
- case 15: // CutsceneCommands::SetActorAction1
- case 17:
- case 18:
- case 23:
- case 34:
- case 39:
- case 46:
- case 76:
- case 85:
- case 93:
- case 105:
- case 107:
- case 110:
- case 119:
- case 123:
- case 138:
- case 139:
- case 144:
- case 14: // CutsceneCommands::SetActorAction2
- case 16:
- case 24:
- case 35:
- case 40:
- case 48:
- case 64:
- case 68:
- case 70:
- case 78:
- case 80:
- case 94:
- case 116:
- case 118:
- case 120:
- case 125:
- case 131:
- case 141:
- case 25: // CutsceneCommands::SetActorAction3
- case 36:
- case 41:
- case 50:
- case 67:
- case 69:
- case 72:
- case 81:
- case 106:
- case 117:
- case 121:
- case 126:
- case 132:
- case 29: // CutsceneCommands::SetActorAction4
- case 37:
- case 42:
- case 51:
- case 53:
- case 63:
- case 65:
- case 66:
- case 75:
- case 82:
- case 108:
- case 127:
- case 133:
- case 30: // CutsceneCommands::SetActorAction5
- case 38:
- case 43:
- case 47:
- case 54:
- case 79:
- case 83:
- case 128:
- case 135:
- case 44: // CutsceneCommands::SetActorAction6
- case 55:
- case 77:
- case 84:
- case 90:
- case 129:
- case 136:
- case 31: // CutsceneCommands::SetActorAction7
- case 52:
- case 57:
- case 58:
- case 88:
- case 115:
- case 130:
- case 137:
- case 49: // CutsceneCommands::SetActorAction8
- case 60:
- case 89:
- case 111:
- case 114:
- case 134:
- case 142:
- case 62: // CutsceneCommands::SetActorAction9
- case 143: // CutsceneCommands::SetActorAction10
- case 74:
- return new CutsceneCommand_ActorAction(rawData, currentPtr);
-
- case 0x0B:
- case 0x0D:
- case 0x1A:
- case 0x1B:
- case 0x1C:
- case 0x20:
- case 0x21:
- case 0x3B:
- case 0x3D:
- case 0x47:
- case 0x49:
- case 0x6D:
- case 0x15:
- case 0x16:
- case 0x70:
- case 0x71:
- return new CutsceneCommand_GenericCmd(rawData, currentPtr, cmdID);
- }
-
switch (cmdID)
{
- case CutsceneCommands::Misc:
- case CutsceneCommands::SetLighting:
- case CutsceneCommands::PlayBGM:
- case CutsceneCommands::StopBGM:
- case CutsceneCommands::FadeBGM:
- return new CutsceneCommand_GenericCmd(rawData, currentPtr, cmdID);
-
- case CutsceneCommands::SetCameraPos:
- case CutsceneCommands::SetCameraFocus:
- case CutsceneCommands::SetCameraPosLink:
- case CutsceneCommands::SetCameraFocusLink:
- return new CutsceneCommandSetCameraPos(rawData, currentPtr);
-
- case CutsceneCommands::Cmd07:
- break;
- case CutsceneCommands::Cmd08:
+ case CutsceneOoT_CommandType::CS_CMD_PLAYER_CUE:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_1:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_8_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_8:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_8:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_9:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_10:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_8:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_9:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_8:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_2:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_9:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_11:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_10:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_9:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_11:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_10:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_12:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_3:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_4:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_12:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_10:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_13:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_13:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_14:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_11:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_14:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_15:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_12:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_11:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_16:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_2_13:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_3_12:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_5:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_4_8:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_5_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_6_7:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_15:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_16:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_1_17:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_7_6:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_9_0:
+ case CutsceneOoT_CommandType::CS_CMD_ACTOR_CUE_0_17:
+ return new CutsceneOoTCommand_ActorCue(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_MISC:
+ case CutsceneOoT_CommandType::CS_CMD_LIGHT_SETTING:
+ case CutsceneOoT_CommandType::CS_CMD_START_SEQ:
+ case CutsceneOoT_CommandType::CS_CMD_STOP_SEQ:
+ case CutsceneOoT_CommandType::CS_CMD_FADE_OUT_SEQ:
+ return new CutsceneOoTCommand_GenericCmd(rawData, currentPtr, cmdID);
+
+ case CutsceneOoT_CommandType::CS_CMD_CAM_EYE_SPLINE:
+ case CutsceneOoT_CommandType::CS_CMD_CAM_AT_SPLINE:
+ case CutsceneOoT_CommandType::CS_CMD_CAM_EYE_SPLINE_REL_TO_PLAYER:
+ case CutsceneOoT_CommandType::CS_CMD_CAM_AT_SPLINE_REL_TO_PLAYER:
+ return new CutsceneOoTCommand_GenericCameraCmd(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_RUMBLE_CONTROLLER:
+ return new CutsceneOoTCommand_Rumble(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_TEXT:
+ return new CutsceneOoTCommand_Text(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_TRANSITION:
+ return new CutsceneOoTCommand_Transition(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_TIME:
+ return new CutsceneCommand_Time(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_DESTINATION:
+ return new CutsceneOoTCommand_Destination(rawData, currentPtr);
+
+ case CutsceneOoT_CommandType::CS_CMD_CAM_EYE:
+ case CutsceneOoT_CommandType::CS_CMD_CAM_AT:
break;
- case CutsceneCommands::Cmd09:
- return new CutsceneCommand_Rumble(rawData, currentPtr);
- case CutsceneCommands::Textbox:
- return new CutsceneCommand_TextBox(rawData, currentPtr);
-
- case CutsceneCommands::SetPlayerAction:
- case CutsceneCommands::SetActorAction1:
- case CutsceneCommands::SetActorAction2:
- case CutsceneCommands::SetActorAction3:
- case CutsceneCommands::SetActorAction4:
- case CutsceneCommands::SetActorAction5:
- case CutsceneCommands::SetActorAction6:
- case CutsceneCommands::SetActorAction7:
- case CutsceneCommands::SetActorAction8:
- case CutsceneCommands::SetActorAction9:
- case CutsceneCommands::SetActorAction10:
- break;
-
- case CutsceneCommands::SetSceneTransFX:
- return new CutsceneCommandSceneTransFX(rawData, currentPtr);
- case CutsceneCommands::SetTime:
- return new CutsceneCommand_SetTime(rawData, currentPtr);
- case CutsceneCommands::Terminator:
- return new CutsceneCommand_Terminator(rawData, currentPtr);
+ default:
+ std::string errorHeader =
+ StringHelper::Sprintf("Warning: Invalid cutscene command ID: '0x%04X'", cmdID);
+ return new CutsceneOoTCommand_GenericCmd(rawData, currentPtr, cmdID);
}
return nullptr;
@@ -304,60 +276,74 @@ CutsceneCommand* ZCutscene::GetCommandOoT(uint32_t id, offset_t currentPtr) cons
CutsceneCommand* ZCutscene::GetCommandMM(uint32_t id, offset_t currentPtr) const
{
- CutsceneMMCommands cmdID = static_cast<CutsceneMMCommands>(id);
+ CutsceneMM_CommandType cmdID = static_cast<CutsceneMM_CommandType>(id);
const auto& rawData = parent->GetRawData();
- if (((id >= 100) && (id < 150)) || (id == 201) || ((id >= 450) && (id < 600)))
+ if (((id >= (uint32_t)CutsceneMM_CommandType::CS_CMD_ACTOR_CUE_100) &&
+ (id <= (uint32_t)CutsceneMM_CommandType::CS_CMD_ACTOR_CUE_149)) ||
+ (id == (uint32_t)CutsceneMM_CommandType::CS_CMD_ACTOR_CUE_201) ||
+ ((id >= (uint32_t)CutsceneMM_CommandType::CS_CMD_ACTOR_CUE_450) &&
+ (id <= (uint32_t)CutsceneMM_CommandType::CS_CMD_ACTOR_CUE_599)))
{
- return new CutsceneCommand_ActorAction(rawData, currentPtr);
+ return new CutsceneMMCommand_ActorCue(rawData, currentPtr);
}
switch (cmdID)
{
- case CutsceneMMCommands::CS_CMD_MISC:
- case CutsceneMMCommands::CS_CMD_SET_LIGHTING:
- case CutsceneMMCommands::CS_CMD_SCENE_TRANS_FX:
- case CutsceneMMCommands::CS_CMD_MOTIONBLUR:
- case CutsceneMMCommands::CS_CMD_GIVETATL:
- case CutsceneMMCommands::CS_CMD_PLAYSEQ:
- case CutsceneMMCommands::CS_CMD_130:
- case CutsceneMMCommands::CS_CMD_131:
- case CutsceneMMCommands::CS_CMD_132:
- case CutsceneMMCommands::CS_CMD_STOPSEQ:
- case CutsceneMMCommands::CS_CMD_PLAYAMBIENCE:
- case CutsceneMMCommands::CS_CMD_FADEAMBIENCE:
- case CutsceneMMCommands::CS_CMD_TERMINATOR:
- case CutsceneMMCommands::CS_CMD_CHOOSE_CREDITS_SCENES:
-
- case CutsceneMMCommands::CS_CMD_UNK_FA:
- case CutsceneMMCommands::CS_CMD_UNK_FE:
- case CutsceneMMCommands::CS_CMD_UNK_FF:
- case CutsceneMMCommands::CS_CMD_UNK_100:
- case CutsceneMMCommands::CS_CMD_UNK_101:
- case CutsceneMMCommands::CS_CMD_UNK_102:
- case CutsceneMMCommands::CS_CMD_UNK_103:
- case CutsceneMMCommands::CS_CMD_UNK_104:
- case CutsceneMMCommands::CS_CMD_UNK_105:
- case CutsceneMMCommands::CS_CMD_UNK_108:
- case CutsceneMMCommands::CS_CMD_UNK_109:
- case CutsceneMMCommands::CS_CMD_UNK_12D:
+ case CutsceneMM_CommandType::CS_CMD_MISC:
+ case CutsceneMM_CommandType::CS_CMD_LIGHT_SETTING:
+ case CutsceneMM_CommandType::CS_CMD_TRANSITION:
+ case CutsceneMM_CommandType::CS_CMD_MOTION_BLUR:
+ case CutsceneMM_CommandType::CS_CMD_GIVE_TATL:
+ case CutsceneMM_CommandType::CS_CMD_START_SEQ:
+ case CutsceneMM_CommandType::CS_CMD_SFX_REVERB_INDEX_2:
+ case CutsceneMM_CommandType::CS_CMD_SFX_REVERB_INDEX_1:
+ case CutsceneMM_CommandType::CS_CMD_MODIFY_SEQ:
+ case CutsceneMM_CommandType::CS_CMD_STOP_SEQ:
+ case CutsceneMM_CommandType::CS_CMD_START_AMBIENCE:
+ case CutsceneMM_CommandType::CS_CMD_FADE_OUT_AMBIENCE:
+ case CutsceneMM_CommandType::CS_CMD_DESTINATION:
+ case CutsceneMM_CommandType::CS_CMD_CHOOSE_CREDITS_SCENES:
+
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_FA:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_FE:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_FF:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_100:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_101:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_102:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_103:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_104:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_105:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_108:
+ case CutsceneMM_CommandType::CS_CMD_UNK_DATA_109:
return new CutsceneMMCommand_GenericCmd(rawData, currentPtr, cmdID);
- case CutsceneMMCommands::CS_CMD_TEXTBOX:
- return new CutsceneCommand_TextBox(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_CAMERA:
+ case CutsceneMM_CommandType::CS_CMD_TEXT:
+ return new CutsceneMMCommand_Text(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_CAMERA_SPLINE:
return new CutsceneMMCommand_Camera(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_FADESCREEN:
- return new CutsceneMMCommand_FadeScreen(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_FADESEQ:
- return new CutsceneMMCommand_FadeSeq(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_SETTIME:
- return new CutsceneCommand_SetTime(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_SET_PLAYER_ACTION:
- return new CutsceneCommand_ActorAction(rawData, currentPtr);
- case CutsceneMMCommands::CS_CMD_RUMBLE:
- return new CutsceneCommand_Rumble(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_TRANSITION_GENERAL:
+ return new CutsceneMMCommand_TransitionGeneral(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_FADE_OUT_SEQ:
+ return new CutsceneMMCommand_FadeOutSeq(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_TIME:
+ return new CutsceneCommand_Time(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_PLAYER_CUE:
+ return new CutsceneMMCommand_ActorCue(rawData, currentPtr);
+
+ case CutsceneMM_CommandType::CS_CMD_RUMBLE:
+ return new CutsceneMMCommand_Rumble(rawData, currentPtr);
+
+ default:
+ std::string errorHeader =
+ StringHelper::Sprintf("Warning: Invalid cutscene command ID: '0x%04X'", cmdID);
+ return new CutsceneMMCommand_GenericCmd(rawData, currentPtr, cmdID);
}
return nullptr;