More deposit

This commit is contained in:
robojumper
2025-12-23 22:51:06 +01:00
parent f31f539b7b
commit 98f3ce5b39
14 changed files with 1147 additions and 141 deletions
+2 -2
View File
@@ -1664,7 +1664,7 @@ d/lyt/d_lyt_demo_dowsing.cpp:
d/lyt/d_lyt_shop.cpp:
.text start:0x802A17D0 end:0x802A7FD8 align:16
.ctors start:0x804DB884 end:0x804DB888
.rodata start:0x804EF130 end:0x804EF970
.rodata start:0x804EF130 end:0x804EF8B0
.data start:0x8053BF50 end:0x8053CFC8
.sbss start:0x805759B0 end:0x805759B8
.bss start:0x805B67C0 end:0x805B6C18
@@ -1672,7 +1672,7 @@ d/lyt/d_lyt_shop.cpp:
d/lyt/d_lyt_deposit.cpp:
.text start:0x802A7FE0 end:0x802B02C8 align:16
.ctors start:0x804DB888 end:0x804DB88C
.rodata start:0x804EF970 end:0x804EFA90
.rodata start:0x804EF8B0 end:0x804EFA90
.data start:0x8053CFC8 end:0x8053DFC8
.sdata start:0x80573C10 end:0x80573C30
.sbss start:0x805759B8 end:0x805759D0
+41 -41
View File
@@ -9121,7 +9121,7 @@ __sinit_\d_lyt_save_msg_window_cpp = .text:0x80166540; // type:function size:0x3
__dt__34sFStateID_c<19dLytSaveMsgWindow_c>Fv = .text:0x80166880; // type:function size:0x58 scope:weak
isSameName__34sFStateID_c<19dLytSaveMsgWindow_c>CFPCc = .text:0x801668E0; // type:function size:0x88 scope:weak
fn_80166970 = .text:0x80166970; // type:function size:0x58
fn_801669D0 = .text:0x801669D0; // type:function size:0x4
convertLytPouchSlot2__Fl = .text:0x801669D0; // type:function size:0x4
hasPouchSlot__Flb = .text:0x801669E0; // type:function size:0x50
getPouchItemIdForIndex__Flb = .text:0x80166A30; // type:function size:0x5C
getPouchItemForSlot__Flb = .text:0x80166A90; // type:function size:0x70
@@ -9204,7 +9204,7 @@ executeState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFState
getStateID__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801685C0; // type:function size:0x10 scope:weak
draw__17dLytCommonArrow_cFv = .text:0x801685D0; // type:function size:0x34
setState__17dLytCommonArrow_cFl = .text:0x80168610; // type:function size:0x24
setTranslate__17dLytCommonArrow_cFPC3Vec = .text:0x80168640; // type:function size:0x34
setTranslate__17dLytCommonArrow_cFPC7mVec2_c = .text:0x80168640; // type:function size:0x34
requestIn__17dLytCommonArrow_cFv = .text:0x80168680; // type:function size:0x70
requestOut__17dLytCommonArrow_cFv = .text:0x801686F0; // type:function size:0x70
fn_80168760__17dLytCommonArrow_cFv = .text:0x80168760; // type:function size:0x2C
@@ -10091,9 +10091,9 @@ changeItemPouchExtensionCounter = .text:0x8018AA20; // type:function size:0x10C
getExtraAmmoInPouchByType = .text:0x8018AB30; // type:function size:0x98
getExtraAmmoCapacityByType = .text:0x8018ABD0; // type:function size:0x98
getAdditionalCapacitySizeForItem = .text:0x8018AC70; // type:function size:0x60
fn_8018ACD0 = .text:0x8018ACD0; // type:function size:0xC4
fn_8018ADA0 = .text:0x8018ADA0; // type:function size:0xA0
trySwapAdventurePouchItems = .text:0x8018AE40; // type:function size:0x120
swapStockAndPouchItems__Fll = .text:0x8018ACD0; // type:function size:0xC4
swapStockItems__Fll = .text:0x8018ADA0; // type:function size:0xA0
swapAdventurePouchItems__Fll = .text:0x8018AE40; // type:function size:0x120
fn_8018AF60 = .text:0x8018AF60; // type:function size:0x204
itemCheckFindItemSlot__F7ITEM_ID = .text:0x8018B170; // type:function size:0x60
fn_8018B1D0 = .text:0x8018B1D0; // type:function size:0x60
@@ -16002,49 +16002,49 @@ __dt__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13
__dt__33sFStateFct_c<17dLytDepositMain_c>Fv = .text:0x802A9400; // type:function size:0x6C
__dt__30sFState_c<17dLytDepositMain_c>Fv = .text:0x802A9470; // type:function size:0x58
__ct__18dLytDepositStock_cFv = .text:0x802A94D0; // type:function size:0x138
fn_802A9610 = .text:0x802A9610; // type:function size:0x468
fn_802A9A80 = .text:0x802A9A80; // type:function size:0x1EC
build__17dLytDepositMain_cFPQ23d2d10ResAccIf_c = .text:0x802A9610; // type:function size:0x468
execute__17dLytDepositMain_cFv = .text:0x802A9A80; // type:function size:0x1EC
executeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802A9C70; // type:function size:0x10
fn_802A9C80 = .text:0x802A9C80; // type:function size:0x4C
fn_802A9CD0 = .text:0x802A9CD0; // type:function size:0x1A8
fn_802A9E80 = .text:0x802A9E80; // type:function size:0x50
draw__17dLytDepositMain_cFv = .text:0x802A9C80; // type:function size:0x4C
remove__17dLytDepositMain_cFv = .text:0x802A9CD0; // type:function size:0x1A8
setModeNone__17dLytDepositMain_cFv = .text:0x802A9E80; // type:function size:0x50
changeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802A9ED0; // type:function size:0x10
fn_802A9EE0 = .text:0x802A9EE0; // type:function size:0x19C
fn_802AA080 = .text:0x802AA080; // type:function size:0x84
fn_802AA110 = .text:0x802AA110; // type:function size:0xE4
fn_802AA200 = .text:0x802AA200; // type:function size:0x90
setModeIn__17dLytDepositMain_cFv = .text:0x802A9EE0; // type:function size:0x19C
setModeCheck__17dLytDepositMain_cFv = .text:0x802AA080; // type:function size:0x84
setModeChange__17dLytDepositMain_cFb = .text:0x802AA110; // type:function size:0xE4
setModeArrangement__17dLytDepositMain_cFv = .text:0x802AA200; // type:function size:0x90
fn_802AA290 = .text:0x802AA290; // type:function size:0x13C
fn_802AA3D0 = .text:0x802AA3D0; // type:function size:0xFC
fn_802AA4D0 = .text:0x802AA4D0; // type:function size:0xEC
fn_802AA5C0 = .text:0x802AA5C0; // type:function size:0xB0
fn_802AA670 = .text:0x802AA670; // type:function size:0xF8
getStateID__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AA770; // type:function size:0x10
fn_802AA780 = .text:0x802AA780; // type:function size:0x5C
fn_802AA7E0 = .text:0x802AA7E0; // type:function size:0x348
fn_802AAB30 = .text:0x802AAB30; // type:function size:0x388
fn_802AAEC0 = .text:0x802AAEC0; // type:function size:0xF8
fn_802AAFC0 = .text:0x802AAFC0; // type:function size:0xB4
fn_802AB080 = .text:0x802AB080; // type:function size:0x188
fn_802AB210 = .text:0x802AB210; // type:function size:0x474
loadItems__17dLytDepositMain_cFl = .text:0x802AA780; // type:function size:0x5C
fn_802AA7E0__17dLytDepositMain_cFv = .text:0x802AA7E0; // type:function size:0x348
fn_802AAB30__17dLytDepositMain_cFv = .text:0x802AAB30; // type:function size:0x388
fn_802AAEC0__17dLytDepositMain_cFl = .text:0x802AAEC0; // type:function size:0xF8
fn_802AAFC0__17dLytDepositMain_cFv = .text:0x802AAFC0; // type:function size:0xB4
fn_802AB080__17dLytDepositMain_cFv = .text:0x802AB080; // type:function size:0x188
fn_802AB210__17dLytDepositMain_cFv = .text:0x802AB210; // type:function size:0x474
fn_802AB690 = .text:0x802AB690; // type:function size:0xB8
fn_802AB750 = .text:0x802AB750; // type:function size:0x2E8
fn_802ABA40 = .text:0x802ABA40; // type:function size:0x114
fn_802ABB60 = .text:0x802ABB60; // type:function size:0x580
fn_802AC0E0 = .text:0x802AC0E0; // type:function size:0x1A8
fn_802AC290 = .text:0x802AC290; // type:function size:0xC4
loadItemText__17dLytDepositMain_cFll = .text:0x802ABA40; // type:function size:0x114
fn_802ABB60__17dLytDepositMain_cFv = .text:0x802ABB60; // type:function size:0x580
fn_802AC0E0__17dLytDepositMain_cFl = .text:0x802AC0E0; // type:function size:0x1A8
fn_802AC290__17dLytDepositMain_cFl = .text:0x802AC290; // type:function size:0xC4
fn_802AC360 = .text:0x802AC360; // type:function size:0x58
fn_802AC3C0 = .text:0x802AC3C0; // type:function size:0x234
fn_802AC3C0__17dLytDepositMain_cFv = .text:0x802AC3C0; // type:function size:0x234
fn_802AC600 = .text:0x802AC600; // type:function size:0x64
fn_802AC670 = .text:0x802AC670; // type:function size:0x304
fn_802AC670__17dLytDepositMain_cFv = .text:0x802AC670; // type:function size:0x304
fn_802AC980 = .text:0x802AC980; // type:function size:0x54
fn_802AC9E0 = .text:0x802AC9E0; // type:function size:0x90
setPouchItemsVisible__17dLytDepositMain_cFb = .text:0x802ACA70; // type:function size:0x80
fn_802ACAF0 = .text:0x802ACAF0; // type:function size:0x85C
fn_802AD350 = .text:0x802AD350; // type:function size:0x18
fn_802AD370 = .text:0x802AD370; // type:function size:0x8C
fn_802AD400 = .text:0x802AD400; // type:function size:0x5C
fn_802AD460 = .text:0x802AD460; // type:function size:0x60
fn_802AD4C0 = .text:0x802AD4C0; // type:function size:0x5C
checkForItemPickupOrDrop__17dLytDepositMain_cFv = .text:0x802ACAF0; // type:function size:0x85C
getItemSellValueFrame__17dLytDepositMain_cFl = .text:0x802AD350; // type:function size:0x18
fn_802AD370__17dLytDepositMain_cFv = .text:0x802AD370; // type:function size:0x8C
fn_802AD400__17dLytDepositMain_cFv = .text:0x802AD400; // type:function size:0x5C
fn_802AD460__17dLytDepositMain_cFv = .text:0x802AD460; // type:function size:0x60
fn_802AD4C0__17dLytDepositMain_cFv = .text:0x802AD4C0; // type:function size:0x5C
initializeState_None__13dLytDeposit_cFv = .text:0x802AD520; // type:function size:0x4
executeState_None__13dLytDeposit_cFv = .text:0x802AD530; // type:function size:0x68
changeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802AD5A0; // type:function size:0x10
@@ -16082,16 +16082,16 @@ __dt__29sFStateFct_c<13dLytDeposit_c>Fv = .text:0x802ADF30; // type:function siz
__dt__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802ADFA0; // type:function size:0xA0
__dt__52sFStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c>Fv = .text:0x802AE040; // type:function size:0xA4
__dt__17dLytDepositMain_cFv = .text:0x802AE0F0; // type:function size:0x390
fn_802AE480 = .text:0x802AE480; // type:function size:0x54
fn_802AE4E0 = .text:0x802AE4E0; // type:function size:0x70
fn_802AE550 = .text:0x802AE550; // type:function size:0xB0
build__13dLytDeposit_cFv = .text:0x802AE480; // type:function size:0x54
create__13dLytDeposit_cFv = .text:0x802AE4E0; // type:function size:0x70
execute__13dLytDeposit_cFv = .text:0x802AE550; // type:function size:0xB0
getStateID__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AE600; // type:function size:0x10
executeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AE610; // type:function size:0x10
fn_802AE620 = .text:0x802AE620; // type:function size:0x78
fn_802AE6A0 = .text:0x802AE6A0; // type:function size:0x50
fn_802AE6F0 = .text:0x802AE6F0; // type:function size:0xE0
fn_802AE7D0 = .text:0x802AE7D0; // type:function size:0x10C
fn_802AE8E0 = .text:0x802AE8E0; // type:function size:0x434
draw__13dLytDeposit_cFv = .text:0x802AE620; // type:function size:0x78
doDelete__13dLytDeposit_cFv = .text:0x802AE6A0; // type:function size:0x50
checkForNavRight__13dLytDeposit_cFv = .text:0x802AE6F0; // type:function size:0xE0
checkForNavLeft__13dLytDeposit_cFv = .text:0x802AE7D0; // type:function size:0x10C
__dt__13dLytDeposit_cFv = .text:0x802AE8E0; // type:function size:0x434
build__29sFStateFct_c<13dLytDeposit_c>FRC12sStateIDIf_c = .text:0x802AED20; // type:function size:0x60
dispose__29sFStateFct_c<13dLytDeposit_c>FRP10sStateIf_c = .text:0x802AED80; // type:function size:0xC
build__33sFStateFct_c<17dLytDepositMain_c>FRC12sStateIDIf_c = .text:0x802AED90; // type:function size:0x60
+11
View File
@@ -26,6 +26,9 @@ public:
void setVisible(bool val) {
mVisible = val;
}
bool isVisible() const {
return mVisible;
}
void setDrawDirectly(bool val) {
mDrawDirectly = val;
}
@@ -52,6 +55,14 @@ public:
mCursorStick.setShouldBeOn(visible);
}
void setCursorStickPriority(u8 priority) {
mCursorStick.setPriority(priority);
}
void setCursorStickPriority2(u8 priority) {
mCursorStick.setPriority2(priority);
}
bool isCursorStickVisible() const {
return mCursorStick.getShouldBeOn();
}
+4
View File
@@ -19,6 +19,10 @@ bool isItemShield(s32 item);
u8 adventurePouchFindItemSlot(ITEM_ID item);
u32 adventurePouchCountItem(ITEM_ID itemId);
bool swapAdventurePouchItems(s32 slot1, s32 slot2);
bool swapStockAndPouchItems(s32 pouchSlot, s32 stockSlot);
bool swapStockItems(s32 slot1, s32 slot2);
#define ITEM_CHECK_SLOT_NONE 60
u16 itemCheckFindItemSlot(ITEM_ID item);
+2 -1
View File
@@ -6,6 +6,7 @@
// vtable order
#include "d/d_cursor_hit_check.h"
// clang-format on
#include "m/m_vec.h"
#include "nw4r/lyt/lyt_bounding.h"
#include "s/s_State.hpp"
@@ -59,9 +60,9 @@ public:
mBackwards = b;
}
bool fn_80168760();
void setTranslate(const mVec2_c *);
private:
void setTranslate(const Vec *);
void displayElement(s32, f32);
void unbindAt(s32);
void tickDown(d2d::AnmGroup_c *);
+3
View File
@@ -23,6 +23,9 @@ public:
static bool drawDirectly();
void setPriority(u8 priority);
void setPriority2(u8 priority) {
mLyt.setPriority(priority);
}
void setTargetPane(const nw4r::lyt::Pane *pane);
void setShouldBeOn(bool value) {
+84 -16
View File
@@ -23,18 +23,71 @@ public:
}
bool build(d2d::ResAccIf_c *resAcc);
bool execute();
bool draw();
bool remove();
void setModeNone();
void setModeIn();
void setModeCheck();
void setModeChange(bool unk);
void setModeArrangement();
bool isSellableItem() const {
return field_0x19524 && mItemSellValue > 0;
}
s32 getArrowDirection() const {
return mStock[STOCK_ACTIVE].getArrowDirection();
}
void setField_0x1952C(bool b) {
field_0x1952C = b;
}
s32 getStateStep() const {
return mStateStep;
}
bool isIdle() const {
return mIsIdle;
}
private:
static const s32 NUM_STOCKS = 3;
static const s32 STOCK_ACTIVE = 0;
static const s32 RING_NUM_ITEMS = 8;
static const s32 SLOT_STOCK_OFFSET = 8;
static const s32 NUM_ICONS_PER_PAGE = 12;
static const s32 NUM_PAGES = 5;
void setPouchItemsVisible(bool visible);
void fn_802AA7E0();
void fn_802AD370();
void fn_802A9E80();
void fn_802AAFC0();
void fn_802AB210();
void fn_802ACAF0();
void checkForItemPickupOrDrop();
void fn_802ABB60();
void fn_802AB080();
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);
s32 getItemSellValueFrame(s32 value);
void fn_802AC0E0(s32);
void fn_802AAEC0(s32);
void fn_8018ADA0(s32);
void fn_802AAB30();
void fn_802AD400();
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeNone);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeIn);
STATE_FUNC_DECLARE(dLytDepositMain_c, ModeCheck);
@@ -65,15 +118,15 @@ private:
u8 _0x00002[0x8];
/* 0x00A7C */ dLytDepositStock_c mStock[3];
/* 0x00A7C */ dLytDepositStock_c mStock[NUM_STOCKS];
/* 0x143F0 */ dLytDepositBoxCursor_c mCursor;
/* 0x14D48 */ dLytCommonIconItem_c mPouchItems[8];
/* 0x14D48 */ dLytCommonIconItem_c mPouchItems[RING_NUM_ITEMS];
/* 0x18D88 */ dLytCommonArrow_c mArrow;
/* 0x19458 */ d2d::SubPaneList mSubpaneList1;
/* 0x19464 */ d2d::SubPaneListNode mNodes1[3];
/* 0x19494 */ d2d::SubPaneList mSubpaneList2;
/* 0x194A0 */ d2d::SubPaneListNode mNodes2[8];
/* 0x19520 */ bool field_0x19520;
/* 0x19458 */ d2d::SubPaneList mStockList;
/* 0x19464 */ d2d::SubPaneListNode mStockNodes[NUM_STOCKS];
/* 0x19494 */ d2d::SubPaneList mRingList;
/* 0x194A0 */ d2d::SubPaneListNode mRingNodes[RING_NUM_ITEMS];
/* 0x19520 */ bool mIsIdle;
/* 0x19521 */ bool field_0x19521;
/* 0x19522 */ bool field_0x19522;
/* 0x19523 */ bool field_0x19523;
@@ -82,32 +135,44 @@ private:
/* 0x19526 */ bool field_0x19526;
/* 0x19527 */ bool field_0x19527;
/* 0x19528 */ bool field_0x19528;
/* 0x19529 */ bool field_0x19529;
/* 0x19529 */ bool mHasScrolledOtherStocks;
/* 0x1952A */ bool field_0x1952A;
/* 0x1952B */ bool field_0x1952B;
/* 0x1952C */ bool field_0x1952C;
/* 0x19530 */ UNKWORD field_0x19530;
/* 0x19534 */ UNKWORD field_0x19534;
/* 0x19538 */ UNKWORD field_0x19538;
/* 0x1953C */ UNKWORD field_0x1953C;
/* 0x19530 */ s32 mCurrentPouchNavTarget;
/* 0x19534 */ s32 mCurrentlyHoldingItemSlot;
/* 0x19538 */ s32 mStateStep;
/* 0x1953C */ s32 mCursorLocation;
/* 0x19540 */ UNKWORD field_0x19540;
/* 0x19544 */ UNKWORD field_0x19544;
/* 0x19544 */ s32 mItemSellValue;
/* 0x19548 */ UNKWORD field_0x19548;
/* 0x1954C */ UNKWORD field_0x1954C;
/* 0x19550 */ UNKWORD field_0x19550;
/* 0x19554 */ UNKWORD field_0x19554;
/* 0x19558 */ u8 mPouchItemIds[8];
/* 0x19558 */ u8 mPouchItemIds[RING_NUM_ITEMS];
};
class dLytDeposit_c : public dLytBase_c {
public:
dLytDeposit_c() : mStateMgr(*this) {}
virtual ~dLytDeposit_c() {
removeLyt();
}
static dLytDeposit_c *GetInstance() {
return sInstance;
}
virtual bool build() override;
virtual int create() override;
virtual int execute() override;
virtual int draw() override;
virtual int doDelete() override;
private:
bool checkForNavRight();
bool checkForNavLeft();
static dLytDeposit_c *sInstance;
STATE_FUNC_DECLARE(dLytDeposit_c, None);
@@ -124,6 +189,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;
};
#endif
+9 -1
View File
@@ -10,7 +10,7 @@ class dLytDepositBoxCursor_c : public d2d::dSubPane {
public:
enum ItemLocation_e {
LOC_POUCH,
LOC_DEPOSIT,
LOC_STOCK,
};
public:
@@ -36,6 +36,14 @@ public:
void updateSlot(s32 location, s32 slot, s32 unk, bool unk2);
void fn_801580A0();
bool isVisible() const {
return mIsVisible;
}
void setVisible(bool b) {
mIsVisible = b;
}
private:
void initIcon();
void realizeNav();
+67 -7
View File
@@ -67,7 +67,67 @@ public:
return mCurrentNavTarget;
}
private:
bool isModeSort() const {
return mIsModeSort;
}
bool isModePouch() const {
return mIsModePouch;
}
bool isModeSell() const {
return mIsModeSell;
}
void disableModeSort() {
mIsModeSort = false;
}
void disableModePouch() {
mIsModePouch = false;
}
void disableModeSell() {
mIsModeSell = false;
}
void returnToNormalMode() {
mIsModeFinish = false;
mIsModeSell = false;
mIsModeSort = false;
mIsModePouch = false;
mSavedArrowDirection = ARROW_NONE;
}
u8 getItem(s32 idx) const {
return mItemIds[idx];
}
u8 getPage() const {
return mItemPage;
}
void setPage(u8 page) {
mItemPage = page;
}
s32 getActiveItem() const {
return mItemIds[mCurrentNavTarget];
}
void setSellBlocked(bool v) {
mIsSellBlocked = v;
}
void setSortBlocked(bool v) {
mIsSortBlocked = v;
}
s32 getArrowDirection() const {
return mArrowDirection;
}
//private:
static const s32 NUM_ICONS_PER_PAGE = 12;
static const s32 NUM_PAGES = 5;
@@ -93,12 +153,12 @@ private:
/* 0x6778 */ d2d::SubPaneList mSubpaneList;
/* 0x6784 */ d2d::SubPaneListNode mNodes[NUM_ICONS_PER_PAGE];
/* 0x6844 */ bool field_0x6844;
/* 0x6845 */ bool field_0x6845;
/* 0x6846 */ bool field_0x6846;
/* 0x6847 */ bool field_0x6847;
/* 0x6848 */ bool field_0x6848;
/* 0x6849 */ bool field_0x6849;
/* 0x684A */ bool field_0x684A;
/* 0x6845 */ bool mIsModePouch;
/* 0x6846 */ bool mIsModeSell;
/* 0x6847 */ bool mIsModeSort;
/* 0x6848 */ bool mIsModeFinish;
/* 0x6849 */ bool mIsSellBlocked;
/* 0x684A */ bool mIsSortBlocked;
/* 0x684B */ bool field_0x684B;
/* 0x684C */ bool field_0x684C;
/* 0x684D */ bool field_0x684D;
+2
View File
@@ -18,6 +18,8 @@ enum SongLifeTreeSeedStatus_e {
SONG_LIFETREE_HAS_SOTH = 2,
};
s32 convertLytPouchSlot2(s32 fileSlot);
u8 getSongLifeTreeStatus();
/** 0: no sword, 6: TMS */
+5 -2
View File
@@ -4,6 +4,7 @@
#include "d/d_cursor_hit_check.h"
#include "d/d_pad_nav.h"
#include "d/snd/d_snd_small_effect_mgr.h"
#include "m/m_vec.h"
#include "rvl/MTX/mtx.h"
#include "toBeSorted/arc_managers/layout_arc_manager.h"
@@ -96,8 +97,10 @@ void dLytCommonArrow_c::setState(s32 state) {
}
}
void dLytCommonArrow_c::setTranslate(const Vec *arg) {
nw4r::math::VEC3 v(*arg);
void dLytCommonArrow_c::setTranslate(const mVec2_c *arg) {
nw4r::math::VEC3 v;
v.x = arg->x;
v.y = arg->y;
v.z = 0.0f;
mLytBase.getLayout()->GetRootPane()->SetTranslate(v);
}
File diff suppressed because it is too large Load Diff
+1
View File
@@ -119,6 +119,7 @@ void dLytDepositBoxCursor_c::realizeNav() {
} else if (field_0x949) {
s = 6;
} else if (mItemLocation == LOC_POUCH) {
// Flip the cursor for pouch slot 0 so that it's not above the screen edge
s = mSlot == 0 ? 1 : 0;
if (field_0x950 == 12) {
s += 2;
+28 -28
View File
@@ -93,18 +93,18 @@ bool dLytDepositStock_c::build(d2d::ResAccIf_c *resAcc) {
mSelectedItemId = -1;
field_0x685C = -1;
field_0x6849 = false;
field_0x684A = false;
mIsSellBlocked = false;
mIsSortBlocked = false;
field_0x684B = false;
field_0x684C = true;
field_0x684E = false;
mArrowDirection = ARROW_NONE;
field_0x6845 = false;
field_0x6846 = false;
field_0x6847 = false;
field_0x6848 = false;
mIsModePouch = false;
mIsModeSell = false;
mIsModeSort = false;
mIsModeFinish = false;
mSavedArrowDirection = ARROW_NONE;
@@ -271,13 +271,13 @@ void dLytDepositStock_c::fn_80156530(bool unk) {
}
field_0x684B = false;
field_0x6845 = false;
field_0x6846 = false;
if (!field_0x6847) {
mIsModePouch = false;
mIsModeSell = false;
if (!mIsModeSort) {
// okay
field_0x6847 = false;
mIsModeSort = false;
}
field_0x6848 = false;
mIsModeFinish = false;
if (mArrowDirection >= ARROW_NONE) {
handleSpecialNavMode();
}
@@ -298,7 +298,7 @@ void dLytDepositStock_c::handleNavOrPoint() {
s32 dir = checkNav();
if (!isNavModeItem()) {
handleSpecialNavMode();
} else if (!field_0x6845 && !field_0x6846 && !field_0x6847 && !field_0x6848 && mSavedArrowDirection >= 2) {
} else if (!mIsModePouch && !mIsModeSell && !mIsModeSort && !mIsModeFinish && mSavedArrowDirection >= 2) {
s32 target = mCurrentNavTarget;
if (target < 0 || field_0x684C) {
if (dir != dPadNav::FS_STICK_NONE || dCsBase_c::GetInstance()->isCursorStickVisible()) {
@@ -397,9 +397,9 @@ void dLytDepositStock_c::handleNavOrPoint() {
mAnm[anmIdx].setAnimEnable(false);
dRumble_c::start(dRumble_c::sRumblePreset1, dRumble_c::FLAG_SLOT0);
mCurrentNavTarget = nextTarget;
field_0x6846 = false;
field_0x6847 = false;
field_0x6848 = false;
mIsModeSell = false;
mIsModeSort = false;
mIsModeFinish = false;
navigateToItem();
}
mNavMode = 0;
@@ -446,7 +446,7 @@ s32 dLytDepositStock_c::checkNav() {
direction = dPadNav::FS_STICK_DOWN;
} else if (target >= 6) {
if (target >= 10) {
if (field_0x684A) {
if (mIsSortBlocked) {
if (target == 11) {
direction = dPadNav::FS_STICK_NONE;
} else {
@@ -464,11 +464,11 @@ s32 dLytDepositStock_c::checkNav() {
case dPadNav::FS_STICK_DOWN:
if (target >= 6) {
if (target < 8) {
if (field_0x6849) {
if (mIsSellBlocked) {
direction = dPadNav::FS_STICK_NONE;
}
} else if (target >= 10) {
if (field_0x684A) {
if (mIsSortBlocked) {
direction = dPadNav::FS_STICK_NONE;
}
} else {
@@ -478,14 +478,14 @@ s32 dLytDepositStock_c::checkNav() {
break;
case dPadNav::FS_STICK_DOWN_LEFT:
if (target == 0 || target == 11) {
if (target == 11 && field_0x684A) {
if (target == 11 && mIsSortBlocked) {
direction = dPadNav::FS_STICK_LEFT;
} else {
direction = dPadNav::FS_STICK_DOWN;
}
} else if (target >= 6) {
if (target <= 7) {
if (field_0x6849) {
if (mIsSellBlocked) {
if (target == 6) {
direction = dPadNav::FS_STICK_NONE;
} else {
@@ -495,7 +495,7 @@ s32 dLytDepositStock_c::checkNav() {
direction = dPadNav::FS_STICK_DOWN;
}
} else if (target == 11) {
if (field_0x684A) {
if (mIsSortBlocked) {
direction = dPadNav::FS_STICK_NONE;
} else {
direction = dPadNav::FS_STICK_DOWN;
@@ -611,33 +611,33 @@ void dLytDepositStock_c::pickUpItem(s32 slot, bool unk) {
}
void dLytDepositStock_c::navigateToPouch() {
field_0x6845 = true;
mIsModePouch = true;
mSavedArrowDirection = ARROW_NONE;
}
void dLytDepositStock_c::navigateToSell() {
if (!field_0x6846) {
if (!mIsModeSell) {
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_SHOP_STK_POINT_SELL);
}
field_0x6846 = true;
mIsModeSell = true;
mNavMode = NAV_SELL;
mSavedArrowDirection = ARROW_NONE;
}
void dLytDepositStock_c::navigateToSort() {
if (!field_0x6847) {
if (!mIsModeSort) {
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_SHOP_STK_STOCK_POINT_TRIM);
}
field_0x6847 = true;
mIsModeSort = true;
mNavMode = NAV_SORT;
mSavedArrowDirection = ARROW_NONE;
}
void dLytDepositStock_c::navigateToFinish() {
if (!field_0x6848) {
if (!mIsModeFinish) {
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_SHOP_STK_POINT_DECIDE);
}
field_0x6848 = true;
mIsModeFinish = true;
mNavMode = NAV_FINISH;
mSavedArrowDirection = ARROW_NONE;
}