Match two small functions in PauseMenuDataMgr (#86)

This commit is contained in:
savage13 2022-02-26 09:01:44 -05:00 committed by GitHub
parent c804527d7a
commit 9d35c385f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 2 deletions

View File

@ -56412,8 +56412,8 @@ Address,Quality,Size,Name
0x000000710097a4fc,O,000204,_ZNK5uking2ui16PauseMenuDataMgr21countAlreadyDyedArmorEv
0x000000710097a5c8,U,000516,PauseMenuDataMgr::armorShopStuff
0x000000710097a7cc,U,000376,PauseMenuDataMgr::x_31
0x000000710097a944,U,000184,PauseMenuDataMgr::x_32
0x000000710097a9fc,U,000092,PauseMenuDataMgr::x_33
0x000000710097a944,O,000184,_ZN5uking2ui16PauseMenuDataMgr11equipWeaponEPNS0_9PouchItemE
0x000000710097a9fc,O,000092,_ZN5uking2ui16PauseMenuDataMgr7unequipEPNS0_9PouchItemE
0x000000710097aa58,O,000124,_ZNK5uking2ui16PauseMenuDataMgr23getNextGrabbedItemIndexEv
0x000000710097aad4,O,000096,_ZNK5uking2ui16PauseMenuDataMgr18canGrabAnotherItemEv
0x000000710097ab34,U,000616,PauseMenuDataMgr::__auto3

Can't render this file because it is too large.

View File

@ -2749,4 +2749,28 @@ void PauseMenuDataMgr::updateDivineBeastClearFlags(int num_cleared_beasts) {
}
}
void PauseMenuDataMgr::equipWeapon(PouchItem* weapon) {
if (!weapon) {
return;
}
auto lock = sead::makeScopedLock(mCritSection);
auto* item = mItemLists.list1.nth(0);
while (item && item->isWeapon()) {
if (item->mType == weapon->mType) {
item->mEquipped = false;
}
item = mItemLists.list1.next(item);
}
weapon->mEquipped = true;
saveToGameData(mItemLists.list1);
}
void PauseMenuDataMgr::unequip(PouchItem* item) {
if (!item) {
return;
}
auto lock = sead::makeScopedLock(mCritSection);
item->mEquipped = false;
saveToGameData(mItemLists.list1);
}
} // namespace uking::ui

View File

@ -363,6 +363,9 @@ public:
PouchCategory getCategoryToSort() const { return mCategoryToSort; }
void equipWeapon(PouchItem* weapon);
void unequip(PouchItem* item);
private:
// TODO: rename
struct GrabbedItemInfo {