Merge pull request #223 from robojumper/d_lyt_cursor_stick

d_lyt_cursor_stick OK
This commit is contained in:
robojumper
2025-07-26 15:43:48 +02:00
committed by GitHub
6 changed files with 310 additions and 73 deletions
+77 -62
View File
@@ -2370,8 +2370,8 @@ getDownTrig2__4dPadFv = .text:0x800597A0; // type:function size:0x18
getDownTrigMinus__4dPadFv = .text:0x800597C0; // type:function size:0x18
getDownTrigPlus__4dPadFv = .text:0x800597E0; // type:function size:0x18
getDown__4dPadFUl = .text:0x80059800; // type:function size:0x18
down__Q23EGG14CoreControllerCFUl = .text:0x80059820; // type:function size:0x18
downAll__Q23EGG14CoreControllerCFUl = .text:0x80059840; // type:function size:0x18
down__Q23EGG14CoreControllerCFUl = .text:0x80059820; // type:function size:0x18 scope:weak
downAll__Q23EGG14CoreControllerCFUl = .text:0x80059840; // type:function size:0x18 scope:weak
getDownA__4dPadFv = .text:0x80059860; // type:function size:0x18
getDownB__4dPadFv = .text:0x80059880; // type:function size:0x18
getDownC__4dPadFv = .text:0x800598A0; // type:function size:0x18
@@ -2384,12 +2384,12 @@ getDown1__4dPadFv = .text:0x80059960; // type:function size:0x18
getDown2__4dPadFv = .text:0x80059980; // type:function size:0x18
getDownMinus__4dPadFv = .text:0x800599A0; // type:function size:0x18
getDownPlus__4dPadFv = .text:0x800599C0; // type:function size:0x18
upTrigger__Q23EGG14CoreControllerCFUl = .text:0x800599E0; // type:function size:0x18
upTrigger__Q23EGG14CoreControllerCFUl = .text:0x800599E0; // type:function size:0x18 scope:weak
getUpTrigA__4dPadFv = .text:0x80059A00; // type:function size:0x18
getUpTrigB__4dPadFv = .text:0x80059A20; // type:function size:0x18
getUpTrigZ__4dPadFv = .text:0x80059A40; // type:function size:0x18
up__Q23EGG14CoreControllerCFUl = .text:0x80059A60; // type:function size:0x1C
upAll__Q23EGG14CoreControllerCFUl = .text:0x80059A80; // type:function size:0x14
up__Q23EGG14CoreControllerCFUl = .text:0x80059A60; // type:function size:0x1C scope:weak
upAll__Q23EGG14CoreControllerCFUl = .text:0x80059A80; // type:function size:0x14 scope:weak
getUpA__4dPadFv = .text:0x80059AA0; // type:function size:0x18
getDpdPos__4dPadFv = .text:0x80059AC0; // type:function size:0x8
getDpdPosScreen__4dPadFv = .text:0x80059AD0; // type:function size:0xC
@@ -2935,7 +2935,7 @@ Calculate__Q26dReset8Manage_cFv = .text:0x80067D40; // type:function size:0x70
Draw__Q26dReset8Manage_cFv = .text:0x80067DB0; // type:function size:0x14
BootComplete__Q26dReset8Manage_cFb = .text:0x80067DD0; // type:function size:0x8
CanExecSoftReset__Q26dReset8Manage_cCFv = .text:0x80067DE0; // type:function size:0xD4
getStatus__Q23EGG10ColorFaderCFv = .text:0x80067EC0; // type:function size:0x8
getStatus__Q23EGG10ColorFaderCFv = .text:0x80067EC0; // type:function size:0x8 scope:weak
SetSoftResetFinish__Q26dReset8Manage_cFv = .text:0x80067ED0; // type:function size:0x24
SetSoftResetScene__Q26dReset8Manage_cFv = .text:0x80067F00; // type:function size:0x50
PostDeleteScene__Q26dReset8Manage_cFv = .text:0x80067F50; // type:function size:0x4
@@ -9300,33 +9300,33 @@ fn_8016AD90 = .text:0x8016AD90; // type:function size:0x30
LytCommonTitle__initStates = .text:0x8016ADC0; // type:function size:0x3F4
LytCommonTitle__state_dtor = .text:0x8016B1C0; // type:function size:0x58
fn_8016B220 = .text:0x8016B220; // type:function size:0x88
fn_8016B2B0 = .text:0x8016B2B0; // type:function size:0x28
fn_8016B2E0 = .text:0x8016B2E0; // type:function size:0x38
fn_8016B320 = .text:0x8016B320; // type:function size:0x30
build__17dLytCursorStick_cFv = .text:0x8016B2B0; // type:function size:0x28
remove__17dLytCursorStick_cFv = .text:0x8016B2E0; // type:function size:0x38
execute__17dLytCursorStick_cFv = .text:0x8016B320; // type:function size:0x30
draw__17dLytCursorStick_cFv = .text:0x8016B350; // type:function size:0x30
similarToDraw__17dLytCursorStick_cFv = .text:0x8016B380; // type:function size:0x30
fn_8016B3B0 = .text:0x8016B3B0; // type:function size:0x138
changeState__86sStateMgr_c<17dLytCursorStick_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8016B4F0; // type:function size:0x10
fn_8016B500 = .text:0x8016B500; // type:function size:0x50
fn_8016B550 = .text:0x8016B550; // type:function size:0x5C
executeState__86sStateMgr_c<17dLytCursorStick_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8016B5B0; // type:function size:0x10
fn_8016B5C0 = .text:0x8016B5C0; // type:function size:0x34
fn_8016B600 = .text:0x8016B600; // type:function size:0x40
fn_8016B640 = .text:0x8016B640; // type:function size:0x8
LytCursorStick__stateOffEnter = .text:0x8016B650; // type:function size:0x4
LytCursorStick__stateOffUpdate = .text:0x8016B660; // type:function size:0x70
LytCursorStick__stateOffLeave = .text:0x8016B6D0; // type:function size:0x4
LytCursorStick__stateOnEnter = .text:0x8016B6E0; // type:function size:0x4
LytCursorStick__stateOnUpdate = .text:0x8016B6F0; // type:function size:0x94
LytCursorStick__stateOnLeave = .text:0x8016B790; // type:function size:0x4
fn_8016B7A0 = .text:0x8016B7A0; // type:function size:0x8
fn_8016B7B0 = .text:0x8016B7B0; // type:function size:0x1EC
fn_8016B9A0 = .text:0x8016B9A0; // type:function size:0x30
fn_8016B9D0 = .text:0x8016B9D0; // type:function size:0x30
fn_8016BA00 = .text:0x8016BA00; // type:function size:0x30
LytCursorStick__initStates = .text:0x8016BA30; // type:function size:0x1C0
LytCursorStick__dtor = .text:0x8016BBF0; // type:function size:0x58
fn_8016BC50 = .text:0x8016BC50; // type:function size:0x88
drawDirectly__17dLytCursorStick_cFv = .text:0x8016B380; // type:function size:0x30
build___17dLytCursorStick_cFv = .text:0x8016B3B0; // type:function size:0x138
changeState__86sStateMgr_c<17dLytCursorStick_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8016B4F0; // type:function size:0x10 scope:weak
remove___17dLytCursorStick_cFv = .text:0x8016B500; // type:function size:0x50
execute___17dLytCursorStick_cFv = .text:0x8016B550; // type:function size:0x5C
executeState__86sStateMgr_c<17dLytCursorStick_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8016B5B0; // type:function size:0x10 scope:weak
draw___17dLytCursorStick_cFv = .text:0x8016B5C0; // type:function size:0x34
drawDirectly___17dLytCursorStick_cFv = .text:0x8016B600; // type:function size:0x40
setPriority__17dLytCursorStick_cFUc = .text:0x8016B640; // type:function size:0x8
initializeState_Off__17dLytCursorStick_cFv = .text:0x8016B650; // type:function size:0x4
executeState_Off__17dLytCursorStick_cFv = .text:0x8016B660; // type:function size:0x70
finalizeState_Off__17dLytCursorStick_cFv = .text:0x8016B6D0; // type:function size:0x4
initializeState_On__17dLytCursorStick_cFv = .text:0x8016B6E0; // type:function size:0x4
executeState_On__17dLytCursorStick_cFv = .text:0x8016B6F0; // type:function size:0x94
finalizeState_On__17dLytCursorStick_cFv = .text:0x8016B790; // type:function size:0x4
setTargetPane__17dLytCursorStick_cFPQ34nw4r3lyt4Pane = .text:0x8016B7A0; // type:function size:0x8
positionToTarget__17dLytCursorStick_cFv = .text:0x8016B7B0; // type:function size:0x1EC
finalizeState__32sFStateID_c<17dLytCursorStick_c>CFR17dLytCursorStick_c = .text:0x8016B9A0; // type:function size:0x30 scope:weak
executeState__32sFStateID_c<17dLytCursorStick_c>CFR17dLytCursorStick_c = .text:0x8016B9D0; // type:function size:0x30 scope:weak
initializeState__32sFStateID_c<17dLytCursorStick_c>CFR17dLytCursorStick_c = .text:0x8016BA00; // type:function size:0x30 scope:weak
__sinit_\d_lyt_cursor_stick_cpp = .text:0x8016BA30; // type:function size:0x1C0 scope:local
__dt__32sFStateID_c<17dLytCursorStick_c>Fv = .text:0x8016BBF0; // type:function size:0x58 scope:weak
isSameName__32sFStateID_c<17dLytCursorStick_c>CFPCc = .text:0x8016BC50; // type:function size:0x88 scope:weak
isValid__16FiAnalysisHandleCFv = .text:0x8016BCE0; // type:function size:0x14
getAreaIndexForFiAreaName__16FiAnalysisHandleCFv = .text:0x8016BD00; // type:function size:0x44
getCurrentFocus__16FiAnalysisHandleFv = .text:0x8016BD50; // type:function size:0x68
@@ -11248,7 +11248,7 @@ execute__9dCsBase_cFv = .text:0x801BCD80; // type:function size:0x1E4
draw__9dCsBase_cFv = .text:0x801BCF70; // type:function size:0xB0
setCurrentLyt__9dCsBase_cFi = .text:0x801BD020; // type:function size:0x14
update__9dCsBase_cFv = .text:0x801BD040; // type:function size:0x10
similarToDraw__9dCsBase_cFv = .text:0x801BD050; // type:function size:0xBC
drawDirectly__9dCsBase_cFv = .text:0x801BD050; // type:function size:0xBC
build__33sFStateFct_c<17dLytCursorStick_c>FRC12sStateIDIf_c = .text:0x801BD110; // type:function size:0x60
dispose__33sFStateFct_c<17dLytCursorStick_c>FRP10sStateIf_c = .text:0x801BD170; // type:function size:0xC
initialize__30sFState_c<17dLytCursorStick_c>Fv = .text:0x801BD180; // type:function size:0x1C
@@ -17765,7 +17765,7 @@ createOrDie__15mDvd_callback_cFPFPv_PvPv = .text:0x802EF650; // type:function si
execute__15mDvd_callback_cFv = .text:0x802EF680; // type:function size:0x54
__dt__22mDvd_mountMemArchive_cFv = .text:0x802EF6E0; // type:function size:0x58
__ct__22mDvd_mountMemArchive_cFi = .text:0x802EF740; // type:function size:0x74
ConvertPathToEntrynumASD___4mDvdFPCcPUc = .text:0x802EF7C0; // type:function size:0x16C
ConvertPathToEntrynumASD___4mDvdFPCcPUc = .text:0x802EF7C0; // type:function size:0x16C scope:local
setAutoStreamDecomp__4mDvdFb = .text:0x802EF930; // type:function size:0x8
isAutoStreamDecomp__4mDvdFv = .text:0x802EF940; // type:function size:0x8
ConvertPathToEntrynum__4mDvdFPCcPUc = .text:0x802EF950; // type:function size:0x80 scope:local
@@ -26703,7 +26703,7 @@ getBaseTexMtx__Q23EGG14PostEffectBaseCFPQ34nw4r4math5MTX34 = .text:0x804AF2D0; /
setProjection__Q23EGG14PostEffectBaseFRCQ23EGG6Screen = .text:0x804AF3C0; // type:function size:0xF4
__ct__Q23EGG14PostEffectBlurFv = .text:0x804AF4C0; // type:function size:0xE0
draw__Q23EGG14PostEffectBlurFff = .text:0x804AF5A0; // type:function size:0x190
drawInternal__Q23EGG14PostEffectBlurFUcUcff = .text:0x804AF730; // type:function size:0x4D4
setMaterialMulti__Q23EGG14PostEffectBlurFUcUcff = .text:0x804AF730; // type:function size:0x4D4
__ct__Q23EGG20PostEffectBlurGatherFv = .text:0x804AFC10; // type:function size:0xC0
setMaterialInternal__Q23EGG20PostEffectBlurGatherFv = .text:0x804AFCD0; // type:function size:0x3C8
__ct__Q23EGG14PostEffectUnk2Fv = .text:0x804B00A0; // type:function size:0x1F8
@@ -28214,8 +28214,8 @@ lbl_804E0E3C = .rodata:0x804E0E3C; // type:object size:0x3C
lbl_804E0E78 = .rodata:0x804E0E78; // type:object size:0x3C
lbl_804E0EB4 = .rodata:0x804E0EB4; // type:object size:0x3C
lbl_804E0EF0 = .rodata:0x804E0EF0; // type:object size:0x28
@LOCAL@ModeProc__Q26dReset8Manage_cFv@procs = .rodata:0x804E0F18; // type:object size:0x48
@LOCAL@ModeRequest__Q26dReset8Manage_cFQ36dReset8Manage_c6Mode_e@procs = .rodata:0x804E0F60; // type:object size:0x48
@LOCAL@ModeProc__Q26dReset8Manage_cFv@procs = .rodata:0x804E0F18; // type:object size:0x48 scope:local
@LOCAL@ModeRequest__Q26dReset8Manage_cFQ36dReset8Manage_c6Mode_e@procs = .rodata:0x804E0F60; // type:object size:0x48 scope:local
sInfos = .rodata:0x804E0FA8; // type:object size:0x246C scope:local data:4byte
lbl_804E3418 = .rodata:0x804E3418; // type:object size:0x40 data:4byte
lbl_804E3458 = .rodata:0x804E3458; // type:object size:0x38 data:4byte
@@ -30874,10 +30874,10 @@ __vt__20dCursorHitCheckLyt_c = .data:0x8050DF70; // type:object size:0x14
__vt__24dCsCheckLyt_BoundingData = .data:0x8050DF84; // type:object size:0xC
__vt__19dCursorHitCheckCC_c = .data:0x8050DF90; // type:object size:0x10
__vt__9dRumble_c = .data:0x8050DFA0; // type:object size:0xC
lbl_8050DFB0 = .data:0x8050DFB0; // type:object size:0xC
lbl_8050DFBC = .data:0x8050DFBC; // type:object size:0xC
lbl_8050DFC8 = .data:0x8050DFC8; // type:object size:0xC
lbl_8050DFD4 = .data:0x8050DFD4; // type:object size:0xC
@24614 = .data:0x8050DFB0; // type:object size:0xA scope:local data:string
@24731 = .data:0x8050DFBC; // type:object size:0x9 scope:local data:string
@24749 = .data:0x8050DFC8; // type:object size:0xB scope:local data:string
@24755 = .data:0x8050DFD4; // type:object size:0xB scope:local data:string
@4319 = .data:0x8050DFE0; // type:object size:0xA scope:local data:string
@4352 = .data:0x8050DFEC; // type:object size:0xB scope:local data:string
@4394 = .data:0x8050DFF8; // type:object size:0x9 scope:local data:string
@@ -34612,10 +34612,22 @@ lbl_80527880 = .data:0x80527880; // type:object size:0x30
lbl_805278B0 = .data:0x805278B0; // type:object size:0x18
lbl_805278C8 = .data:0x805278C8; // type:object size:0x19C
lbl_80527A64 = .data:0x80527A64; // type:object size:0x34
lbl_80527A98 = .data:0x80527A98; // type:object size:0x1C
lbl_80527AB4 = .data:0x80527AB4; // type:object size:0xC
lbl_80527AC0 = .data:0x80527AC0; // type:object size:0xCC
lbl_80527B8C = .data:0x80527B8C; // type:object size:0x34
@11234 = .data:0x80527A98; // type:object size:0x1A scope:local data:string
...data.0 = .data:0x80527A98; // type:label scope:local
@11235 = .data:0x80527AB4; // type:object size:0xA scope:local data:string
@11236 = .data:0x80527AC0; // type:object size:0x9 scope:local data:string
sPaneNames = .data:0x80527ACC; // type:object size:0x14 scope:local
@11625 = .data:0x80527AE0; // type:object size:0xC scope:local data:string
@11627 = .data:0x80527AEC; // type:object size:0x15 scope:local data:string
@11751 = .data:0x80527B04; // type:object size:0xC scope:local
@11752 = .data:0x80527B10; // type:object size:0xC scope:local
@11753 = .data:0x80527B1C; // type:object size:0xC scope:local
@11754 = .data:0x80527B28; // type:object size:0xC scope:local
@11755 = .data:0x80527B34; // type:object size:0xC scope:local
@11756 = .data:0x80527B40; // type:object size:0xC scope:local
@11758 = .data:0x80527B4C; // type:object size:0x1F scope:local data:string
@11759 = .data:0x80527B6C; // type:object size:0x1E scope:local data:string
__vt__32sFStateID_c<17dLytCursorStick_c> = .data:0x80527B8C; // type:object size:0x34 scope:weak
@30384 = .data:0x80527BC0; // type:object size:0xB scope:local data:string
__vt__23GratitudeCrystalCounter = .data:0x80527BD0; // type:object size:0x20
__vt__19GoddessPlumeCounter = .data:0x80527BF0; // type:object size:0x20
@@ -39253,8 +39265,8 @@ RootActorID = .sdata:0x80571D08; // type:object size:0x2 scope:local data:2byte
gameStateIsActive = .sdata:0x80571D0A; // type:object size:0x1 scope:local data:byte
@9006 = .sdata:0x80571D10; // type:object size:0x7 scope:local data:string
@9007 = .sdata:0x80571D18; // type:object size:0x3 scope:local data:string
lbl_80571D20 = .sdata:0x80571D20; // type:object size:0x8
lbl_80571D28 = .sdata:0x80571D28; // type:object size:0x8 data:string
@24583 = .sdata:0x80571D20; // type:object size:0x7 scope:local data:string
@24703 = .sdata:0x80571D28; // type:object size:0x8 scope:local data:string
@4320 = .sdata:0x80571D30; // type:object size:0x7 scope:local data:string
@4387 = .sdata:0x80571D38; // type:object size:0x7 scope:local data:string
@4244 = .sdata:0x80571D40; // type:object size:0x7 scope:local data:string
@@ -39762,11 +39774,11 @@ sGroupName = .sdata:0x805729C8; // type:object size:0x4 scope:local data:4byte
@8185 = .sdata:0x805729D0; // type:object size:0x1 scope:local
lbl_805729D8 = .sdata:0x805729D8; // type:object size:0x4
lbl_805729DC = .sdata:0x805729DC; // type:object size:0x4
lbl_805729E0 = .sdata:0x805729E0; // type:object size:0x8 data:string
lbl_805729E8 = .sdata:0x805729E8; // type:object size:0x8 data:string
lbl_805729F0 = .sdata:0x805729F0; // type:object size:0x8 data:string
lbl_805729F8 = .sdata:0x805729F8; // type:object size:0x8 data:string
lbl_80572A00 = .sdata:0x80572A00; // type:object size:0x8
@11237 = .sdata:0x805729E0; // type:object size:0x8 scope:local data:string
@11238 = .sdata:0x805729E8; // type:object size:0x8 scope:local data:string
@11239 = .sdata:0x805729F0; // type:object size:0x8 scope:local data:string
@11240 = .sdata:0x805729F8; // type:object size:0x8 scope:local data:string
@11626 = .sdata:0x80572A00; // type:object size:0x1 scope:local
@30454 = .sdata:0x80572A08; // type:object size:0x5 scope:local data:string
lbl_80572A10 = .sdata:0x80572A10; // type:object size:0x8 data:string
lbl_80572A18 = .sdata:0x80572A18; // type:object size:0x8 data:string
@@ -41538,7 +41550,7 @@ sInstance__18dLytSystemWindow_c = .sbss:0x805754D8; // type:object size:0x8 data
sInstance__15dLytBirdGauge_c = .sbss:0x805754E0; // type:object size:0x4 data:4byte
sInstance__14dLytSkyGauge_c = .sbss:0x805754E8; // type:object size:0x4 data:4byte
lbl_805754F0 = .sbss:0x805754F0; // type:object size:0x8 data:4byte
sInstance__17dLytCursorStick_c = .sbss:0x805754F8; // type:object size:0x8 data:4byte
sInstance__17dLytCursorStick_c = .sbss:0x805754F8; // type:object size:0x4 data:4byte
sInstance__9FiContext = .sbss:0x80575500; // type:object size:0x4 data:4byte
sNaviTable = .sbss:0x80575504; // type:object size:0x4 scope:local data:4byte
sSmallKeyCounter = .sbss:0x80575508; // type:object size:0x8 data:4byte
@@ -43433,8 +43445,8 @@ lbl_805779CC = .sdata2:0x805779CC; // type:object size:0x4 align:4 data:float
lbl_805779D0 = .sdata2:0x805779D0; // type:object size:0x4 align:4 data:float
lbl_805779D8 = .sdata2:0x805779D8; // type:object size:0x8 align:8 data:double
lbl_805779E0 = .sdata2:0x805779E0; // type:object size:0x4 align:4 data:float
lbl_805779E8 = .sdata2:0x805779E8; // type:object size:0x4 align:4 data:float
lbl_805779F0 = .sdata2:0x805779F0; // type:object size:0x8 align:8 data:double
@24439 = .sdata2:0x805779E8; // type:object size:0x4 scope:local align:4 data:float
@24442 = .sdata2:0x805779F0; // type:object size:0x8 scope:local align:8 data:double
@62 = .sdata2:0x805779F8; // type:object size:0x7 scope:local data:string
@63 = .sdata2:0x80577A00; // type:object size:0x7 scope:local data:string
@64 = .sdata2:0x80577A08; // type:object size:0x7 scope:local data:string
@@ -45039,9 +45051,9 @@ TRIFORCE_PIECE_ITEM_IDS = .sdata2:0x8057A178; // type:object size:0x8 data:wstri
lbl_8057A188 = .sdata2:0x8057A188; // type:object size:0x4 align:4 data:float
lbl_8057A18C = .sdata2:0x8057A18C; // type:object size:0x4 align:4 data:float
lbl_8057A190 = .sdata2:0x8057A190; // type:object size:0x4 align:4 data:float
lbl_8057A198 = .sdata2:0x8057A198; // type:object size:0x8 data:4byte
lbl_8057A1A0 = .sdata2:0x8057A1A0; // type:object size:0x4 align:4 data:float
lbl_8057A1A4 = .sdata2:0x8057A1A4; // type:object size:0x4 align:4 data:float
brlanMap = .sdata2:0x8057A198; // type:object size:0x8 scope:local data:4byte
@11660 = .sdata2:0x8057A1A0; // type:object size:0x4 scope:local align:4 data:float
@11740 = .sdata2:0x8057A1A4; // type:object size:0x4 scope:local align:4 data:float
@LOCAL@getEquipmentFocus__16FiAnalysisHandleCFv@sEquipmentFocuses = .sdata2:0x8057A1A8; // type:object size:0x8 scope:local
@30283 = .sdata2:0x8057A1B0; // type:object size:0x4 scope:local align:4 data:float
@30284 = .sdata2:0x8057A1B4; // type:object size:0x4 scope:local align:4 data:float
@@ -50450,6 +50462,7 @@ sHandMats = .bss:0x805A06C8; // type:object size:0xE scope:local data:byte
sFader__8dScene_c = .bss:0x805A06FC; // type:object size:0x24 data:4byte
SysConfig = .bss:0x805A0720; // type:object size:0x58 data:4byte
sRumblePreset0__9dRumble_c = .bss:0x805A0778; // type:object size:0xC data:4byte
...bss.0 = .bss:0x805A0778; // type:label scope:local
sRumblePreset1__9dRumble_c = .bss:0x805A0784; // type:object size:0xC data:4byte
sRumblePreset2__9dRumble_c = .bss:0x805A0790; // type:object size:0xC data:4byte
sRumblePreset3__9dRumble_c = .bss:0x805A079C; // type:object size:0xC data:4byte
@@ -51319,9 +51332,11 @@ LytCommonTitle__STATE_IN = .bss:0x805B1E00; // type:object size:0x40 data:4byte
LytCommonTitle__STATE_WAIT = .bss:0x805B1E40; // type:object size:0x40 data:4byte
LytCommonTitle__STATE_OUT = .bss:0x805B1E80; // type:object size:0x40 data:4byte
LytCommonTitle__STATE_CHANGE = .bss:0x805B1EC0; // type:object size:0x30 data:4byte
lbl_805B1EF0 = .bss:0x805B1EF0; // type:object size:0x10
LytCursorStick__STATE_OFF = .bss:0x805B1F00; // type:object size:0x40 data:4byte
LytCursorStick__STATE_ON = .bss:0x805B1F40; // type:object size:0x30 data:4byte
@11229 = .bss:0x805B1EF0; // type:object size:0xC scope:local
...bss.0 = .bss:0x805B1EF0; // type:label scope:local
StateID_Off__17dLytCursorStick_c = .bss:0x805B1F00; // type:object size:0x30 data:4byte
@11233 = .bss:0x805B1F30; // type:object size:0xC scope:local
StateID_On__17dLytCursorStick_c = .bss:0x805B1F40; // type:object size:0x30 data:4byte
lbl_805B1F70 = .bss:0x805B1F70; // type:object size:0xA0 data:4byte
lbl_805B2010 = .bss:0x805B2010; // type:object size:0x14
REVISION_r = .bss:0x805B2024; // type:object size:0xC data:4byte
@@ -52041,7 +52056,7 @@ sHeapList__Q23EGG4Heap = .bss:0x80673AE8; // type:object size:0xC
sRootMutex__Q23EGG4Heap = .bss:0x80673AF8; // type:object size:0x18
sThreadList__Q23EGG6Thread = .bss:0x80673B10; // type:object size:0xC
clear_z_tobj__29@unnamed@eggAsyncDisplay_cpp@ = .bss:0x80673B20; // type:object size:0x20 scope:local
null_controller = .bss:0x80673B40; // type:object size:0x10C0 data:4byte
null_controller__3EGG = .bss:0x80673B40; // type:object size:0x10C0 data:4byte
ident__Q23EGG9Matrix34f = .bss:0x80674C00; // type:object size:0x30
zero__Q23EGG8Vector3f = .bss:0x80674C30; // type:object size:0xC align:4 data:float
...bss.0 = .bss:0x80674C30; // type:label scope:local
+1 -1
View File
@@ -533,7 +533,7 @@ config.libs = [
Object(NonMatching, "d/lyt/d_lyt_util_items.cpp"),
Object(Matching, "d/lyt/d_lyt_common_arrow.cpp"),
Object(NonMatching, "d/lyt/d_lyt_common_title.cpp"),
Object(NonMatching, "d/lyt/d_lyt_cursor_stick.cpp"),
Object(Matching, "d/lyt/d_lyt_cursor_stick.cpp"),
Object(Matching, "toBeSorted/fi_context.cpp"),
Object(NonMatching, "toBeSorted/item_mdl_name.cpp"),
Object(Matching, "toBeSorted/counters/counter.cpp"),
+1 -1
View File
@@ -19,7 +19,7 @@ public:
virtual int execute() override;
int update();
int similarToDraw();
bool drawDirectly();
void setField703(bool val) {
field_0x703 = val;
+22 -5
View File
@@ -3,9 +3,10 @@
#include "common.h"
#include "d/lyt/d2d.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
#include "s/s_StateMgr.hpp"
/** 2D UI - element outline when selecting with cursor */
class dLytCursorStick_c {
public:
dLytCursorStick_c() : mStateMgr(*this, sStateID::null) {
@@ -15,19 +16,35 @@ public:
sInstance = nullptr;
}
static dLytCursorStick_c *sInstance;
static bool build();
static bool remove();
static bool execute();
static bool draw();
static bool similarToDraw();
static bool drawDirectly();
bool setPriority(u8 priority);
void setTargetPane(nw4r::lyt::Pane *pane);
private:
bool build_();
bool remove_();
bool execute_();
bool draw_();
bool drawDirectly_();
static dLytCursorStick_c *sInstance;
STATE_FUNC_DECLARE(dLytCursorStick_c, Off);
STATE_FUNC_DECLARE(dLytCursorStick_c, On);
void positionToTarget();
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytCursorStick_c);
/* 0x03C */ d2d::ResAccIf_c mResAcc;
/* 0x3AC */ d2d::dLytSub mLyt;
/* 0x440 */ d2d::AnmGroup_c mAnmGroups[1];
/* 0x480 */ u8 field_0x480[0x49C - 0x480];
/* 0x440 */ d2d::AnmGroup_c mAnm[1];
/* 0x480 */ nw4r::lyt::Pane *mpPanes[5];
/* 0x494 */ nw4r::lyt::Pane *mpTargetPane;
/* 0x498 */ bool mShouldBeOn;
};
#endif
+4 -4
View File
@@ -103,9 +103,9 @@ int dCsBase_c::update() {
return execute();
}
int dCsBase_c::similarToDraw() {
bool dCsBase_c::drawDirectly() {
if (field_0x704 != 1) {
return SUCCEEDED;
return true;
}
if (field_0x703 && lbl_80572D10 && field_0x702) {
@@ -118,7 +118,7 @@ int dCsBase_c::similarToDraw() {
mpCurrLyt->calc();
mpCurrLyt->draw();
}
mCursorStick.similarToDraw();
mCursorStick.drawDirectly();
return SUCCEEDED;
return true;
}
+205
View File
@@ -0,0 +1,205 @@
#include "d/lyt/d_lyt_cursor_stick.h"
#include "common.h"
#include "d/d_gfx.h"
#include "m/m_vec.h"
#include "nw4r/lyt/lyt_types.h"
#include "toBeSorted/arc_managers/layout_arc_manager.h"
STATE_DEFINE(dLytCursorStick_c, Off);
STATE_DEFINE(dLytCursorStick_c, On);
static const d2d::LytBrlanMapping brlanMap[] = {
{"cursorStick_00_loop.brlan", "G_loop_00"},
};
#define CURSOR_STICK_ANIM_LOOP 0
#define CURSOR_STICK_NUM_ANIMS 1
static const char *sPaneNames[] = {
"N_all_00", "N_RT_00", "N_LT_00", "N_LD_00", "N_RD_00",
};
#define CURSOR_STICK_PANE_ALL 0
#define CURSOR_STICK_PANE_RT 1
#define CURSOR_STICK_PANE_LT 2
#define CURSOR_STICK_PANE_LD 3
#define CURSOR_STICK_PANE_RD 4
#define CURSOR_STICK_NUM_PANES 5
dLytCursorStick_c *dLytCursorStick_c::sInstance;
bool dLytCursorStick_c::build() {
sInstance->build_();
return true;
}
bool dLytCursorStick_c::remove() {
if (sInstance != nullptr) {
sInstance->remove_();
sInstance = nullptr;
}
return true;
}
bool dLytCursorStick_c::execute() {
if (sInstance != nullptr) {
sInstance->execute_();
}
return true;
}
bool dLytCursorStick_c::draw() {
if (sInstance != nullptr) {
sInstance->draw_();
}
return true;
}
bool dLytCursorStick_c::drawDirectly() {
if (sInstance != nullptr) {
sInstance->drawDirectly_();
}
return true;
}
bool dLytCursorStick_c::build_() {
void *data = LayoutArcManager::GetInstance()->getLoadedData("CursorStick");
mResAcc.attach(data, "");
mLyt.setResAcc(&mResAcc);
mLyt.build("cursorStick_00.brlyt", nullptr);
mLyt.setPriority(0x8A);
for (int i = 0; i < CURSOR_STICK_NUM_ANIMS; i++) {
mAnm[i].init(brlanMap[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnm[i].bind(false);
mAnm[i].setAnimEnable(false);
}
for (int i = 0; i < CURSOR_STICK_NUM_PANES; i++) {
mpPanes[i] = mLyt.findPane(sPaneNames[i]);
}
mStateMgr.changeState(StateID_Off);
mLyt.calc();
mShouldBeOn = false;
mpTargetPane = nullptr;
return true;
}
bool dLytCursorStick_c::remove_() {
for (int i = 0; i < CURSOR_STICK_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].remove();
}
mResAcc.detach();
return true;
}
bool dLytCursorStick_c::execute_() {
mStateMgr.executeState();
if (mShouldBeOn) {
mLyt.calc();
}
return true;
}
bool dLytCursorStick_c::draw_() {
if (mShouldBeOn) {
mLyt.addToDrawList();
}
return true;
}
bool dLytCursorStick_c::drawDirectly_() {
if (mShouldBeOn) {
mLyt.draw();
}
return true;
}
bool dLytCursorStick_c::setPriority(u8 priority) {
mLyt.setPriority(priority);
}
void dLytCursorStick_c::initializeState_Off() {}
void dLytCursorStick_c::executeState_Off() {
if (mShouldBeOn) {
mAnm[CURSOR_STICK_ANIM_LOOP].setAnimEnable(true);
mAnm[CURSOR_STICK_ANIM_LOOP].setFrame(0.0f);
mStateMgr.changeState(StateID_On);
}
}
void dLytCursorStick_c::finalizeState_Off() {}
void dLytCursorStick_c::initializeState_On() {}
void dLytCursorStick_c::executeState_On() {
if (!mShouldBeOn) {
mAnm[CURSOR_STICK_ANIM_LOOP].setAnimEnable(false);
mAnm[CURSOR_STICK_ANIM_LOOP].setFrame(0.0f);
mStateMgr.changeState(StateID_Off);
}
positionToTarget();
if (mAnm[CURSOR_STICK_ANIM_LOOP].isEnabled()) {
mAnm[CURSOR_STICK_ANIM_LOOP].play();
}
}
void dLytCursorStick_c::finalizeState_On() {}
void dLytCursorStick_c::setTargetPane(nw4r::lyt::Pane *pane) {
mpTargetPane = pane;
positionToTarget();
}
void dLytCursorStick_c::positionToTarget() {
if (mpTargetPane == nullptr) {
return;
}
u8 positionV = mpTargetPane->GetPositionV();
u8 positionH = mpTargetPane->GetPositionH();
nw4r::math::MTX34 mtx = mpTargetPane->GetGlobalMtx();
nw4r::lyt::Size size = mpTargetPane->GetSize();
f32 halfWidthScaled = size.width / 2.0f / dGfx_c::get16x9to4x3WidthScaleF();
f32 posX;
f32 posY;
if (positionH == 0) {
posX = mtx._03 + halfWidthScaled;
} else if (positionH == 1) {
posX = mtx._03;
} else {
posX = mtx._03 - halfWidthScaled;
}
if (positionV == 0) {
posY = mtx._13 - size.height / 2.0f;
} else if (positionV == 1) {
posY = mtx._13;
} else {
posY = mtx._13 + size.height / 2.0f;
}
mVec3_c v(posX, posY, 0.0f);
mpPanes[CURSOR_STICK_PANE_ALL]->SetTranslate(v);
v.x = -size.width / 2.0f;
v.y = size.height / 2.0f;
mpPanes[CURSOR_STICK_PANE_LT]->SetTranslate(v);
v.x = size.width / 2.0f;
v.y = size.height / 2.0f;
mpPanes[CURSOR_STICK_PANE_RT]->SetTranslate(v);
v.x = -size.width / 2.0f;
v.y = -size.height / 2.0f;
mpPanes[CURSOR_STICK_PANE_LD]->SetTranslate(v);
v.x = size.width / 2.0f;
v.y = -size.height / 2.0f;
mpPanes[CURSOR_STICK_PANE_RD]->SetTranslate(v);
mLyt.calc();
}