mirror of
https://github.com/zeldaret/ss
synced 2026-07-11 22:50:06 -04:00
Some game UI basics (#25)
* start with dLyt stuff, dLytFader_c * Some game UI basics * More progress * Move and format files * Proper outlining * Fix build * More cleanup * Correct inlining behavior * Fix some symbols * Compiler downgrade required for some funcs. * fixup vtable * one line that was somehow missed --------- Co-authored-by: elijah-thomas774 <elijahthomas774@gmail.com>
This commit is contained in:
@@ -169,6 +169,16 @@ toBeSorted/dowsing_target.cpp:
|
||||
.sdata2 start:0x80579640 end:0x80579670
|
||||
.bss start:0x805A2FB0 end:0x805A3010
|
||||
|
||||
d/lyt/d2d.cpp:
|
||||
.text start:0x800A9D30 end:0x800ACAB8
|
||||
.data start:0x80510010 end:0x80510088
|
||||
.sdata2 start:0x80579788 end:0x805797B0
|
||||
|
||||
d/lyt/d_window.cpp:
|
||||
.text start:0x800B1630 end:0x800B1818
|
||||
.data start:0x80510820 end:0x805108B0
|
||||
.sdata2 start:0x805797F0 end:0x805797F8
|
||||
|
||||
toBeSorted/time_area_mgr.cpp:
|
||||
.text start:0x800B9280 end:0x800BB2A0
|
||||
|
||||
@@ -206,6 +216,20 @@ toBeSorted/special_item_drop_mgr.cpp:
|
||||
.text start:0x800C7B60 end:0x800C82B0
|
||||
.sbss start:0x80575438 end:0x80575440
|
||||
|
||||
d/lyt/pause_disp_00.cpp:
|
||||
.text start:0x80159E80 end:0x8015EDE8
|
||||
.ctors start:0x804DB798 end:0x804DB79C
|
||||
.data start:0x80525138 end:0x80525EE0
|
||||
|
||||
d/lyt/common_arrow.cpp:
|
||||
.text start:0x80167FE0 end:0x801695E8
|
||||
.ctors start:0x804DB7AC end:0x804DB7B0
|
||||
.rodata start:0x804E8D28 end:0x804E8D70
|
||||
.data start:0x80527298 end:0x80527600
|
||||
.sdata start:0x805729D0 end:0x805729D8
|
||||
.sdata2 start:0x8057A180 end:0x8057A188
|
||||
.bss start:0x805B1CB0 end:0x805B1DB0
|
||||
|
||||
toBeSorted/counters/counter.cpp:
|
||||
.text start:0x8016CC40 end:0x8016CD94
|
||||
|
||||
@@ -252,6 +276,13 @@ toBeSorted/counters/extra_wallet_counter.cpp:
|
||||
.data start:0x805280B0 end:0x805280D0
|
||||
.sbss start:0x80575640 end:0x80575648
|
||||
|
||||
d/lyt/d_lyt_fader.cpp:
|
||||
.text start:0x801753A0 end:0x80175BD0
|
||||
.rodata start:0x804E9AB8 end:0x804E9AD0
|
||||
.data start:0x80528CC8 end:0x80528D68
|
||||
.sdata start:0x80572AA8 end:0x80572AB0
|
||||
.sdata2 start:0x8057ABC8 end:0x8057ABE0
|
||||
|
||||
d/a/d_a_player.cpp:
|
||||
.text start:0x801C5C30 end:0x802471F8
|
||||
.ctors start:0x804DB824 end:0x804DB828
|
||||
|
||||
+180
-180
@@ -445,7 +445,7 @@ fn_80011AF0 = .text:0x80011AF0; // type:function size:0xA4
|
||||
fn_80011BA0 = .text:0x80011BA0; // type:function size:0xA0
|
||||
fn_80011C40 = .text:0x80011C40; // type:function size:0x6C
|
||||
fn_80011CB0 = .text:0x80011CB0; // type:function size:0x58
|
||||
fn_80011D10 = .text:0x80011D10; // type:function size:0x5C
|
||||
__dt__Q23d2d10AnmGroup_cFv = .text:0x80011D10; // type:function size:0x5C
|
||||
fn_80011D70 = .text:0x80011D70; // type:function size:0x40
|
||||
fn_80011DB0 = .text:0x80011DB0; // type:function size:0x58
|
||||
fn_80011E10 = .text:0x80011E10; // type:function size:0xA4
|
||||
@@ -453,9 +453,9 @@ fn_80011EC0 = .text:0x80011EC0; // type:function size:0xA0
|
||||
fn_80011F60 = .text:0x80011F60; // type:function size:0x6C
|
||||
fn_80011FD0 = .text:0x80011FD0; // type:function size:0x58
|
||||
fn_80012030 = .text:0x80012030; // type:function size:0x40
|
||||
fn_80012070 = .text:0x80012070; // type:function size:0x40
|
||||
__dt__Q23d2d11dLytStructCFv = .text:0x80012070; // type:function size:0x40
|
||||
fn_800120B0 = .text:0x800120B0; // type:function size:0x74
|
||||
fn_80012130 = .text:0x80012130; // type:function size:0x40
|
||||
__dt__Q34nw4r3lyt11FontRefLinkFv = .text:0x80012130; // type:function size:0x40
|
||||
fn_80012170 = .text:0x80012170; // type:function size:0xA4
|
||||
fn_80012220 = .text:0x80012220; // type:function size:0xA0
|
||||
fn_800122C0 = .text:0x800122C0; // type:function size:0x6C
|
||||
@@ -2194,7 +2194,7 @@ dFader_c__sinit = .text:0x80053E50; // type:function size:0x20
|
||||
__ct__10dFontMng_cFv = .text:0x80053E70; // type:function size:0x50
|
||||
__dt__10dFontMng_cFv = .text:0x80053EC0; // type:function size:0x68
|
||||
getFont__10dFontMng_cFUc = .text:0x80053F30; // type:function size:0x34
|
||||
getFontName__FUc = .text:0x80053F70; // type:function size:0x14
|
||||
getFontName__10dFontMng_cFUc = .text:0x80053F70; // type:function size:0x14
|
||||
getFontManager__10dFontMng_cFi = .text:0x80053F90; // type:function size:0x14
|
||||
getFontMgrIdx__10dFontMng_cFUc = .text:0x80053FB0; // type:function size:0x18
|
||||
setFontFile__10dFontMng_cFiPv = .text:0x80053FD0; // type:function size:0x18
|
||||
@@ -2865,20 +2865,20 @@ fn_80065600 = .text:0x80065600; // type:function size:0x3C
|
||||
fn_80065640 = .text:0x80065640; // type:function size:0x164
|
||||
fn_800657B0 = .text:0x800657B0; // type:function size:0x58
|
||||
fn_80065810 = .text:0x80065810; // type:function size:0x60
|
||||
fn_80065870 = .text:0x80065870; // type:function size:0x110
|
||||
fn_80065980 = .text:0x80065980; // type:function size:0xA4
|
||||
append__Q23d2d11dLytStructDFPQ23d2d11dLytStructD = .text:0x80065870; // type:function size:0x110
|
||||
detach__Q23d2d11dLytStructDFPQ23d2d11dLytStructD = .text:0x80065980; // type:function size:0xA4
|
||||
fn_80065A30 = .text:0x80065A30; // type:function size:0x34
|
||||
fn_80065A70 = .text:0x80065A70; // type:function size:0x38
|
||||
fn_80065AB0 = .text:0x80065AB0; // type:function size:0x78
|
||||
fn_80065B30 = .text:0x80065B30; // type:function size:0x4C
|
||||
fn_80065B80 = .text:0x80065B80; // type:function size:0x174
|
||||
fn_80065D00 = .text:0x80065D00; // type:function size:0x14
|
||||
fn_80065D20 = .text:0x80065D20; // type:function size:0x74
|
||||
__dt__Q23d2d11dLytStructDFv = .text:0x80065D20; // type:function size:0x74
|
||||
fn_80065DA0 = .text:0x80065DA0; // type:function size:0x40
|
||||
fn_80065DE0 = .text:0x80065DE0; // type:function size:0x90
|
||||
fn_80065E70 = .text:0x80065E70; // type:function size:0xC4
|
||||
fn_80065E70__Q23d2d11dLytStructDFPQ34nw4r3lyt4Panelll = .text:0x80065E70; // type:function size:0xC4
|
||||
fn_80065F40 = .text:0x80065F40; // type:function size:0x28
|
||||
fn_80065F70 = .text:0x80065F70; // type:function size:0x328
|
||||
fn_80065F70__Q23d2d11dLytStructDFv = .text:0x80065F70; // type:function size:0x328
|
||||
fn_800662A0 = .text:0x800662A0; // type:function size:0xD4
|
||||
GetRuntimeTypeInfo__Q34nw4r3lyt4PaneCFv = .text:0x80066380; // type:function size:0x8 scope:weak
|
||||
fn_80066390 = .text:0x80066390; // type:function size:0xE8
|
||||
@@ -3724,33 +3724,33 @@ ActorOnRail2__setSegment = .text:0x800A9AB0; // type:function size:0x50
|
||||
checkPosInAREA = .text:0x800A9B00; // type:function size:0xC4
|
||||
getAREAForIndexInRoom = .text:0x800A9BD0; // type:function size:0x78
|
||||
checkPosInArea__FllRC7mVec3_cPPv = .text:0x800A9C50; // type:function size:0xD4
|
||||
fn_800A9D30 = .text:0x800A9D30; // type:function size:0x60
|
||||
fn_800A9D90 = .text:0x800A9D90; // type:function size:0x90
|
||||
fn_800A9E20 = .text:0x800A9E20; // type:function size:0x12C
|
||||
fn_800A9F50 = .text:0x800A9F50; // type:function size:0x60
|
||||
fn_800A9FB0 = .text:0x800A9FB0; // type:function size:0x60
|
||||
fn_800AA010 = .text:0x800AA010; // type:function size:0x60
|
||||
fn_800AA070 = .text:0x800AA070; // type:function size:0x60
|
||||
fn_800AA0D0 = .text:0x800AA0D0; // type:function size:0x50
|
||||
fn_800AA120 = .text:0x800AA120; // type:function size:0x2F4
|
||||
fn_800AA420 = .text:0x800AA420; // type:function size:0x60
|
||||
fn_800AA480 = .text:0x800AA480; // type:function size:0x58
|
||||
detach__Q23d2d10ResAccIf_cFv = .text:0x800A9D30; // type:function size:0x60
|
||||
attach__Q23d2d10ResAccIf_cFPvPCc = .text:0x800A9D90; // type:function size:0x90
|
||||
BuildPaneObj__Q23d2d8Layout_cFlPCvRCQ34nw4r3lyt11ResBlockSet = .text:0x800A9E20; // type:function size:0x12C
|
||||
NewObj<Q34nw4r3lyt8Bounding,PCQ44nw4r3lyt3res8Bounding,Q34nw4r3lyt11ResBlockSet>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res8BoundingQ34nw4r3lyt11ResBlockSet_PQ34nw4r3lyt8Bounding = .text:0x800A9F50; // type:function size:0x60
|
||||
NewObj<9dWindow_c,PCQ44nw4r3lyt3res6Window,Q34nw4r3lyt11ResBlockSet>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res6WindowQ34nw4r3lyt11ResBlockSet_P9dWindow_c = .text:0x800A9FB0; // type:function size:0x60
|
||||
NewObj<10dTextBox_c,PCQ44nw4r3lyt3res7TextBox,Q34nw4r3lyt11ResBlockSet>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res7TextBoxQ34nw4r3lyt11ResBlockSet_P10dTextBox_c = .text:0x800AA010; // type:function size:0x60
|
||||
NewObj<Q34nw4r3lyt7Picture,PCQ44nw4r3lyt3res7Picture,Q34nw4r3lyt11ResBlockSet>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res7PictureQ34nw4r3lyt11ResBlockSet_PQ34nw4r3lyt7Picture = .text:0x800AA070; // type:function size:0x60
|
||||
NewObj<Q34nw4r3lyt4Pane,PCQ44nw4r3lyt3res4Pane>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res4Pane_PQ34nw4r3lyt4Pane = .text:0x800AA0D0; // type:function size:0x50
|
||||
Build__Q23d2d8Layout_cFPCvPQ34nw4r3lyt16ResourceAccessor = .text:0x800AA120; // type:function size:0x2F4
|
||||
NewObj<Q34nw4r3lyt5Group,PCQ44nw4r3lyt3res5Group,PQ34nw4r3lyt4Pane>__Q34nw4r3lyt6LayoutFPCQ44nw4r3lyt3res5GroupPQ34nw4r3lyt4Pane_PQ34nw4r3lyt5Group = .text:0x800AA420; // type:function size:0x60
|
||||
NewObj<Q34nw4r3lyt14GroupContainer>__Q34nw4r3lyt6LayoutFv_PQ34nw4r3lyt14GroupContainer = .text:0x800AA480; // type:function size:0x58
|
||||
fn_800AA4E0 = .text:0x800AA4E0; // type:function size:0x50
|
||||
d2d__Multi_c____ct = .text:0x800AA530; // type:function size:0xD0
|
||||
fn_800AA600 = .text:0x800AA600; // type:function size:0x58
|
||||
fn_800AA660 = .text:0x800AA660; // type:function size:0x24
|
||||
fn_800AA690 = .text:0x800AA690; // type:function size:0x34
|
||||
fn_800AA6D0 = .text:0x800AA6D0; // type:function size:0x24
|
||||
fn_800AA700 = .text:0x800AA700; // type:function size:0x78
|
||||
fn_800AA780 = .text:0x800AA780; // type:function size:0x178
|
||||
fn_800AA900 = .text:0x800AA900; // type:function size:0x108
|
||||
fn_800AAA10 = .text:0x800AAA10; // type:function size:0x18
|
||||
fn_800AAA30 = .text:0x800AAA30; // type:function size:0x94
|
||||
fn_800AAAD0 = .text:0x800AAAD0; // type:function size:0x94
|
||||
fn_800AAB70 = .text:0x800AAB70; // type:function size:0x10
|
||||
LytBase__ct = .text:0x800AAB80; // type:function size:0x44
|
||||
fn_800AABD0 = .text:0x800AABD0; // type:function size:0x78
|
||||
fn_800AAC50 = .text:0x800AAC50; // type:function size:0xA0
|
||||
__ct__Q23d2d7Multi_cFv = .text:0x800AA530; // type:function size:0xD0
|
||||
__dt__Q23d2d8Layout_cFv = .text:0x800AA600; // type:function size:0x58
|
||||
animate__Q23d2d7Multi_cFv = .text:0x800AA660; // type:function size:0x24
|
||||
calc__Q23d2d7Multi_cFv = .text:0x800AA690; // type:function size:0x34
|
||||
calcBefore__Q23d2d7Multi_cFv = .text:0x800AA6D0; // type:function size:0x24
|
||||
calcAfter__Q23d2d7Multi_cFv = .text:0x800AA700; // type:function size:0x78
|
||||
draw__Q23d2d7Multi_cFv = .text:0x800AA780; // type:function size:0x178
|
||||
build__Q23d2d7Multi_cFPCcPQ23m2d10ResAccIf_c = .text:0x800AA900; // type:function size:0x108
|
||||
findPane__Q23d2d7Multi_cCFPCc = .text:0x800AAA10; // type:function size:0x18
|
||||
findPicture__Q23d2d7Multi_cCFPCc = .text:0x800AAA30; // type:function size:0x94
|
||||
findBounding__Q23d2d7Multi_cCFPCc = .text:0x800AAAD0; // type:function size:0x94
|
||||
unbindAnims__Q23d2d7Multi_cFv = .text:0x800AAB70; // type:function size:0x10
|
||||
__ct__Q23d2d9LytBase_cFv = .text:0x800AAB80; // type:function size:0x44
|
||||
__dt__Q23d2d7Multi_cFv = .text:0x800AABD0; // type:function size:0x78
|
||||
__dt__Q23d2d9LytBase_cFv = .text:0x800AAC50; // type:function size:0xA0
|
||||
build = .text:0x800AACF0; // type:function size:0x2F8
|
||||
fn_800AAFF0 = .text:0x800AAFF0; // type:function size:0x100
|
||||
fn_800AB0F0 = .text:0x800AB0F0; // type:function size:0x94
|
||||
@@ -3772,20 +3772,20 @@ fn_800AC350 = .text:0x800AC350; // type:function size:0x64
|
||||
fn_800AC3C0 = .text:0x800AC3C0; // type:function size:0x128
|
||||
fn_800AC4F0 = .text:0x800AC4F0; // type:function size:0x8
|
||||
fn_800AC500 = .text:0x800AC500; // type:function size:0x8
|
||||
fn_800AC510 = .text:0x800AC510; // type:function size:0x9C
|
||||
fn_800AC5B0 = .text:0x800AC5B0; // type:function size:0x114
|
||||
fn_800AC6D0 = .text:0x800AC6D0; // type:function size:0xF8
|
||||
fn_800AC7D0 = .text:0x800AC7D0; // type:function size:0x88
|
||||
fn_800AC860 = .text:0x800AC860; // type:function size:0x8
|
||||
fn_800AC870 = .text:0x800AC870; // type:function size:0x8C
|
||||
fn_800AC900 = .text:0x800AC900; // type:function size:0xC
|
||||
fn_800AC910 = .text:0x800AC910; // type:function size:0xC
|
||||
fn_800AC920 = .text:0x800AC920; // type:function size:0x14
|
||||
fn_800AC940 = .text:0x800AC940; // type:function size:0x14
|
||||
init__Q23d2d10AnmGroup_cFPCcPQ23m2d10ResAccIf_cPQ23d2d8Layout_cPCc = .text:0x800AC510; // type:function size:0x9C
|
||||
init__Q23d2d10AnmGroup_cFPQ34nw4r3lyt13AnimTransformPCcPQ23m2d10ResAccIf_cPQ34nw4r3lyt5Group = .text:0x800AC5B0; // type:function size:0x114
|
||||
fn_800AC6D0__Q23d2d10AnmGroup_cFb = .text:0x800AC6D0; // type:function size:0xF8
|
||||
fn_800AC7D0__Q23d2d10AnmGroup_cFv = .text:0x800AC7D0; // type:function size:0x88
|
||||
fn_800AC860__Q23d2d10AnmGroup_cFv = .text:0x800AC860; // type:function size:0x8
|
||||
fn_800AC870__Q23d2d10AnmGroup_cFb = .text:0x800AC870; // type:function size:0x8C
|
||||
setAnmFrame__Q23d2d10AnmGroup_cFf = .text:0x800AC900; // type:function size:0xC
|
||||
syncAnmFrame__Q23d2d10AnmGroup_cFv = .text:0x800AC910; // type:function size:0xC
|
||||
setForward__Q23d2d10AnmGroup_cFv = .text:0x800AC920; // type:function size:0x14
|
||||
setBackward__Q23d2d10AnmGroup_cFv = .text:0x800AC940; // type:function size:0x14
|
||||
fn_800AC960 = .text:0x800AC960; // type:function size:0x4C
|
||||
fn_800AC9B0 = .text:0x800AC9B0; // type:function size:0x80
|
||||
fn_800ACA30 = .text:0x800ACA30; // type:function size:0x64
|
||||
fn_800ACAA0 = .text:0x800ACAA0; // type:function size:0x18
|
||||
draw__Q23d2d9LytBase_cFv = .text:0x800ACAA0; // type:function size:0x18
|
||||
fn_800ACAC0 = .text:0x800ACAC0; // type:function size:0x5C
|
||||
fn_800ACB20 = .text:0x800ACB20; // type:function size:0x40
|
||||
fn_800ACB60 = .text:0x800ACB60; // type:function size:0x208
|
||||
@@ -3832,7 +3832,7 @@ fn_800AE1F0 = .text:0x800AE1F0; // type:function size:0x30
|
||||
LytDrawMark__initStates = .text:0x800AE220; // type:function size:0x644
|
||||
LytDrawMark__dtor = .text:0x800AE870; // type:function size:0x58
|
||||
fn_800AE8D0 = .text:0x800AE8D0; // type:function size:0x88
|
||||
fn_800AE960 = .text:0x800AE960; // type:function size:0xE0
|
||||
__ct__10dTextBox_cFPCQ44nw4r3lyt3res7TextBoxRCQ34nw4r3lyt11ResBlockSet = .text:0x800AE960; // type:function size:0xE0
|
||||
fn_800AEA40 = .text:0x800AEA40; // type:function size:0xB4
|
||||
fn_800AEB00 = .text:0x800AEB00; // type:function size:0x178
|
||||
fn_800AEC80 = .text:0x800AEC80; // type:function size:0x108
|
||||
@@ -3848,7 +3848,7 @@ fn_800AF720 = .text:0x800AF720; // type:function size:0x8C
|
||||
fn_800AF7B0 = .text:0x800AF7B0; // type:function size:0x84
|
||||
fn_800AF840 = .text:0x800AF840; // type:function size:0xEC
|
||||
fn_800AF930 = .text:0x800AF930; // type:function size:0x50
|
||||
fn_800AF980 = .text:0x800AF980; // type:function size:0x1E4
|
||||
GetLineWidth__10dTextBox_cFPf = .text:0x800AF980; // type:function size:0x1E4
|
||||
fn_800AFB70 = .text:0x800AFB70; // type:function size:0x1A4
|
||||
fn_800AFD20 = .text:0x800AFD20; // type:function size:0x3C
|
||||
fn_800AFD60 = .text:0x800AFD60; // type:function size:0xC8
|
||||
@@ -3863,10 +3863,10 @@ dTextBox_c__setFontSize = .text:0x800B1570; // type:function size:0x14
|
||||
fn_800B1590 = .text:0x800B1590; // type:function size:0x14
|
||||
GetRuntimeTypeInfo__Q34nw4r3lyt7TextBoxCFv = .text:0x800B15B0; // type:function size:0x8 scope:weak
|
||||
fn_800B15C0 = .text:0x800B15C0; // type:function size:0x68
|
||||
fn_800B1630 = .text:0x800B1630; // type:function size:0x3C
|
||||
fn_800B1670 = .text:0x800B1670; // type:function size:0x134
|
||||
__ct__9dWindow_cFPCQ44nw4r3lyt3res6WindowRCQ34nw4r3lyt11ResBlockSet = .text:0x800B1630; // type:function size:0x3C
|
||||
UpdateSize__9dWindow_cFP10dTextBox_cf = .text:0x800B1670; // type:function size:0x134
|
||||
GetRuntimeTypeInfo__Q34nw4r3lyt6WindowCFv = .text:0x800B17B0; // type:function size:0x8 scope:weak
|
||||
fn_800B17C0 = .text:0x800B17C0; // type:function size:0x58
|
||||
__dt__9dWindow_cFv = .text:0x800B17C0; // type:function size:0x58
|
||||
__dt__Q34nw4r3lyt19ArcResourceAccessorFv = .text:0x800B1820; // type:function size:0x6C scope:weak
|
||||
fn_800B1890 = .text:0x800B1890; // type:function size:0x40
|
||||
fn_800B18D0 = .text:0x800B18D0; // type:function size:0x4D4
|
||||
@@ -4504,7 +4504,7 @@ fn_800CA0A0 = .text:0x800CA0A0; // type:function size:0x1C
|
||||
hasSavedAfterCredits = .text:0x800CA0C0; // type:function size:0x38
|
||||
fn_800CA100 = .text:0x800CA100; // type:function size:0x1C0
|
||||
fn_800CA2C0 = .text:0x800CA2C0; // type:function size:0x6C
|
||||
lytItemCursor_frameCntrl__ctor = .text:0x800CA330; // type:function size:0x84
|
||||
__ct__Q23d2d10AnmGroup_cFv = .text:0x800CA330; // type:function size:0x84
|
||||
LytMeterGanbariGauge__ct = .text:0x800CA3C0; // type:function size:0x110
|
||||
fn_800CA4D0 = .text:0x800CA4D0; // type:function size:0x58
|
||||
fn_800CA530 = .text:0x800CA530; // type:function size:0x6C
|
||||
@@ -4530,7 +4530,7 @@ fn_800CB0C0 = .text:0x800CB0C0; // type:function size:0xA4
|
||||
fn_800CB170 = .text:0x800CB170; // type:function size:0xA8
|
||||
fn_800CB220 = .text:0x800CB220; // type:function size:0x10C
|
||||
fn_800CB330 = .text:0x800CB330; // type:function size:0x1C8
|
||||
fn_800CB500 = .text:0x800CB500; // type:function size:0x168
|
||||
__dt__Q23d2d11dLytStructBFv = .text:0x800CB500; // type:function size:0x168
|
||||
fn_800CB670 = .text:0x800CB670; // type:function size:0x84
|
||||
fn_800CB700 = .text:0x800CB700; // type:function size:0x84
|
||||
fn_800CB790 = .text:0x800CB790; // type:function size:0x84
|
||||
@@ -4600,9 +4600,9 @@ fn_800CDD40 = .text:0x800CDD40; // type:function size:0x58
|
||||
fn_800CDDA0 = .text:0x800CDDA0; // type:function size:0x6C
|
||||
fn_800CDE10 = .text:0x800CDE10; // type:function size:0xA0
|
||||
fn_800CDEB0 = .text:0x800CDEB0; // type:function size:0xA4
|
||||
fn_800CDF60 = .text:0x800CDF60; // type:function size:0x258
|
||||
__ct__Q23d2d11dLytStructBFv = .text:0x800CDF60; // type:function size:0x258
|
||||
fn_800CE1C0 = .text:0x800CE1C0; // type:function size:0x18
|
||||
fn_800CE1E0 = .text:0x800CE1E0; // type:function size:0x10
|
||||
__ct__Q23d2d11dLytStructCFv = .text:0x800CE1E0; // type:function size:0x10
|
||||
fn_800CE1F0 = .text:0x800CE1F0; // type:function size:0x1BC
|
||||
LytMeterDowsing__ct = .text:0x800CE3B0; // type:function size:0x218
|
||||
fn_800CE5D0 = .text:0x800CE5D0; // type:function size:0x98
|
||||
@@ -8779,17 +8779,17 @@ fn_80159A20 = .text:0x80159A20; // type:function size:0x30
|
||||
LytPauseBack__initStates = .text:0x80159A50; // type:function size:0x338
|
||||
LytPauseBack__dtor = .text:0x80159D90; // type:function size:0x58
|
||||
fn_80159DF0 = .text:0x80159DF0; // type:function size:0x88
|
||||
LytPauseDisp00__ctor = .text:0x80159E80; // type:function size:0x160
|
||||
fn_80159FE0 = .text:0x80159FE0; // type:function size:0xA4
|
||||
fn_8015A090 = .text:0x8015A090; // type:function size:0xA0
|
||||
fn_8015A130 = .text:0x8015A130; // type:function size:0x6C
|
||||
fn_8015A1A0 = .text:0x8015A1A0; // type:function size:0x58
|
||||
fn_8015A200 = .text:0x8015A200; // type:function size:0x310
|
||||
fn_8015A510 = .text:0x8015A510; // type:function size:0x10
|
||||
__ct__17dLytPauseDisp00_cFv = .text:0x80159E80; // type:function size:0x160
|
||||
__dt__56sFStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c>Fv = .text:0x80159FE0; // type:function size:0xA4
|
||||
__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
|
||||
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
|
||||
fn_8015A750 = .text:0x8015A750; // type:function size:0x10
|
||||
fn_8015A760 = .text:0x8015A760; // type:function size:0x10
|
||||
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
|
||||
fn_8015A7B0 = .text:0x8015A7B0; // type:function size:0x14
|
||||
fn_8015A7D0 = .text:0x8015A7D0; // type:function size:0x14
|
||||
@@ -8820,7 +8820,7 @@ 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
|
||||
displayPauseMenuElement = .text:0x8015BEE0; // type:function size:0x68
|
||||
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
|
||||
@@ -8844,24 +8844,24 @@ 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
|
||||
fn_8015E4A0 = .text:0x8015E4A0; // type:function size:0x130
|
||||
fn_8015E5D0 = .text:0x8015E5D0; // type:function size:0x60
|
||||
fn_8015E630 = .text:0x8015E630; // type:function size:0xC
|
||||
fn_8015E640 = .text:0x8015E640; // type:function size:0x1C
|
||||
fn_8015E660 = .text:0x8015E660; // type:function size:0x1C
|
||||
fn_8015E680 = .text:0x8015E680; // type:function size:0x1C
|
||||
fn_8015E6A0 = .text:0x8015E6A0; // type:function size:0x10
|
||||
fn_8015E6B0 = .text:0x8015E6B0; // type:function size:0x10
|
||||
fn_8015E6C0 = .text:0x8015E6C0; // type:function size:0x10
|
||||
fn_8015E6D0 = .text:0x8015E6D0; // type:function size:0x10
|
||||
fn_8015E6E0 = .text:0x8015E6E0; // type:function size:0x10
|
||||
fn_8015E6F0 = .text:0x8015E6F0; // type:function size:0x10
|
||||
fn_8015E700 = .text:0x8015E700; // type:function size:0x30
|
||||
fn_8015E730 = .text:0x8015E730; // type:function size:0x30
|
||||
fn_8015E760 = .text:0x8015E760; // type:function size:0x30
|
||||
LytPauseDisp00__initStates = .text:0x8015E790; // type:function size:0x56C
|
||||
LytPauseDisp00__dtor = .text:0x8015ED00; // type:function size:0x58
|
||||
fn_8015ED60 = .text:0x8015ED60; // type:function size:0x88
|
||||
__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
|
||||
initialize__30sFState_c<17dLytPauseDisp00_c>Fv = .text:0x8015E640; // type:function size:0x1C
|
||||
execute__30sFState_c<17dLytPauseDisp00_c>Fv = .text:0x8015E660; // type:function size:0x1C
|
||||
finalize__30sFState_c<17dLytPauseDisp00_c>Fv = .text:0x8015E680; // type:function size:0x1C
|
||||
initializeState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015E6A0; // type:function size:0x10
|
||||
finalizeState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015E6B0; // type:function size:0x10
|
||||
refreshState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015E6C0; // type:function size:0x10
|
||||
getState__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8015E6D0; // type:function size:0x10
|
||||
getNewStateID__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8015E6E0; // type:function size:0x10
|
||||
getOldStateID__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8015E6F0; // type:function size:0x10
|
||||
finalizeState__32sFStateID_c<17dLytPauseDisp00_c>CFR17dLytPauseDisp00_c = .text:0x8015E700; // type:function size:0x30
|
||||
executeState__32sFStateID_c<17dLytPauseDisp00_c>CFR17dLytPauseDisp00_c = .text:0x8015E730; // type:function size:0x30
|
||||
initializeState__32sFStateID_c<17dLytPauseDisp00_c>CFR17dLytPauseDisp00_c = .text:0x8015E760; // type:function size:0x30
|
||||
__sinit_\pause_disp_00_cpp = .text:0x8015E790; // type:function size:0x56C
|
||||
__dt__32sFStateID_c<17dLytPauseDisp00_c>Fv = .text:0x8015ED00; // type:function size:0x58
|
||||
isSameName__32sFStateID_c<17dLytPauseDisp00_c>CFPCc = .text:0x8015ED60; // type:function size:0x88
|
||||
LytPauseDisp01__ctor = .text:0x8015EDF0; // type:function size:0x160
|
||||
fn_8015EF50 = .text:0x8015EF50; // type:function size:0xA4
|
||||
fn_8015F000 = .text:0x8015F000; // type:function size:0xA0
|
||||
@@ -9197,58 +9197,58 @@ swordRestrictedBokoBase = .text:0x80167E70; // type:function size:0x44
|
||||
getItemIdForTriforcePieceNum = .text:0x80167EC0; // type:function size:0x10
|
||||
fn_80167ED0 = .text:0x80167ED0; // type:function size:0x88
|
||||
fn_80167F60 = .text:0x80167F60; // type:function size:0x74
|
||||
LytCommonArrow__ctor = .text:0x80167FE0; // type:function size:0x148
|
||||
fn_80168130 = .text:0x80168130; // type:function size:0xA4
|
||||
fn_801681E0 = .text:0x801681E0; // type:function size:0xA0
|
||||
fn_80168280 = .text:0x80168280; // type:function size:0x6C
|
||||
fn_801682F0 = .text:0x801682F0; // type:function size:0x58
|
||||
fn_80168350 = .text:0x80168350; // type:function size:0x124
|
||||
fn_80168480 = .text:0x80168480; // type:function size:0x10
|
||||
fn_80168490 = .text:0x80168490; // type:function size:0x68
|
||||
fn_80168500 = .text:0x80168500; // type:function size:0xB0
|
||||
fn_801685B0 = .text:0x801685B0; // type:function size:0x10
|
||||
fn_801685C0 = .text:0x801685C0; // type:function size:0x10
|
||||
fn_801685D0 = .text:0x801685D0; // type:function size:0x34
|
||||
fn_80168610 = .text:0x80168610; // type:function size:0x24
|
||||
fn_80168640 = .text:0x80168640; // type:function size:0x34
|
||||
fn_80168680 = .text:0x80168680; // type:function size:0x70
|
||||
fn_801686F0 = .text:0x801686F0; // type:function size:0x70
|
||||
fn_80168760 = .text:0x80168760; // type:function size:0x2C
|
||||
fn_80168790 = .text:0x80168790; // type:function size:0x68
|
||||
fn_80168800 = .text:0x80168800; // type:function size:0x10
|
||||
fn_80168810 = .text:0x80168810; // type:function size:0x64
|
||||
fn_80168880 = .text:0x80168880; // type:function size:0xC4
|
||||
LytCommonArrow__stateNoneEnter = .text:0x80168950; // type:function size:0x74
|
||||
LytCommonArrow__stateNoneUpdate = .text:0x801689D0; // type:function size:0x28
|
||||
LytCommonArrow__stateNoneLeave = .text:0x80168A00; // type:function size:0x14
|
||||
LytCommonArrow__stateInEnter = .text:0x80168A20; // type:function size:0x88
|
||||
LytCommonArrow__stateInUpdate = .text:0x80168AB0; // type:function size:0xB4
|
||||
LytCommonArrow__stateInLeave = .text:0x80168B70; // type:function size:0x8
|
||||
LytCommonArrow__stateWaitEnter = .text:0x80168B80; // type:function size:0xC
|
||||
LytCommonArrow__stateWaitUpdate = .text:0x80168B90; // type:function size:0x238
|
||||
LytCommonArrow__stateWaitLeave = .text:0x80168DD0; // type:function size:0x4
|
||||
LytCommonArrow__stateOutEnter = .text:0x80168DE0; // type:function size:0x48
|
||||
LytCommonArrow__stateOutUpdate = .text:0x80168E30; // type:function size:0xA4
|
||||
LytCommonArrow__stateOutLeave = .text:0x80168EE0; // type:function size:0x4
|
||||
fn_80168EF0 = .text:0x80168EF0; // type:function size:0x110
|
||||
fn_80169000 = .text:0x80169000; // type:function size:0x60
|
||||
fn_80169060 = .text:0x80169060; // type:function size:0xC
|
||||
fn_80169070 = .text:0x80169070; // type:function size:0x1C
|
||||
fn_80169090 = .text:0x80169090; // type:function size:0x1C
|
||||
fn_801690B0 = .text:0x801690B0; // type:function size:0x1C
|
||||
fn_801690D0 = .text:0x801690D0; // type:function size:0x10
|
||||
fn_801690E0 = .text:0x801690E0; // type:function size:0x10
|
||||
fn_801690F0 = .text:0x801690F0; // type:function size:0x10
|
||||
fn_80169100 = .text:0x80169100; // type:function size:0x10
|
||||
fn_80169110 = .text:0x80169110; // type:function size:0x10
|
||||
fn_80169120 = .text:0x80169120; // type:function size:0x10
|
||||
fn_80169130 = .text:0x80169130; // type:function size:0x30
|
||||
fn_80169160 = .text:0x80169160; // type:function size:0x30
|
||||
fn_80169190 = .text:0x80169190; // type:function size:0x30
|
||||
LytCommonArrow__initStates = .text:0x801691C0; // type:function size:0x338
|
||||
LytCommonArrow__dtor = .text:0x80169500; // type:function size:0x58
|
||||
fn_80169560 = .text:0x80169560; // type:function size:0x88
|
||||
LytCommonTitle__ctor = .text:0x801695F0; // type:function size:0x110
|
||||
__ct__17dLytCommonArrow_cFv = .text:0x80167FE0; // type:function size:0x148
|
||||
__dt__56sFStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c>Fv = .text:0x80168130; // type:function size:0xA4
|
||||
__dt__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801681E0; // type:function size:0xA0
|
||||
__dt__33sFStateFct_c<17dLytCommonArrow_c>Fv = .text:0x80168280; // type:function size:0x6C
|
||||
__dt__30sFState_c<17dLytCommonArrow_c>Fv = .text:0x801682F0; // type:function size:0x58
|
||||
init__17dLytCommonArrow_cFv = .text:0x80168350; // type:function size:0x124
|
||||
changeState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80168480; // type:function size:0x10
|
||||
fn_80168490__17dLytCommonArrow_cFv = .text:0x80168490; // type:function size:0x68
|
||||
fn_80168500__17dLytCommonArrow_cFv = .text:0x80168500; // type:function size:0xB0
|
||||
executeState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801685B0; // type:function size:0x10
|
||||
getStateID__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801685C0; // type:function size:0x10
|
||||
addToDrawList__17dLytCommonArrow_cFv = .text:0x801685D0; // type:function size:0x34
|
||||
setState__17dLytCommonArrow_cFl = .text:0x80168610; // type:function size:0x24
|
||||
fn_80168640__17dLytCommonArrow_cFPf = .text:0x80168640; // type:function size:0x34
|
||||
fn_80168680__17dLytCommonArrow_cFv = .text:0x80168680; // type:function size:0x70
|
||||
fn_801686F0__17dLytCommonArrow_cFv = .text:0x801686F0; // type:function size:0x70
|
||||
fn_80168760__17dLytCommonArrow_cFv = .text:0x80168760; // type:function size:0x2C
|
||||
fn_80168790__17dLytCommonArrow_cFlf = .text:0x80168790; // type:function size:0x68
|
||||
fn_80168800__17dLytCommonArrow_cFl = .text:0x80168800; // type:function size:0x10
|
||||
fn_80168810__17dLytCommonArrow_cFPQ23d2d10AnmGroup_c = .text:0x80168810; // type:function size:0x64
|
||||
fn_80168880__17dLytCommonArrow_cFv = .text:0x80168880; // type:function size:0xC4
|
||||
initializeState_None__17dLytCommonArrow_cFv = .text:0x80168950; // type:function size:0x74
|
||||
executeState_None__17dLytCommonArrow_cFv = .text:0x801689D0; // type:function size:0x28
|
||||
finalizeState_None__17dLytCommonArrow_cFv = .text:0x80168A00; // type:function size:0x14
|
||||
initializeState_In__17dLytCommonArrow_cFv = .text:0x80168A20; // type:function size:0x88
|
||||
executeState_In__17dLytCommonArrow_cFv = .text:0x80168AB0; // type:function size:0xB4
|
||||
finalizeState_In__17dLytCommonArrow_cFv = .text:0x80168B70; // type:function size:0x8
|
||||
initializeState_Wait__17dLytCommonArrow_cFv = .text:0x80168B80; // type:function size:0xC
|
||||
executeState_Wait__17dLytCommonArrow_cFv = .text:0x80168B90; // type:function size:0x238
|
||||
finalizeState_Wait__17dLytCommonArrow_cFv = .text:0x80168DD0; // type:function size:0x4
|
||||
initializeState_Out__17dLytCommonArrow_cFv = .text:0x80168DE0; // type:function size:0x48
|
||||
executeState_Out__17dLytCommonArrow_cFv = .text:0x80168E30; // type:function size:0xA4
|
||||
finalizeState_Out__17dLytCommonArrow_cFv = .text:0x80168EE0; // type:function size:0x4
|
||||
__dt__17dLytCommonArrow_cFv = .text:0x80168EF0; // type:function size:0x110
|
||||
build__33sFStateFct_c<17dLytCommonArrow_c>FRC12sStateIDIf_c = .text:0x80169000; // type:function size:0x60
|
||||
dispose__33sFStateFct_c<17dLytCommonArrow_c>FRP10sStateIf_c = .text:0x80169060; // type:function size:0xC
|
||||
initialize__30sFState_c<17dLytCommonArrow_c>Fv = .text:0x80169070; // type:function size:0x1C
|
||||
execute__30sFState_c<17dLytCommonArrow_c>Fv = .text:0x80169090; // type:function size:0x1C
|
||||
finalize__30sFState_c<17dLytCommonArrow_c>Fv = .text:0x801690B0; // type:function size:0x1C
|
||||
initializeState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801690D0; // type:function size:0x10
|
||||
finalizeState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801690E0; // type:function size:0x10
|
||||
refreshState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801690F0; // type:function size:0x10
|
||||
getState__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80169100; // type:function size:0x10
|
||||
getNewStateID__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80169110; // type:function size:0x10
|
||||
getOldStateID__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80169120; // type:function size:0x10
|
||||
finalizeState__32sFStateID_c<17dLytCommonArrow_c>CFR17dLytCommonArrow_c = .text:0x80169130; // type:function size:0x30
|
||||
executeState__32sFStateID_c<17dLytCommonArrow_c>CFR17dLytCommonArrow_c = .text:0x80169160; // type:function size:0x30
|
||||
initializeState__32sFStateID_c<17dLytCommonArrow_c>CFR17dLytCommonArrow_c = .text:0x80169190; // type:function size:0x30
|
||||
__sinit_\common_arrow_cpp = .text:0x801691C0; // type:function size:0x338 scope:local
|
||||
__dt__32sFStateID_c<17dLytCommonArrow_c>Fv = .text:0x80169500; // type:function size:0x58
|
||||
isSameName__32sFStateID_c<17dLytCommonArrow_c>CFPCc = .text:0x80169560; // type:function size:0x88
|
||||
fn_801695F0 = .text:0x801695F0; // type:function size:0x110
|
||||
fn_80169700 = .text:0x80169700; // type:function size:0xF4
|
||||
fn_80169800 = .text:0x80169800; // type:function size:0x10
|
||||
fn_80169810 = .text:0x80169810; // type:function size:0x6C
|
||||
@@ -9817,19 +9817,19 @@ fn_80175290 = .text:0x80175290; // type:function size:0x4
|
||||
fn_801752A0 = .text:0x801752A0; // type:function size:0x8
|
||||
fn_801752B0 = .text:0x801752B0; // type:function size:0x4C
|
||||
fn_80175300 = .text:0x80175300; // type:function size:0x9C
|
||||
mLytFader_c____ct = .text:0x801753A0; // type:function size:0xAC
|
||||
fn_80175450 = .text:0x80175450; // type:function size:0x100
|
||||
fn_80175550 = .text:0x80175550; // type:function size:0x140
|
||||
fn_80175690 = .text:0x80175690; // type:function size:0x70
|
||||
fn_80175700 = .text:0x80175700; // type:function size:0x4C
|
||||
fn_80175750 = .text:0x80175750; // type:function size:0x4C
|
||||
fn_801757A0 = .text:0x801757A0; // type:function size:0x4C
|
||||
fn_801757F0 = .text:0x801757F0; // type:function size:0xF4
|
||||
fn_801758F0 = .text:0x801758F0; // type:function size:0xB8
|
||||
fn_801759B0 = .text:0x801759B0; // type:function size:0x94
|
||||
fn_80175A50 = .text:0x80175A50; // type:function size:0xB8
|
||||
fn_80175B10 = .text:0x80175B10; // type:function size:0xA4
|
||||
fn_80175BC0 = .text:0x80175BC0; // type:function size:0x10
|
||||
__ct__11dLytFader_cFRC6mColorQ212mFaderBase_c7EStatus = .text:0x801753A0; // type:function size:0xAC
|
||||
__dt__11dLytFader_cFv = .text:0x80175450; // type:function size:0x100
|
||||
setStatus__11dLytFader_cFQ212mFaderBase_c7EStatus = .text:0x80175550; // type:function size:0x140
|
||||
calc__11dLytFader_cFv = .text:0x80175690; // type:function size:0x70
|
||||
draw__11dLytFader_cFv = .text:0x80175700; // type:function size:0x4C
|
||||
fadeIn__11dLytFader_cFv = .text:0x80175750; // type:function size:0x4C
|
||||
fadeOut__11dLytFader_cFv = .text:0x801757A0; // type:function size:0x4C
|
||||
init__11dLytFader_cFv = .text:0x801757F0; // type:function size:0xF4
|
||||
fn_801758F0__11dLytFader_cFv = .text:0x801758F0; // type:function size:0xB8
|
||||
fn_801759B0__11dLytFader_cFv = .text:0x801759B0; // type:function size:0x94
|
||||
fn_80175A50__11dLytFader_cFv = .text:0x80175A50; // type:function size:0xB8
|
||||
fn_80175B10__11dLytFader_cFv = .text:0x80175B10; // type:function size:0xA4
|
||||
fn_80175BC0__11dLytFader_cFl = .text:0x80175BC0; // type:function size:0x10
|
||||
fn_80175BD0 = .text:0x80175BD0; // type:function size:0x44
|
||||
fn_80175C20 = .text:0x80175C20; // type:function size:0x58
|
||||
fn_80175C80 = .text:0x80175C80; // type:function size:0x74
|
||||
@@ -28367,7 +28367,7 @@ RUPEE_ITEM_TO_TEX_FRAME = .rodata:0x804E9A48; // type:object size:0x38 data:2byt
|
||||
lbl_804E9A80 = .rodata:0x804E9A80; // type:object size:0x18 data:2byte
|
||||
lbl_804E9A98 = .rodata:0x804E9A98; // type:object size:0x10
|
||||
lbl_804E9AA8 = .rodata:0x804E9AA8; // type:object size:0x10
|
||||
lbl_804E9AB8 = .rodata:0x804E9AB8; // type:object size:0x18 data:4byte
|
||||
lbl_804E9AB8 = .rodata:0x804E9AB8; // type:object size:0x18 scope:local data:4byte
|
||||
lbl_804E9AD0 = .rodata:0x804E9AD0; // type:object size:0x10 data:4byte
|
||||
lbl_804E9AE0 = .rodata:0x804E9AE0; // type:object size:0x18 data:4byte
|
||||
lbl_804E9AF8 = .rodata:0x804E9AF8; // type:object size:0xA4 data:4byte
|
||||
@@ -30777,7 +30777,7 @@ lbl_8050DF28 = .data:0x8050DF28; // type:object size:0x11 data:string
|
||||
lbl_8050DF3C = .data:0x8050DF3C; // type:object size:0x11 data:string
|
||||
__vt__18ArcCallbackHandler = .data:0x8050DF50; // type:object size:0x10
|
||||
lbl_8050DF60 = .data:0x8050DF60; // type:object size:0x10
|
||||
lbl_8050DF70 = .data:0x8050DF70; // type:object size:0x14
|
||||
__vt__Q23d2d11dLytStructD = .data:0x8050DF70; // type:object size:0x14
|
||||
lbl_8050DF84 = .data:0x8050DF84; // type:object size:0xC
|
||||
lbl_8050DF90 = .data:0x8050DF90; // type:object size:0x10
|
||||
lbl_8050DFA0 = .data:0x8050DFA0; // type:object size:0x10
|
||||
@@ -30932,9 +30932,9 @@ lbl_8050FF98 = .data:0x8050FF98; // type:object size:0x10
|
||||
lbl_8050FFA8 = .data:0x8050FFA8; // type:object size:0x10 data:string
|
||||
lbl_8050FFB8 = .data:0x8050FFB8; // type:object size:0x10
|
||||
lbl_8050FFC8 = .data:0x8050FFC8; // type:object size:0x48
|
||||
lbl_80510010 = .data:0x80510010; // type:object size:0x1C
|
||||
lbl_8051002C = .data:0x8051002C; // type:object size:0x1C
|
||||
lbl_80510048 = .data:0x80510048; // type:object size:0x40
|
||||
__vt__Q23d2d9LytBase_c = .data:0x80510010; // type:object size:0x1C
|
||||
__vt__Q23d2d7Multi_c = .data:0x8051002C; // type:object size:0x1C
|
||||
__vt__Q23d2d8Layout_c = .data:0x80510048; // type:object size:0x40
|
||||
lbl_80510088 = .data:0x80510088; // type:object size:0x18
|
||||
lbl_805100A0 = .data:0x805100A0; // type:object size:0xC
|
||||
lbl_805100AC = .data:0x805100AC; // type:object size:0x1C
|
||||
@@ -30987,8 +30987,8 @@ lbl_8051074C = .data:0x8051074C; // type:object size:0x34
|
||||
lbl_80510780 = .data:0x80510780; // type:object size:0xC
|
||||
lbl_8051078C = .data:0x8051078C; // type:object size:0xC
|
||||
lbl_80510798 = .data:0x80510798; // type:object size:0x88
|
||||
lbl_80510820 = .data:0x80510820; // type:object size:0x90
|
||||
lbl_805108B0 = .data:0x805108B0; // type:object size:0x18
|
||||
__vt__9dWindow_c = .data:0x80510820; // type:object size:0x8C
|
||||
__vt__Q23d2d10ResAccIf_c = .data:0x805108B0; // type:object size:0x18
|
||||
lbl_805108C8 = .data:0x805108C8; // type:object size:0x10
|
||||
lbl_805108D8 = .data:0x805108D8; // type:object size:0x10
|
||||
lbl_805108E8 = .data:0x805108E8; // type:object size:0x10
|
||||
@@ -33115,11 +33115,11 @@ lbl_80525A18 = .data:0x80525A18; // type:object size:0x10 data:string
|
||||
jumptable_80525A28 = .data:0x80525A28; // type:object size:0x20 scope:local
|
||||
lbl_80525A48 = .data:0x80525A48; // type:object size:0x10
|
||||
jumptable_80525A58 = .data:0x80525A58; // type:object size:0x54 scope:local
|
||||
lbl_80525AD4 = .data:0x80525AD4; // type:object size:0xC
|
||||
lbl_80525AE0 = .data:0x80525AE0; // type:object size:0x30
|
||||
lbl_80525B10 = .data:0x80525B10; // type:object size:0x30
|
||||
lbl_80525B40 = .data:0x80525B40; // type:object size:0x18
|
||||
lbl_80525B58 = .data:0x80525B58; // type:object size:0x354
|
||||
__vt__17dLytPauseDisp00_c = .data:0x80525AD4; // type:object size:0xC
|
||||
__vt__56sFStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c> = .data:0x80525AE0; // type:object size:0x30
|
||||
__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
|
||||
lbl_80525EE0 = .data:0x80525EE0; // type:object size:0x14
|
||||
lbl_80525EF4 = .data:0x80525EF4; // type:object size:0xC
|
||||
@@ -33261,12 +33261,12 @@ lbl_80527340 = .data:0x80527340; // type:object size:0x1C data:string
|
||||
lbl_8052735C = .data:0x8052735C; // type:object size:0x1C
|
||||
lbl_80527378 = .data:0x80527378; // type:object size:0xC
|
||||
lbl_80527384 = .data:0x80527384; // type:object size:0x58
|
||||
lbl_805273DC = .data:0x805273DC; // type:object size:0xC
|
||||
lbl_805273E8 = .data:0x805273E8; // type:object size:0x30
|
||||
lbl_80527418 = .data:0x80527418; // type:object size:0x30
|
||||
lbl_80527448 = .data:0x80527448; // type:object size:0x18
|
||||
lbl_80527460 = .data:0x80527460; // type:object size:0x168
|
||||
lbl_805275C8 = .data:0x805275C8; // type:object size:0x38
|
||||
__vt__17dLytCommonArrow_c = .data:0x805273DC; // type:object size:0xC
|
||||
__vt__56sFStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c> = .data:0x805273E8; // type:object size:0x30
|
||||
__vt__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80527418; // type:object size:0x30
|
||||
__vt__33sFStateFct_c<17dLytCommonArrow_c> = .data:0x80527448; // type:object size:0x14
|
||||
__vt__30sFState_c<17dLytCommonArrow_c> = .data:0x80527460; // type:object size:0x18
|
||||
__vt__32sFStateID_c<17dLytCommonArrow_c> = .data:0x805275C8; // type:object size:0x34
|
||||
lbl_80527600 = .data:0x80527600; // type:object size:0x18 data:string
|
||||
lbl_80527618 = .data:0x80527618; // type:object size:0xC
|
||||
lbl_80527624 = .data:0x80527624; // type:object size:0x1C
|
||||
@@ -33496,14 +33496,14 @@ lbl_80528BF4 = .data:0x80528BF4; // type:object size:0xC
|
||||
lbl_80528C00 = .data:0x80528C00; // type:object size:0x10
|
||||
lbl_80528C10 = .data:0x80528C10; // type:object size:0x30
|
||||
lbl_80528C40 = .data:0x80528C40; // type:object size:0x88
|
||||
lbl_80528CC8 = .data:0x80528CC8; // type:object size:0x18 data:string
|
||||
lbl_80528CE0 = .data:0x80528CE0; // type:object size:0xC
|
||||
lbl_80528CEC = .data:0x80528CEC; // type:object size:0x18
|
||||
lbl_80528D04 = .data:0x80528D04; // type:object size:0x14
|
||||
lbl_80528D18 = .data:0x80528D18; // type:object size:0xC
|
||||
lbl_80528D24 = .data:0x80528D24; // type:object size:0xC
|
||||
lbl_80528D30 = .data:0x80528D30; // type:object size:0x10
|
||||
lbl_80528D40 = .data:0x80528D40; // type:object size:0x28
|
||||
lbl_80528CC8 = .data:0x80528CC8; // type:object size:0x18 scope:local data:string
|
||||
lbl_80528CE0 = .data:0x80528CE0; // type:object size:0xA scope:local data:string
|
||||
lbl_80528CEC = .data:0x80528CEC; // type:object size:0x17 scope:local data:string
|
||||
lbl_80528D04 = .data:0x80528D04; // type:object size:0x12 scope:local data:string
|
||||
lbl_80528D18 = .data:0x80528D18; // type:object size:0x9 scope:local data:string
|
||||
lbl_80528D24 = .data:0x80528D24; // type:object size:0x9 scope:local data:string
|
||||
lbl_80528D30 = .data:0x80528D30; // type:object size:0xE scope:local data:string
|
||||
__vt__11dLytFader_c = .data:0x80528D40; // type:object size:0x24
|
||||
lbl_80528D68 = .data:0x80528D68; // type:object size:0x28
|
||||
lbl_80528D90 = .data:0x80528D90; // type:object size:0x10
|
||||
lbl_80528DA0 = .data:0x80528DA0; // type:object size:0x168
|
||||
@@ -38198,7 +38198,7 @@ lbl_80572A90 = .sdata:0x80572A90; // type:object size:0x8 data:string
|
||||
lbl_80572A98 = .sdata:0x80572A98; // type:object size:0x8 data:string
|
||||
lbl_80572AA0 = .sdata:0x80572AA0; // type:object size:0x4
|
||||
lbl_80572AA4 = .sdata:0x80572AA4; // type:object size:0x4
|
||||
lbl_80572AA8 = .sdata:0x80572AA8; // type:object size:0x8
|
||||
lbl_80572AA8 = .sdata:0x80572AA8; // type:object size:0x1 scope:local
|
||||
lbl_80572AB0 = .sdata:0x80572AB0; // type:object size:0x8
|
||||
lbl_80572AB8 = .sdata:0x80572AB8; // type:object size:0x8
|
||||
lbl_80572AC0 = .sdata:0x80572AC0; // type:object size:0x8
|
||||
@@ -42968,7 +42968,7 @@ lbl_805797E0 = .sdata2:0x805797E0; // type:object size:0x4 data:float
|
||||
lbl_805797E4 = .sdata2:0x805797E4; // type:object size:0x4 data:float
|
||||
lbl_805797E8 = .sdata2:0x805797E8; // type:object size:0x4 data:float
|
||||
lbl_805797EC = .sdata2:0x805797EC; // type:object size:0x4 data:float
|
||||
lbl_805797F0 = .sdata2:0x805797F0; // type:object size:0x8 data:float
|
||||
lbl_805797F0 = .sdata2:0x805797F0; // type:object size:0x4 data:float
|
||||
lbl_805797F8 = .sdata2:0x805797F8; // type:object size:0x4 data:float
|
||||
lbl_805797FC = .sdata2:0x805797FC; // type:object size:0x4 data:float
|
||||
lbl_80579800 = .sdata2:0x80579800; // type:object size:0x4 data:float
|
||||
@@ -48726,10 +48726,10 @@ LytSaveMsgWindow__STATE_IN = .bss:0x805B1C00; // type:object size:0x40 data:4byt
|
||||
LytSaveMsgWindow__STATE_WAIT = .bss:0x805B1C40; // type:object size:0x40 data:4byte
|
||||
LytSaveMsgWindow__STATE_OUT = .bss:0x805B1C80; // type:object size:0x30 data:4byte
|
||||
lbl_805B1CB0 = .bss:0x805B1CB0; // type:object size:0x10
|
||||
LytCommonArrow__STATE_NONE = .bss:0x805B1CC0; // type:object size:0x40 data:4byte
|
||||
LytCommonArrow__STATE_IN = .bss:0x805B1D00; // type:object size:0x40 data:4byte
|
||||
LytCommonArrow__STATE_WAIT = .bss:0x805B1D40; // type:object size:0x40 data:4byte
|
||||
LytCommonArrow__STATE_OUT = .bss:0x805B1D80; // type:object size:0x30 data:4byte
|
||||
StateID_None__17dLytCommonArrow_c = .bss:0x805B1CC0; // type:object size:0x30 data:4byte
|
||||
StateID_In__17dLytCommonArrow_c = .bss:0x805B1D00; // type:object size:0x30 data:4byte
|
||||
StateID_Wait__17dLytCommonArrow_c = .bss:0x805B1D40; // type:object size:0x30 data:4byte
|
||||
StateID_Out__17dLytCommonArrow_c = .bss:0x805B1D80; // type:object size:0x30 data:4byte
|
||||
lbl_805B1DB0 = .bss:0x805B1DB0; // type:object size:0x10
|
||||
LytCommonTitle__STATE_NONE = .bss:0x805B1DC0; // type:object size:0x40 data:4byte
|
||||
LytCommonTitle__STATE_IN = .bss:0x805B1E00; // type:object size:0x40 data:4byte
|
||||
|
||||
+11
-5
@@ -150,7 +150,7 @@ config.asflags = [
|
||||
f"-I build/{config.version}/include",
|
||||
f"--defsym version={version_num}",
|
||||
]
|
||||
config.linker_version = "Wii/1.6"
|
||||
config.linker_version = "Wii/1.5"
|
||||
config.ldflags = [
|
||||
"-fp hardware",
|
||||
"-nodefaults",
|
||||
@@ -246,7 +246,7 @@ cflags_rel = [
|
||||
def Rel(status, rel_name, cpp_name, extra_cflags=[]):
|
||||
return {
|
||||
"lib": rel_name,
|
||||
"mw_version": "Wii/1.6",
|
||||
"mw_version": "Wii/1.5",
|
||||
"cflags": cflags_rel + extra_cflags,
|
||||
"progress_category": "game",
|
||||
"host": False,
|
||||
@@ -258,7 +258,7 @@ def Rel(status, rel_name, cpp_name, extra_cflags=[]):
|
||||
def MultiRel(rel_name, objects, extra_cflags=[]):
|
||||
return {
|
||||
"lib": rel_name,
|
||||
"mw_version": "Wii/1.6",
|
||||
"mw_version": "Wii/1.5",
|
||||
"cflags": cflags_rel + extra_cflags,
|
||||
"host": False,
|
||||
"objects": objects,
|
||||
@@ -268,7 +268,7 @@ def MultiRel(rel_name, objects, extra_cflags=[]):
|
||||
def EGGLib(lib_name, objects):
|
||||
return {
|
||||
"lib": lib_name,
|
||||
"mw_version": "Wii/1.6",
|
||||
"mw_version": "Wii/1.5",
|
||||
"cflags": cflags_egg,
|
||||
"progress_category": "egg",
|
||||
"host": False,
|
||||
@@ -296,7 +296,7 @@ config.warn_missing_source = False
|
||||
config.libs = [
|
||||
{
|
||||
"lib": "game_code",
|
||||
"mw_version": "Wii/1.6",
|
||||
"mw_version": "Wii/1.5",
|
||||
"cflags": cflags_framework,
|
||||
"progress_category": "game",
|
||||
"host": False,
|
||||
@@ -351,6 +351,12 @@ config.libs = [
|
||||
Object(NonMatching, "toBeSorted/cc/d_cc_m3d_g_cyl.cpp"),
|
||||
Object(NonMatching, "toBeSorted/cc/d_cc_m3d_g_sph.cpp"),
|
||||
Object(Matching, "toBeSorted/cc/d_cc_shape_colliders.cpp"),
|
||||
Object(NonMatching, "d/lyt/d2d.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_textbox.cpp"),
|
||||
Object(Matching, "d/lyt/d_window.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_fader.cpp"),
|
||||
Object(NonMatching, "d/lyt/common_arrow.cpp"),
|
||||
Object(NonMatching, "d/lyt/pause_disp_00.cpp"),
|
||||
Object(NonMatching, "toBeSorted/file_manager.cpp"),
|
||||
Object(NonMatching, "toBeSorted/save_manager.cpp"),
|
||||
Object(Matching, "DynamicLink.cpp"),
|
||||
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
static dFontMng_c *getFontManager(int idx);
|
||||
static u8 getFontMgrIdx(u8 type);
|
||||
static const char *getFontPath(u8 idx);
|
||||
static const char *getFontName(u8 type);
|
||||
|
||||
static bool create();
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#ifndef D_LYT_COMMON_ARROW_H
|
||||
#define D_LYT_COMMON_ARROW_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytCommonArrow_c {
|
||||
public:
|
||||
dLytCommonArrow_c();
|
||||
virtual ~dLytCommonArrow_c() {}
|
||||
|
||||
bool init();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytCommonArrow_c, None);
|
||||
STATE_FUNC_DECLARE(dLytCommonArrow_c, In);
|
||||
STATE_FUNC_DECLARE(dLytCommonArrow_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytCommonArrow_c, Out);
|
||||
|
||||
void setState(s32 state);
|
||||
bool addToDrawList();
|
||||
|
||||
bool fn_80168490();
|
||||
bool fn_80168500();
|
||||
void fn_80168640(f32 *);
|
||||
bool fn_80168680();
|
||||
bool fn_801686F0();
|
||||
bool fn_80168760();
|
||||
void fn_80168790(s32, f32);
|
||||
void fn_80168800(s32);
|
||||
void fn_80168810(d2d::AnmGroup_c *);
|
||||
void fn_80168880();
|
||||
|
||||
private:
|
||||
STATE_MGR_DECLARE(dLytCommonArrow_c);
|
||||
/* 0x40 */ d2d::LytBase_c mLytBase;
|
||||
d2d::ResAccIf_c mResAcc;
|
||||
d2d::AnmGroup_c field_0x440[0x9];
|
||||
d2d::dLytStructD field_0x680;
|
||||
void *field_0x6A8;
|
||||
void *field_0x6AC;
|
||||
s32 field_0x6B0;
|
||||
s32 field_0x6B4;
|
||||
s32 field_0x6B8;
|
||||
s32 field_0x6BC;
|
||||
s32 field_0x6C0;
|
||||
s32 field_0x6C4;
|
||||
u8 field_0x6C8;
|
||||
u8 field_0x6C9;
|
||||
u8 field_0x6CA;
|
||||
u8 field_0x6CB;
|
||||
u8 field_0x6CC;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,178 @@
|
||||
#ifndef D2D_H
|
||||
#define D2D_H
|
||||
|
||||
#include <m/m2d.h>
|
||||
#include <nw4r/lyt/lyt_pane.h>
|
||||
#include <nw4r/lyt/lyt_picture.h>
|
||||
|
||||
namespace d2d {
|
||||
|
||||
class ResAccIf_c : public m2d::ResAccIf_c {
|
||||
public:
|
||||
/* 0xB4 */ nw4r::lyt::FontRefLink mFontRefLinks[5];
|
||||
|
||||
bool attach(void *data, const char *name);
|
||||
void detach();
|
||||
};
|
||||
|
||||
struct LytBrlanMapping {
|
||||
const char *mFile;
|
||||
const char *mName;
|
||||
};
|
||||
|
||||
class Layout_c : public nw4r::lyt::Layout {
|
||||
public:
|
||||
virtual ~Layout_c() {}
|
||||
virtual bool Build(const void *lytResBuf, nw4r::lyt::ResourceAccessor *pResAcsr) override;
|
||||
virtual nw4r::lyt::AnimTransform *CreateAnimTransform(const void *animResBuf,
|
||||
nw4r::lyt::ResourceAccessor *pResAcsr) override;
|
||||
|
||||
// Bring the overloaded, otherwise shadowed functions in scope
|
||||
using nw4r::lyt::Layout::CreateAnimTransform;
|
||||
|
||||
private:
|
||||
nw4r::lyt::Pane *BuildPaneObj(s32 kind, const void *dataPtr, const nw4r::lyt::ResBlockSet &resBlockSet);
|
||||
};
|
||||
|
||||
class Multi_c : public m2d::Base_c {
|
||||
public:
|
||||
Multi_c();
|
||||
virtual ~Multi_c() {}
|
||||
virtual void draw() override;
|
||||
virtual void animate();
|
||||
virtual void calc();
|
||||
virtual bool build(const char *name, m2d::ResAccIf_c *acc);
|
||||
|
||||
void calcBefore();
|
||||
void calcAfter();
|
||||
nw4r::lyt::Pane *findPane(const char *name) const;
|
||||
nw4r::lyt::Picture *findPicture(const char *name) const;
|
||||
nw4r::lyt::Bounding *findBounding(const char *name) const;
|
||||
void unbindAnims();
|
||||
|
||||
Layout_c *getLayout() {
|
||||
return &mLayout;
|
||||
}
|
||||
|
||||
void setResAcc(m2d::ResAccIf_c *resAcc) {
|
||||
mpResAcc = resAcc;
|
||||
}
|
||||
|
||||
protected:
|
||||
Layout_c mLayout;
|
||||
nw4r::lyt::DrawInfo mDrawInfo;
|
||||
m2d::ResAccIf_c *mpResAcc;
|
||||
u32 mFlags;
|
||||
};
|
||||
|
||||
class LytBase_c : public Multi_c {
|
||||
public:
|
||||
LytBase_c();
|
||||
virtual ~LytBase_c();
|
||||
virtual void draw() override {
|
||||
mLayout.Draw(mDrawInfo);
|
||||
};
|
||||
|
||||
private:
|
||||
void *mpMsbtInfo;
|
||||
};
|
||||
|
||||
struct AnmGroup_c {
|
||||
AnmGroup_c() {}
|
||||
~AnmGroup_c() {}
|
||||
|
||||
bool init(const char *fileName, m2d::ResAccIf_c *acc, d2d::Layout_c *layout, const char *animName);
|
||||
bool init(nw4r::lyt::AnimTransform *transform, const char *fileName, m2d::ResAccIf_c *acc, nw4r::lyt::Group *group);
|
||||
|
||||
bool fn_800AC6D0(bool);
|
||||
bool fn_800AC7D0();
|
||||
bool fn_800AC860();
|
||||
void fn_800AC870(bool);
|
||||
void setAnmFrame(f32);
|
||||
void syncAnmFrame();
|
||||
void setForward();
|
||||
void setBackward();
|
||||
|
||||
inline void setFrame(f32 frame) {
|
||||
fn_800AC6D0(false);
|
||||
fn_800AC870(true);
|
||||
mpFrameCtrl->setFrame(frame);
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
inline void play() {
|
||||
mpFrameCtrl->play();
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
inline void setToStart() {
|
||||
mpFrameCtrl->setToStart();
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
inline void setToEnd() {
|
||||
mpFrameCtrl->setToEnd();
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
u8 field_0x00[0x08 - 0x00];
|
||||
|
||||
/* 0x08 */ m2d::FrameCtrl_c *mpFrameCtrl;
|
||||
/* 0x0C */ u8 mFlags;
|
||||
/* 0x10 */ nw4r::lyt::AnimResource mAnmResource;
|
||||
/* 0x20 */ nw4r::lyt::Group *mpGroup;
|
||||
/* 0x24 */ nw4r::lyt::AnimTransform *mpAnmTransform;
|
||||
/* 0x28 */ u8 field_0x20[0x40 - 0x28];
|
||||
};
|
||||
|
||||
struct dLytStructB {
|
||||
dLytStructB();
|
||||
~dLytStructB();
|
||||
|
||||
void init(void *, u8);
|
||||
|
||||
u8 field_0x00[0x808 - 0x00];
|
||||
};
|
||||
|
||||
struct dLytStructC {
|
||||
dLytStructC();
|
||||
~dLytStructC();
|
||||
|
||||
u8 field_0x00[0x10 - 0x00];
|
||||
};
|
||||
|
||||
struct dLytStructD_Base {
|
||||
dLytStructD_Base()
|
||||
: field_0x04(0), field_0x08(0), field_0x0C(0), field_0x10(0), field_0x14(0), field_0x015(0), field_0x016(0) {}
|
||||
virtual ~dLytStructD_Base();
|
||||
u32 field_0x04;
|
||||
u32 field_0x08;
|
||||
u32 field_0x0C;
|
||||
u32 field_0x10;
|
||||
u16 field_0x14;
|
||||
u8 field_0x015;
|
||||
u8 field_0x016;
|
||||
};
|
||||
|
||||
struct dLytStructD : dLytStructD_Base {
|
||||
dLytStructD() : field_0x18(0), field_0x1C(0), field_0x20(0), field_0x22(0), field_0x23(0), field_0x24(0) {}
|
||||
|
||||
virtual ~dLytStructD();
|
||||
|
||||
void init(nw4r::lyt::Pane *, u16, u8, u8);
|
||||
void append(dLytStructD *other);
|
||||
void detach(dLytStructD *other);
|
||||
void fn_80065E70(nw4r::lyt::Pane *, s32, s32, s32);
|
||||
void fn_80065F70();
|
||||
|
||||
u32 field_0x18;
|
||||
u32 field_0x1C;
|
||||
u16 field_0x20;
|
||||
u8 field_0x22;
|
||||
u8 field_0x23;
|
||||
u32 field_0x24;
|
||||
};
|
||||
|
||||
} // namespace d2d
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef D_LYT_FADER_H
|
||||
#define D_LYT_FADER_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <m/m_fader_base.h>
|
||||
|
||||
class dLytFader_c : public mFaderBase_c {
|
||||
public:
|
||||
dLytFader_c(const mColor &color, EStatus status);
|
||||
virtual ~dLytFader_c();
|
||||
|
||||
virtual void setStatus(EStatus status) override;
|
||||
virtual bool fadeIn() override;
|
||||
virtual bool fadeOut() override;
|
||||
virtual bool calc() override;
|
||||
virtual void draw() override;
|
||||
|
||||
bool init();
|
||||
|
||||
private:
|
||||
void fn_801758F0();
|
||||
void fn_801759B0();
|
||||
void fn_80175A50();
|
||||
void fn_80175B10();
|
||||
void fn_80175BC0(s32);
|
||||
|
||||
/* 0x014 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x384 */ d2d::LytBase_c mLytBase;
|
||||
/* 0x414 */ d2d::AnmGroup_c mLytStructAs[3];
|
||||
/* 0x4D4 */ s32 field_0x4D4;
|
||||
/* 0x4D8 */ s32 field_0x4D8;
|
||||
/* 0x4DC */ u8 field_0x4DC[0x4DD - 0x4DC];
|
||||
|
||||
bool field_0x4DD;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef D_LYT_TEXTBOX_H
|
||||
#define D_LYT_TEXTBOX_H
|
||||
|
||||
#include <nw4r/lyt/lyt_textBox.h>
|
||||
|
||||
class dTextBox_c : public nw4r::lyt::TextBox {
|
||||
friend class dWindow_c;
|
||||
|
||||
public:
|
||||
dTextBox_c(const nw4r::lyt::res::TextBox *pBlock, const nw4r::lyt::ResBlockSet &ResBlockSet);
|
||||
|
||||
f32 GetLineWidth(f32 *pOutSpacing);
|
||||
|
||||
private:
|
||||
u8 field_0x104[0x204 - 0x104];
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef D_LYT_WINDOW_H
|
||||
#define D_LYT_WINDOW_H
|
||||
|
||||
#include <nw4r/lyt/lyt_window.h>
|
||||
|
||||
class dTextBox_c;
|
||||
|
||||
class dWindow_c : public nw4r::lyt::Window {
|
||||
public:
|
||||
dWindow_c(const nw4r::lyt::res::Window *pBlock, const nw4r::lyt::ResBlockSet &ResBlockSet);
|
||||
virtual ~dWindow_c() {}
|
||||
void UpdateSize(dTextBox_c *textBox, f32 f);
|
||||
|
||||
private:
|
||||
UNKWORD field_0x108;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef LYT_PAUSE_DISP_00_H
|
||||
#define LYT_PAUSE_DISP_00_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytPauseDisp00_c {
|
||||
public:
|
||||
dLytPauseDisp00_c();
|
||||
virtual ~dLytPauseDisp00_c();
|
||||
|
||||
void init();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, None);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, In);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, Select);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, Ring);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, GetDemo);
|
||||
STATE_FUNC_DECLARE(dLytPauseDisp00_c, Out);
|
||||
|
||||
private:
|
||||
void displayElement(int idx, float value);
|
||||
|
||||
STATE_MGR_DECLARE(dLytPauseDisp00_c);
|
||||
d2d::LytBase_c mLytBase;
|
||||
d2d::AnmGroup_c field_0x00D0[0x7E];
|
||||
d2d::dLytStructB field_0x2050[0x18];
|
||||
/* 0xE110 */ nw4r::ut::LinkList<d2d::dLytStructB, 0> mList;
|
||||
d2d::dLytStructC field_0xE11C[0x18];
|
||||
d2d::dLytStructD field_0xE29C;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -2,6 +2,7 @@
|
||||
#define EGG_ASSERT_H
|
||||
|
||||
#include <common.h>
|
||||
#include <Runtime.PPCEABI.H/__va_arg.h>
|
||||
|
||||
namespace EGG {
|
||||
// All this is guess
|
||||
|
||||
+39
-16
@@ -34,10 +34,10 @@ public:
|
||||
virtual void noop();
|
||||
virtual nw4r::lyt::ArcResourceAccessor *getAccessor();
|
||||
|
||||
void attach(void *data, const char *name);
|
||||
bool attach(void *data, const char *name);
|
||||
void detach();
|
||||
|
||||
private:
|
||||
protected:
|
||||
nw4r::lyt::ArcResourceAccessor mAccessor;
|
||||
};
|
||||
|
||||
@@ -58,10 +58,31 @@ public:
|
||||
f32 getEndFrame() const;
|
||||
f32 getEndFrame2() const;
|
||||
|
||||
inline f32 getFrame() {
|
||||
inline f32 getFrame() const {
|
||||
return mCurrFrame;
|
||||
}
|
||||
|
||||
inline void setToStart() {
|
||||
setFrame(0.0f);
|
||||
}
|
||||
|
||||
inline bool isEndReached() const {
|
||||
f32 actualEnd = mEndFrame - 1.0f;
|
||||
return mCurrFrame >= actualEnd;
|
||||
}
|
||||
|
||||
inline void setToEnd() {
|
||||
setFrame(mEndFrame - 1.0f);
|
||||
}
|
||||
|
||||
inline void setForward() {
|
||||
mFlags = mFlags & ~FLAG_BACKWARDS;
|
||||
}
|
||||
|
||||
inline void setBackward() {
|
||||
mFlags = mFlags | FLAG_BACKWARDS;
|
||||
}
|
||||
|
||||
private:
|
||||
inline bool notLooping() const {
|
||||
return (mFlags & FLAG_NO_LOOP) != 0;
|
||||
@@ -71,11 +92,11 @@ private:
|
||||
return (mFlags & FLAG_BACKWARDS) != 0;
|
||||
}
|
||||
|
||||
f32 mEndFrame;
|
||||
f32 mCurrFrame;
|
||||
f32 mPrevFrame;
|
||||
f32 mRate;
|
||||
u8 mFlags;
|
||||
/* 0x04 */ f32 mEndFrame;
|
||||
/* 0x08 */ f32 mCurrFrame;
|
||||
/* 0x0C */ f32 mPrevFrame;
|
||||
/* 0x10 */ f32 mRate;
|
||||
/* 0x14 */ u8 mFlags;
|
||||
};
|
||||
|
||||
class Anm_c {
|
||||
@@ -114,9 +135,11 @@ class Base_c {
|
||||
public:
|
||||
Base_c(u8 priority) : mPriority(priority) {}
|
||||
/* 0x00 */ nw4r::ut::Node mLink;
|
||||
/* vt 0x04 */
|
||||
virtual ~Base_c();
|
||||
virtual void draw();
|
||||
|
||||
/* vt offset 0x04 */
|
||||
/* vt 0x08 */ virtual ~Base_c();
|
||||
/* vt 0x0C */ virtual void draw();
|
||||
|
||||
/* 0x0C */ u8 mPriority;
|
||||
|
||||
void addToDrawList();
|
||||
@@ -125,10 +148,10 @@ public:
|
||||
class Simple_c : public Base_c {
|
||||
public:
|
||||
Simple_c();
|
||||
virtual ~Simple_c();
|
||||
virtual void draw() override;
|
||||
virtual void calc();
|
||||
virtual bool build(const char *name, ResAccIf_c *acc);
|
||||
/* vt 0x08 */ virtual ~Simple_c();
|
||||
/* vt 0x0C */ virtual void draw() override;
|
||||
/* vt 0x10 */ virtual void calc();
|
||||
/* vt 0x14 */ virtual bool build(const char *name, ResAccIf_c *acc);
|
||||
|
||||
void calcBefore();
|
||||
void calcAfter();
|
||||
@@ -148,6 +171,6 @@ private:
|
||||
u32 field_0x94;
|
||||
};
|
||||
|
||||
} // namespace m2d
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
virtual ~mColorFader_c();
|
||||
|
||||
virtual void setStatus(EStatus status) override;
|
||||
virtual u8 calc() override;
|
||||
virtual bool calc() override;
|
||||
virtual void draw() override;
|
||||
|
||||
u8 mAspectRatio;
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
virtual EStatus getStatus() const;
|
||||
virtual bool fadeIn();
|
||||
virtual bool fadeOut();
|
||||
virtual u8 calc();
|
||||
virtual bool calc();
|
||||
virtual void draw() = 0;
|
||||
|
||||
void setFrame(u16 frame);
|
||||
|
||||
@@ -51,7 +51,11 @@ public:
|
||||
return mpRootPane;
|
||||
}
|
||||
|
||||
private:
|
||||
GroupContainer *GetGroupContainer() const {
|
||||
return mpGroupContainer;
|
||||
}
|
||||
|
||||
protected:
|
||||
ut::LinkList<AnimTransform, 4> mAnimTransList; // at 0x04
|
||||
Pane *mpRootPane; // at 0x10
|
||||
GroupContainer *mpGroupContainer; // at 0x14
|
||||
@@ -68,77 +72,100 @@ public:
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
static void DeleteArray(T *p, size_t n) {
|
||||
if (p) {
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
p[i].~T();
|
||||
}
|
||||
|
||||
FreeMemory(p);
|
||||
}
|
||||
}
|
||||
static void DeleteArray(T *p, size_t n);
|
||||
|
||||
template <typename T>
|
||||
static T *NewArray(size_t n) {
|
||||
T *array = (T *)AllocMemory(n * sizeof(T));
|
||||
if (!array) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
new (&array[i]) T();
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
static T *NewArray(size_t n);
|
||||
|
||||
template <typename T>
|
||||
static void DeleteObj(T *t) {
|
||||
if (t) {
|
||||
t->~T();
|
||||
FreeMemory(t);
|
||||
}
|
||||
}
|
||||
static void DeleteObj(T *t);
|
||||
|
||||
template <typename T>
|
||||
static void DeletePrimArray(T *objAry) {
|
||||
if (objAry) {
|
||||
FreeMemory(objAry);
|
||||
}
|
||||
}
|
||||
static void DeletePrimArray(T *objAry);
|
||||
|
||||
template <typename T>
|
||||
static T *NewObj() {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T();
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
static T *NewObj();
|
||||
|
||||
template <typename T, typename P1>
|
||||
static T *NewObj(P1 param1) {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T(param1);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
static T *NewObj(P1 param1);
|
||||
|
||||
template <typename T, typename P1, typename P2>
|
||||
static T *NewObj(P1 param1, P2 param2) {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T(param1, param2);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
static T *NewObj(P1 param1, P2 param2);
|
||||
|
||||
static MEMAllocator *mspAllocator;
|
||||
};
|
||||
|
||||
|
||||
template <typename T>
|
||||
void Layout::DeleteArray(T *p, size_t n) {
|
||||
if (p) {
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
p[i].~T();
|
||||
}
|
||||
|
||||
FreeMemory(p);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T *Layout::NewArray(size_t n) {
|
||||
T *array = (T *)AllocMemory(n * sizeof(T));
|
||||
if (!array) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
new (&array[i]) T();
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void Layout::DeleteObj(T *t) {
|
||||
if (t) {
|
||||
t->~T();
|
||||
FreeMemory(t);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void Layout::DeletePrimArray(T *objAry) {
|
||||
if (objAry) {
|
||||
FreeMemory(objAry);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T *Layout::NewObj() {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T();
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T, typename P1>
|
||||
T *Layout::NewObj(P1 param1) {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T(param1);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T, typename P1, typename P2>
|
||||
T *Layout::NewObj(P1 param1, P2 param2) {
|
||||
T *pMem = (T *)AllocMemory(sizeof(T));
|
||||
if (pMem) {
|
||||
return new (pMem) T(param1, param2);
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace lyt
|
||||
} // namespace nw4r
|
||||
|
||||
|
||||
@@ -50,6 +50,14 @@ public:
|
||||
return &mAnimList;
|
||||
}
|
||||
|
||||
const math::VEC3 &GetTranslate() const {
|
||||
return mTranslate;
|
||||
}
|
||||
|
||||
void SetTranslate(const nw4r::math::VEC3 &value) {
|
||||
mTranslate = value;
|
||||
}
|
||||
|
||||
const math::MTX34 &GetGlobalMtx() const {
|
||||
return mGlbMtx;
|
||||
}
|
||||
@@ -57,8 +65,8 @@ public:
|
||||
return mpParent;
|
||||
}
|
||||
|
||||
const math::VEC2 *GetScale() const {
|
||||
return &mScale;
|
||||
const math::VEC2 &GetScale() const {
|
||||
return mScale;
|
||||
}
|
||||
void SetScale(const math::VEC2 &value) {
|
||||
mScale = value;
|
||||
@@ -71,8 +79,8 @@ public:
|
||||
mAlpha = value;
|
||||
}
|
||||
|
||||
const Size *GetSize() const {
|
||||
return &mSize;
|
||||
const Size &GetSize() const {
|
||||
return mSize;
|
||||
}
|
||||
void SetSize(const Size &value) {
|
||||
mSize = value;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef S_STATEINTERFACES_H
|
||||
#define S_STATEINTERFACES_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
// Note: Ported from https://github.com/NSMBW-Community/NSMBW-Decomp/tree/master/include/dol/sLib
|
||||
// See include/s/README.txt for changes made
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <sized_string.h>
|
||||
|
||||
class LayoutArcManager {
|
||||
public:
|
||||
LayoutArcManager();
|
||||
virtual ~LayoutArcManager();
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ nw4r::ut::ResFont *dFontMng_c::getFont(u8 type) {
|
||||
return &l_dFontMng_obj[index].mFont;
|
||||
}
|
||||
|
||||
const char *getFontName(u8 type) {
|
||||
const char *dFontMng_c::getFontName(u8 type) {
|
||||
return fonts[type];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,235 @@
|
||||
#include <d/lyt/common_arrow.h>
|
||||
#include <toBeSorted/arc_managers/layout_arc_manager.h>
|
||||
|
||||
STATE_DEFINE(dLytCommonArrow_c, None);
|
||||
STATE_DEFINE(dLytCommonArrow_c, In);
|
||||
STATE_DEFINE(dLytCommonArrow_c, Wait);
|
||||
STATE_DEFINE(dLytCommonArrow_c, Out);
|
||||
|
||||
f32 arrow_fs[0x20];
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{"commonArrow_00_in.brlan", "G_inOut_00"},
|
||||
{"commonArrow_00_loop.brlan", "G_loop_00"},
|
||||
{"commonArrow_00_type.brlan", "G_type_00"},
|
||||
{"commonArrow_00_onOff.brlan", "G_arrowL_00"},
|
||||
{"commonArrow_00_onOff.brlan", "G_arrowR_00"},
|
||||
{"commonArrow_00_decide.brlan", "G_arrowL_00"},
|
||||
{"commonArrow_00_decide.brlan", "G_arrowR_00"},
|
||||
{"commonArrow_00_input.brlan", "G_input_00"},
|
||||
{"commonArrow_00_out.brlan", "G_inOut_00"},
|
||||
};
|
||||
|
||||
dLytCommonArrow_c::dLytCommonArrow_c() : mStateMgr(*this, sStateID::null) {}
|
||||
|
||||
extern "C" d2d::dLytStructD *lbl_80575260;
|
||||
|
||||
bool dLytCommonArrow_c::init() {
|
||||
void *data = LayoutArcManager::sInstance->getLoadedData("CommonArrow");
|
||||
mResAcc.attach(data, "");
|
||||
mLytBase.build("commonArrow_00.brlyt", &mResAcc);
|
||||
mLytBase.mPriority = 0x86;
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
field_0x440[i].init(brlanMap[i].mFile, &mResAcc, mLytBase.getLayout(), brlanMap[i].mName);
|
||||
}
|
||||
field_0x680.fn_80065E70(mLytBase.getLayout()->GetRootPane(), 1, 0, 0);
|
||||
lbl_80575260->append(&field_0x680);
|
||||
field_0x6A8 = mLytBase.findBounding("B_arrowL_00");
|
||||
field_0x6AC = mLytBase.findBounding("B_arrowR_00");
|
||||
mStateMgr.changeState(StateID_None);
|
||||
setState(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_80168490() {
|
||||
lbl_80575260->detach(&field_0x680);
|
||||
mLytBase.unbindAnims();
|
||||
for (int i = 0; i < 9; i++) {
|
||||
field_0x440[i].fn_800AC860();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_80168500() {
|
||||
mStateMgr.executeState();
|
||||
if (!mStateMgr.getStateID()->isEqual(StateID_None)) {
|
||||
field_0x440[1].mpFrameCtrl->play();
|
||||
field_0x440[1].syncAnmFrame();
|
||||
}
|
||||
mLytBase.calc();
|
||||
field_0x680.field_0x22 = 0;
|
||||
field_0x680.fn_80065F70();
|
||||
field_0x6BC = field_0x6B8;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::addToDrawList() {
|
||||
if (field_0x6CB == 1) {
|
||||
mLytBase.addToDrawList();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::setState(s32 state) {
|
||||
field_0x6B0 = state;
|
||||
if (state == 0) {
|
||||
mLytBase.mPriority = 0x86;
|
||||
} else {
|
||||
mLytBase.mPriority = 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168640(f32 *arg) {
|
||||
// TODO
|
||||
mLytBase.getLayout()->GetRootPane()->SetTranslate(nw4r::math::VEC3(arg[0], arg[1], 0.0f));
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_80168680() {
|
||||
if (!mStateMgr.getStateID()->isEqual(StateID_None)) {
|
||||
return false;
|
||||
}
|
||||
field_0x6C8 = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_801686F0() {
|
||||
if (!mStateMgr.getStateID()->isEqual(StateID_Wait)) {
|
||||
return false;
|
||||
}
|
||||
field_0x6C9 = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_80168760() {
|
||||
if (field_0x6C0 == 2 && field_0x6B8 != 2) {
|
||||
field_0x6C0 = field_0x6B8;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168790(s32 idx, f32 frame) {
|
||||
d2d::AnmGroup_c *s = &field_0x440[idx];
|
||||
s->setFrame(frame);
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168800(s32 idx) {
|
||||
field_0x440[idx].fn_800AC7D0();
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168810(d2d::AnmGroup_c *ctrl) {
|
||||
if (ctrl->mpFrameCtrl->getFrame()) {
|
||||
f32 newFrame = ctrl->mpFrameCtrl->getFrame() - 1.0f;
|
||||
if (newFrame <= 0.0f) {
|
||||
newFrame = 0.0f;
|
||||
}
|
||||
ctrl->mpFrameCtrl->setFrame(newFrame);
|
||||
ctrl->syncAnmFrame();
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168880() {}
|
||||
|
||||
void dLytCommonArrow_c::initializeState_None() {
|
||||
mLytBase.unbindAnims();
|
||||
field_0x6C8 = 0;
|
||||
field_0x6C9 = 0;
|
||||
field_0x6CA = 0;
|
||||
field_0x6CB = 0;
|
||||
field_0x6B4 = 2;
|
||||
field_0x6B8 = 2;
|
||||
field_0x6BC = 2;
|
||||
field_0x6C0 = 2;
|
||||
field_0x6C4 = 0;
|
||||
fn_80168790(0, 0.0f);
|
||||
field_0x6CC = 1;
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_None() {
|
||||
if (field_0x6C8 == 1) {
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
}
|
||||
void dLytCommonArrow_c::finalizeState_None() {
|
||||
field_0x6C8 = 0;
|
||||
fn_80168790(1, 0.0f);
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::initializeState_In() {
|
||||
field_0x6C4 = 0;
|
||||
field_0x6CB = 1;
|
||||
f32 tmp = 0.0f;
|
||||
if (field_0x6B0 == 1) {
|
||||
tmp = 1.0f;
|
||||
}
|
||||
fn_80168790(2, tmp);
|
||||
fn_80168790(3, 0.0f);
|
||||
fn_80168790(4, 0.0f);
|
||||
fn_80168790(7, 0.0f);
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_In() {
|
||||
switch (field_0x6C4) {
|
||||
case 0:
|
||||
d2d::AnmGroup_c *s = &field_0x440[0];
|
||||
if (s->mpFrameCtrl->isEndReached() == 1) {
|
||||
field_0x6C4 += 1;
|
||||
field_0x6CA = 1;
|
||||
} else {
|
||||
s->mpFrameCtrl->play();
|
||||
s->syncAnmFrame();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
field_0x6CA = 0;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
break;
|
||||
}
|
||||
}
|
||||
void dLytCommonArrow_c::finalizeState_In() {
|
||||
fn_80168800(0);
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::initializeState_Wait() {
|
||||
field_0x6C4 = 0;
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_Wait() {
|
||||
if (field_0x6C9 == 1) {
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
return;
|
||||
}
|
||||
|
||||
fn_80168880();
|
||||
if (field_0x6B8 == 0) {
|
||||
field_0x440[3].play();
|
||||
fn_80168810(&field_0x440[4]);
|
||||
} else if (field_0x6B8 == 1) {
|
||||
field_0x440[4].play();
|
||||
fn_80168810(&field_0x440[3]);
|
||||
} else {
|
||||
fn_80168810(&field_0x440[3]);
|
||||
fn_80168810(&field_0x440[4]);
|
||||
}
|
||||
}
|
||||
void dLytCommonArrow_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytCommonArrow_c::initializeState_Out() {
|
||||
field_0x6C4 = 0;
|
||||
fn_80168790(8, 0.0f);
|
||||
field_0x6C9 = 0;
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_Out() {
|
||||
switch (field_0x6C4) {
|
||||
case 0:
|
||||
d2d::AnmGroup_c *s = &field_0x440[8];
|
||||
if (s->mpFrameCtrl->isEndReached() == 1) {
|
||||
field_0x6C4 = 1;
|
||||
field_0x6CA = 1;
|
||||
}
|
||||
s->play();
|
||||
break;
|
||||
case 1:
|
||||
mStateMgr.changeState(StateID_None);
|
||||
break;
|
||||
}
|
||||
}
|
||||
void dLytCommonArrow_c::finalizeState_Out() {}
|
||||
@@ -0,0 +1,364 @@
|
||||
#include <d/d_font_manager.h>
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_textbox.h>
|
||||
#include <d/lyt/d_window.h>
|
||||
#include <egg/gfx/eggScreen.h>
|
||||
#include <nw4r/lyt/lyt_bounding.h>
|
||||
#include <nw4r/lyt/lyt_group.h>
|
||||
#include <nw4r/lyt/lyt_picture.h>
|
||||
#include <nw4r/lyt/lyt_textBox.h>
|
||||
#include <nw4r/lyt/lyt_utils.h>
|
||||
#include <nw4r/lyt/lyt_window.h>
|
||||
|
||||
using namespace nw4r::lyt;
|
||||
|
||||
namespace d2d {
|
||||
|
||||
void ResAccIf_c::detach() {
|
||||
for (u8 i = 0; i < 5; i++) {
|
||||
mAccessor.UnregistFont(&mFontRefLinks[i]);
|
||||
}
|
||||
m2d::ResAccIf_c::detach();
|
||||
}
|
||||
|
||||
bool ResAccIf_c::attach(void *data, const char *name) {
|
||||
nw4r::lyt::FontRefLink *link;
|
||||
bool ok = m2d::ResAccIf_c::attach(data, name);
|
||||
if (ok) {
|
||||
for (u8 i = 0; i < 5; i++) {
|
||||
link = &mFontRefLinks[i];
|
||||
link->Set(dFontMng_c::getFontName(i), dFontMng_c::getFont(i));
|
||||
mAccessor.RegistFont(link);
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
// Copied from lyt, with some types replaced
|
||||
nw4r::lyt::Pane *Layout_c::BuildPaneObj(s32 kind, const void *dataPtr, const ResBlockSet &resBlockSet) {
|
||||
// Oddly enough the breaks are required here to not inline the function???
|
||||
// Had them as left over from editing and somehow when removing them it just broke Build.
|
||||
// Probably some analysis depth as 3 break statements do it
|
||||
switch (kind) {
|
||||
case 'pan1': {
|
||||
const res::Pane *pResPane = (const res::Pane *)dataPtr;
|
||||
return NewObj<Pane>(pResPane);
|
||||
} break;
|
||||
case 'pic1': {
|
||||
const res::Picture *pResPic = (const res::Picture *)dataPtr;
|
||||
return NewObj<Picture>(pResPic, resBlockSet);
|
||||
} break;
|
||||
case 'txt1': {
|
||||
const res::TextBox *pBlock = (const res::TextBox *)dataPtr;
|
||||
return NewObj<dTextBox_c>(pBlock, resBlockSet);
|
||||
} break;
|
||||
case 'wnd1': {
|
||||
const res::Window *pBlock = (const res::Window *)dataPtr;
|
||||
return NewObj<dWindow_c>(pBlock, resBlockSet);
|
||||
} break;
|
||||
case 'bnd1': {
|
||||
const res::Bounding *pResBounding = (const res::Bounding *)dataPtr;
|
||||
return NewObj<Bounding>(pResBounding, resBlockSet);
|
||||
} break;
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
// This is exactly copied from nw4r::lyt::Layout
|
||||
bool Layout_c::Build(const void *lytResBuf, ResourceAccessor *pResAcsr) {
|
||||
const res::BinaryFileHeader *pFileHead = (const res::BinaryFileHeader *)(lytResBuf);
|
||||
if (!detail::TestFileHeader(*pFileHead, 'RLYT')) {
|
||||
return false;
|
||||
}
|
||||
if (!detail::TestFileVersion(*pFileHead)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ResBlockSet resBlockSet = {nullptr, nullptr, nullptr, pResAcsr};
|
||||
Pane *pParentPane = nullptr;
|
||||
Pane *pLastPane = nullptr;
|
||||
bool bReadRootGroup = false;
|
||||
int groupNestLevel = 0;
|
||||
|
||||
const void *dataPtr = ((u8 *)lytResBuf + pFileHead->headerSize);
|
||||
for (int i = 0; i < pFileHead->dataBlocks; i++) {
|
||||
const res::DataBlockHeader *pDataBlockHead = (const res::DataBlockHeader *)dataPtr;
|
||||
switch (detail::GetSignatureInt(pDataBlockHead->kind)) {
|
||||
case 'lyt1': // Main Layout
|
||||
{
|
||||
const res::Layout *pResLyt = ((const res::Layout *)dataPtr);
|
||||
mLayoutSize = pResLyt->layoutSize;
|
||||
} break;
|
||||
case 'txl1': // Texture List
|
||||
resBlockSet.pTextureList = (const res::TextureList *)dataPtr;
|
||||
break;
|
||||
case 'fnl1': // Font List
|
||||
resBlockSet.pFontList = (const res::FontList *)dataPtr;
|
||||
break;
|
||||
case 'mat1': // Material
|
||||
resBlockSet.pMaterialList = (const res::MaterialList *)dataPtr;
|
||||
break;
|
||||
case 'wnd1': // Window
|
||||
case 'pan1': // Pane
|
||||
case 'pic1': // Picture
|
||||
case 'txt1': // Text Box
|
||||
case 'bnd1': // Boundary Pane
|
||||
{
|
||||
Pane *pPane = BuildPaneObj(detail::GetSignatureInt(pDataBlockHead->kind), dataPtr, resBlockSet);
|
||||
if (pPane) {
|
||||
if (mpRootPane == nullptr) {
|
||||
mpRootPane = pPane;
|
||||
}
|
||||
if (pParentPane) {
|
||||
pParentPane->AppendChild(pPane);
|
||||
}
|
||||
pLastPane = pPane;
|
||||
}
|
||||
} break;
|
||||
case 'usd1': // User Data
|
||||
pLastPane->SetExtUserDataList((const res::ExtUserDataList *)dataPtr);
|
||||
break;
|
||||
case 'pas1': // PaneChildren Start
|
||||
pParentPane = pLastPane;
|
||||
break;
|
||||
case 'pae1': // PaneChildren End
|
||||
pLastPane = pParentPane;
|
||||
pParentPane = pLastPane->GetParent();
|
||||
break;
|
||||
case 'grp1': // Group
|
||||
if (!bReadRootGroup) {
|
||||
bReadRootGroup = true;
|
||||
mpGroupContainer = NewObj<GroupContainer>();
|
||||
} else {
|
||||
if (mpGroupContainer && groupNestLevel == 1) {
|
||||
Group *pGroup = NewObj<Group>((const res::Group *)dataPtr, mpRootPane);
|
||||
if (pGroup) {
|
||||
mpGroupContainer->AppendGroup(pGroup);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'grs1': // Group Children Start
|
||||
groupNestLevel++;
|
||||
break;
|
||||
case 'gre1': // Group Children End
|
||||
groupNestLevel--;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
dataPtr = ((u8 *)dataPtr + pDataBlockHead->size);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Multi_c::Multi_c() : Base_c(0x80), mLayout(), mDrawInfo(), mpResAcc(nullptr), mFlags(0) {
|
||||
mDrawInfo.SetLocationAdjustScale(nw4r::math::VEC2((float)EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_1) /
|
||||
(float)EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_2),
|
||||
1.0f));
|
||||
mDrawInfo.SetLocationAdjust(true);
|
||||
}
|
||||
|
||||
void Multi_c::animate() {
|
||||
u32 arg = 0;
|
||||
if ((mFlags & 1) != 0) {
|
||||
arg = 1;
|
||||
}
|
||||
mLayout.Animate(arg);
|
||||
}
|
||||
|
||||
void Multi_c::calc() {
|
||||
calcBefore();
|
||||
calcAfter();
|
||||
}
|
||||
|
||||
void Multi_c::calcBefore() {
|
||||
u32 arg = 0;
|
||||
if ((mFlags & 1) != 0) {
|
||||
arg = 1;
|
||||
}
|
||||
mLayout.Animate(arg);
|
||||
}
|
||||
|
||||
void Multi_c::calcAfter() {
|
||||
nw4r::ut::Rect rect = mLayout.GetLayoutRect();
|
||||
mDrawInfo.SetViewRect(rect);
|
||||
mDrawInfo.SetMultipleViewMtxOnDraw(true);
|
||||
mLayout.CalculateMtx(mDrawInfo);
|
||||
}
|
||||
|
||||
void Multi_c::draw() {}
|
||||
|
||||
bool Multi_c::build(const char *name, m2d::ResAccIf_c *acc) {
|
||||
if (mLayout.GetRootPane() != nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (acc == nullptr) {
|
||||
acc = mpResAcc;
|
||||
if (acc == nullptr) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void *res = acc->getAccessor()->GetResource(0, name, nullptr);
|
||||
if (res == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ok = mLayout.Build(res, acc->getAccessor());
|
||||
if (ok) {
|
||||
calc();
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
nw4r::lyt::Pane *Multi_c::findPane(const char *name) const {
|
||||
return mLayout.GetRootPane()->FindPaneByName(name, true);
|
||||
}
|
||||
|
||||
nw4r::lyt::Picture *Multi_c::findPicture(const char *name) const {
|
||||
nw4r::lyt::Pane *p = findPane(name);
|
||||
if (p != nullptr) {
|
||||
return nw4r::ut::DynamicCast<nw4r::lyt::Picture *>(p);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
nw4r::lyt::Bounding *Multi_c::findBounding(const char *name) const {
|
||||
nw4r::lyt::Pane *p = findPane(name);
|
||||
if (p != nullptr) {
|
||||
return nw4r::ut::DynamicCast<nw4r::lyt::Bounding *>(p);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Multi_c::unbindAnims() {
|
||||
mLayout.UnbindAllAnimation();
|
||||
}
|
||||
|
||||
LytBase_c::LytBase_c() : mpMsbtInfo(nullptr) {}
|
||||
|
||||
extern "C" void libms__LMS_CloseMessage(void *);
|
||||
LytBase_c::~LytBase_c() {
|
||||
if (mpMsbtInfo != nullptr) {
|
||||
libms__LMS_CloseMessage(mpMsbtInfo);
|
||||
}
|
||||
}
|
||||
|
||||
bool AnmGroup_c::init(const char *fileName, m2d::ResAccIf_c *resAcc, d2d::Layout_c *layout, const char *groupName) {
|
||||
if (layout->GetGroupContainer() == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
nw4r::lyt::Group *group = layout->GetGroupContainer()->FindGroupByName(groupName);
|
||||
if (group == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
nw4r::lyt::AnimTransform *transform = layout->CreateAnimTransform();
|
||||
return init(transform, fileName, resAcc, group);
|
||||
}
|
||||
|
||||
bool AnmGroup_c::init(nw4r::lyt::AnimTransform *transform, const char *name, m2d::ResAccIf_c *acc,
|
||||
nw4r::lyt::Group *group) {
|
||||
if (transform == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (group == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void *res = acc->getAccessor()->GetResource(0, name, nullptr);
|
||||
if (res == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
mAnmResource.Set(res);
|
||||
u16 animNum = mAnmResource.CalcAnimationNum(group, mAnmResource.IsDescendingBind());
|
||||
if (animNum != 0) {
|
||||
transform->SetResource(mAnmResource.GetResourceBlock(), acc->getAccessor(), animNum);
|
||||
mpGroup = group;
|
||||
mpAnmTransform = transform;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC6D0(bool b) {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mpGroup == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
nw4r::lyt::BindAnimation(mpGroup, anmTransform, false, b);
|
||||
mFlags |= 1;
|
||||
if (b) {
|
||||
mFlags = (mFlags & ~2);
|
||||
} else {
|
||||
mFlags |= 2;
|
||||
}
|
||||
|
||||
u32 flags = 1;
|
||||
if (mpAnmTransform->IsLoopData()) {
|
||||
flags = 0;
|
||||
}
|
||||
|
||||
mpFrameCtrl->set(anmTransform->GetFrameSize(), flags, 1.0f, -1.0f);
|
||||
syncAnmFrame();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC7D0() {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
nw4r::lyt::Group *group = mpGroup;
|
||||
if (group == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
nw4r::lyt::UnbindAnimation(group, anmTransform, mAnmResource.IsDescendingBind());
|
||||
mFlags = (mFlags & ~1);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC860() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void AnmGroup_c::fn_800AC870(bool b) {
|
||||
nw4r::lyt::Group *group = mpGroup;
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
nw4r::lyt::SetAnimationEnable(group, anmTransform, b, mAnmResource.IsDescendingBind());
|
||||
if (b) {
|
||||
mFlags |= 2;
|
||||
} else {
|
||||
mFlags = mFlags & ~2;
|
||||
}
|
||||
}
|
||||
|
||||
void AnmGroup_c::setAnmFrame(f32 arg) {
|
||||
mpAnmTransform->SetFrame(arg);
|
||||
}
|
||||
|
||||
void AnmGroup_c::syncAnmFrame() {
|
||||
setAnmFrame(mpFrameCtrl->getFrame());
|
||||
}
|
||||
|
||||
void AnmGroup_c::setForward() {
|
||||
mpFrameCtrl->setForward();
|
||||
}
|
||||
|
||||
void AnmGroup_c::setBackward() {
|
||||
mpFrameCtrl->setBackward();
|
||||
}
|
||||
|
||||
} // namespace d2d
|
||||
@@ -0,0 +1,159 @@
|
||||
#include <d/lyt/d_lyt_fader.h>
|
||||
#include <toBeSorted/arc_managers/layout_arc_manager.h>
|
||||
|
||||
static const d2d::LytBrlanMapping blanMap[] = {
|
||||
{"wipe_01_wipeStart.brlan", "G_wipe_00"},
|
||||
{"wipe_01_wipeOpen.brlan", "G_wipe_00"},
|
||||
{"wipe_01_out.brlan", "G_out_00"},
|
||||
};
|
||||
|
||||
dLytFader_c::dLytFader_c(const mColor &color, EStatus status) : mFaderBase_c(color, status), field_0x4DD(false) {}
|
||||
|
||||
dLytFader_c::~dLytFader_c() {
|
||||
0.0f; // float ordering
|
||||
|
||||
if (field_0x4DD == true) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mLytStructAs[i].fn_800AC860();
|
||||
}
|
||||
mResAcc.detach();
|
||||
}
|
||||
}
|
||||
|
||||
void dLytFader_c::setStatus(EStatus status) {
|
||||
if (status == FADED_OUT) {
|
||||
mStatus = FADED_OUT;
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setToEnd();
|
||||
s->fn_800AC870(true);
|
||||
s->play();
|
||||
mLytBase.calc();
|
||||
fn_80175BC0(2);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
} else if (status == FADED_IN) {
|
||||
mStatus = FADED_IN;
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setToStart();
|
||||
s->fn_800AC870(true);
|
||||
mLytBase.calc();
|
||||
fn_80175BC0(2);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
bool dLytFader_c::calc() {
|
||||
if (field_0x4DD == true) {
|
||||
switch (field_0x4D4) {
|
||||
case 0:
|
||||
fn_801759B0();
|
||||
break;
|
||||
case 1:
|
||||
fn_80175B10();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return field_0x4D4 == 2;
|
||||
} else {
|
||||
return mFaderBase_c::calc();
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void fn_80016200();
|
||||
|
||||
void dLytFader_c::draw() {
|
||||
if (field_0x4DD) {
|
||||
fn_80016200();
|
||||
mLytBase.draw();
|
||||
}
|
||||
}
|
||||
|
||||
bool dLytFader_c::fadeIn() {
|
||||
bool res = mFaderBase_c::fadeIn();
|
||||
if (res) {
|
||||
fn_80175A50();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
bool dLytFader_c::fadeOut() {
|
||||
bool res = mFaderBase_c::fadeOut();
|
||||
if (res) {
|
||||
fn_801758F0();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
bool dLytFader_c::init() {
|
||||
if (field_0x4DD == true) {
|
||||
return true;
|
||||
} else {
|
||||
void *data = LayoutArcManager::sInstance->getLoadedData("System2D");
|
||||
if (!data) {
|
||||
return false;
|
||||
}
|
||||
mResAcc.attach(data, "");
|
||||
mLytBase.setResAcc(&mResAcc);
|
||||
mLytBase.build("wipe_01.brlyt", nullptr);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mLytStructAs[i].init(blanMap[i].mFile, &mResAcc, mLytBase.getLayout(), blanMap[i].mName);
|
||||
}
|
||||
field_0x4DD = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_801758F0() {
|
||||
fn_80175BC0(0);
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->mpFrameCtrl->setFrame(0.0f);
|
||||
s->syncAnmFrame();
|
||||
s->mpFrameCtrl->setRate(20.0f / (mFrame - 1));
|
||||
s->fn_800AC870(true);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_801759B0() {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
if (s->mpFrameCtrl->isEndReached() == true) {
|
||||
fn_80175BC0(2);
|
||||
mStatus = FADED_OUT;
|
||||
}
|
||||
s->play();
|
||||
mLytBase.calc();
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_80175A50() {
|
||||
fn_80175BC0(1);
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[1];
|
||||
s->fn_800AC6D0(false);
|
||||
s->mpFrameCtrl->setFrame(0.0f);
|
||||
s->syncAnmFrame();
|
||||
s->mpFrameCtrl->setRate(20.0f / (mFrame - 1));
|
||||
s->fn_800AC870(true);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_80175B10() {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[1];
|
||||
if (s->mpFrameCtrl->isEndReached() == true) {
|
||||
fn_80175BC0(2);
|
||||
mStatus = FADED_IN;
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(false);
|
||||
}
|
||||
s->play();
|
||||
mLytBase.calc();
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_80175BC0(s32 arg) {
|
||||
field_0x4D4 = arg;
|
||||
field_0x4D8 = 0;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
#include <d/lyt/d_textbox.h>
|
||||
#include <d/lyt/d_window.h>
|
||||
|
||||
dWindow_c::dWindow_c(const nw4r::lyt::res::Window *pBlock, const nw4r::lyt::ResBlockSet &ResBlockSet)
|
||||
: nw4r::lyt::Window(pBlock, ResBlockSet) {}
|
||||
|
||||
void dWindow_c::UpdateSize(dTextBox_c *textBox, f32 f) {
|
||||
if (textBox == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
u8 rem = mBasePosition % 3;
|
||||
if (rem == 0) {
|
||||
nw4r::math::VEC3 other = textBox->GetTranslate();
|
||||
nw4r::math::VEC3 my = GetTranslate();
|
||||
f = (other.x - my.x) * 2.0f;
|
||||
} else if (rem == 2) {
|
||||
nw4r::math::VEC3 other = textBox->GetTranslate();
|
||||
nw4r::math::VEC3 my = GetTranslate();
|
||||
f = (my.x - other.x) * 2.0f;
|
||||
}
|
||||
|
||||
nw4r::lyt::Size size = GetSize();
|
||||
f32 width = textBox->GetLineWidth(nullptr);
|
||||
width += f;
|
||||
size.width = width;
|
||||
SetSize(size);
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
#include <d/lyt/pause_disp_00.h>
|
||||
#include <nw4r/lyt/lyt_group.h>
|
||||
|
||||
STATE_DEFINE(dLytPauseDisp00_c, None);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, In);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, Wait);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, Select);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, Ring);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, GetDemo);
|
||||
STATE_DEFINE(dLytPauseDisp00_c, Out);
|
||||
|
||||
extern d2d::LytBrlanMapping S_MAPPINGS[];
|
||||
extern "C" char lbl_804E8898[];
|
||||
|
||||
extern const char *B_LIST[];
|
||||
|
||||
dLytPauseDisp00_c::dLytPauseDisp00_c() : mStateMgr(*this, sStateID::null) {}
|
||||
|
||||
extern "C" void fn_800AC3C0(nw4r::lyt::Group *, nw4r::ut::LinkList<d2d::dLytStructB, 0> *);
|
||||
extern "C" d2d::dLytStructD *lbl_80575260;
|
||||
|
||||
void dLytPauseDisp00_c::init() {
|
||||
mLytBase.build("pause_00.brlyt", nullptr);
|
||||
mLytBase.mPriority = 0x86;
|
||||
|
||||
for (int i = 0; i < 0x7E; i++) {
|
||||
field_0x00D0[i].init(S_MAPPINGS[i].mFile, nullptr, mLytBase.getLayout(), S_MAPPINGS[i].mName);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 0x18; i++) {
|
||||
field_0x2050[i].init(nullptr, lbl_804E8898[i]);
|
||||
mList.PushBack(&field_0x2050[i]);
|
||||
}
|
||||
|
||||
if (mLytBase.getLayout()->GetGroupContainer() != nullptr) {
|
||||
nw4r::lyt::Group *group = mLytBase.getLayout()->GetGroupContainer()->FindGroupByName("G_ref_00");
|
||||
if (group != nullptr) {
|
||||
fn_800AC3C0(group, &mList);
|
||||
}
|
||||
}
|
||||
|
||||
field_0xE29C.init(mLytBase.getLayout()->GetRootPane(), 1, 0, 0);
|
||||
lbl_80575260->append(&field_0xE29C);
|
||||
for (int i = 0; i < 0x25; i++) {
|
||||
if (i != 0x1F && i != 0x20) {
|
||||
nw4r::lyt::Bounding *b = mLytBase.findBounding(B_LIST[i]);
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dLytPauseDisp00_c::displayElement(int i, float frame) {
|
||||
d2d::AnmGroup_c *s = &field_0x00D0[i];
|
||||
s->setFrame(frame);
|
||||
}
|
||||
|
||||
dLytPauseDisp00_c::~dLytPauseDisp00_c() {}
|
||||
@@ -1,4 +1,3 @@
|
||||
#include <Runtime.PPCEABI.H/__va_arg.h>
|
||||
#include <egg/core/eggSystem.h>
|
||||
#include <egg/core/eggXfbManager.h>
|
||||
#include <egg/prim/eggAssert.h>
|
||||
|
||||
+3
-2
@@ -85,9 +85,10 @@ nw4r::lyt::ArcResourceAccessor *ResAccIf_c::getAccessor() {
|
||||
|
||||
void ResAccIf_c::noop() {}
|
||||
|
||||
void ResAccIf_c::attach(void *data, const char *name) {
|
||||
mAccessor.Attach(data, name);
|
||||
bool ResAccIf_c::attach(void *data, const char *name) {
|
||||
return mAccessor.Attach(data, name);
|
||||
}
|
||||
|
||||
void ResAccIf_c::detach() {
|
||||
mAccessor.Detach();
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ void mColorFader_c::setStatus(EStatus status) {
|
||||
}
|
||||
}
|
||||
|
||||
u8 mColorFader_c::calc() {
|
||||
u8 result = mFaderBase_c::calc();
|
||||
bool mColorFader_c::calc() {
|
||||
bool result = mFaderBase_c::calc();
|
||||
u16 elapsed = mElapsed;
|
||||
u16 frame = mFrame;
|
||||
if (elapsed > mFrame) {
|
||||
|
||||
@@ -50,8 +50,8 @@ bool mFaderBase_c::fadeOut() {
|
||||
return canFadeOut;
|
||||
}
|
||||
|
||||
u8 mFaderBase_c::calc() {
|
||||
u8 result = 0;
|
||||
bool mFaderBase_c::calc() {
|
||||
bool result = 0;
|
||||
if (mStatus == FADING_IN) {
|
||||
if (mElapsed++ > mFrame) {
|
||||
mStatus = FADED_IN;
|
||||
|
||||
Reference in New Issue
Block a user