summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/Event/resResourceEventFlow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/KingSystem/Resource/Event/resResourceEventFlow.cpp')
-rw-r--r--src/KingSystem/Resource/Event/resResourceEventFlow.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/KingSystem/Resource/Event/resResourceEventFlow.cpp b/src/KingSystem/Resource/Event/resResourceEventFlow.cpp
new file mode 100644
index 00000000..13ce2bbd
--- /dev/null
+++ b/src/KingSystem/Resource/Event/resResourceEventFlow.cpp
@@ -0,0 +1,44 @@
+#include "KingSystem/Resource/Event/resResourceEventFlow.h"
+#include <evfl/ResEventFlowFile.h>
+#include "KingSystem/Resource/resEntryFactory.h"
+#include "KingSystem/Resource/resSystem.h"
+
+namespace ksys::res {
+
+void EventFlowchart::registerFactory(sead::Heap* heap) {
+ registerEntryFactory(new (heap) EntryFactory<EventFlowchart>(1.0, sizeof(EventFlowchart)),
+ "bfevfl");
+}
+
+void EventFlowchart::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {
+ m_res = evfl::ResEventFlowFile::ResCast(buffer);
+}
+
+void EventFlowchart::onDestroy_() {
+ if (m_res) {
+ m_res->Unrelocate();
+ m_res = nullptr;
+ }
+}
+
+EventFlowchart::~EventFlowchart() = default;
+
+void EventTimeline::registerFactory(sead::Heap* heap) {
+ registerEntryFactory(new (heap) EntryFactory<EventTimeline>(1.0, sizeof(EventTimeline)),
+ "bfevtm");
+}
+
+void EventTimeline::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {
+ m_res = evfl::ResEventFlowFile::ResCast(buffer);
+}
+
+void EventTimeline::onDestroy_() {
+ if (m_res) {
+ m_res->Unrelocate();
+ m_res = nullptr;
+ }
+}
+
+EventTimeline::~EventTimeline() = default;
+
+} // namespace ksys::res