summaryrefslogtreecommitdiff
path: root/src/factories/sm64/BehaviorScriptFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/factories/sm64/BehaviorScriptFactory.cpp')
-rw-r--r--src/factories/sm64/BehaviorScriptFactory.cpp34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/factories/sm64/BehaviorScriptFactory.cpp b/src/factories/sm64/BehaviorScriptFactory.cpp
index 1033676..a8bb239 100644
--- a/src/factories/sm64/BehaviorScriptFactory.cpp
+++ b/src/factories/sm64/BehaviorScriptFactory.cpp
@@ -6,10 +6,12 @@
#include "utils/TorchUtils.h"
#include <regex>
-ExportResult SM64::BehaviorScriptHeaderExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement) {
+ExportResult SM64::BehaviorScriptHeaderExporter::Export(std::ostream& write, std::shared_ptr<IParsedData> raw,
+ std::string& entryName, YAML::Node& node,
+ std::string* replacement) {
const auto symbol = GetSafeNode(node, "symbol", entryName);
- if(Companion::Instance->IsOTRMode()){
+ if (Companion::Instance->IsOTRMode()) {
write << "static const char " << symbol << "[] = \"__OTR__" << (*replacement) << "\";\n\n";
return std::nullopt;
}
@@ -18,7 +20,9 @@ ExportResult SM64::BehaviorScriptHeaderExporter::Export(std::ostream &write, std
return std::nullopt;
}
-ExportResult SM64::BehaviorScriptCodeExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
+ExportResult SM64::BehaviorScriptCodeExporter::Export(std::ostream& write, std::shared_ptr<IParsedData> raw,
+ std::string& entryName, YAML::Node& node,
+ std::string* replacement) {
const auto symbol = GetSafeNode(node, "symbol", entryName);
const auto offset = GetSafeNode<uint32_t>(node, "offset");
const auto commands = std::static_pointer_cast<BehaviorScriptData>(raw)->mCommands;
@@ -26,10 +30,11 @@ ExportResult SM64::BehaviorScriptCodeExporter::Export(std::ostream &write, std::
write << "static const BehaviorScript " << symbol << "[] = {\n";
- for(auto& [opcode, arguments] : commands) {
+ for (auto& [opcode, arguments] : commands) {
bool commaFlag = false;
- if (opcode == BehaviorOpcode::END_LOOP || opcode == BehaviorOpcode::END_REPEAT || opcode == BehaviorOpcode::END_REPEAT_CONTINUE) {
+ if (opcode == BehaviorOpcode::END_LOOP || opcode == BehaviorOpcode::END_REPEAT ||
+ opcode == BehaviorOpcode::END_REPEAT_CONTINUE) {
--indentCount;
}
@@ -42,14 +47,14 @@ ExportResult SM64::BehaviorScriptCodeExporter::Export(std::ostream &write, std::
}
write << opcode << "(";
- for(auto& args : arguments) {
+ for (auto& args : arguments) {
if (commaFlag) {
write << ", ";
} else {
commaFlag = true;
}
- switch(static_cast<BehaviorArgumentType>(args.index())) {
+ switch (static_cast<BehaviorArgumentType>(args.index())) {
case BehaviorArgumentType::U8: {
write << std::hex << "0x" << static_cast<uint32_t>(std::get<uint8_t>(args));
break;
@@ -110,7 +115,9 @@ ExportResult SM64::BehaviorScriptCodeExporter::Export(std::ostream &write, std::
return offset + size;
}
-ExportResult SM64::BehaviorScriptBinaryExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
+ExportResult SM64::BehaviorScriptBinaryExporter::Export(std::ostream& write, std::shared_ptr<IParsedData> raw,
+ std::string& entryName, YAML::Node& node,
+ std::string* replacement) {
auto writer = LUS::BinaryWriter();
const auto commands = std::static_pointer_cast<BehaviorScriptData>(raw)->mCommands;
@@ -118,11 +125,11 @@ ExportResult SM64::BehaviorScriptBinaryExporter::Export(std::ostream &write, std
writer.Write((uint32_t)commands.size());
- for(auto& [opcode, arguments] : commands) {
+ for (auto& [opcode, arguments] : commands) {
writer.Write(static_cast<uint8_t>(opcode));
- for(auto& args : arguments) {
- switch(static_cast<BehaviorArgumentType>(args.index())) {
+ for (auto& args : arguments) {
+ switch (static_cast<BehaviorArgumentType>(args.index())) {
case BehaviorArgumentType::U8: {
writer.Write(std::get<uint8_t>(args));
break;
@@ -176,13 +183,14 @@ ExportResult SM64::BehaviorScriptBinaryExporter::Export(std::ostream &write, std
return std::nullopt;
}
-std::optional<std::shared_ptr<IParsedData>> SM64::BehaviorScriptFactory::parse(std::vector<uint8_t>& buffer, YAML::Node& node) {
+std::optional<std::shared_ptr<IParsedData>> SM64::BehaviorScriptFactory::parse(std::vector<uint8_t>& buffer,
+ YAML::Node& node) {
auto [_, segment] = Decompressor::AutoDecode(node, buffer);
auto cmd = segment.data;
bool processing = true;
std::vector<BehaviorCommand> commands;
- while(processing) {
+ while (processing) {
auto opcode = static_cast<BehaviorOpcode>(cmd[0x00]);
SPDLOG_INFO("Processing Command {}", opcode);