diff options
| author | theo3 <arisstephenson2@gmail.com> | 2022-03-15 22:52:36 -0700 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2022-03-16 17:54:50 -0700 |
| commit | 3d1cb480c2392a259ad14d1de9de9ea18d810381 (patch) | |
| tree | b3b080177785181bacd8fcbc830393c26b60fa9e /src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp | |
| parent | 20f0a07ab0b8f2945a479c4f368373403ce59e4d (diff) | |
auto placement work
Diffstat (limited to 'src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp')
| -rw-r--r-- | src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp b/src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp new file mode 100644 index 00000000..3bef06c4 --- /dev/null +++ b/src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp @@ -0,0 +1,61 @@ +#include "KingSystem/Map/mapAutoPlacementFlowMgr.h" +#include <container/seadBuffer.h> +#include <evfl/ResActor.h> +#include "KingSystem/Resource/resLoadRequest.h" + +namespace ksys::map { + +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()); + 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()); + res::LoadRequest req; + req.mRequester = "AutoPlacementFlow"; + + flow.handle.requestLoad(path, &req); + } +} + +} // namespace ksys::map |
