summaryrefslogtreecommitdiff
path: root/src/Game/UI/uiPauseMenuDataMgr.h
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-01-09 15:45:07 +0100
committerLéo Lam <leo@leolam.fr>2021-01-10 02:14:31 +0100
commit29817a3e21f73d061f68e80d372b21060abd0efd (patch)
tree753617ce408b1f68002ea18f529e9429c2964c53 /src/Game/UI/uiPauseMenuDataMgr.h
parent65261d02a6f119ea788396ebe0c287e4080873bf (diff)
uking/act: Add most of the weapon modifier utils
Diffstat (limited to 'src/Game/UI/uiPauseMenuDataMgr.h')
-rw-r--r--src/Game/UI/uiPauseMenuDataMgr.h38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/Game/UI/uiPauseMenuDataMgr.h b/src/Game/UI/uiPauseMenuDataMgr.h
index 23b4fbb1..c6026e80 100644
--- a/src/Game/UI/uiPauseMenuDataMgr.h
+++ b/src/Game/UI/uiPauseMenuDataMgr.h
@@ -89,6 +89,21 @@ struct CookTagInfo {
class PouchItem {
public:
+ struct CookData {
+ int mStaminaRecoverX;
+ int mStaminaRecoverY;
+ int mCookEffect1;
+ sead::Vector2f mCookEffect0;
+ };
+
+ struct WeaponData {
+ u32 mAddValue;
+ u32 b;
+ u32 mAddType;
+ u32 d;
+ u32 e;
+ };
+
PouchItem();
virtual ~PouchItem() = default;
@@ -103,26 +118,19 @@ public:
s32 getValue() const { return mValue; }
void setValue(s32 value) { mValue = value; }
+ // Only valid if this is not a weapon.
+ CookData& getCookData() { return mData.cook; }
+ const CookData& getCookData() const { return mData.cook; }
+
+ // Only valid if this is a weapon.
+ WeaponData& getWeaponData() { return mData.weapon; }
+ const WeaponData& getWeaponData() const { return mData.weapon; }
+
static auto getListNodeOffset() { return offsetof(PouchItem, mListNode); }
private:
friend class PauseMenuDataMgr;
- struct CookData {
- int mStaminaRecoverX;
- int mStaminaRecoverY;
- int mCookEffect1;
- sead::Vector2f mCookEffect0;
- };
-
- struct WeaponData {
- u32 mAddValue;
- u32 b;
- u32 mAddType;
- u32 d;
- u32 e;
- };
-
union Data {
CookData cook;
WeaponData weapon;