diff options
Diffstat (limited to 'src/KingSystem/Resource/Event/resResourceEventFlow.cpp')
| -rw-r--r-- | src/KingSystem/Resource/Event/resResourceEventFlow.cpp | 44 |
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 |
