summaryrefslogtreecommitdiff
path: root/src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2022-03-15 22:52:36 -0700
committertheo3 <arisstephenson2@gmail.com>2022-03-16 17:54:50 -0700
commit3d1cb480c2392a259ad14d1de9de9ea18d810381 (patch)
treeb3b080177785181bacd8fcbc830393c26b60fa9e /src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp
parent20f0a07ab0b8f2945a479c4f368373403ce59e4d (diff)
auto placement work
Diffstat (limited to 'src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp')
-rw-r--r--src/KingSystem/Map/mapAutoPlacementFlowMgr.cpp61
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