mirror of
https://github.com/zeldaret/ss
synced 2026-07-08 13:56:15 -04:00
More deposit
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 *);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 +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;
|
||||
|
||||
@@ -18,6 +18,8 @@ enum SongLifeTreeSeedStatus_e {
|
||||
SONG_LIFETREE_HAS_SOTH = 2,
|
||||
};
|
||||
|
||||
s32 convertLytPouchSlot2(s32 fileSlot);
|
||||
|
||||
u8 getSongLifeTreeStatus();
|
||||
|
||||
/** 0: no sword, 6: TMS */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+888
-43
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user