summaryrefslogtreecommitdiff
path: root/src/Game/Actor/actPlayerCreateUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Game/Actor/actPlayerCreateUtils.cpp')
-rw-r--r--src/Game/Actor/actPlayerCreateUtils.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Game/Actor/actPlayerCreateUtils.cpp b/src/Game/Actor/actPlayerCreateUtils.cpp
new file mode 100644
index 00000000..0ba229e7
--- /dev/null
+++ b/src/Game/Actor/actPlayerCreateUtils.cpp
@@ -0,0 +1,25 @@
+#include "Game/Actor/actPlayerCreateUtils.h"
+#include "Game/Actor/actPlayerCreateMgr.h"
+#include "Game/Actor/actWeapon.h"
+#include "Game/UI/uiPauseMenuDataMgr.h"
+#include "KingSystem/ActorSystem/Profiles/actWeaponBase.h"
+
+namespace uking::act {
+
+void requestCreateWeaponByRawLife(const char* actor_class, const sead::Matrix34f& matrix, f32 scale,
+ sead::Heap* heap, ksys::act::BaseProcHandle* handle, s32 life,
+ bool is_player_put, const WeaponModifierInfo* modifier,
+ s32 task_lane_id, s32 res_lane_id) {
+ ksys::act::InstParamPack params;
+ params->add(is_player_put, "IsPlayerPut");
+ if (modifier) {
+ modifier->addModifierParams(params);
+ }
+ params->add(true, "IsWeaponCreateByRawLife");
+ params->addResourceLane(res_lane_id);
+
+ ksys::act::WeaponBase::requestCreateWeaponActor(actor_class, matrix, scale, heap, handle, life,
+ &params, task_lane_id);
+}
+
+} // namespace uking::act