summaryrefslogtreecommitdiff
path: root/src/Game/UI
diff options
context:
space:
mode:
authorsavage13 <savage13@gmail.com>2022-02-26 09:01:44 -0500
committerGitHub <noreply@github.com>2022-02-26 15:01:44 +0100
commit9d35c385f9ed410a409bcedf7c319e37c6a6f074 (patch)
tree142d73f0ecd4b8b6c3a4696080b36b96968ff076 /src/Game/UI
parentc804527d7a247aca80b88de56191bb13938de38a (diff)
Match two small functions in PauseMenuDataMgr (#86)
Diffstat (limited to 'src/Game/UI')
-rw-r--r--src/Game/UI/uiPauseMenuDataMgr.cpp24
-rw-r--r--src/Game/UI/uiPauseMenuDataMgr.h3
2 files changed, 27 insertions, 0 deletions
diff --git a/src/Game/UI/uiPauseMenuDataMgr.cpp b/src/Game/UI/uiPauseMenuDataMgr.cpp
index b3997c5e..3d1f6569 100644
--- a/src/Game/UI/uiPauseMenuDataMgr.cpp
+++ b/src/Game/UI/uiPauseMenuDataMgr.cpp
@@ -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
diff --git a/src/Game/UI/uiPauseMenuDataMgr.h b/src/Game/UI/uiPauseMenuDataMgr.h
index 88c4235f..a141fce9 100644
--- a/src/Game/UI/uiPauseMenuDataMgr.h
+++ b/src/Game/UI/uiPauseMenuDataMgr.h
@@ -363,6 +363,9 @@ public:
PouchCategory getCategoryToSort() const { return mCategoryToSort; }
+ void equipWeapon(PouchItem* weapon);
+ void unequip(PouchItem* item);
+
private:
// TODO: rename
struct GrabbedItemInfo {