diff options
| author | Léo Lam <leo@leolam.fr> | 2025-06-22 23:48:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-22 23:48:19 +0200 |
| commit | 5dda15014c0ae35c31b7b0dc6c56c828752baba1 (patch) | |
| tree | 3db6e21a0025e9a0b20d88199e781c95c7947878 /src/Game/Actor/actCreatePlayerEquipActorMgr.cpp | |
| parent | 71530ca9b1b9a5d974f28a97ebe52ae8b29c208f (diff) | |
| parent | 3d920314042fc84ccffc5f4b503e85e3b77fc4a2 (diff) | |
Merge pull request #141 from Pistonight/cpeam
CreatePlayerEquipActorMgr
Diffstat (limited to 'src/Game/Actor/actCreatePlayerEquipActorMgr.cpp')
| -rw-r--r-- | src/Game/Actor/actCreatePlayerEquipActorMgr.cpp | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/Game/Actor/actCreatePlayerEquipActorMgr.cpp b/src/Game/Actor/actCreatePlayerEquipActorMgr.cpp deleted file mode 100644 index b9cccf34..00000000 --- a/src/Game/Actor/actCreatePlayerEquipActorMgr.cpp +++ /dev/null @@ -1,121 +0,0 @@ -#include "Game/Actor/actCreatePlayerEquipActorMgr.h" -#include <prim/seadStringBuilder.h> -#include "Game/Actor/actWeapon.h" -#include "Game/UI/uiPauseMenuDataMgr.h" -#include "KingSystem/ActorSystem/actInfoCommon.h" -#include "KingSystem/ActorSystem/actInfoData.h" - -namespace uking::act { - -SEAD_SINGLETON_DISPOSER_IMPL(CreatePlayerEquipActorMgr) - -void CreatePlayerEquipActorMgr::requestCreateDefaultArmor(s32 slot, - const sead::SafeString& caller) { - switch (slot) { - case (int)CreateEquipmentSlot::ArmorHead: - doRequestCreateArmor(3, "Armor_Default_Head", -1, caller); - break; - case (int)CreateEquipmentSlot::ArmorUpper: - doRequestCreateArmor(4, "Armor_Default_Upper", -1, caller); - break; - case (int)CreateEquipmentSlot::ArmorLower: - doRequestCreateArmor(5, "Armor_Default_Lower", -1, caller); - break; - default: - break; - } -} - -void CreatePlayerEquipActorMgr::requestCreateArmorHeadB(const sead::SafeString& name, int dye_color, - const sead::SafeString& caller) { - sead::FixedStringBuilder<0x40> s; - s.copy(name.cstr()); - s.append("_B", -1); - doRequestCreateArmor((int)CreateEquipmentSlot::ArmorHead, s, dye_color, caller); -} - -bool needsArmorHeadB(const sead::SafeString& armor_head_name, - const sead::SafeString& armor_upper_name) { - if (armor_upper_name.isEmpty()) { - return false; - } - if (!ksys::act::InfoData::instance() || - ksys::act::getArmorHeadMantleType(ksys::act::InfoData::instance(), - armor_head_name.cstr()) != 2) { - return false; - } - if (!ksys::act::InfoData::instance() || - ksys::act::getArmorUpperUseMantleType(ksys::act::InfoData::instance(), - armor_upper_name.cstr()) == 0) { - return false; - } - return true; -} - -CreateEquipmentSlot getCreateEquipmentSlot(ui::PouchItemType type) { - switch (type) { - case ui::PouchItemType::Sword: - return CreateEquipmentSlot::WeaponSword; - case ui::PouchItemType::Bow: - return CreateEquipmentSlot::WeaponBow; - case ui::PouchItemType::Shield: - return CreateEquipmentSlot::WeaponShield; - case ui::PouchItemType::ArmorHead: - return CreateEquipmentSlot::ArmorHead; - case ui::PouchItemType::ArmorUpper: - return CreateEquipmentSlot::ArmorUpper; - case ui::PouchItemType::ArmorLower: - return CreateEquipmentSlot::ArmorLower; - default: - return CreateEquipmentSlot::Length; - } -} - -ui::EquipmentSlot getEquipmentSlot(CreateEquipmentSlot slot) { - switch (slot) { - case CreateEquipmentSlot::WeaponSword: - return ui::EquipmentSlot::WeaponRight; - case CreateEquipmentSlot::WeaponShield: - return ui::EquipmentSlot::WeaponLeft; - case CreateEquipmentSlot::WeaponBow: - return ui::EquipmentSlot::WeaponBow; - case CreateEquipmentSlot::ArmorHead: - return ui::EquipmentSlot::ArmorHead; - case CreateEquipmentSlot::ArmorUpper: - return ui::EquipmentSlot::ArmorUpper; - case CreateEquipmentSlot::ArmorLower: - return ui::EquipmentSlot::ArmorLower; - default: - return ui::EquipmentSlot::Invalid; - } -} - -bool createEquipmentFromItem(const ui::PouchItem* item, const sead::SafeString& caller) { - if (!item) { - return false; - } - - auto* mgr = CreatePlayerEquipActorMgr::instance(); - if (!mgr) { - return false; - } - - auto type = item->getType(); - auto slot = getCreateEquipmentSlot(type); - int slot_idx = (int)slot; - - if (slot <= CreateEquipmentSlot::WeaponBow) { - WeaponModifierInfo modifier(*item); - mgr->doRequestCreateWeapon(slot_idx, item->getName(), item->getValue(), &modifier, caller); - return true; - } - - if (slot <= CreateEquipmentSlot::ArmorLower) { - mgr->doRequestCreateArmor(slot_idx, item->getName(), item->getValue(), caller); - return true; - } - - return false; -} - -} // namespace uking::act |
