summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Estelami <NEstelami@users.noreply.github.com>2023-11-11 22:40:18 -0500
committerlouist103 <35883445+louist103@users.noreply.github.com>2025-03-29 13:50:21 -0400
commit8af96b522da12f2b4893ffe4f289e0891b3815c1 (patch)
treecadc58ab1d0b4450c607755043591b5927517ef0
parentb5fdb5b95ee88b74c849d72b218c76abc4b6bca8 (diff)
MM Text Exporter
-rw-r--r--OTRExporter/Main.cpp2
-rw-r--r--OTRExporter/TextMMExporter.cpp23
-rw-r--r--OTRExporter/TextMMExporter.h12
3 files changed, 37 insertions, 0 deletions
diff --git a/OTRExporter/Main.cpp b/OTRExporter/Main.cpp
index bac4eab..42bfe76 100644
--- a/OTRExporter/Main.cpp
+++ b/OTRExporter/Main.cpp
@@ -14,6 +14,7 @@
#include "CutsceneExporter.h"
#include "PathExporter.h"
#include "TextExporter.h"
+#include "TextMMExporter.h"
#include "BlobExporter.h"
#include "MtxExporter.h"
#include "AudioExporter.h"
@@ -384,6 +385,7 @@ void ImportExporters()
exporterSet->exporters[ZResourceType::Array] = new OTRExporter_Array();
exporterSet->exporters[ZResourceType::Path] = new OTRExporter_Path();
exporterSet->exporters[ZResourceType::Text] = new OTRExporter_Text();
+ exporterSet->exporters[ZResourceType::TextMM] = new OTRExporter_TextMM();
exporterSet->exporters[ZResourceType::Blob] = new OTRExporter_Blob();
exporterSet->exporters[ZResourceType::Mtx] = new OTRExporter_MtxExporter();
exporterSet->exporters[ZResourceType::Audio] = new OTRExporter_Audio();
diff --git a/OTRExporter/TextMMExporter.cpp b/OTRExporter/TextMMExporter.cpp
new file mode 100644
index 0000000..b022b63
--- /dev/null
+++ b/OTRExporter/TextMMExporter.cpp
@@ -0,0 +1,23 @@
+#include "TextMMExporter.h"
+#include "../ZAPD/ZFile.h"
+
+void OTRExporter_TextMM::Save(ZResource* res, const fs::path& outPath, BinaryWriter* writer)
+{
+ ZTextMM* txt = (ZTextMM*)res;
+
+ WriteHeader(txt, outPath, writer, LUS::ResourceType::SOH_TextMM);
+
+ writer->Write((uint32_t)txt->messages.size());
+
+ for (size_t i = 0; i < txt->messages.size(); i++)
+ {
+ writer->Write(txt->messages[i].id);
+ writer->Write(txt->messages[i].textboxType);
+ writer->Write(txt->messages[i].textboxYPos);
+ writer->Write(txt->messages[i].icon);
+ writer->Write(txt->messages[i].nextMessageID);
+ writer->Write(txt->messages[i].firstItemCost);
+ writer->Write(txt->messages[i].secondItemCost);
+ writer->Write(txt->messages[i].msg);
+ }
+}
diff --git a/OTRExporter/TextMMExporter.h b/OTRExporter/TextMMExporter.h
new file mode 100644
index 0000000..4df80a1
--- /dev/null
+++ b/OTRExporter/TextMMExporter.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "ZResource.h"
+#include "ZTextMM.h"
+#include "Exporter.h"
+#include <Utils/BinaryWriter.h>
+
+class OTRExporter_TextMM : public OTRExporter
+{
+public:
+ virtual void Save(ZResource* res, const fs::path& outPath, BinaryWriter* writer) override;
+}; \ No newline at end of file