mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
Some dLytAreaCaption_c (#63)
This commit is contained in:
@@ -192,6 +192,10 @@ d/lyt/d_window.cpp:
|
||||
.data start:0x80510820 end:0x805108B0
|
||||
.sdata2 start:0x805797F0 end:0x805797F8
|
||||
|
||||
d/d_text_writer.cpp:
|
||||
.text start:0x800B35C0 end:0x800B9274
|
||||
.ctors start:0x804DB6D4 end:0x804DB6D8
|
||||
|
||||
toBeSorted/time_area_mgr.cpp:
|
||||
.text start:0x800B9280 end:0x800BB2A0
|
||||
|
||||
@@ -287,6 +291,10 @@ d/lyt/meter/d_lyt_meter_rupy.cpp:
|
||||
.text start:0x801003F0 end:0x801026A8
|
||||
.ctors start:0x804DB714 end:0x804DB718
|
||||
|
||||
d/lyt/meter/d_lyt_meter_ganbari_gauge.cpp:
|
||||
.text start:0x801026B0 end:0x80105548
|
||||
.ctors start:0x804DB718 end:0x804DB71C
|
||||
|
||||
d/lyt/meter/d_lyt_meter_heart.cpp:
|
||||
.text start:0x8010AEC0 end:0x8010BD48
|
||||
|
||||
@@ -381,6 +389,10 @@ d/lyt/d_lyt_battery.cpp:
|
||||
d/lyt/d_lyt_area_caption.cpp:
|
||||
.text start:0x8014AD20 end:0x8014C6B8
|
||||
.ctors start:0x804DB778 end:0x804DB77C
|
||||
.rodata start:0x804E7FA0 end:0x804E7FE0
|
||||
.data start:0x80522B00 end:0x80522E80
|
||||
.sdata start:0x80572878 end:0x80572880
|
||||
.bss start:0x805B0A70 end:0x805B0B30
|
||||
|
||||
d/lyt/d_lyt_wipe.cpp:
|
||||
.text start:0x8014C6C0 end:0x8014E008
|
||||
|
||||
+65
-65
@@ -3774,9 +3774,9 @@ LytMeter0x24__13dLytMeterBaseCFv = .text:0x800AC4F0; // type:function size:0x8
|
||||
LytMeter0x28__13dLytMeterBaseFb = .text:0x800AC500; // type:function size:0x8
|
||||
init__Q23d2d14AnmGroupBase_cFPCcPQ23m2d10ResAccIf_cPQ23d2d8Layout_cPCc = .text:0x800AC510; // type:function size:0x9C
|
||||
init__Q23d2d14AnmGroupBase_cFPQ34nw4r3lyt13AnimTransformPCcPQ23m2d10ResAccIf_cPQ34nw4r3lyt5Group = .text:0x800AC5B0; // type:function size:0x114
|
||||
fn_800AC6D0__Q23d2d14AnmGroupBase_cFb = .text:0x800AC6D0; // type:function size:0xF8
|
||||
fn_800AC7D0__Q23d2d14AnmGroupBase_cFv = .text:0x800AC7D0; // type:function size:0x88
|
||||
fn_800AC860__Q23d2d14AnmGroupBase_cFv = .text:0x800AC860; // type:function size:0x8
|
||||
setDirection__Q23d2d14AnmGroupBase_cFb = .text:0x800AC6D0; // type:function size:0xF8
|
||||
unbind__Q23d2d14AnmGroupBase_cFv = .text:0x800AC7D0; // type:function size:0x88
|
||||
afterUnbind__Q23d2d14AnmGroupBase_cFv = .text:0x800AC860; // type:function size:0x8
|
||||
setAnimEnable__Q23d2d14AnmGroupBase_cFb = .text:0x800AC870; // type:function size:0x8C
|
||||
setAnmFrame__Q23d2d14AnmGroupBase_cFf = .text:0x800AC900; // type:function size:0xC
|
||||
syncAnmFrame__Q23d2d14AnmGroupBase_cFv = .text:0x800AC910; // type:function size:0xC
|
||||
@@ -5466,7 +5466,7 @@ fn_800E02C0 = .text:0x800E02C0; // type:function size:0x1E0
|
||||
fn_800E04A0 = .text:0x800E04A0; // type:function size:0x58
|
||||
fn_800E0500 = .text:0x800E0500; // type:function size:0x370
|
||||
fn_800E0870 = .text:0x800E0870; // type:function size:0x1E4
|
||||
fn_800E0A60 = .text:0x800E0A60; // type:function size:0xA0
|
||||
fn_800E0A60__10dTextBox_cFPCce = .text:0x800E0A60; // type:function size:0xA0
|
||||
fn_800E0B00 = .text:0x800E0B00; // type:function size:0x8
|
||||
fn_800E0B10 = .text:0x800E0B10; // type:function size:0x8
|
||||
fn_800E0B20 = .text:0x800E0B20; // type:function size:0x8
|
||||
@@ -8248,64 +8248,64 @@ initializeState__28sFStateID_c<13dLytBattery_c>CFR13dLytBattery_c = .text:0x8014
|
||||
__sinit_\d_lyt_battery_cpp = .text:0x8014A830; // type:function size:0x3F4 scope:local
|
||||
__dt__28sFStateID_c<13dLytBattery_c>Fv = .text:0x8014AC30; // type:function size:0x58
|
||||
isSameName__28sFStateID_c<13dLytBattery_c>CFPCc = .text:0x8014AC90; // type:function size:0x88
|
||||
fn_8014AD20 = .text:0x8014AD20; // type:function size:0x218
|
||||
fn_8014AF40 = .text:0x8014AF40; // type:function size:0x10
|
||||
fn_8014AF50 = .text:0x8014AF50; // type:function size:0x7C
|
||||
fn_8014AFD0 = .text:0x8014AFD0; // type:function size:0xE8
|
||||
fn_8014B0C0 = .text:0x8014B0C0; // type:function size:0x10
|
||||
getState3 = .text:0x8014B0D0; // type:function size:0x10
|
||||
fn_8014B0E0 = .text:0x8014B0E0; // type:function size:0x28
|
||||
doSomethingIfInCaptionPartsWaitState = .text:0x8014B110; // type:function size:0xA8
|
||||
fn_8014B1C0 = .text:0x8014B1C0; // type:function size:0x60
|
||||
LytAreaCaptionParts__stateWaitEnter = .text:0x8014B220; // type:function size:0x4
|
||||
LytAreaCaptionParts__stateWaitUpdate = .text:0x8014B230; // type:function size:0x208
|
||||
LytAreaCaptionParts__stateWaitLeave = .text:0x8014B440; // type:function size:0x4
|
||||
LytAreaCaptionParts__stateStartEnter = .text:0x8014B450; // type:function size:0x4C
|
||||
LytAreaCaptionParts__stateStartUpdate = .text:0x8014B4A0; // type:function size:0x160
|
||||
LytAreaCaptionParts__stateStartLeave = .text:0x8014B600; // type:function size:0x4
|
||||
LytAreaCaptionParts__stateOutEnter = .text:0x8014B610; // type:function size:0x4
|
||||
LytAreaCaptionParts__stateOutUpdate = .text:0x8014B620; // type:function size:0x98
|
||||
LytAreaCaptionParts__stateOutLeave = .text:0x8014B6C0; // type:function size:0x4
|
||||
init__22dLytAreaCaptionParts_cFi = .text:0x8014AD20; // type:function size:0x218
|
||||
changeState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8014AF40; // type:function size:0x10
|
||||
remove__22dLytAreaCaptionParts_cFv = .text:0x8014AF50; // type:function size:0x7C
|
||||
update__22dLytAreaCaptionParts_cFv = .text:0x8014AFD0; // type:function size:0xE8
|
||||
executeState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014B0C0; // type:function size:0x10
|
||||
getStateID__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014B0D0; // type:function size:0x10
|
||||
draw__22dLytAreaCaptionParts_cFv = .text:0x8014B0E0; // type:function size:0x28
|
||||
setTextIfWaiting__22dLytAreaCaptionParts_cFPCc = .text:0x8014B110; // type:function size:0xA8
|
||||
check__22dLytAreaCaptionParts_cFv = .text:0x8014B1C0; // type:function size:0x60
|
||||
initializeState_Wait__22dLytAreaCaptionParts_cFv = .text:0x8014B220; // type:function size:0x4
|
||||
executeState_Wait__22dLytAreaCaptionParts_cFv = .text:0x8014B230; // type:function size:0x208
|
||||
finalizeState_Wait__22dLytAreaCaptionParts_cFv = .text:0x8014B440; // type:function size:0x4
|
||||
initializeState_Start__22dLytAreaCaptionParts_cFv = .text:0x8014B450; // type:function size:0x4C
|
||||
executeState_Start__22dLytAreaCaptionParts_cFv = .text:0x8014B4A0; // type:function size:0x160
|
||||
finalizeState_Start__22dLytAreaCaptionParts_cFv = .text:0x8014B600; // type:function size:0x4
|
||||
initializeState_Out__22dLytAreaCaptionParts_cFv = .text:0x8014B610; // type:function size:0x4
|
||||
executeState_Out__22dLytAreaCaptionParts_cFv = .text:0x8014B620; // type:function size:0x98
|
||||
finalizeState_Out__22dLytAreaCaptionParts_cFv = .text:0x8014B6C0; // type:function size:0x4
|
||||
fn_8014B6D0 = .text:0x8014B6D0; // type:function size:0x1CC
|
||||
fn_8014B8A0 = .text:0x8014B8A0; // type:function size:0x74
|
||||
LytAreaCaptionParts__ctor = .text:0x8014B920; // type:function size:0x10C
|
||||
fn_8014BA30 = .text:0x8014BA30; // type:function size:0x58
|
||||
fn_8014BA90 = .text:0x8014BA90; // type:function size:0x6C
|
||||
fn_8014BB00 = .text:0x8014BB00; // type:function size:0xA0
|
||||
fn_8014BBA0 = .text:0x8014BBA0; // type:function size:0xA4
|
||||
fn_8014BC50 = .text:0x8014BC50; // type:function size:0x100
|
||||
fn_8014BD50 = .text:0x8014BD50; // type:function size:0x74
|
||||
fn_8014BDD0 = .text:0x8014BDD0; // type:function size:0x30
|
||||
fn_8014BE00 = .text:0x8014BE00; // type:function size:0x30
|
||||
fn_8014BE30 = .text:0x8014BE30; // type:function size:0x1C
|
||||
TgTelop__updateOnce = .text:0x8014BE50; // type:function size:0x1C
|
||||
fn_8014BE70 = .text:0x8014BE70; // type:function size:0x14
|
||||
LytAreaCaptionParts__mapCaptionsThingy = .text:0x8014BE90; // type:function size:0x14
|
||||
fn_8014BEB0 = .text:0x8014BEB0; // type:function size:0x1C
|
||||
fn_8014BED0 = .text:0x8014BED0; // type:function size:0x70
|
||||
fn_8014BF40 = .text:0x8014BF40; // type:function size:0x50
|
||||
fn_8014BF90 = .text:0x8014BF90; // type:function size:0x50
|
||||
fn_8014BFE0 = .text:0x8014BFE0; // type:function size:0x68
|
||||
fn_8014C050 = .text:0x8014C050; // type:function size:0x64
|
||||
fn_8014C0C0 = .text:0x8014C0C0; // type:function size:0x78
|
||||
fn_8014C140 = .text:0x8014C140; // type:function size:0x4C
|
||||
fn_8014C190 = .text:0x8014C190; // type:function size:0x60
|
||||
fn_8014C1F0 = .text:0x8014C1F0; // type:function size:0xC
|
||||
fn_8014C200 = .text:0x8014C200; // type:function size:0x1C
|
||||
fn_8014C220 = .text:0x8014C220; // type:function size:0x1C
|
||||
fn_8014C240 = .text:0x8014C240; // type:function size:0x1C
|
||||
fn_8014C260 = .text:0x8014C260; // type:function size:0x10
|
||||
fn_8014C270 = .text:0x8014C270; // type:function size:0x10
|
||||
fn_8014C280 = .text:0x8014C280; // type:function size:0x10
|
||||
fn_8014C290 = .text:0x8014C290; // type:function size:0x10
|
||||
fn_8014C2A0 = .text:0x8014C2A0; // type:function size:0x10
|
||||
fn_8014C2B0 = .text:0x8014C2B0; // type:function size:0x10
|
||||
fn_8014C2C0 = .text:0x8014C2C0; // type:function size:0x30
|
||||
fn_8014C2F0 = .text:0x8014C2F0; // type:function size:0x30
|
||||
fn_8014C320 = .text:0x8014C320; // type:function size:0x30
|
||||
LytAreaCaptionParts__initStates = .text:0x8014C350; // type:function size:0x27C
|
||||
LytAreaCaptionParts__dtor = .text:0x8014C5D0; // type:function size:0x58
|
||||
fn_8014C630 = .text:0x8014C630; // type:function size:0x88
|
||||
create__17dLytAreaCaption_cFv = .text:0x8014B8A0; // type:function size:0x74
|
||||
__ct__22dLytAreaCaptionParts_cFv = .text:0x8014B920; // type:function size:0x10C
|
||||
__dt__35sFState_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014BA30; // type:function size:0x58
|
||||
__dt__38sFStateFct_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014BA90; // type:function size:0x6C
|
||||
__dt__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014BB00; // type:function size:0xA0
|
||||
__dt__61sFStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c>Fv = .text:0x8014BBA0; // type:function size:0xA4
|
||||
__dt__22dLytAreaCaptionParts_cFv = .text:0x8014BC50; // type:function size:0x100
|
||||
remove__17dLytAreaCaption_cFv = .text:0x8014BD50; // type:function size:0x74
|
||||
update__17dLytAreaCaption_cFv = .text:0x8014BDD0; // type:function size:0x30
|
||||
draw__17dLytAreaCaption_cFv = .text:0x8014BE00; // type:function size:0x30
|
||||
setTextIfWaiting__17dLytAreaCaption_cFPCc = .text:0x8014BE30; // type:function size:0x1C
|
||||
setArea__17dLytAreaCaption_cFi = .text:0x8014BE50; // type:function size:0x1C
|
||||
check__17dLytAreaCaption_cFv = .text:0x8014BE70; // type:function size:0x14
|
||||
set0xAAC__17dLytAreaCaption_cFUc = .text:0x8014BE90; // type:function size:0x14
|
||||
get0xAAC__17dLytAreaCaption_cFv = .text:0x8014BEB0; // type:function size:0x1C
|
||||
init__17dLytAreaCaption_cFv = .text:0x8014BED0; // type:function size:0x70
|
||||
deinit__17dLytAreaCaption_cFv = .text:0x8014BF40; // type:function size:0x50
|
||||
doUpdate__17dLytAreaCaption_cFv = .text:0x8014BF90; // type:function size:0x50
|
||||
doDraw__17dLytAreaCaption_cFv = .text:0x8014BFE0; // type:function size:0x68
|
||||
doSetTextIfWaiting__17dLytAreaCaption_cFPCc = .text:0x8014C050; // type:function size:0x64
|
||||
doSetArea__17dLytAreaCaption_cFi = .text:0x8014C0C0; // type:function size:0x78
|
||||
doCheck__17dLytAreaCaption_cFv = .text:0x8014C140; // type:function size:0x4C
|
||||
build__38sFStateFct_c<22dLytAreaCaptionParts_c>FRC12sStateIDIf_c = .text:0x8014C190; // type:function size:0x60
|
||||
dispose__38sFStateFct_c<22dLytAreaCaptionParts_c>FRP10sStateIf_c = .text:0x8014C1F0; // type:function size:0xC
|
||||
initialize__35sFState_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014C200; // type:function size:0x1C
|
||||
execute__35sFState_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014C220; // type:function size:0x1C
|
||||
finalize__35sFState_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014C240; // type:function size:0x1C
|
||||
initializeState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014C260; // type:function size:0x10
|
||||
finalizeState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014C270; // type:function size:0x10
|
||||
refreshState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014C280; // type:function size:0x10
|
||||
getState__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014C290; // type:function size:0x10
|
||||
getNewStateID__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014C2A0; // type:function size:0x10
|
||||
getOldStateID__91sStateMgr_c<22dLytAreaCaptionParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014C2B0; // type:function size:0x10
|
||||
finalizeState__37sFStateID_c<22dLytAreaCaptionParts_c>CFR22dLytAreaCaptionParts_c = .text:0x8014C2C0; // type:function size:0x30
|
||||
executeState__37sFStateID_c<22dLytAreaCaptionParts_c>CFR22dLytAreaCaptionParts_c = .text:0x8014C2F0; // type:function size:0x30
|
||||
initializeState__37sFStateID_c<22dLytAreaCaptionParts_c>CFR22dLytAreaCaptionParts_c = .text:0x8014C320; // type:function size:0x30
|
||||
__sinit_\d_lyt_area_caption_cpp = .text:0x8014C350; // type:function size:0x27C scope:local
|
||||
__dt__37sFStateID_c<22dLytAreaCaptionParts_c>Fv = .text:0x8014C5D0; // type:function size:0x58
|
||||
isSameName__37sFStateID_c<22dLytAreaCaptionParts_c>CFPCc = .text:0x8014C630; // type:function size:0x88
|
||||
fn_8014C6C0 = .text:0x8014C6C0; // type:function size:0x4
|
||||
fn_8014C6D0 = .text:0x8014C6D0; // type:function size:0xC
|
||||
fn_8014C6E0 = .text:0x8014C6E0; // type:function size:0x4
|
||||
@@ -39975,7 +39975,7 @@ lbl_805754A8 = .sbss:0x805754A8; // type:object size:0x1 data:byte
|
||||
lbl_805754AC = .sbss:0x805754AC; // type:object size:0x1 data:byte
|
||||
lbl_805754B0 = .sbss:0x805754B0; // type:object size:0x8 data:4byte
|
||||
sInstance__13dLytBattery_c = .sbss:0x805754B8; // type:object size:0x8 data:4byte
|
||||
lbl_805754C0 = .sbss:0x805754C0; // type:object size:0x8 data:4byte
|
||||
sInstance__17dLytAreaCaption_c = .sbss:0x805754C0; // type:object size:0x8 data:4byte
|
||||
LytWipe = .sbss:0x805754C8; // type:object size:0x8 data:4byte
|
||||
LYT_HELP_PTR = .sbss:0x805754D0; // type:object size:0x8 data:4byte
|
||||
lbl_805754D8 = .sbss:0x805754D8; // type:object size:0x8 data:4byte
|
||||
@@ -48679,9 +48679,9 @@ StateID_On__13dLytBattery_c = .bss:0x805B09C0; // type:object size:0x30 data:4by
|
||||
StateID_None__13dLytBattery_c = .bss:0x805B0A00; // type:object size:0x30 data:4byte
|
||||
StateID_Out__13dLytBattery_c = .bss:0x805B0A40; // type:object size:0x30 data:4byte
|
||||
lbl_805B0A70 = .bss:0x805B0A70; // type:object size:0x10
|
||||
LytAreaCaptionParts__STATE_WAIT = .bss:0x805B0A80; // type:object size:0x40 data:4byte
|
||||
LytAreaCaptionParts__STATE_START = .bss:0x805B0AC0; // type:object size:0x40 data:4byte
|
||||
LytAreaCaptionParts__STATE_OUT = .bss:0x805B0B00; // type:object size:0x30 data:4byte
|
||||
StateID_Wait__22dLytAreaCaptionParts_c = .bss:0x805B0A80; // type:object size:0x30 data:4byte
|
||||
StateID_Start__22dLytAreaCaptionParts_c = .bss:0x805B0AC0; // type:object size:0x30 data:4byte
|
||||
StateID_Out__22dLytAreaCaptionParts_c = .bss:0x805B0B00; // type:object size:0x30 data:4byte
|
||||
lbl_805B0B30 = .bss:0x805B0B30; // type:object size:0x10
|
||||
LytWipe__LytWipeMain__STATE_MODE_NONE = .bss:0x805B0B40; // type:object size:0x40 data:4byte
|
||||
LytWipe__LytWipeMain__STATE_MODE_IN = .bss:0x805B0B80; // type:object size:0x40 data:4byte
|
||||
|
||||
@@ -377,6 +377,7 @@ config.libs = [
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_rupy.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_do_button.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_battery.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_area_caption.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_pause_disp_00.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_fader.cpp"),
|
||||
Object(Matching, "d/lyt/d_screen_fader.cpp"),
|
||||
|
||||
+4
-4
@@ -118,9 +118,9 @@ struct AnmGroupBase_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();
|
||||
bool setDirection(bool backwards);
|
||||
bool unbind();
|
||||
bool afterUnbind();
|
||||
void setAnimEnable(bool);
|
||||
void setAnmFrame(f32);
|
||||
void syncAnmFrame();
|
||||
@@ -128,7 +128,7 @@ struct AnmGroupBase_c {
|
||||
void setBackward();
|
||||
|
||||
inline void setFrameAndControlThings(f32 frame) {
|
||||
fn_800AC6D0(false);
|
||||
setDirection(false);
|
||||
setAnimEnable(true);
|
||||
mpFrameCtrl->setFrame(frame);
|
||||
syncAnmFrame();
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
#ifndef D_LYT_AREA_CAPTION_H
|
||||
#define D_LYT_AREA_CAPTION_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_lyt_sub.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytAreaCaptionParts_c {
|
||||
public:
|
||||
dLytAreaCaptionParts_c() : mStateMgr(*this, sStateID::null) {}
|
||||
~dLytAreaCaptionParts_c() {}
|
||||
|
||||
bool init(int first);
|
||||
|
||||
void check();
|
||||
bool update();
|
||||
bool remove();
|
||||
bool draw();
|
||||
void setTextIfWaiting(const char *text);
|
||||
|
||||
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Start);
|
||||
STATE_FUNC_DECLARE(dLytAreaCaptionParts_c, Out);
|
||||
|
||||
private:
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytAreaCaptionParts_c);
|
||||
/* 0x040 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x0EB */ dLytSub mLyt;
|
||||
/* 0x110 */ d2d::AnmGroup_c mAnmGroups[4];
|
||||
/* 0x540 */ dTextBox_c *mTextBoxes[3];
|
||||
/* 0x54C */ u8 field_0x54C;
|
||||
/* 0x54D */ u8 field_0x54D;
|
||||
/* 0x54E */ u8 mFirst;
|
||||
/* 0x54F */ bool mAnmCtrlInUse[4];
|
||||
};
|
||||
|
||||
class dLytAreaCaption_c {
|
||||
public:
|
||||
static dLytAreaCaption_c *sInstance;
|
||||
|
||||
static bool create();
|
||||
static bool remove();
|
||||
static bool update();
|
||||
static bool draw();
|
||||
static void setTextIfWaiting(const char *);
|
||||
static void setArea(int id);
|
||||
static void check();
|
||||
|
||||
static void set0xAAC(u8 arg);
|
||||
static u8 get0xAAC();
|
||||
|
||||
private:
|
||||
dLytAreaCaption_c() {
|
||||
sInstance = this;
|
||||
}
|
||||
~dLytAreaCaption_c() {
|
||||
sInstance = nullptr;
|
||||
}
|
||||
bool init();
|
||||
bool deinit();
|
||||
bool doUpdate();
|
||||
bool doDraw();
|
||||
void doSetTextIfWaiting(const char *);
|
||||
void doSetArea(int id);
|
||||
void doCheck();
|
||||
dLytAreaCaptionParts_c mParts[2];
|
||||
|
||||
s32 mPartToDraw;
|
||||
u8 field_0xAAC;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -8,7 +8,7 @@ public:
|
||||
dLytSub() {}
|
||||
virtual bool build(const char *name, m2d::ResAccIf_c *acc) override {
|
||||
mpName = name;
|
||||
d2d::LytBase_c::build(name, acc);
|
||||
return d2d::LytBase_c::build(name, acc);
|
||||
}
|
||||
|
||||
const char *getName() const {
|
||||
|
||||
@@ -37,6 +37,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void fn_800E0A60(const char *area, ...) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
static f32 GetTranslateX1_();
|
||||
|
||||
// @bug: This does not implement UT's RTTI, so casts to dTextBox_c will
|
||||
|
||||
@@ -141,6 +141,10 @@ public:
|
||||
/* vt 0x08 */ virtual ~Base_c();
|
||||
/* vt 0x0C */ virtual void draw();
|
||||
|
||||
void setPriority(u8 p) {
|
||||
mPriority = p;
|
||||
}
|
||||
|
||||
/* 0x0C */ u8 mPriority;
|
||||
|
||||
void addToDrawList();
|
||||
|
||||
+3
-3
@@ -821,7 +821,7 @@ bool AnmGroupBase_c::init(nw4r::lyt::AnimTransform *transform, const char *name,
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroupBase_c::fn_800AC6D0(bool b) {
|
||||
bool AnmGroupBase_c::setDirection(bool b) {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
@@ -849,7 +849,7 @@ bool AnmGroupBase_c::fn_800AC6D0(bool b) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroupBase_c::fn_800AC7D0() {
|
||||
bool AnmGroupBase_c::unbind() {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
@@ -865,7 +865,7 @@ bool AnmGroupBase_c::fn_800AC7D0() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroupBase_c::fn_800AC860() {
|
||||
bool AnmGroupBase_c::afterUnbind() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
#include <d/lyt/d_lyt_area_caption.h>
|
||||
#include <d/lyt/d_textbox.h>
|
||||
#include <toBeSorted/arc_managers/layout_arc_manager.h>
|
||||
|
||||
STATE_DEFINE(dLytAreaCaptionParts_c, Wait);
|
||||
STATE_DEFINE(dLytAreaCaptionParts_c, Start);
|
||||
STATE_DEFINE(dLytAreaCaptionParts_c, Out);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap1[] = {
|
||||
{ "areaCaption_00_start.brlan", "G__start_00"},
|
||||
{ "areaCaption_00_type.brlan", "G_type_00"},
|
||||
{"areaCaption_00_textLine.brlan", "G_textLine_00"},
|
||||
{ "", ""},
|
||||
};
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap2[] = {
|
||||
{ "areaCaption_01_start.brlan", "G__start_00"},
|
||||
{ "areaCaption_01_type.brlan", "G_type_00"},
|
||||
{"areaCaption_01_textLine.brlan", "G_textLine_00"},
|
||||
{ "areaCaption_01_out.brlan", "G_inOut_00"},
|
||||
};
|
||||
|
||||
static const char *captionBoxes[] = {
|
||||
"T_caption_00",
|
||||
"T_captionS_00",
|
||||
"T_captionS_01",
|
||||
};
|
||||
|
||||
bool dLytAreaCaptionParts_c::init(int first) {
|
||||
void *data = LayoutArcManager::sInstance->getLoadedData("DoButton");
|
||||
mResAcc.attach(data, "");
|
||||
mLyt.setResAcc(&mResAcc);
|
||||
|
||||
mFirst = first;
|
||||
if (mFirst != 0) {
|
||||
mLyt.build("areaCaption_00.brlyt", nullptr);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (brlanMap1[i].mFile[0] == '\0') {
|
||||
mAnmCtrlInUse[i] = false;
|
||||
} else {
|
||||
mAnmGroups[i].init(brlanMap1[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap1[i].mName);
|
||||
mAnmGroups[i].setDirection(false);
|
||||
mAnmGroups[i].setAnimEnable(false);
|
||||
mAnmCtrlInUse[i] = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mLyt.build("areaCaption_01.brlyt", nullptr);
|
||||
mLyt.setPriority(0x8A);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (brlanMap2[i].mFile[0] == '\0') {
|
||||
mAnmCtrlInUse[i] = false;
|
||||
} else {
|
||||
mAnmGroups[i].init(brlanMap2[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap2[i].mName);
|
||||
mAnmGroups[i].setDirection(false);
|
||||
mAnmGroups[i].setAnimEnable(false);
|
||||
mAnmCtrlInUse[i] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mTextBoxes[i] = mLyt.getTextBox(captionBoxes[i]);
|
||||
}
|
||||
|
||||
field_0x54C = 0;
|
||||
field_0x54D = 0;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
mLyt.calc();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaptionParts_c::remove() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mAnmCtrlInUse[i]) {
|
||||
mAnmGroups[i].unbind();
|
||||
mAnmGroups[i].afterUnbind();
|
||||
}
|
||||
}
|
||||
mResAcc.detach();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaptionParts_c::update() {
|
||||
mStateMgr.executeState();
|
||||
if (*mStateMgr.getStateID() != StateID_Wait) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mAnmCtrlInUse[i] && mAnmGroups[i].isFlag2()) {
|
||||
mAnmGroups[i].play();
|
||||
}
|
||||
}
|
||||
mLyt.calc();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaptionParts_c::draw() {
|
||||
mLyt.addToDrawList();
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytAreaCaptionParts_c::setTextIfWaiting(const char *text) {
|
||||
if (*mStateMgr.getStateID() == StateID_Wait) {
|
||||
mTextBoxes[0]->fn_800E0A60(text, nullptr);
|
||||
mTextBoxes[1]->fn_800E0A60(text, nullptr);
|
||||
mTextBoxes[2]->fn_800E0A60(text, nullptr);
|
||||
field_0x54C = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaptionParts_c::check() {
|
||||
if (*mStateMgr.getStateID() == StateID_Start) {
|
||||
field_0x54D = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaptionParts_c::initializeState_Wait() {}
|
||||
void dLytAreaCaptionParts_c::executeState_Wait() {
|
||||
mTextBoxes[0]->fn_800E0A60("N_inOut_00", nullptr);
|
||||
}
|
||||
void dLytAreaCaptionParts_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytAreaCaptionParts_c::initializeState_Start() {}
|
||||
void dLytAreaCaptionParts_c::executeState_Start() {}
|
||||
void dLytAreaCaptionParts_c::finalizeState_Start() {}
|
||||
|
||||
void dLytAreaCaptionParts_c::initializeState_Out() {}
|
||||
void dLytAreaCaptionParts_c::executeState_Out() {}
|
||||
void dLytAreaCaptionParts_c::finalizeState_Out() {}
|
||||
|
||||
bool dLytAreaCaption_c::create() {
|
||||
new dLytAreaCaption_c();
|
||||
if (dLytAreaCaption_c::sInstance == nullptr) {
|
||||
return false;
|
||||
}
|
||||
sInstance->init();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::remove() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->deinit();
|
||||
delete sInstance;
|
||||
sInstance = nullptr;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::update() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doUpdate();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::draw() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doDraw();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::setTextIfWaiting(const char *text) {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doSetTextIfWaiting(text);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::setArea(int id) {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doSetArea(id);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::check() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doCheck();
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::set0xAAC(u8 arg) {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->field_0xAAC = arg;
|
||||
}
|
||||
}
|
||||
|
||||
u8 dLytAreaCaption_c::get0xAAC() {
|
||||
if (sInstance != nullptr) {
|
||||
return sInstance->field_0xAAC;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::init() {
|
||||
int first = 1;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].init(first);
|
||||
first = 0;
|
||||
}
|
||||
mPartToDraw = 0;
|
||||
field_0xAAC = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::deinit() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].remove();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::doUpdate() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].update();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytAreaCaption_c::doDraw() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (i == mPartToDraw) {
|
||||
mParts[i].draw();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::doSetTextIfWaiting(const char *text) {
|
||||
mPartToDraw = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].setTextIfWaiting(text);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::doSetArea(int id) {
|
||||
mPartToDraw = 1;
|
||||
SizedString<16> str;
|
||||
str.sprintf("MAP_%02d", id);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].setTextIfWaiting(str);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytAreaCaption_c::doCheck() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mParts[i].check();
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,7 @@ bool dLytBattery_c::init() {
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mAnmGroups[i].init(brlanMap[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap[i].mName);
|
||||
mAnmGroups[i].fn_800AC6D0(false);
|
||||
mAnmGroups[i].setDirection(false);
|
||||
mAnmGroups[i].setAnimEnable(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ bool dLytCommonArrow_c::fn_80168490() {
|
||||
d2d::dLytStructDList::sInstance->removeFromList2(&field_0x680);
|
||||
mLytBase.unbindAnims();
|
||||
for (int i = 0; i < 9; i++) {
|
||||
field_0x440[i].fn_800AC860();
|
||||
field_0x440[i].afterUnbind();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -112,7 +112,7 @@ void dLytCommonArrow_c::fn_80168790(s32 idx, f32 frame) {
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168800(s32 idx) {
|
||||
field_0x440[idx].fn_800AC7D0();
|
||||
field_0x440[idx].unbind();
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168810(d2d::AnmGroup_c *ctrl) {
|
||||
|
||||
@@ -14,7 +14,7 @@ dLytFader_c::~dLytFader_c() {
|
||||
|
||||
if (field_0x4DD == true) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mLytStructAs[i].fn_800AC860();
|
||||
mLytStructAs[i].afterUnbind();
|
||||
}
|
||||
mResAcc.detach();
|
||||
}
|
||||
@@ -25,7 +25,7 @@ void dLytFader_c::setStatus(EStatus status) {
|
||||
mStatus = FADED_OUT;
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setDirection(false);
|
||||
s->setToEnd();
|
||||
s->setAnimEnable(true);
|
||||
s->play();
|
||||
@@ -36,7 +36,7 @@ void dLytFader_c::setStatus(EStatus status) {
|
||||
mStatus = FADED_IN;
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setDirection(false);
|
||||
s->setToStart();
|
||||
s->setAnimEnable(true);
|
||||
mLytBase.calc();
|
||||
@@ -112,7 +112,7 @@ void dLytFader_c::fn_801758F0() {
|
||||
fn_80175BC0(0);
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setDirection(false);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
@@ -132,7 +132,7 @@ void dLytFader_c::fn_80175A50() {
|
||||
fn_80175BC0(1);
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[1];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setDirection(false);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
|
||||
Reference in New Issue
Block a user