mirror of
https://github.com/zeldaret/ss
synced 2026-06-19 15:40:26 -04:00
wip
This commit is contained in:
+78
-78
@@ -3758,11 +3758,11 @@ getSizeBoxInWindow__Q23d2d9LytBase_cFPCc = .text:0x800AB190; // type:function si
|
||||
getTextBoxViaUserData__Q23d2d9LytBase_cFPQ34nw4r3lyt4PanePCc = .text:0x800AB240; // type:function size:0x94
|
||||
setPropertiesRecursive__Q23d2d9LytBase_cFPQ34nw4r3lyt4Panefffff = .text:0x800AB2E0; // type:function size:0x294
|
||||
setProperties__Q23d2d9LytBase_cFPQ34nw4r3lyt4Panefffff = .text:0x800AB580; // type:function size:0x3A4
|
||||
fn_800AB930__Q23d2d9LytBase_cFP10dTextBox_c = .text:0x800AB930; // type:function size:0x8
|
||||
fn_800AB940__Q23d2d9LytBase_cFPCci = .text:0x800AB940; // type:function size:0x58
|
||||
fn_800AB9A0__Q23d2d9LytBase_cFP10dTextBox_ci = .text:0x800AB9A0; // type:function size:0x1DC
|
||||
fn_800ABB80__Q23d2d9LytBase_cFP10dTextBox_cP10dTextBox_ci = .text:0x800ABB80; // type:function size:0x158
|
||||
fn_800ABCE0__Q23d2d9LytBase_cFPCQ44nw4r3lyt3res11ExtUserDataP10dTextBox_cP10dTextBox_ci = .text:0x800ABCE0; // type:function size:0x170
|
||||
loadText__Q23d2d9LytBase_cFP10dTextBox_c = .text:0x800AB930; // type:function size:0x8
|
||||
loadTextVariant__Q23d2d9LytBase_cFPCci = .text:0x800AB940; // type:function size:0x58
|
||||
loadTextVariant__Q23d2d9LytBase_cFP10dTextBox_ci = .text:0x800AB9A0; // type:function size:0x1DC
|
||||
loadTextVariantCopy__Q23d2d9LytBase_cFP10dTextBox_cP10dTextBox_ci = .text:0x800ABB80; // type:function size:0x158
|
||||
setText__Q23d2d9LytBase_cFPCQ44nw4r3lyt3res11ExtUserDataP10dTextBox_cP10dTextBox_ci = .text:0x800ABCE0; // type:function size:0x170
|
||||
fn_800ABE50__Q23d2d9LytBase_cFP10dTextBox_cPwUl = .text:0x800ABE50; // type:function size:0x1E8
|
||||
fn_800AC040__Q23d2d9LytBase_cFP10dTextBox_cP10dTextBox_cPwUl = .text:0x800AC040; // type:function size:0x160
|
||||
fn_800AC1AC__Q23d2d9LytBase_cFPCQ44nw4r3lyt3res11ExtUserDataP10dTextBox_cP10dTextBox_cPwUl = .text:0x800AC1A0; // type:function size:0x158
|
||||
@@ -5828,8 +5828,8 @@ fn_800F0030__21dLytMeterItemSelect_cCFv = .text:0x800F0030; // type:function siz
|
||||
getBaseItemForBWheelSlot__21dLytMeterItemSelect_cFl = .text:0x800F0150; // type:function size:0x14
|
||||
fn_800F0170__21dLytMeterItemSelect_cCFl = .text:0x800F0170; // type:function size:0x14
|
||||
getInternalBaseItemForSlot__21dLytMeterItemSelect_cCFl = .text:0x800F0190; // type:function size:0x18
|
||||
fn_800F01B0__21dLytMeterItemSelect_cCFl = .text:0x800F01B0; // type:function size:0x30
|
||||
fn_800F01E0__21dLytMeterItemSelect_cCFl = .text:0x800F01E0; // type:function size:0xC
|
||||
hasBWheelItem__21dLytMeterItemSelect_cCFl = .text:0x800F01B0; // type:function size:0x30
|
||||
isBocoburinLocked__21dLytMeterItemSelect_cCFl = .text:0x800F01E0; // type:function size:0xC
|
||||
isSlotBocoburinLocked__21dLytMeterItemSelect_cFl = .text:0x800F01F0; // type:function size:0x28
|
||||
fn_800F0220__21dLytMeterItemSelect_cFl = .text:0x800F0220; // type:function size:0xC8
|
||||
fn_800F02F0__21dLytMeterItemSelect_cCFv = .text:0x800F02F0; // type:function size:0x14
|
||||
@@ -8785,13 +8785,13 @@ __dt__56sFStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c>Fv = .text:0x801
|
||||
__dt__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015A090; // type:function size:0xA0
|
||||
__dt__33sFStateFct_c<17dLytPauseDisp00_c>Fv = .text:0x8015A130; // type:function size:0x6C
|
||||
__dt__30sFState_c<17dLytPauseDisp00_c>Fv = .text:0x8015A1A0; // type:function size:0x58
|
||||
init__17dLytPauseDisp00_cFv = .text:0x8015A200; // type:function size:0x310
|
||||
build__17dLytPauseDisp00_cFv = .text:0x8015A200; // type:function size:0x310
|
||||
changeState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8015A510; // type:function size:0x10
|
||||
fn_8015A520 = .text:0x8015A520; // type:function size:0x118
|
||||
fn_8015A640 = .text:0x8015A640; // type:function size:0x10C
|
||||
remove__17dLytPauseDisp00_cFv = .text:0x8015A520; // type:function size:0x118
|
||||
execute__17dLytPauseDisp00_cFv = .text:0x8015A640; // type:function size:0x10C
|
||||
executeState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015A750; // type:function size:0x10
|
||||
getStateID__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8015A760; // type:function size:0x10
|
||||
fn_8015A770 = .text:0x8015A770; // type:function size:0x38
|
||||
draw__17dLytPauseDisp00_cFv = .text:0x8015A770; // type:function size:0x38
|
||||
fn_8015A7B0 = .text:0x8015A7B0; // type:function size:0x14
|
||||
fn_8015A7D0 = .text:0x8015A7D0; // type:function size:0x14
|
||||
fn_8015A7F0 = .text:0x8015A7F0; // type:function size:0x14
|
||||
@@ -8800,51 +8800,51 @@ fn_8015A820 = .text:0x8015A820; // type:function size:0x10
|
||||
fn_8015A830 = .text:0x8015A830; // type:function size:0x10
|
||||
fn_8015A840 = .text:0x8015A840; // type:function size:0x68
|
||||
fn_8015A8B0 = .text:0x8015A8B0; // type:function size:0x28
|
||||
LytPauseDisp00__stateNoneEnter = .text:0x8015A8E0; // type:function size:0x2B8
|
||||
LytPauseDisp00__stateNoneUpdate = .text:0x8015ABA0; // type:function size:0x34
|
||||
LytPauseDisp00__stateNoneLeave = .text:0x8015ABE0; // type:function size:0x8
|
||||
LytPauseDisp00__stateInEnter = .text:0x8015ABF0; // type:function size:0x2A8
|
||||
LytPauseDisp00__stateInUpdate = .text:0x8015AEA0; // type:function size:0xE4
|
||||
LytPauseDisp00__stateInLeave = .text:0x8015AF90; // type:function size:0x98
|
||||
LytPauseDisp00__stateWaitEnter = .text:0x8015B030; // type:function size:0x18
|
||||
LytPauseDisp00__stateWaitUpdate = .text:0x8015B050; // type:function size:0x2D4
|
||||
LytPauseDisp00__stateWaitLeave = .text:0x8015B330; // type:function size:0x4
|
||||
LytPauseDisp00__stateSelectEnter = .text:0x8015B340; // type:function size:0x160
|
||||
LytPauseDisp00__stateSelectUpdate = .text:0x8015B4A0; // type:function size:0x1C0
|
||||
LytPauseDisp00__stateSelectLeave = .text:0x8015B660; // type:function size:0x24
|
||||
LytPauseDisp00__stateRingEnter = .text:0x8015B690; // type:function size:0x88
|
||||
LytPauseDisp00__stateRingUpdate = .text:0x8015B720; // type:function size:0x34C
|
||||
LytPauseDisp00__stateRingLeave = .text:0x8015BA70; // type:function size:0x50
|
||||
LytPauseDisp00__stateGetDemoEnter = .text:0x8015BAC0; // type:function size:0x1C
|
||||
LytPauseDisp00__stateGetDemoUpdate = .text:0x8015BAE0; // type:function size:0x25C
|
||||
LytPauseDisp00__stateGetDemoLeave = .text:0x8015BD40; // type:function size:0x4
|
||||
LytPauseDisp00__stateOutEnter = .text:0x8015BD50; // type:function size:0x94
|
||||
LytPauseDisp00__stateOutUpdate = .text:0x8015BDF0; // type:function size:0xE0
|
||||
LytPauseDisp00__stateOutLeave = .text:0x8015BED0; // type:function size:0x4
|
||||
displayElement__17dLytPauseDisp00_cFif = .text:0x8015BEE0; // type:function size:0x68
|
||||
fn_8015BF50 = .text:0x8015BF50; // type:function size:0x10
|
||||
fn_8015BF60 = .text:0x8015BF60; // type:function size:0x64
|
||||
pauseDisplayMainInventory = .text:0x8015BFD0; // type:function size:0x160
|
||||
pauseDisplayInventoryWheel = .text:0x8015C130; // type:function size:0x368
|
||||
pauseDisplayHeartPieces = .text:0x8015C4A0; // type:function size:0x104
|
||||
pauseDisplayWallets = .text:0x8015C5B0; // type:function size:0x1C8
|
||||
pauseDisplayMitts = .text:0x8015C780; // type:function size:0xD0
|
||||
pauseDisplaySailcloth = .text:0x8015C850; // type:function size:0x80
|
||||
pauseDisplayWaterDragonScale = .text:0x8015C8D0; // type:function size:0xA0
|
||||
pauseDisplayFireshieldEarrings = .text:0x8015C970; // type:function size:0x74
|
||||
pauseDisplaySongsAndLifeTree = .text:0x8015C9F0; // type:function size:0x2DC
|
||||
pauseDisplayTabletTriforce = .text:0x8015CCD0; // type:function size:0x1B0
|
||||
pauseDisplaySword = .text:0x8015CE80; // type:function size:0x284
|
||||
pauseDsiplayStoneOfTrials = .text:0x8015D110; // type:function size:0xC0
|
||||
fn_8015D1D0 = .text:0x8015D1D0; // type:function size:0x130
|
||||
fn_8015D300 = .text:0x8015D300; // type:function size:0xA04
|
||||
fn_8015DD10 = .text:0x8015DD10; // type:function size:0x160
|
||||
initializeState_None__17dLytPauseDisp00_cFv = .text:0x8015A8E0; // type:function size:0x2B8
|
||||
executeState_None__17dLytPauseDisp00_cFv = .text:0x8015ABA0; // type:function size:0x34
|
||||
finalizeState_None__17dLytPauseDisp00_cFv = .text:0x8015ABE0; // type:function size:0x8
|
||||
initializeState_In__17dLytPauseDisp00_cFv = .text:0x8015ABF0; // type:function size:0x2A8
|
||||
executeState_In__17dLytPauseDisp00_cFv = .text:0x8015AEA0; // type:function size:0xE4
|
||||
finalizeState_In__17dLytPauseDisp00_cFv = .text:0x8015AF90; // type:function size:0x98
|
||||
initializeState_Wait__17dLytPauseDisp00_cFv = .text:0x8015B030; // type:function size:0x18
|
||||
executeState_Wait__17dLytPauseDisp00_cFv = .text:0x8015B050; // type:function size:0x2D4
|
||||
finalizeState_Wait__17dLytPauseDisp00_cFv = .text:0x8015B330; // type:function size:0x4
|
||||
initializeState_Select__17dLytPauseDisp00_cFv = .text:0x8015B340; // type:function size:0x160
|
||||
executeState_Select__17dLytPauseDisp00_cFv = .text:0x8015B4A0; // type:function size:0x1C0
|
||||
finalizeState_Select__17dLytPauseDisp00_cFv = .text:0x8015B660; // type:function size:0x24
|
||||
initializeState_Ring__17dLytPauseDisp00_cFv = .text:0x8015B690; // type:function size:0x88
|
||||
executeState_Ring__17dLytPauseDisp00_cFv = .text:0x8015B720; // type:function size:0x34C
|
||||
finalizeState_Ring__17dLytPauseDisp00_cFv = .text:0x8015BA70; // type:function size:0x50
|
||||
initializeState_GetDemo__17dLytPauseDisp00_cFv = .text:0x8015BAC0; // type:function size:0x1C
|
||||
executeState_GetDemo__17dLytPauseDisp00_cFv = .text:0x8015BAE0; // type:function size:0x25C
|
||||
finalizeState_GetDemo__17dLytPauseDisp00_cFv = .text:0x8015BD40; // type:function size:0x4
|
||||
initializeState_Out__17dLytPauseDisp00_cFv = .text:0x8015BD50; // type:function size:0x94
|
||||
executeState_Out__17dLytPauseDisp00_cFv = .text:0x8015BDF0; // type:function size:0xE0
|
||||
finalizeState_Out__17dLytPauseDisp00_cFv = .text:0x8015BED0; // type:function size:0x4
|
||||
setAnm__17dLytPauseDisp00_cFif = .text:0x8015BEE0; // type:function size:0x68
|
||||
stopAnm__17dLytPauseDisp00_cFi = .text:0x8015BF50; // type:function size:0x10
|
||||
playBackwards__17dLytPauseDisp00_cFRQ23d2d10AnmGroup_c = .text:0x8015BF60; // type:function size:0x64
|
||||
setupDisp__17dLytPauseDisp00_cFv = .text:0x8015BFD0; // type:function size:0x160
|
||||
setupInventoryWheel__17dLytPauseDisp00_cFv = .text:0x8015C130; // type:function size:0x368
|
||||
setupHeartPieces__17dLytPauseDisp00_cFv = .text:0x8015C4A0; // type:function size:0x104
|
||||
setupWallets__17dLytPauseDisp00_cFv = .text:0x8015C5B0; // type:function size:0x1C8
|
||||
setupMitts__17dLytPauseDisp00_cFv = .text:0x8015C780; // type:function size:0xD0
|
||||
setupSailcloth__17dLytPauseDisp00_cFv = .text:0x8015C850; // type:function size:0x80
|
||||
setupWaterDragonScale__17dLytPauseDisp00_cFv = .text:0x8015C8D0; // type:function size:0xA0
|
||||
setupFireshieldEarrings__17dLytPauseDisp00_cFv = .text:0x8015C970; // type:function size:0x74
|
||||
setupSongsAndLifeTree__17dLytPauseDisp00_cFv = .text:0x8015C9F0; // type:function size:0x2DC
|
||||
setupTabletTriforce__17dLytPauseDisp00_cFv = .text:0x8015CCD0; // type:function size:0x1B0
|
||||
setupSword__17dLytPauseDisp00_cFv = .text:0x8015CE80; // type:function size:0x284
|
||||
setupStoneOfTrials__17dLytPauseDisp00_cFv = .text:0x8015D110; // type:function size:0xC0
|
||||
setupRingIcons__17dLytPauseDisp00_cFl = .text:0x8015D1D0; // type:function size:0x130
|
||||
updateSelection__17dLytPauseDisp00_cFv = .text:0x8015D300; // type:function size:0xA04
|
||||
getPointerPane__17dLytPauseDisp00_cCFv = .text:0x8015DD10; // type:function size:0x160
|
||||
fn_8015DE70 = .text:0x8015DE70; // type:function size:0x194
|
||||
fn_8015E010 = .text:0x8015E010; // type:function size:0x58
|
||||
hideItemIcons__17dLytPauseDisp00_cFv = .text:0x8015E010; // type:function size:0x58
|
||||
fn_8015E070 = .text:0x8015E070; // type:function size:0x220
|
||||
fn_8015E290 = .text:0x8015E290; // type:function size:0xA4
|
||||
fn_8015E340 = .text:0x8015E340; // type:function size:0x54
|
||||
fn_8015E3A0 = .text:0x8015E3A0; // type:function size:0xF4
|
||||
executeCall__17dLytPauseDisp00_cFv = .text:0x8015E290; // type:function size:0xA4
|
||||
playOnOffTabAnim__17dLytPauseDisp00_cFv = .text:0x8015E340; // type:function size:0x54
|
||||
loadRingText__17dLytPauseDisp00_cFUl = .text:0x8015E3A0; // type:function size:0xF4
|
||||
__dt__17dLytPauseDisp00_cFv = .text:0x8015E4A0; // type:function size:0x130
|
||||
build__33sFStateFct_c<17dLytPauseDisp00_c>FRC12sStateIDIf_c = .text:0x8015E5D0; // type:function size:0x60
|
||||
dispose__33sFStateFct_c<17dLytPauseDisp00_c>FRP10sStateIf_c = .text:0x8015E630; // type:function size:0xC
|
||||
@@ -9130,7 +9130,7 @@ isSameName__34sFStateID_c<19dLytSaveMsgWindow_c>CFPCc = .text:0x801668E0; // typ
|
||||
fn_80166970 = .text:0x80166970; // type:function size:0x58
|
||||
fn_801669D0 = .text:0x801669D0; // type:function size:0x4
|
||||
hasPouchSlot__Flb = .text:0x801669E0; // type:function size:0x50
|
||||
fn_80166A30 = .text:0x80166A30; // type:function size:0x5C
|
||||
getPouchItemIdForIndex__Flb = .text:0x80166A30; // type:function size:0x5C
|
||||
getPouchItemForSlot__Flb = .text:0x80166A90; // type:function size:0x70
|
||||
getPouchItemAmount__Flb = .text:0x80166B00; // type:function size:0x8C
|
||||
fn_80166B90 = .text:0x80166B90; // type:function size:0xBC
|
||||
@@ -9146,24 +9146,24 @@ fn_80166FC0 = .text:0x80166FC0; // type:function size:0x50
|
||||
fn_80167010 = .text:0x80167010; // type:function size:0x54
|
||||
fn_80167070 = .text:0x80167070; // type:function size:0xD4
|
||||
fn_80167150 = .text:0x80167150; // type:function size:0xF0
|
||||
fn_80167240 = .text:0x80167240; // type:function size:0x24
|
||||
getBWheelItemIdForIndex__Fl = .text:0x80167240; // type:function size:0x24
|
||||
fn_80167270 = .text:0x80167270; // type:function size:0x24
|
||||
getSubtypeToDisplayInItemWheel = .text:0x801672A0; // type:function size:0x108
|
||||
fn_801673B0 = .text:0x801673B0; // type:function size:0x24
|
||||
getItemLevelForBWheelIndex__Fl = .text:0x801673B0; // type:function size:0x24
|
||||
fn_801673E0 = .text:0x801673E0; // type:function size:0x88
|
||||
fn_80167470 = .text:0x80167470; // type:function size:0x24
|
||||
getNumberForBWheelIndex__Fl = .text:0x80167470; // type:function size:0x24
|
||||
fn_801674A0 = .text:0x801674A0; // type:function size:0x88
|
||||
fn_80167530 = .text:0x80167530; // type:function size:0x94
|
||||
fn_801675D0 = .text:0x801675D0; // type:function size:0x24
|
||||
getNumberColorForBWheelIndex__Fl = .text:0x801675D0; // type:function size:0x24
|
||||
fn_80167600 = .text:0x80167600; // type:function size:0xA0
|
||||
fn_801676A0 = .text:0x801676A0; // type:function size:0x24
|
||||
getLytItemIdForBWheelIndex__Fl = .text:0x801676A0; // type:function size:0x24
|
||||
fn_801676D0 = .text:0x801676D0; // type:function size:0x1C
|
||||
fn_801676F0 = .text:0x801676F0; // type:function size:0x24
|
||||
isBWheelIndexWithNumber__Fl = .text:0x801676F0; // type:function size:0x24
|
||||
fn_80167720 = .text:0x80167720; // type:function size:0x58
|
||||
fn_80167780 = .text:0x80167780; // type:function size:0x34
|
||||
isBWheelIndexBocoburinLocked__Flb = .text:0x80167780; // type:function size:0x34
|
||||
getDowsingItemIdForIndex__Fl = .text:0x801677C0; // type:function size:0x30
|
||||
dowsingSlotForIndex__Fl = .text:0x801677F0; // type:function size:0x24
|
||||
fn_80167820 = .text:0x80167820; // type:function size:0x34
|
||||
hasDowsingInIndex__Fl = .text:0x80167820; // type:function size:0x34
|
||||
getLytIndexForDowsingIndex__Fl = .text:0x80167860; // type:function size:0x5C
|
||||
getItemLabel__FlR15SizedString<32> = .text:0x801678C0; // type:function size:0x2C
|
||||
fn_801678F0 = .text:0x801678F0; // type:function size:0x2C
|
||||
@@ -9178,25 +9178,25 @@ getCurrentWalletItemId = .text:0x80167B70; // type:function size:0x30
|
||||
fn_80167BA0 = .text:0x80167BA0; // type:function size:0x8
|
||||
hasSailcloth = .text:0x80167BB0; // type:function size:0x34
|
||||
getSailclothItemId = .text:0x80167BF0; // type:function size:0x8
|
||||
getCurrentMittsType2 = .text:0x80167C00; // type:function size:0x4
|
||||
getCurrentMittsLevel__Fv = .text:0x80167C00; // type:function size:0x4
|
||||
fn_80167C10 = .text:0x80167C10; // type:function size:0x44
|
||||
isDiggingMittsRestricted = .text:0x80167C60; // type:function size:0x8
|
||||
isMittsRestricted__Fv = .text:0x80167C60; // type:function size:0x8
|
||||
fn_80167C70 = .text:0x80167C70; // type:function size:0x8
|
||||
checkWaterDragonScale = .text:0x80167C80; // type:function size:0x40
|
||||
hasWaterDragonScale__Fv = .text:0x80167C80; // type:function size:0x40
|
||||
fn_80167CC0 = .text:0x80167CC0; // type:function size:0x30
|
||||
isWaterDragonScaleRestricted = .text:0x80167CF0; // type:function size:0x8
|
||||
hasGoddessHarp = .text:0x80167D00; // type:function size:0x34
|
||||
isWaterDragonScaleRestricted__Fv = .text:0x80167CF0; // type:function size:0x8
|
||||
hasGoddessHarp__Fv = .text:0x80167D00; // type:function size:0x34
|
||||
getGoddessHarpId = .text:0x80167D40; // type:function size:0x8
|
||||
harpRestricted = .text:0x80167D50; // type:function size:0x28
|
||||
fn_80167D80 = .text:0x80167D80; // type:function size:0x34
|
||||
hasSong__Fl = .text:0x80167D80; // type:function size:0x34
|
||||
fn_80167DC0 = .text:0x80167DC0; // type:function size:0x14
|
||||
getItemIdForTabletNum = .text:0x80167DE0; // type:function size:0x10
|
||||
currentSwordMaybe = .text:0x80167DF0; // type:function size:0x24
|
||||
getCurrentSwordLevel__Fv = .text:0x80167DF0; // type:function size:0x24
|
||||
fn_80167E20 = .text:0x80167E20; // type:function size:0x30
|
||||
fn_80167E50 = .text:0x80167E50; // type:function size:0x14
|
||||
swordRestrictedBokoBase = .text:0x80167E70; // type:function size:0x44
|
||||
isSwordRestrictedBokoBase__Fv = .text:0x80167E70; // type:function size:0x44
|
||||
getItemIdForTriforcePieceNum = .text:0x80167EC0; // type:function size:0x10
|
||||
fn_80167ED0 = .text:0x80167ED0; // type:function size:0x88
|
||||
getSongLifeTreeStatus__Fv = .text:0x80167ED0; // type:function size:0x88
|
||||
shouldUseSingular__Fl = .text:0x80167F60; // type:function size:0x74
|
||||
__ct__17dLytCommonArrow_cFv = .text:0x80167FE0; // type:function size:0x148
|
||||
__dt__56sFStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c>Fv = .text:0x80168130; // type:function size:0xA4 scope:weak
|
||||
@@ -11994,7 +11994,7 @@ ActorLink__isPressingButtonMinus = .text:0x801E3C50; // type:function size:0xC
|
||||
ActorLink__isPressingButtonB = .text:0x801E3C60; // type:function size:0xC
|
||||
ActorLink__isPressingButtonB2 = .text:0x801E3C70; // type:function size:0x4
|
||||
fn_801E3C80 = .text:0x801E3C80; // type:function size:0x1EC
|
||||
fn_801E3E70 = .text:0x801E3E70; // type:function size:0x5C
|
||||
calcItemWheelSelection__7dAcPy_cFbl = .text:0x801E3E70; // type:function size:0x5C
|
||||
fn_801E3ED0 = .text:0x801E3ED0; // type:function size:0x1C4
|
||||
getSelectedPouchItem = .text:0x801E40A0; // type:function size:0x8C
|
||||
ActorLink__handlePouchWheel = .text:0x801E4130; // type:function size:0x354
|
||||
@@ -13650,7 +13650,7 @@ getGratitudeCrystalCount__9dAcItem_cFv = .text:0x80252710; // type:function size
|
||||
increaseGratitudeCrystalCounter = .text:0x80252720; // type:function size:0xC
|
||||
ActorLink__hasLifeTreeSeeding = .text:0x80252730; // type:function size:0x38
|
||||
AcItem__giveLifeTreeSeedling = .text:0x80252770; // type:function size:0x94
|
||||
getExtraWalletCounter = .text:0x80252810; // type:function size:0x8
|
||||
getExtraWalletCount__9dAcItem_cFv = .text:0x80252810; // type:function size:0x8
|
||||
increaseExtraWalletCounter = .text:0x80252820; // type:function size:0xC
|
||||
getTotalRequiredKeyPieceCount = .text:0x80252830; // type:function size:0x8
|
||||
hasAllKeyPieces = .text:0x80252840; // type:function size:0x44
|
||||
@@ -28338,12 +28338,12 @@ lbl_804E8228 = .rodata:0x804E8228; // type:object size:0x20 data:4byte
|
||||
brlanMap = .rodata:0x804E8248; // type:object size:0x10 scope:local data:4byte
|
||||
lbl_804E8258 = .rodata:0x804E8258; // type:object size:0x128
|
||||
lbl_804E8380 = .rodata:0x804E8380; // type:object size:0x128
|
||||
lbl_804E84A8 = .rodata:0x804E84A8; // type:object size:0x3F0 data:4byte
|
||||
brlanMap = .rodata:0x804E84A8; // type:object size:0x3F0 data:4byte
|
||||
lbl_804E8898 = .rodata:0x804E8898; // type:object size:0x3C data:byte
|
||||
lbl_804E88D4 = .rodata:0x804E88D4; // type:object size:0xC
|
||||
lbl_804E88E0 = .rodata:0x804E88E0; // type:object size:0xC
|
||||
TRIFORCE_PAUSE_MENU_INDEX = .rodata:0x804E88EC; // type:object size:0xC data:4byte
|
||||
lbl_804E88F8 = .rodata:0x804E88F8; // type:object size:0x20
|
||||
@LOCAL@setupSword__17dLytPauseDisp00_cFv@sSwordFrames@0 = .rodata:0x804E88F8; // type:object size:0x20
|
||||
brlanMap = .rodata:0x804E8918; // type:object size:0x78 scope:local data:4byte
|
||||
sNavTable = .rodata:0x804E8990; // type:object size:0x110 scope:local
|
||||
@LOCAL@getInsectItemId__17dLytPauseDisp01_cCFl@sInsectItemTable = .rodata:0x804E8AA0; // type:object size:0x18 scope:local
|
||||
@@ -34465,7 +34465,7 @@ lbl_805258E4 = .data:0x805258E4; // type:object size:0x10
|
||||
lbl_805258F4 = .data:0x805258F4; // type:object size:0x10
|
||||
lbl_80525904 = .data:0x80525904; // type:object size:0x10
|
||||
lbl_80525914 = .data:0x80525914; // type:object size:0x10
|
||||
lbl_80525924 = .data:0x80525924; // type:object size:0x94 data:4byte
|
||||
sBoundingNames = .data:0x80525924; // type:object size:0x94 data:4byte
|
||||
lbl_805259B8 = .data:0x805259B8; // type:object size:0x10
|
||||
lbl_805259C8 = .data:0x805259C8; // type:object size:0x10
|
||||
lbl_805259D8 = .data:0x805259D8; // type:object size:0xC
|
||||
@@ -34481,7 +34481,7 @@ __vt__56sFStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c> = .data:0x80525
|
||||
__vt__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80525B10; // type:object size:0x30
|
||||
__vt__33sFStateFct_c<17dLytPauseDisp00_c> = .data:0x80525B40; // type:object size:0x18
|
||||
__vt__30sFState_c<17dLytPauseDisp00_c> = .data:0x80525B58; // type:object size:0x354
|
||||
lbl_80525EAC = .data:0x80525EAC; // type:object size:0x34
|
||||
__vt__32sFStateID_c<17dLytPauseDisp00_c> = .data:0x80525EAC; // type:object size:0x34
|
||||
@22677 = .data:0x80525EE0; // type:object size:0x12 scope:local data:string
|
||||
...data.0 = .data:0x80525EE0; // type:label scope:local
|
||||
@22678 = .data:0x80525EF4; // type:object size:0xB scope:local data:string
|
||||
|
||||
@@ -68,6 +68,7 @@ public:
|
||||
|
||||
static s32 getRupeeCounter();
|
||||
static u32 getCurrentWalletCapacity();
|
||||
static u32 getExtraWalletCount();
|
||||
|
||||
static u32 getHeartContainerHealthCount();
|
||||
static u32 getGratitudeCrystalCount();
|
||||
|
||||
@@ -58,6 +58,9 @@ public:
|
||||
void setBeetleBackAnim();
|
||||
s32 getBeetleWarningTimeLeft();
|
||||
|
||||
// Item Selection functions
|
||||
static s32 calcItemWheelSelection(bool reset, s32 numOptions);
|
||||
|
||||
public:
|
||||
f32 getField_0x4564() const {
|
||||
return field_0x4564;
|
||||
|
||||
+21
-7
@@ -79,6 +79,20 @@ protected:
|
||||
u32 mFlags;
|
||||
};
|
||||
|
||||
/**
|
||||
* A layout with some utility functions, and a system
|
||||
* for integrating LibMS text into NW4R's LYT.
|
||||
*
|
||||
* * If a TextBox has an integer userdatum "embed", this sets the text identified by the
|
||||
* LibMS label of the same name as the text box (e.g. `T_back_00`)
|
||||
* * If the integer is non-zero (it always seems to be for Skyward Sword!),
|
||||
* `:00` is appended to the label name (e.g. `T_back_00:00`).
|
||||
* * Game code can call a function to reload this text with a custom integer to select
|
||||
* a specific variant. E.g. `T_newFile_00:00` -> "New Adventure", `T_newFile_00:01` -> "Hero Mode"
|
||||
* * If a TextBox has a string userdatum "copy", the value identifies another textbox
|
||||
* whose name is used instead. This is often used for text shadow, where a separate
|
||||
* textbox is used for the shadow.
|
||||
*/
|
||||
class LytBase_c : public Multi_c {
|
||||
public:
|
||||
LytBase_c();
|
||||
@@ -93,8 +107,8 @@ public:
|
||||
dWindow_c *getWindow(const char *name);
|
||||
nw4r::lyt::Group *findGroupByName(const char *name);
|
||||
|
||||
bool fn_800AB940(const char *name, int arg);
|
||||
bool fn_800AB9A0(dTextBox_c *textbox, int arg);
|
||||
bool loadTextVariant(const char *name, int arg);
|
||||
bool loadTextVariant(dTextBox_c *textbox, int arg);
|
||||
|
||||
bool fn_800ABE50(dTextBox_c *textbox, wchar_t *destBuf, u32 maxLen);
|
||||
|
||||
@@ -102,16 +116,16 @@ private:
|
||||
void setPropertiesRecursive(nw4r::lyt::Pane *pane, f32, f32, f32, f32, f32);
|
||||
void setProperties(nw4r::lyt::Pane *pane, f32, f32, f32, f32, f32);
|
||||
dTextBox_c *getTextBoxViaUserData(nw4r::lyt::Pane *pane, const char *name);
|
||||
bool fn_800ABB80(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg);
|
||||
bool fn_800ABCE0(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, int arg);
|
||||
bool loadTextVariantCopy(dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, int arg);
|
||||
bool setText(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, int arg);
|
||||
|
||||
bool fn_800AC040(dTextBox_c *textbox1, dTextBox_c *textbox2, wchar_t *destBuf, u32 maxLen);
|
||||
bool fn_800AC040(dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, wchar_t *destBuf, u32 maxLen);
|
||||
bool fn_800AC1AC(
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, wchar_t *destBuf,
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, wchar_t *destBuf,
|
||||
u32 maxLen
|
||||
);
|
||||
MsbtInfo *getMsbtInfo() const;
|
||||
bool fn_800AB930(dTextBox_c *box);
|
||||
bool loadText(dTextBox_c *box);
|
||||
|
||||
/* 0x8C */ MsbtInfo *mpMsbtInfo;
|
||||
};
|
||||
|
||||
@@ -25,6 +25,10 @@ public:
|
||||
return field_0x15C2C;
|
||||
}
|
||||
|
||||
s32 getPauseDisp00Tab() const {
|
||||
return mPauseDisp00Tab;
|
||||
}
|
||||
|
||||
u16 getItemForPauseDemo() const {
|
||||
return mItemForPauseDemo;
|
||||
}
|
||||
@@ -56,8 +60,9 @@ private:
|
||||
/* 0x000A4 */ u8 _0x000A4[0x15C2C - 0x000A4];
|
||||
|
||||
/* 0x15C2C */ s32 field_0x15C2C;
|
||||
/* 0x15C30 */ s32 mPauseDisp00Tab;
|
||||
|
||||
/* 0x15C30 */ u8 _0x15C23[0x15C60 - 0x15C30];
|
||||
/* 0x15C34 */ u8 _0x15C34[0x15C60 - 0x15C34];
|
||||
|
||||
/* 0x15C60 */ u16 mItemForPauseDemo;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "egg/gfx/eggCpuTexture.h"
|
||||
#include "nw4r/lyt/lyt_pane.h"
|
||||
#include "nw4r/lyt/lyt_bounding.h"
|
||||
|
||||
class dLytPauseMgr_c {
|
||||
public:
|
||||
@@ -31,6 +31,10 @@ public:
|
||||
return field_0x0832;
|
||||
}
|
||||
|
||||
bool getField_0x0838() const {
|
||||
return field_0x0838;
|
||||
}
|
||||
|
||||
bool getField_0x083B() const {
|
||||
return field_0x083B;
|
||||
}
|
||||
@@ -45,7 +49,13 @@ public:
|
||||
|
||||
bool isStateWait() const;
|
||||
|
||||
s32 getCurrentDisp00Tab() const {
|
||||
return mCurrentDisp00Tab;
|
||||
}
|
||||
|
||||
enum SelectionType_e {
|
||||
SELECT_BWHEEL = 0,
|
||||
SELECT_POUCH = 1,
|
||||
SELECT_DOWSING = 2,
|
||||
SELECT_INSECT = 4,
|
||||
SELECT_QUEST_MATERIAL = 5,
|
||||
@@ -69,8 +79,19 @@ public:
|
||||
return mCurrentSelectionId;
|
||||
}
|
||||
|
||||
nw4r::lyt::Pane *getArrowBounding(int idx) const;
|
||||
nw4r::lyt::Pane *setSelectedArrowBounding(int idx) const;
|
||||
u8 getCurrentSelectionTab() const {
|
||||
return mCurrentSelectionTab;
|
||||
}
|
||||
|
||||
void setCurrentSelectionTab(u8 tab) {
|
||||
mCurrentSelectionTab = tab;
|
||||
}
|
||||
|
||||
nw4r::lyt::Bounding *getArrowBounding(int idx) const;
|
||||
void setSelectedArrowBounding(int idx) const;
|
||||
|
||||
static f32 sDisp00ArrowRotation;
|
||||
static f32 sDisp00ArrowLength;
|
||||
|
||||
private:
|
||||
static dLytPauseMgr_c *sInstance;
|
||||
@@ -85,7 +106,9 @@ private:
|
||||
/* 0x0814 */ EGG::CpuTexture *mpBgTexture;
|
||||
/* 0x0818 */ SelectionType_e mCurrentSelectionType;
|
||||
|
||||
/* 0x081C */ u8 _0x081C[0x082C - 0x081C];
|
||||
/* 0x081C */ u8 _0x081C[0x0820 - 0x081C];
|
||||
/* 0x0820 */ s32 mCurrentDisp00Tab;
|
||||
/* 0x0824 */ u8 _0x0824[0x082C - 0x0824];
|
||||
|
||||
/* 0x082C */ u16 mCurrentSelectionId;
|
||||
|
||||
@@ -93,9 +116,14 @@ private:
|
||||
|
||||
/* 0x0831 */ bool field_0x0831;
|
||||
/* 0x0832 */ bool field_0x0832;
|
||||
/* 0x0833 */ u8 mCurrentSelectionTab;
|
||||
|
||||
/* 0x0832 */ u8 _0x0832[0x083B - 0x0833];
|
||||
/* 0x0834 */ u8 _0x0834[0x0838 - 0x0834];
|
||||
|
||||
/* 0x0838 */ bool field_0x0838;
|
||||
|
||||
/* 0x0839 */ u8 _0x0839[0x083B - 0x0839];
|
||||
|
||||
/* 0x083B */ bool field_0x083B;
|
||||
|
||||
/* 0x083C */ u8 _0x083C[0x083E - 0x083C];
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "d/d_cursor_hit_check.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/d_lyt_common_icon_item.h"
|
||||
#include "nw4r/lyt/lyt_bounding.h"
|
||||
#include "s/s_State.hpp"
|
||||
|
||||
class dLytPauseDisp00_c {
|
||||
@@ -11,7 +12,10 @@ public:
|
||||
dLytPauseDisp00_c();
|
||||
virtual ~dLytPauseDisp00_c() {}
|
||||
|
||||
void init();
|
||||
bool build();
|
||||
bool remove();
|
||||
bool execute();
|
||||
bool draw();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, None);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, In);
|
||||
@@ -22,15 +26,68 @@ public:
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, Out);
|
||||
|
||||
private:
|
||||
void displayElement(int idx, float value);
|
||||
void setAnm(int idx, f32 value);
|
||||
void stopAnm(int idx);
|
||||
void playBackwards(d2d::AnmGroup_c &anm);
|
||||
|
||||
STATE_MGR_DECLARE(dLytPauseDisp00_c);
|
||||
d2d::LytBase_c mLytBase;
|
||||
d2d::AnmGroup_c field_0x00D0[0x7E];
|
||||
dLytCommonIconItem_c field_0x2050[0x18];
|
||||
/* 0xE110 */ d2d::SubPaneList mSubpanes;
|
||||
d2d::SubPaneListNode field_0xE11C[0x18];
|
||||
dCursorHitCheckLyt_c field_0xE29C;
|
||||
// Initial setup
|
||||
void setupDisp();
|
||||
void setupInventoryWheel();
|
||||
void setupHeartPieces();
|
||||
void setupWallets();
|
||||
void setupMitts();
|
||||
void setupSailcloth();
|
||||
void setupWaterDragonScale();
|
||||
void setupFireshieldEarrings();
|
||||
void setupSongsAndLifeTree();
|
||||
void setupTabletTriforce();
|
||||
void setupSword();
|
||||
void setupStoneOfTrials();
|
||||
|
||||
// Dynamic setup
|
||||
void setupRingIcons(s32 tab);
|
||||
|
||||
s32 updateSelection();
|
||||
s32 getPointerPane() const;
|
||||
|
||||
void hideItemIcons();
|
||||
|
||||
enum LoadRingTextCmd_e {
|
||||
RING_TEXT_RELEASE_TO_CONFIRM = 0,
|
||||
RING_TEXT_INITIAL_TAB = 1,
|
||||
RING_TEXT_CURRENT_TAB = 2,
|
||||
};
|
||||
|
||||
void executeCall();
|
||||
void playOnOffTabAnim();
|
||||
void loadRingText(u32 cmd);
|
||||
|
||||
/* 0x0004 */ STATE_MGR_DECLARE(dLytPauseDisp00_c);
|
||||
/* 0x0040 */ d2d::LytBase_c mLyt;
|
||||
/* 0x00D0 */ d2d::AnmGroup_c mAnm[126];
|
||||
/* 0x2050 */ dLytCommonIconItem_c mIcons[24];
|
||||
/* 0xE110 */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0xE11C */ d2d::SubPaneListNode mSubpanes[24];
|
||||
/* 0xE29C */ dCursorHitCheckLyt_c mCsHitCheck;
|
||||
/* 0xE2C4 */ nw4r::lyt::Bounding *mpBoundings[37];
|
||||
|
||||
/* 0xE358 */ s32 mStep;
|
||||
/* 0xE35C */ s32 mPrevNavTarget;
|
||||
/* 0xE360 */ s32 mCurrentNavTarget;
|
||||
/* 0xE364 */ s32 mCallTimerMaybe;
|
||||
/* 0xE368 */ s32 mGetDemoTimer;
|
||||
/* 0xE36C */ bool mInRequest;
|
||||
/* 0xE36D */ bool mOutRequest;
|
||||
/* 0xE36E */ bool field_0xE36E;
|
||||
/* 0xE36F */ bool mIsVisible;
|
||||
/* 0xE370 */ bool mDoScrollAnim;
|
||||
/* 0xE371 */ bool field_0xE371;
|
||||
/* 0xE372 */ bool mSelectToggleRequest;
|
||||
/* 0xE373 */ bool mSelectGuideRequest;
|
||||
/* 0xE374 */ bool mStopCallRequest;
|
||||
/* 0xE375 */ bool mSelectMplsRequest;
|
||||
/* 0xE376 */ bool field_0xE376;
|
||||
/* 0xE377 */ bool mRingToggleRequest;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -67,7 +67,7 @@ private:
|
||||
/* 0x98BC */ s32 mStep;
|
||||
/* 0x98C0 */ s32 mPrevNavTarget;
|
||||
/* 0x98C4 */ s32 mCurrentNavTarget;
|
||||
/* 0x98C8 */ s32 mTimer;
|
||||
/* 0x98C8 */ s32 mGetDemoTimer;
|
||||
/* 0x98CC */ bool mInRequest;
|
||||
/* 0x98CD */ bool mOutRequest;
|
||||
/* 0x98CE */ bool field_0x98CE;
|
||||
|
||||
@@ -5,6 +5,41 @@
|
||||
#include "sized_string.h"
|
||||
#include "toBeSorted/dowsing_target.h"
|
||||
|
||||
enum LytItemNumberColor_e {
|
||||
LYT_ITEM_COLOR_GOLD = 0,
|
||||
LYT_ITEM_COLOR_RED = 1,
|
||||
LYT_ITEM_COLOR_GREEN = 2,
|
||||
LYT_ITEM_COLOR_NONE = 3,
|
||||
};
|
||||
|
||||
enum SongLifeTreeSeedStatus_e {
|
||||
SONG_LIFETREE_NONE = 0,
|
||||
SONG_LIFETREE_HAS_SOTH_PARTS_OR_SEED = 1,
|
||||
SONG_LIFETREE_HAS_SOTH = 2,
|
||||
};
|
||||
|
||||
u8 getSongLifeTreeStatus();
|
||||
|
||||
/** 0: no sword, 6: TMS */
|
||||
s32 getCurrentSwordLevel();
|
||||
bool isSwordRestrictedBokoBase();
|
||||
|
||||
u16 getTabletItemIdForIndex(s32 index);
|
||||
|
||||
u16 getTriforceItemIdForIndex(s32 index);
|
||||
|
||||
bool hasGoddessHarp();
|
||||
|
||||
bool hasSong(s32 index);
|
||||
|
||||
bool hasWaterDragonScale();
|
||||
bool isWaterDragonScaleRestricted();
|
||||
|
||||
bool hasSailcloth();
|
||||
|
||||
s32 getCurrentMittsLevel();
|
||||
bool isMittsRestricted();
|
||||
|
||||
void getItemLabel(s32 itemId, SizedString<32> &buf);
|
||||
void getCaptionItemLabel(s32 itemId, SizedString<32> &buf);
|
||||
void getDowsingLabel(s32 itemId, SizedString<32> &buf);
|
||||
@@ -17,15 +52,30 @@ const wchar_t *getPauseCategoryText(s32 itemId);
|
||||
|
||||
bool isPouchBocoburinLocked();
|
||||
|
||||
// TODO - these return types may require some work
|
||||
|
||||
u8 getPouchItemForSlot(s32 slot, bool unk);
|
||||
bool hasPouchSlot(s32 slot, bool unk);
|
||||
s32 getPouchItemAmount(s32 slot, bool unk);
|
||||
u8 getPouchItemNumberColor(s32 slot, bool unk);
|
||||
f32 getShieldDurability(s32 slot, bool unk);
|
||||
u32 getPouchItemIdForIndex(s32 slot, bool unk);
|
||||
|
||||
// TODO - rename and make sense of these
|
||||
DowsingTarget::DowsingSlot dowsingSlotForIndex(s32 index);
|
||||
s32 getLytIndexForDowsingIndex(s32 index);
|
||||
u8 getLytIndexForDowsingIndex(s32 index);
|
||||
u16 getDowsingItemIdForIndex(s32 index);
|
||||
bool hasDowsingInIndex(s32 index);
|
||||
|
||||
// B-Wheel
|
||||
s32 getBWheelSlotForIndex(s32 index);
|
||||
bool isBWheelIndexWithNumber(s32 index);
|
||||
s32 getNumberForBWheelIndex(s32 index);
|
||||
s32 getItemLevelForBWheelIndex(s32 index);
|
||||
u8 getLytItemIdForBWheelIndex(s32 index);
|
||||
bool isBWheelIndexBocoburinLocked(s32 index, bool unk);
|
||||
u8 getNumberColorForBWheelIndex(s32 index);
|
||||
u16 getBWheelItemIdForIndex(s32 index);
|
||||
|
||||
/**
|
||||
* FR: -1, 0, 1 singular, else plural
|
||||
|
||||
@@ -213,8 +213,8 @@ private:
|
||||
void fn_800EF8C0(bool);
|
||||
bool isWheelBlockedByCurrentAction();
|
||||
void setBtnText(s32);
|
||||
bool fn_800F01B0(s32) const;
|
||||
bool fn_800F01E0(s32) const;
|
||||
bool hasBWheelItem(s32) const;
|
||||
bool isBocoburinLocked(s32) const;
|
||||
bool isSlotBocoburinLocked(s32);
|
||||
void fn_800F0310();
|
||||
bool fn_800F0030() const;
|
||||
|
||||
@@ -104,7 +104,7 @@ struct SizedString {
|
||||
template <size_t Size>
|
||||
struct SizedWString {
|
||||
SizedWString() {
|
||||
mChars[0] = '\0';
|
||||
mChars[0] = L'\0';
|
||||
}
|
||||
|
||||
wchar_t mChars[Size];
|
||||
@@ -117,6 +117,10 @@ struct SizedWString {
|
||||
return mChars;
|
||||
}
|
||||
|
||||
void empty() {
|
||||
mChars[0] = L'\0';
|
||||
}
|
||||
|
||||
int sprintf(const wchar_t *fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
+23
-23
@@ -500,23 +500,23 @@ void LytBase_c::setProperties(nw4r::lyt::Pane *pane, f32 posX, f32 posY, f32 sca
|
||||
|
||||
textBox->SetCharSpace(textBox->GetCharSpace() + dLyt_HIO_c::getFn800B2020() + f6);
|
||||
textBox->SetLineSpace(textBox->GetLineSpace() + dLyt_HIO_c::getFn800B2000() + f4);
|
||||
fn_800AB930(textBox);
|
||||
loadText(textBox);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AB930(dTextBox_c *box) {
|
||||
return fn_800AB9A0(box, -1);
|
||||
bool LytBase_c::loadText(dTextBox_c *box) {
|
||||
return loadTextVariant(box, -1);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AB940(const char *name, int arg) {
|
||||
bool LytBase_c::loadTextVariant(const char *name, int arg) {
|
||||
dTextBox_c *box = getTextBox(name);
|
||||
if (box == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return fn_800AB9A0(box, arg);
|
||||
return loadTextVariant(box, arg);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AB9A0(dTextBox_c *textbox, int arg) {
|
||||
bool LytBase_c::loadTextVariant(dTextBox_c *textbox, int arg) {
|
||||
if (getMsbtInfo() == nullptr) {
|
||||
return false;
|
||||
}
|
||||
@@ -551,21 +551,21 @@ bool LytBase_c::fn_800AB9A0(dTextBox_c *textbox, int arg) {
|
||||
if (ty == 1) {
|
||||
dTextBox_c *otherBox = getTextBox(list->GetString());
|
||||
if (otherBox != nullptr) {
|
||||
return fn_800ABB80(textbox, otherBox, arg);
|
||||
return loadTextVariantCopy(textbox, otherBox, arg);
|
||||
}
|
||||
} else {
|
||||
return fn_800ABCE0(list, textbox, textbox, arg);
|
||||
return setText(list, textbox, textbox, arg);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800ABB80(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg) {
|
||||
u16 num = textbox2->GetExtUserDataNum();
|
||||
bool LytBase_c::loadTextVariantCopy(dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, int arg) {
|
||||
u16 num = sourceTextBox->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox2->GetExtUserData();
|
||||
const nw4r::lyt::res::ExtUserData *list = sourceTextBox->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
@@ -579,17 +579,17 @@ bool LytBase_c::fn_800ABB80(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg)
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
return fn_800ABCE0(list, textbox1, textbox2, arg);
|
||||
return setText(list, targetTextBox, sourceTextBox, arg);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800ABCE0(
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, int arg
|
||||
bool LytBase_c::setText(
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, int arg
|
||||
) {
|
||||
s32 userDatInt = userDatum->GetInt();
|
||||
SizedString<0x40> str1;
|
||||
SizedString<0x40> str2;
|
||||
|
||||
str1 = textbox2->GetName();
|
||||
str1 = sourceTextBox->GetName();
|
||||
if (userDatInt != 0) {
|
||||
userDatInt = 0;
|
||||
if (arg != -1) {
|
||||
@@ -605,7 +605,7 @@ bool LytBase_c::fn_800ABCE0(
|
||||
return false;
|
||||
}
|
||||
|
||||
textbox1->setTextWithGlobalTextProcessor(dMessage_c::formatText(text));
|
||||
targetTextBox->setTextWithGlobalTextProcessor(dMessage_c::formatText(text));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -652,13 +652,13 @@ bool LytBase_c::fn_800ABE50(dTextBox_c *textbox, wchar_t *destBuf, u32 maxLen) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AC040(dTextBox_c *textbox1, dTextBox_c *textbox2, wchar_t *destBuf, u32 maxLen) {
|
||||
u16 num = textbox2->GetExtUserDataNum();
|
||||
bool LytBase_c::fn_800AC040(dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, wchar_t *destBuf, u32 maxLen) {
|
||||
u16 num = sourceTextBox->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox2->GetExtUserData();
|
||||
const nw4r::lyt::res::ExtUserData *list = sourceTextBox->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
@@ -672,24 +672,24 @@ bool LytBase_c::fn_800AC040(dTextBox_c *textbox1, dTextBox_c *textbox2, wchar_t
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
return fn_800AC1AC(list, textbox1, textbox2, destBuf, maxLen);
|
||||
return fn_800AC1AC(list, targetTextBox, sourceTextBox, destBuf, maxLen);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AC1AC(
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, wchar_t *destBuf, u32 maxLen
|
||||
const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *targetTextBox, dTextBox_c *sourceTextBox, wchar_t *destBuf, u32 maxLen
|
||||
) {
|
||||
s32 userDatInt = userDatum->GetInt();
|
||||
SizedString<0x40> str1;
|
||||
SizedString<0x40> str2;
|
||||
|
||||
str1 = textbox2->GetName();
|
||||
str1 = sourceTextBox->GetName();
|
||||
if (userDatInt != 0) {
|
||||
SizedString<0x40> &fmt = str2;
|
||||
fmt.sprintf(":%02d", 0);
|
||||
str1.append(fmt);
|
||||
}
|
||||
|
||||
textbox1->setMessageWithGlobalTextProcessorAndMsbtInfo(getMsbtInfo(), str1, destBuf, maxLen);
|
||||
targetTextBox->setMessageWithGlobalTextProcessorAndMsbtInfo(getMsbtInfo(), str1, destBuf, maxLen);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+1629
-27
File diff suppressed because it is too large
Load Diff
@@ -226,7 +226,7 @@ void dLytPauseDisp01_c::initializeState_None() {
|
||||
mStep = 0;
|
||||
mPrevNavTarget = 0;
|
||||
mCurrentNavTarget = 0;
|
||||
mTimer = 0;
|
||||
mGetDemoTimer = 0;
|
||||
|
||||
for (int i = 0; i < PAUSE_DISP_01_NUM_SUBPANES; i++) {
|
||||
mIcons[i].reset();
|
||||
@@ -309,11 +309,9 @@ void dLytPauseDisp01_c::finalizeState_In() {
|
||||
mDoScrollAnim = false;
|
||||
if (pause->getField_0x083E()) {
|
||||
if (!pause->getField_0x0832()) {
|
||||
// TODO id
|
||||
mCurrentNavTarget = 34;
|
||||
mCurrentNavTarget = PAUSE_DISP_01_OFFSET_MY_PANES + PAUSE_DISP_01_PANE_RIGHT + 1;
|
||||
} else {
|
||||
// TODO id
|
||||
mCurrentNavTarget = 33;
|
||||
mCurrentNavTarget = PAUSE_DISP_01_OFFSET_MY_PANES + PAUSE_DISP_01_PANE_LEFT + 1;
|
||||
}
|
||||
mPrevNavTarget = mCurrentNavTarget;
|
||||
}
|
||||
@@ -363,16 +361,16 @@ void dLytPauseDisp01_c::finalizeState_Select() {
|
||||
void dLytPauseDisp01_c::initializeState_GetDemo() {
|
||||
field_0x98CE = true;
|
||||
mStep = 0;
|
||||
mTimer = 0;
|
||||
mGetDemoTimer = 0;
|
||||
}
|
||||
void dLytPauseDisp01_c::executeState_GetDemo() {
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
field_0x98CE = false;
|
||||
if (mTimer < 2) {
|
||||
mTimer++;
|
||||
if (mGetDemoTimer < 2) {
|
||||
mGetDemoTimer++;
|
||||
} else {
|
||||
mTimer = 0;
|
||||
mGetDemoTimer = 0;
|
||||
mStep = 1;
|
||||
}
|
||||
break;
|
||||
@@ -448,10 +446,10 @@ void dLytPauseDisp01_c::executeState_GetDemo() {
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
if (mTimer < 35) {
|
||||
mTimer++;
|
||||
if (mGetDemoTimer < 35) {
|
||||
mGetDemoTimer++;
|
||||
} else {
|
||||
mTimer = 0;
|
||||
mGetDemoTimer = 0;
|
||||
mStep = 3;
|
||||
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_MENU_ITEM_SET_COUNT_UP);
|
||||
u16 item = dLytControlGame_c::getInstance()->getItemForPauseDemo();
|
||||
@@ -502,10 +500,10 @@ void dLytPauseDisp01_c::executeState_GetDemo() {
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
if (mTimer < 37) {
|
||||
mTimer++;
|
||||
if (mGetDemoTimer < 37) {
|
||||
mGetDemoTimer++;
|
||||
} else {
|
||||
mTimer = 0;
|
||||
mGetDemoTimer = 0;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -146,8 +146,9 @@ bool dLytMeter1Button_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mAnm[i].setAnimEnable(false);
|
||||
}
|
||||
|
||||
mLyt.fn_800AB9A0(mLyt.getTextBox("T_sabBtnS_00"), 0);
|
||||
mLyt.fn_800AB9A0(mLyt.getTextBox("T_sabBtn_00"), 0);
|
||||
// "Gear"
|
||||
mLyt.loadTextVariant(mLyt.getTextBox("T_sabBtnS_00"), 0);
|
||||
mLyt.loadTextVariant(mLyt.getTextBox("T_sabBtn_00"), 0);
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mpWindow[i] = mLyt.getWindow(sWindowName1[i]);
|
||||
mpSizeBox[i] = mLyt.getSizeBoxInWindow(sWindowName1[i]);
|
||||
|
||||
@@ -25,11 +25,13 @@ void dLytMeterEventSkip_c::executeState_Invisible() {
|
||||
if (shouldPromptForSkip() || dLytMeter_c::GetInstance()->isHelpOpen()) {
|
||||
if (dLytMeter_c::GetInstance()->isHelpOpen()) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mLyt.fn_800AB9A0(mpTextBoxes[i], 1);
|
||||
// "Close"
|
||||
mLyt.loadTextVariant(mpTextBoxes[i], 1);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mLyt.fn_800AB9A0(mpTextBoxes[i], 0);
|
||||
// "Skip"
|
||||
mLyt.loadTextVariant(mpTextBoxes[i], 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "d/lyt/d_lyt_control_game.h"
|
||||
#include "d/lyt/d_lyt_do_button.h"
|
||||
#include "d/lyt/d_lyt_unknowns.h"
|
||||
#include "d/lyt/d_lyt_util_items.h"
|
||||
#include "d/lyt/meter/d_lyt_meter.h"
|
||||
#include "d/snd/d_snd_small_effect_mgr.h"
|
||||
#include "m/m_vec.h"
|
||||
@@ -719,9 +720,9 @@ void dLytMeterItemSelect_c::initializeState_SelectIn() {
|
||||
mAnm[ITEM_SELECT_ANIM_DECIDE].setFrame(0.0f);
|
||||
|
||||
for (int i = 0; i < ITEM_SELECT_NUM_ITEMS; i++) {
|
||||
if (fn_800F01B0(i)) {
|
||||
if (hasBWheelItem(i)) {
|
||||
mAnm[i + ITEM_SELECT_ANIM_HAVE_OFFSET].setFrame(0.0f);
|
||||
if (fn_800F01E0(i)) {
|
||||
if (isBocoburinLocked(i)) {
|
||||
mIsBocoburinLocked[i] = true;
|
||||
}
|
||||
} else {
|
||||
@@ -1345,7 +1346,7 @@ void dLytMeterItemSelect_c::initializeState_DemoMove() {
|
||||
} else {
|
||||
field_0x57A3[i] = true;
|
||||
}
|
||||
} else if ((i == 0 || i == 2 || i == 3) && fn_800F01B0(i)) {
|
||||
} else if ((i == 0 || i == 2 || i == 3) && hasBWheelItem(i)) {
|
||||
field_0x57A3[i] = false;
|
||||
field_0x575C++;
|
||||
} else {
|
||||
@@ -1355,8 +1356,8 @@ void dLytMeterItemSelect_c::initializeState_DemoMove() {
|
||||
}
|
||||
|
||||
for (int i = 0; i < ITEM_SELECT_NUM_ITEMS; i++) {
|
||||
if (fn_800F01B0(i)) {
|
||||
if (fn_800F01E0(i) || field_0x57A3[i] == 0) {
|
||||
if (hasBWheelItem(i)) {
|
||||
if (isBocoburinLocked(i) || field_0x57A3[i] == 0) {
|
||||
if (isSlotBocoburinLocked(i)) {
|
||||
mIsBocoburinLocked[i] = true;
|
||||
mAnm[i + ITEM_SELECT_ANIM_HAVE_OFFSET].setFrame(0.0f);
|
||||
@@ -1399,7 +1400,7 @@ void dLytMeterItemSelect_c::executeState_DemoMove() {
|
||||
mDemoMoveTimer++;
|
||||
if (mDemoMoveTimer == 15) {
|
||||
for (int i = 0; i < ITEM_SELECT_NUM_ITEMS; i++) {
|
||||
if (fn_800F01B0(i) && !field_0x57A3[i]) {
|
||||
if (hasBWheelItem(i) && !field_0x57A3[i]) {
|
||||
mAnm[i + ITEM_SELECT_ANIM_HAVE_OFFSET].setFrame(0.0f);
|
||||
field_0x57A3[i] = true;
|
||||
|
||||
@@ -2514,16 +2515,12 @@ u8 dLytMeterItemSelect_c::getInternalBaseItemForSlot(s32 slot) const {
|
||||
return sSlotToInternalItem[slot];
|
||||
}
|
||||
|
||||
extern "C" s32 fn_801673B0(s32);
|
||||
|
||||
bool dLytMeterItemSelect_c::fn_800F01B0(s32 arg) const {
|
||||
return fn_801673B0(arg) != 0;
|
||||
bool dLytMeterItemSelect_c::hasBWheelItem(s32 arg) const {
|
||||
return getItemLevelForBWheelIndex(arg) != 0;
|
||||
}
|
||||
|
||||
extern "C" bool fn_80167780(s32, bool);
|
||||
|
||||
bool dLytMeterItemSelect_c::fn_800F01E0(s32 arg) const {
|
||||
return fn_80167780(arg, true);
|
||||
bool dLytMeterItemSelect_c::isBocoburinLocked(s32 arg) const {
|
||||
return isBWheelIndexBocoburinLocked(arg, true);
|
||||
}
|
||||
|
||||
bool dLytMeterItemSelect_c::isSlotBocoburinLocked(s32 slot) {
|
||||
|
||||
@@ -217,7 +217,8 @@ void dLytMsgWindowSelectBtn_c::initializeState_In() {
|
||||
field_0x9A4 = 1;
|
||||
field_0x9B4 = -1;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mLyt.fn_800AB9A0(mpDecideTextBoxes[i], 1);
|
||||
// "Select"
|
||||
mLyt.loadTextVariant(mpDecideTextBoxes[i], 1);
|
||||
}
|
||||
|
||||
mpWindow->UpdateSize(mpSizeBox, 32.0f);
|
||||
@@ -317,7 +318,8 @@ void dLytMsgWindowSelectBtn_c::executeState_WaitSelect() {
|
||||
f32 f = mBtnHelper.fn_8011D690(mBtnHelper.field_0x50);
|
||||
// TODO
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mLyt.fn_800AB9A0(mpDecideTextBoxes[i], 0);
|
||||
// "Confirm"
|
||||
mLyt.loadTextVariant(mpDecideTextBoxes[i], 0);
|
||||
}
|
||||
|
||||
mpWindow->UpdateSize(mpSizeBox, 32.0f);
|
||||
|
||||
Reference in New Issue
Block a user