diff options
Diffstat (limited to 'src/Game/AutoPlacement/AutoPlacementFlowMgr.cpp')
| -rw-r--r-- | src/Game/AutoPlacement/AutoPlacementFlowMgr.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/Game/AutoPlacement/AutoPlacementFlowMgr.cpp b/src/Game/AutoPlacement/AutoPlacementFlowMgr.cpp new file mode 100644 index 00000000..10742efa --- /dev/null +++ b/src/Game/AutoPlacement/AutoPlacementFlowMgr.cpp @@ -0,0 +1,61 @@ +#include "Game/AutoPlacement/AutoPlacementFlowMgr.h" +#include <container/seadBuffer.h> +#include <evfl/ResActor.h> +#include "KingSystem/Resource/resLoadRequest.h" + +namespace uking { + +const char* sFlowResNamesData[] = { + "AutoPlacement_Animal.bfevfl", + "AutoPlacement_Bird.bfevfl", + "AutoPlacement_Enemy_Golem_Little.bfevfl", + "AutoPlacement_Enemy_Keese.bfevfl", + "AutoPlacement_Enemy_Lizalfos.bfevfl", + "AutoPlacement_Enemy_Octarock.bfevfl", + "AutoPlacement_Enemy_Wizzrobe.bfevfl", + "AutoPlacement_Enemy_Fish.bfevfl", + "AutoPlacement_Enemy_Insect.bfevfl", + "AutoPlacement_Enemy_Material.bfevfl", +}; +sead::Buffer<const char*> sFlowResNames{sFlowResNamesData}; + +const char* sFlowNearResNamesData[] = { + "AutoPlacementNear_Enemy_Assassin_Middle.bfevfl", + "AutoPlacementNear_Enemy_Assassin_Shooter_Junior.bfevfl", + "AutoPlacementNear_Enemy_Chuchu.bfevfl", + "AutoPlacementNear_Enemy_Dragon.bfevfl", + "AutoPlacementNear_Enemy_Lizalfos.bfevfl", + "AutoPlacementNear_Enemy_Octarock.bfevfl", + "AutoPlacementNear_Enemy_Stal.bfevfl", +}; +sead::Buffer<const char*> sFlowNearResNames{sFlowNearResNamesData}; + +void AutoPlacementFlowMgr::loadEventFlows() { + for (int i = 0; i < mFlowArray.size(); i++) { + auto& flow = mFlowArray[i]; + flow.evfl_name = sFlowResNames[i]; + flow.idx = 0xFF; + + sead::FixedSafeString<128> path; + path.format("EventFlow/%s", flow.evfl_name.cstr()); + ksys::res::LoadRequest req; + req.mRequester = "AutoPlacementFlow"; + + flow.handle.requestLoad(path, &req); + } + + for (int i = 0; i < mFlowNearArray.size(); i++) { + auto& flow = mFlowNearArray[i]; + flow.evfl_name = sFlowResNames[i]; + flow.idx = 0xFF; + + sead::FixedSafeString<128> path; + path.format("EventFlow/%s", flow.evfl_name.cstr()); + ksys::res::LoadRequest req; + req.mRequester = "AutoPlacementFlow"; + + flow.handle.requestLoad(path, &req); + } +} + +} // namespace uking |
