I sure hope this const doesn't break everything

This commit is contained in:
robojumper
2025-12-25 00:04:18 +01:00
parent 98f3ce5b39
commit 14561ef318
11 changed files with 990 additions and 110 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ public:
mCalibrationPointCenterEnabled = val;
}
dCursorHitCheck_c *getHitCheck() {
dCursorHitCheck_c *getHitCheck() const {
return mCursorIf.getHit();
}
+2
View File
@@ -23,6 +23,8 @@ bool swapAdventurePouchItems(s32 slot1, s32 slot2);
bool swapStockAndPouchItems(s32 pouchSlot, s32 stockSlot);
bool swapStockItems(s32 slot1, s32 slot2);
void sortStock();
#define ITEM_CHECK_SLOT_NONE 60
u16 itemCheckFindItemSlot(ITEM_ID item);
+1 -1
View File
@@ -1520,7 +1520,7 @@ enum StoryFlags_e {
/** [Set when talking to Strich]
* Story Flag #300 (0x012C) - JP 805ACD7D 0x40 / US 805A9AFD 0x40
*/
STORYFLAG_300,
STORYFLAG_TALKED_TO_STRICH,
/** [Kukiel screams]
* Story Flag #301 (0x012D) - JP 805ACD7D 0x80 / US 805A9AFD 0x80
+47 -15
View File
@@ -11,6 +11,7 @@
#include "d/lyt/d_lyt_deposit_stock.h"
#include "d/lyt/d_textbox.h"
#include "d/lyt/d_window.h"
#include "m/m_vec.h"
#include "nw4r/lyt/lyt_bounding.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
@@ -32,6 +33,11 @@ public:
void setModeCheck();
void setModeChange(bool unk);
void setModeArrangement();
void setModeReverseChange();
void setModeScroll(bool leftRight, bool viaButton);
void setModeRecycle();
void setModeArrangementOut();
void setModeOut();
bool isSellableItem() const {
return field_0x19524 && mItemSellValue > 0;
@@ -53,6 +59,30 @@ public:
return mIsIdle;
}
bool isPointingAtToStockBounding() const {
return mIsPointingAtToStockBounding;
}
bool isPointingAtToPouchBounding() const {
return mIsPointingAtToPouchBounding;
}
bool getField_0x19523() const {
return field_0x19523;
}
bool getField_0x19525() const {
return field_0x19525;
}
bool getField_0x1952B() const {
return field_0x1952B;
}
bool isHoldingItem() const {
return mCurrentlyHoldingItemSlot >= 0;
}
private:
static const s32 NUM_STOCKS = 3;
static const s32 STOCK_ACTIVE = 0;
@@ -65,28 +95,32 @@ private:
static const s32 NUM_PAGES = 5;
void setPouchItemsVisible(bool visible);
void fn_802AA7E0();
void buildSubpanes();
void fn_802AD370();
void fn_802AAFC0();
void fn_802AB210();
void checkPointToStock();
void handleNavOrPoint();
void checkForItemPickupOrDrop();
void fn_802ABB60();
void fn_802AB080();
void checkPointToPouch();
void fn_802AC3C0();
void fn_802AD4C0();
void loadItemText(s32 itemId, s32 where);
void fn_802AC670();
void fn_802AC290(s32);
void fn_802AD460();
void loadItems(s32 hiddenSlot);
void loadStockItems(s32 hiddenSlot);
s32 getItemSellValueFrame(s32 value);
void fn_802AC0E0(s32);
void fn_802AAEC0(s32);
void loadPouchItem(s32 slot);
void fn_8018ADA0(s32);
void fn_802AAB30();
void loadInitialState();
void fn_802AD400();
void navigateOffIcon();
s32 checkNav();
void fn_802AC980();
void fn_802AC360(s32);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeNone);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeIn);
@@ -115,9 +149,7 @@ private:
/* 0x00A3C */ dWindow_c *mpWindows[2];
/* 0x00A44 */ dTextBox_c *mpSizeBoxes[2];
/* 0x00A4C */ dCursorHitCheckLyt_c mCsHitCheck;
u8 _0x00002[0x8];
/* 0x00A74 */ mVec2_c mCsPosition;
/* 0x00A7C */ dLytDepositStock_c mStock[NUM_STOCKS];
/* 0x143F0 */ dLytDepositBoxCursor_c mCursor;
/* 0x14D48 */ dLytCommonIconItem_c mPouchItems[RING_NUM_ITEMS];
@@ -127,8 +159,8 @@ private:
/* 0x19494 */ d2d::SubPaneList mRingList;
/* 0x194A0 */ d2d::SubPaneListNode mRingNodes[RING_NUM_ITEMS];
/* 0x19520 */ bool mIsIdle;
/* 0x19521 */ bool field_0x19521;
/* 0x19522 */ bool field_0x19522;
/* 0x19521 */ bool mIsPointingAtToStockBounding;
/* 0x19522 */ bool mIsPointingAtToPouchBounding;
/* 0x19523 */ bool field_0x19523;
/* 0x19524 */ bool field_0x19524;
/* 0x19525 */ bool field_0x19525;
@@ -189,9 +221,9 @@ private:
/* 0x08C */ UI_STATE_MGR_DECLARE(dLytDeposit_c);
/* 0x0C8 */ d2d::ResAccIf_c mResAcc;
/* 0x438 */ dLytDepositMain_c mMain;
/* 0x19998 */ bool field_0x19998;
/* 0x19999 */ bool field_0x19999;
/* 0x1999A */ bool field_0x1999A;
/* 0x19998 */ bool mInRequest;
/* 0x19999 */ bool mIsMovingOut;
/* 0x1999A */ bool mScrollViaArrowButton;
};
#endif
+3 -3
View File
@@ -14,7 +14,7 @@ public:
};
public:
dLytDepositBoxCursor_c() : mSlot(-1), field_0x950(0), mItemLocation(0) {}
dLytDepositBoxCursor_c() : mSlot(-1), mItem(0), mItemLocation(0) {}
/* vt 0x0C */ virtual bool build(d2d::ResAccIf_c *resAcc) override;
/* vt 0x10 */ virtual bool remove() override;
/* vt 0x14 */ virtual bool execute() override;
@@ -33,7 +33,7 @@ public:
bool draw();
void init(s32 location, s32 slot, s32 item, bool unk);
void updateSlot(s32 location, s32 slot, s32 unk, bool unk2);
void updateSlot(s32 location, s32 slot, s32 item, bool unk2);
void fn_801580A0();
bool isVisible() const {
@@ -58,7 +58,7 @@ private:
/* 0x948 */ bool mIsVisible;
/* 0x948 */ bool field_0x949;
/* 0x94C */ s32 mSlot;
/* 0x950 */ s32 field_0x950;
/* 0x950 */ s32 mItem;
/* 0x954 */ s32 mItemLocation;
};
+21 -2
View File
@@ -79,6 +79,10 @@ public:
return mIsModeSell;
}
bool isModeFinish() const {
return mIsModeFinish;
}
void disableModeSort() {
mIsModeSort = false;
}
@@ -91,7 +95,11 @@ public:
mIsModeSell = false;
}
void returnToNormalMode() {
void disableModeFinish() {
mIsModeFinish = false;
}
void returnToNoneMode() {
mIsModeFinish = false;
mIsModeSell = false;
mIsModeSort = false;
@@ -99,6 +107,13 @@ public:
mSavedArrowDirection = ARROW_NONE;
}
void disableSpecialModes() {
mIsModeSell = false;
mIsModeFinish = false;
mIsModeSort = false;
mSavedArrowDirection = ARROW_NONE;
}
u8 getItem(s32 idx) const {
return mItemIds[idx];
}
@@ -127,6 +142,10 @@ public:
return mArrowDirection;
}
void setMainStock(bool b) {
mIsMainStock = b;
}
//private:
static const s32 NUM_ICONS_PER_PAGE = 12;
static const s32 NUM_PAGES = 5;
@@ -161,7 +180,7 @@ public:
/* 0x684A */ bool mIsSortBlocked;
/* 0x684B */ bool field_0x684B;
/* 0x684C */ bool field_0x684C;
/* 0x684D */ bool field_0x684D;
/* 0x684D */ bool mIsMainStock;
/* 0x684E */ bool field_0x684E;
/* 0x6850 */ s32 mCurrentNavTarget;
/* 0x6854 */ UNKWORD field_0x6854;