diff options
| author | petrie911 <petrie911@yahoo.com> | 2024-04-01 12:06:38 -0500 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2024-04-01 15:59:18 -0600 |
| commit | ad8419a1590ae63a515922005c2ad39cd9632b1e (patch) | |
| tree | a22536cdb967ba6cb00535da227f4642d717e459 | |
| parent | d9eae785d4094ac9005c16f29977690455d13818 (diff) | |
script
| -rw-r--r-- | src/factories/sf64/ScriptFactory.cpp | 16 |
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(); } |
