summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpetrie911 <petrie911@yahoo.com>2024-04-01 12:06:38 -0500
committerLywx <kiritodev01@gmail.com>2024-04-01 15:59:18 -0600
commitad8419a1590ae63a515922005c2ad39cd9632b1e (patch)
treea22536cdb967ba6cb00535da227f4642d717e459
parentd9eae785d4094ac9005c16f29977690455d13818 (diff)
script
-rw-r--r--src/factories/sf64/ScriptFactory.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/factories/sf64/ScriptFactory.cpp b/src/factories/sf64/ScriptFactory.cpp
index 75f05f8..96cf5ac 100644
--- a/src/factories/sf64/ScriptFactory.cpp
+++ b/src/factories/sf64/ScriptFactory.cpp
@@ -27,8 +27,20 @@ std::string MakeScriptCmd(uint16_t s1, uint16_t s2) {
std::ostringstream cmd;
auto enumName = Companion::Instance->GetEnumFromValue("EventOpcode", opcode).value_or("/* EVOP_UNK */ " + std::to_string(opcode));
-
- cmd << "EVENT_CMD(" << enumName << ", " << std::right << std::setw(3) << std::dec << arg1 << ", " << std::setw(5) << std::dec << s2 << ")";
+
+ switch (opcode) {
+ case 120: {
+ auto rcidName = Companion::Instance->GetEnumFromValue("RadioCharacterId", arg1).value_or("/* RCID_UNK */ " + std::to_string(arg1));
+ cmd << "EVENT_PLAY_MSG(" << rcidName << ", " << std::dec << std::setw(5) << s2 << ")";
+ } break;
+ case 127:
+ cmd << "EVENT_STOP_SCRIPT()";
+ break;
+ default:
+ cmd << "EVENT_CMD(" << enumName << ", " << std::right << std::setw(3) << std::dec << arg1 << ", " << std::setw(5) << std::dec << s2 << ")";
+ break;
+ }
+
return cmd.str();
}