d_lyt_deposit OK

This commit is contained in:
robojumper
2025-12-25 19:46:37 +01:00
parent 2b2206cc4c
commit 72b8b1865f
12 changed files with 751 additions and 345 deletions
+13 -13
View File
@@ -36,12 +36,8 @@ public:
bool requestIn();
bool requestOut();
void unk() {
field_0x6B8 = mPointedAtArrow;
}
s32 getField_0x6B8() const {
return field_0x6B8;
s32 getPointedAtArrow() const {
return mPointedAtArrow;
}
bool isChangingState() const {
@@ -52,14 +48,18 @@ public:
return mpBoundings[idx];
}
void setField_0x6B8(s32 v) {
field_0x6B8 = v;
s32 getActiveArrow() const {
return mActiveArrow;
}
void setActiveArrow(s32 v) {
mActiveArrow = v;
}
void setBackwards(bool b) {
mBackwards = b;
}
bool fn_80168760();
bool triggerArrowPress();
void setTranslate(const mVec2_c *);
private:
@@ -67,7 +67,7 @@ private:
void unbindAt(s32);
void tickDown(d2d::AnmGroup_c *);
void checkPointAtPane();
/* 0x04 */ UI_STATE_MGR_DECLARE(dLytCommonArrow_c);
/* 0x40 */ d2d::LytBase_c mLytBase;
d2d::ResAccIf_c mResAcc;
@@ -76,9 +76,9 @@ private:
/* 0x6A8 */ nw4r::lyt::Bounding *mpBoundings[2];
/* 0x6B0 */ s32 mType;
/* 0x6B4 */ s32 mPointedAtArrow;
/* 0x6B8 */ s32 field_0x6B8;
/* 0x6BC */ s32 field_0x6BC;
/* 0x6C0 */ s32 field_0x6C0;
/* 0x6B8 */ s32 mActiveArrow;
/* 0x6BC */ s32 mLastActiveArrow;
/* 0x6C0 */ s32 mTriggeredArrow;
/* 0x6C4 */ s32 mTimer;
/* 0x6C8 */ bool mInRequested;
/* 0x6C9 */ bool mOutRequested;
+34 -23
View File
@@ -72,7 +72,7 @@ public:
}
bool getField_0x19525() const {
return field_0x19525;
return mIsSortActive;
}
bool getField_0x1952B() const {
@@ -94,33 +94,39 @@ private:
static const s32 NUM_ICONS_PER_PAGE = 12;
static const s32 NUM_PAGES = 5;
void setPouchItemsVisible(bool visible);
void buildSubpanes();
void fn_802AD370();
void loadInitialState();
void checkPouchItems();
void checkPointToStock();
void handleNavOrPoint();
void checkForItemPickupOrDrop();
void checkSellOrFinish();
void checkPointToPouch();
void fn_802AC3C0();
void fn_802AD4C0();
void loadItemText(s32 itemId, s32 where);
void fn_802AC670();
void returnCursorAfterCancellingSell(s32 targetSlot);
void fn_802AD460();
void loadStockItems(s32 hiddenSlot);
s32 getItemSellValueFrame(s32 value);
void selectPouchSlot(s32 slot);
void loadPouchItem(s32 slot);
void fn_8018ADA0(s32);
void loadInitialState();
void fn_802AD400();
void navigateOffIcon();
void checkSort();
void checkArrows();
s32 checkNav();
void fn_802AC980();
s32 calcNumDigits(s32);
void loadItemText(s32 itemId, s32 where);
void loadStockItems(s32 hiddenSlot);
void loadPouchItem(s32 slot);
void loadPageText();
void setPouchItemsVisible(bool visible);
void selectPouchSlot(s32 slot);
void navigateOffIcon();
void updateStockCursor();
void showCursor();
void hideCursor();
void loadCursor();
void returnCursorAfterCancellingSell(s32 idx);
void returnCursorAfterCancellingSort(s32 idx);
void returnCursorAfterCancellingArrow(s32 idx);
s32 getItemSellValueFrame(s32 value);
s32 calcNumDigits(s32 value);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeNone);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeIn);
@@ -133,6 +139,8 @@ private:
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeArrangementOut);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeOut);
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytDepositMain_c);
/* 0x00004 */ UI_STATE_MGR_DECLARE(dLytDepositMain_c);
/* 0x00040 */ d2d::LytBase_c mLyt;
/* 0x000D0 */ d2d::AnmGroup_c mAnm[36];
@@ -163,7 +171,7 @@ private:
/* 0x19522 */ bool mIsPointingAtToPouchBounding;
/* 0x19523 */ bool mIsFinishActive;
/* 0x19524 */ bool mIsSellActive;
/* 0x19525 */ bool field_0x19525;
/* 0x19525 */ bool mIsSortActive;
/* 0x19526 */ bool field_0x19526;
/* 0x19527 */ bool field_0x19527;
/* 0x19528 */ bool field_0x19528;
@@ -218,6 +226,9 @@ private:
STATE_FUNC_DECLARE(dLytDeposit_c, ArrangementOut);
STATE_FUNC_DECLARE(dLytDeposit_c, Out);
STATE_MGR_DEFINE_UTIL_ISSTATE(dLytDeposit_c);
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytDeposit_c);
/* 0x08C */ UI_STATE_MGR_DECLARE(dLytDeposit_c);
/* 0x0C8 */ d2d::ResAccIf_c mResAcc;
/* 0x438 */ dLytDepositMain_c mMain;
+4 -4
View File
@@ -32,9 +32,9 @@ public:
bool draw();
void init(s32 location, s32 slot, s32 item, bool unk);
void updateSlot(s32 location, s32 slot, s32 item, bool unk2);
void fn_801580A0();
void init(s32 location, s32 slot, s32 item, bool isSell);
void updateSlot(s32 location, s32 slot, s32 item, bool isSell);
void activateSell();
bool isVisible() const {
return mIsVisible;
@@ -56,7 +56,7 @@ private:
/* 0x930 */ d2d::SubPaneList mSubpaneList;
/* 0x938 */ d2d::SubPaneListNode mNode;
/* 0x948 */ bool mIsVisible;
/* 0x948 */ bool field_0x949;
/* 0x948 */ bool mIsSellMode;
/* 0x94C */ s32 mSlot;
/* 0x950 */ s32 mItem;
/* 0x954 */ s32 mItemLocation;
+11 -9
View File
@@ -2,19 +2,13 @@
#define D_LYT_DEPOSIT_STOCK_H
#include "d/lyt/d2d.h"
#include "d/lyt/d_lyt_common_arrow.h"
#include "d/lyt/d_lyt_common_icon_item.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
class dLytDepositStock_c : public d2d::dSubPane {
public:
enum ArrowDirection_e {
ARROW_LEFT,
ARROW_RIGHT,
ARROW_NONE,
};
enum NavMode_e {
NAV_ITEM,
NAV_SELL,
@@ -104,14 +98,14 @@ public:
mIsModeSell = false;
mIsModeSort = false;
mIsModePouch = false;
mSavedArrowDirection = ARROW_NONE;
mSavedArrowDirection = dLytCommonArrow_c::ARROW_NONE;
}
void disableSpecialModes() {
mIsModeSell = false;
mIsModeFinish = false;
mIsModeSort = false;
mSavedArrowDirection = ARROW_NONE;
mSavedArrowDirection = dLytCommonArrow_c::ARROW_NONE;
}
u8 getItem(s32 idx) const {
@@ -142,6 +136,14 @@ public:
return mArrowDirection;
}
s32 getSavedArrowDirection() const {
return mSavedArrowDirection;
}
void setSavedArrowDirection(s32 dir) {
mSavedArrowDirection = dir;
}
void setMainStock(bool b) {
mIsMainStock = b;
}