summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/Event/resResourceEventFlow.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-06-15 18:14:57 +0200
committerLéo Lam <leo@leolam.fr>2021-06-15 18:33:15 +0200
commitc81229dabfd8046b9a6d3128b5bdbfdbc969f5b9 (patch)
tree45beca0bff5e34035626b325eafb1da1ef94c5ed /src/KingSystem/Resource/Event/resResourceEventFlow.cpp
parent7d8607f9e326c5891613ca30c1e372885aa6cf06 (diff)
ksys/res: Add Event resource classes
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