mirror of
https://github.com/zeldaret/ss
synced 2026-06-12 21:44:56 -04:00
More d/lyt (#52)
* More Lyt (maybe some wrong type associations) * more meter * Rename * More splits and renames * Fix SizedString conversion operators * Renames * dLytBattery_c almost OK * d_lyt_battery OK * diff clean * Continue doing splits while I'm at it * two more splits
This commit is contained in:
@@ -4,7 +4,7 @@ _unresolved = .text:0x00000060; // type:function size:0x4 scope:global
|
||||
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
|
||||
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
|
||||
dTgRockBoat_c_classInit__Fv = .text:0x000000F0; // type:function size:0xAC
|
||||
__dt__8dTgAbs_cFv = .text:0x000001A0; // type:function size:0x58
|
||||
__dt__5dTg_cFv = .text:0x000001A0; // type:function size:0x58
|
||||
__dt__26sFState_c<13dTgRockBoat_c>Fv = .text:0x00000200; // type:function size:0x58
|
||||
__dt__29sFStateFct_c<13dTgRockBoat_c>Fv = .text:0x00000260; // type:function size:0x6C
|
||||
__dt__82sStateMgr_c<13dTgRockBoat_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002D0; // type:function size:0xA0
|
||||
|
||||
@@ -4,7 +4,7 @@ _unresolved = .text:0x00000060; // type:function size:0x4 scope:global
|
||||
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
|
||||
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
|
||||
dTgTumbleWeed_c_classInit__Fv = .text:0x000000F0; // type:function size:0xC0
|
||||
__dt__8dTgAbs_cFv = .text:0x000001B0; // type:function size:0x58
|
||||
__dt__5dTg_cFv = .text:0x000001B0; // type:function size:0x58
|
||||
__dt__28sFState_c<15dTgTumbleWeed_c>Fv = .text:0x00000210; // type:function size:0x58
|
||||
__dt__31sFStateFct_c<15dTgTumbleWeed_c>Fv = .text:0x00000270; // type:function size:0x6C
|
||||
__dt__84sStateMgr_c<15dTgTumbleWeed_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002E0; // type:function size:0xA0
|
||||
|
||||
+293
-3
@@ -135,6 +135,9 @@ toBeSorted/arc_callback_handler.cpp:
|
||||
.sdata start:0x80571D10 end:0x80571D20
|
||||
.sbss start:0x80575250 end:0x80575258
|
||||
|
||||
d/lyt/d_structd.cpp:
|
||||
.text start:0x80065600 end:0x80066478
|
||||
|
||||
toBeSorted/arc_managers/current_stage_arc_manager.cpp:
|
||||
.text start:0x80068FD0 end:0x80069910
|
||||
.ctors start:0x804DB6A8 end:0x804DB6AC
|
||||
@@ -173,9 +176,17 @@ toBeSorted/dowsing_target.cpp:
|
||||
|
||||
d/lyt/d2d.cpp:
|
||||
.text start:0x800A9D30 end:0x800ACAB8
|
||||
.data start:0x80510010 end:0x80510088
|
||||
.data start:0x8050FFC8 end:0x80510088
|
||||
.sdata start:0x80572288 end:0x805722B8
|
||||
.sdata2 start:0x80579788 end:0x805797B0
|
||||
|
||||
d/lyt/d_lyt_draw_mark.cpp:
|
||||
.text start:0x800ACEC0 end:0x800AE958
|
||||
.ctors start:0x804DB6CC end:0x804DB6D0
|
||||
|
||||
d/lyt/d_textbox.cpp:
|
||||
.text start:0x800AE960 end:0x800B1628
|
||||
|
||||
d/lyt/d_window.cpp:
|
||||
.text start:0x800B1630 end:0x800B1818
|
||||
.data start:0x80510820 end:0x805108B0
|
||||
@@ -218,12 +229,205 @@ toBeSorted/special_item_drop_mgr.cpp:
|
||||
.text start:0x800C7B60 end:0x800C82B0
|
||||
.sbss start:0x80575438 end:0x80575440
|
||||
|
||||
d/lyt/pause_disp_00.cpp:
|
||||
d/lyt/meter/d_lyt_meter.cpp:
|
||||
.text start:0x800C8950 end:0x800DFCB8
|
||||
.ctors start:0x804DB6E0 end:0x804DB6E4
|
||||
|
||||
d/lyt/meter/d_lyt_meter_a_btn.cpp:
|
||||
.text start:0x800DFCC0 end:0x800E1188
|
||||
.ctors start:0x804DB6E4 end:0x804DB6E8
|
||||
|
||||
d/lyt/meter/d_lyt_meter_z_btn.cpp:
|
||||
.text start:0x800E1190 end:0x800E2238
|
||||
.ctors start:0x804DB6E8 end:0x804DB6EC
|
||||
|
||||
d/lyt/meter/d_lyt_meter_key.cpp:
|
||||
.text start:0x800E2240 end:0x800E4928
|
||||
.ctors start:0x804DB6EC end:0x804DB6F0
|
||||
|
||||
d/lyt/meter/d_lyt_meter_drink.cpp:
|
||||
.text start:0x800E4930 end:0x800E6AC8
|
||||
.ctors start:0x804DB6F0 end:0x804DB6F4
|
||||
|
||||
d/lyt/meter/d_lyt_meter_remocon_bg.cpp:
|
||||
.text start:0x800E6AD0 end:0x800E7218
|
||||
.ctors start:0x804DB6F4 end:0x804DB6F8
|
||||
.data start:0x80514D60 end:0x80514F10
|
||||
.bss start:0x805AA9D0 end:0x805AAAD0
|
||||
|
||||
d/lyt/meter/d_lyt_meter_nunchaku_bg.cpp:
|
||||
.text start:0x800E7220 end:0x800E8168
|
||||
.ctors start:0x804DB6F8 end:0x804DB6FC
|
||||
|
||||
d/lyt/meter/d_lyt_meter_nun_stk.cpp:
|
||||
.text start:0x800E8170 end:0x800E8ED8
|
||||
.ctors start:0x804DB6FC end:0x804DB700
|
||||
|
||||
d/lyt/meter/d_lyt_meter_item_select.cpp:
|
||||
.text start:0x800E8EE0 end:0x800F35A8
|
||||
.ctors start:0x804DB700 end:0x804DB704
|
||||
|
||||
d/lyt/meter/d_lyt_meter_plus_btn.cpp:
|
||||
.text start:0x800F35B0 end:0x800F4768
|
||||
.ctors start:0x804DB704 end:0x804DB708
|
||||
|
||||
d/lyt/meter/d_lyt_meter_minus_btn.cpp:
|
||||
.text start:0x800F4770 end:0x800F8D98
|
||||
.ctors start:0x804DB708 end:0x804DB70C
|
||||
|
||||
d/lyt/meter/d_lyt_meter_cross_btn.cpp:
|
||||
.text start:0x800F8DA0 end:0x800FAFC8
|
||||
.ctors start:0x804DB70C end:0x804DB710
|
||||
|
||||
d/lyt/meter/d_lyt_meter_dowsing.cpp:
|
||||
.text start:0x800FAFD0 end:0x801003E8
|
||||
.ctors start:0x804DB710 end:0x804DB714
|
||||
|
||||
d/lyt/meter/d_lyt_meter_rupy.cpp:
|
||||
.text start:0x801003F0 end:0x801026A8
|
||||
.ctors start:0x804DB714 end:0x804DB718
|
||||
|
||||
d/lyt/meter/d_lyt_meter_heart.cpp:
|
||||
.text start:0x8010AEC0 end:0x8010BD48
|
||||
|
||||
d/lyt/meter/d_lyt_meter_shield_gauge.cpp:
|
||||
.text start:0x8010BD50 end:0x8010CEC8
|
||||
.ctors start:0x804DB724 end:0x804DB728
|
||||
|
||||
d/lyt/d_lyt_do_button.cpp:
|
||||
.text start:0x8010CED0 end:0x8010EAF8
|
||||
.ctors start:0x804DB728 end:0x804DB72C
|
||||
.rodata start:0x804E6D60 end:0x804E7080
|
||||
.data start:0x8051A5A8 end:0x8051AC00
|
||||
.bss start:0x805ACE10 end:0x805ACF78
|
||||
|
||||
d/lyt/d_lyt_common_icon_material.cpp:
|
||||
.text start:0x8010F820 end:0x80111718
|
||||
.ctors start:0x804DB730 end:0x804DB734
|
||||
|
||||
d/lyt/d_lyt_common_icon_item.cpp:
|
||||
.text start:0x80111720 end:0x80113ED8
|
||||
.ctors start:0x804DB734 end:0x804DB738
|
||||
|
||||
d/lyt/d_lyt_msg_window.cpp:
|
||||
.text start:0x801148F0 end:0x8011C8C8
|
||||
.ctors start:0x804DB738 end:0x804DB73C
|
||||
|
||||
d/lyt/d_lyt_msg_window_select_btn.cpp:
|
||||
.text start:0x8011C8D0 end:0x80120988
|
||||
.ctors start:0x804DB73C end:0x804DB740
|
||||
|
||||
d/lyt/d_lyt_msg_window_talk.cpp:
|
||||
.text start:0x80120A20 end:0x801223C8
|
||||
.ctors start:0x804DB740 end:0x804DB744
|
||||
|
||||
d/lyt/d_lyt_msg_window_link.cpp:
|
||||
.text start:0x801223D0 end:0x80123738
|
||||
.ctors start:0x804DB744 end:0x804DB748
|
||||
|
||||
d/lyt/d_lyt_msg_window_get.cpp:
|
||||
.text start:0x80123740 end:0x80124678
|
||||
.ctors start:0x804DB748 end:0x804DB74C
|
||||
|
||||
d/lyt/d_lyt_msg_window_sword.cpp:
|
||||
.text start:0x80124680 end:0x80125BA8
|
||||
.ctors start:0x804DB74C end:0x804DB750
|
||||
|
||||
d/lyt/d_lyt_msg_window_wood.cpp:
|
||||
.text start:0x80125BB0 end:0x801267F8
|
||||
.ctors start:0x804DB750 end:0x804DB754
|
||||
|
||||
d/lyt/d_lyt_msg_window_stone.cpp:
|
||||
.text start:0x80126800 end:0x80127478
|
||||
.ctors start:0x804DB754 end:0x804DB758
|
||||
|
||||
d/lyt/d_lyt_msg_window_demo.cpp:
|
||||
.text start:0x80127480 end:0x801281F8
|
||||
.ctors start:0x804DB758 end:0x804DB75C
|
||||
|
||||
d/lyt/d_lyt_simple_window.cpp:
|
||||
.text start:0x80128200 end:0x8012B948
|
||||
.ctors start:0x804DB75C end:0x804DB760
|
||||
|
||||
d/lyt/d_lyt_auto_caption.cpp:
|
||||
.text start:0x8012B950 end:0x8012C568
|
||||
.ctors start:0x804DB760 end:0x804DB764
|
||||
|
||||
d/lyt/d_lyt_auto_explain.cpp:
|
||||
.text start:0x8012C570 end:0x8012D188
|
||||
.ctors start:0x804DB764 end:0x804DB768
|
||||
|
||||
d/lyt/d_lyt_map_capture.cpp:
|
||||
.text start:0x8012D190 end:0x8012DC28
|
||||
.ctors start:0x804DB768 end:0x804DB76C
|
||||
|
||||
d/lyt/d_lyt_map.cpp:
|
||||
.text start:0x8012DC30 end:0x80148DE8
|
||||
.ctors start:0x804DB76C end:0x804DB770
|
||||
|
||||
d/lyt/d_lyt_note.cpp:
|
||||
.text start:0x80148DF0 end:0x80149C28
|
||||
.ctors start:0x804DB770 end:0x804DB774
|
||||
|
||||
d/lyt/d_lyt_battery.cpp:
|
||||
.text start:0x80149C30 end:0x8014AD18
|
||||
.ctors start:0x804DB774 end:0x804DB778
|
||||
.rodata start:0x804E7F80 end:0x804E7FA0
|
||||
.data start:0x80522820 end:0x80522B00
|
||||
.sdata start:0x80572870 end:0x80572878
|
||||
.sdata2 start:0x80579FC8 end:0x80579FD0
|
||||
.bss start:0x805B0930 end:0x805B0A70
|
||||
|
||||
d/lyt/d_lyt_area_caption.cpp:
|
||||
.text start:0x8014AD20 end:0x8014C6B8
|
||||
.ctors start:0x804DB778 end:0x804DB77C
|
||||
|
||||
d/lyt/d_lyt_wipe.cpp:
|
||||
.text start:0x8014C6C0 end:0x8014E008
|
||||
.ctors start:0x804DB77C end:0x804DB780
|
||||
|
||||
d/lyt/d_lyt_bird_gauge.cpp:
|
||||
.text start:0x80152FD0 end:0x801548D8
|
||||
.ctors start:0x804DB784 end:0x804DB788
|
||||
|
||||
d/lyt/d_lyt_sky_gauge.cpp:
|
||||
.text start:0x801548E0 end:0x80155CC8
|
||||
.ctors start:0x804DB788 end:0x804DB78C
|
||||
|
||||
d/lyt/d_lyt_deposit_stock.cpp:
|
||||
.text start:0x80155CD0 end:0x801578A8
|
||||
.ctors start:0x804DB78C end:0x804DB790
|
||||
|
||||
d/lyt/d_lyt_bigboss_gauge.cpp:
|
||||
.text start:0x80158290 end:0x80158E78
|
||||
.ctors start:0x804DB790 end:0x804DB794
|
||||
|
||||
d/lyt/d_lyt_pause_back.cpp:
|
||||
.text start:0x80158E80 end:0x80159E78
|
||||
.ctors start:0x804DB794 end:0x804DB798
|
||||
|
||||
d/lyt/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:
|
||||
d/lyt/d_lyt_pause_disp_01.cpp:
|
||||
.text start:0x8015EDF0 end:0x80161F98
|
||||
.ctors start:0x804DB79C end:0x804DB7A0
|
||||
|
||||
d/lyt/d_lyt_pause_info.cpp:
|
||||
.text start:0x80161FA0 end:0x80163568
|
||||
.ctors start:0x804DB7A0 end:0x804DB7A4
|
||||
|
||||
d/lyt/d_lyt_pause_text.cpp:
|
||||
.text start:0x80163570 end:0x80164F88
|
||||
.ctors start:0x804DB7A4 end:0x804DB7A8
|
||||
|
||||
d/lyt/d_lyt_save_msg_window.cpp:
|
||||
.text start:0x80164F90 end:0x80166968
|
||||
.ctors start:0x804DB7A8 end:0x804DB7AC
|
||||
|
||||
d/lyt/d_lyt_common_arrow.cpp:
|
||||
.text start:0x80167FE0 end:0x801695E8
|
||||
.ctors start:0x804DB7AC end:0x804DB7B0
|
||||
.rodata start:0x804E8D28 end:0x804E8D70
|
||||
@@ -232,6 +436,14 @@ d/lyt/common_arrow.cpp:
|
||||
.sdata2 start:0x8057A180 end:0x8057A188
|
||||
.bss start:0x805B1CB0 end:0x805B1DB0
|
||||
|
||||
d/lyt/d_lyt_common_title.cpp:
|
||||
.text start:0x801695F0 end:0x8016B2A8
|
||||
.ctors start:0x804DB7B0 end:0x804DB7B4
|
||||
|
||||
d/lyt/d_lyt_cursor_stick.cpp:
|
||||
.text start:0x8016B2B0 end:0x8016BCD8
|
||||
.ctors start:0x804DB7B4 end:0x804DB7B8
|
||||
|
||||
toBeSorted/counters/counter.cpp:
|
||||
.text start:0x8016CC40 end:0x8016CD94
|
||||
|
||||
@@ -366,6 +578,84 @@ d/tg/d_tk_event.cpp:
|
||||
.text start:0x8027AB30 end:0x8027B408
|
||||
.ctors start:0x804DB84C end:0x804DB850
|
||||
|
||||
d/lyt/d_lyt_pause.cpp:
|
||||
.text start:0x8027E9E0 end:0x80282678
|
||||
.ctors start:0x804DB85C end:0x804DB860
|
||||
|
||||
d/lyt/d_lyt_game_over.cpp:
|
||||
.text start:0x80282680 end:0x80284FA8
|
||||
.ctors start:0x804DB860 end:0x804DB864
|
||||
|
||||
d/lyt/d_lyt_save_mgr.cpp:
|
||||
.text start:0x80284FB0 end:0x80286C88
|
||||
.ctors start:0x804DB864 end:0x804DB868
|
||||
|
||||
d/lyt/d_lyt_enemy_icon.cpp:
|
||||
.text start:0x8028AA00 end:0x8028BCD8
|
||||
.ctors start:0x804DB870 end:0x804DB874
|
||||
|
||||
d/lyt/d_lyt_mini_game.cpp:
|
||||
.text start:0x802940D0 end:0x802969E0
|
||||
|
||||
d/lyt/d_lyt_demo_dowsing.cpp:
|
||||
.text start:0x802A0B10 end:0x802A17C8
|
||||
.ctors start:0x804DB880 end:0x804DB884
|
||||
|
||||
d/lyt/d_lyt_shop.cpp:
|
||||
.text start:0x802A17D0 end:0x802A7FD8
|
||||
.ctors start:0x804DB884 end:0x804DB888
|
||||
|
||||
d/lyt/d_lyt_deposit.cpp:
|
||||
.text start:0x802A7FE0 end:0x802B02C8
|
||||
.ctors start:0x804DB888 end:0x804DB88C
|
||||
|
||||
d/lyt/d_lyt_demo_title.cpp:
|
||||
.text start:0x802B02D0 end:0x802B22E8
|
||||
.ctors start:0x804DB88C end:0x804DB890
|
||||
|
||||
d/lyt/d_lyt_end_roll.cpp:
|
||||
.text start:0x802B22F0 end:0x802B6B98
|
||||
.ctors start:0x804DB890 end:0x804DB894
|
||||
|
||||
d/lyt/d_lyt_control_game.cpp:
|
||||
.text start:0x802CC7B0 end:0x802D16A8
|
||||
.ctors start:0x804DB8A0 end:0x804DB8A4
|
||||
|
||||
d/lyt/d_lyt_control_title.cpp:
|
||||
.text start:0x802D16B0 end:0x802D17BC
|
||||
|
||||
d/tg/d_t_map_area.cpp:
|
||||
.text start:0x802D17C0 end:0x802D18EC
|
||||
|
||||
d/tg/d_t_truck_rails.cpp:
|
||||
.text start:0x802D18F0 end:0x802D4FD8
|
||||
|
||||
d/a/obj/d_a_obj_force_sign.cpp:
|
||||
.text start:0x802D4FE0 end:0x802D58D0
|
||||
.ctors start:0x804DB8A4 end:0x804DB8A8
|
||||
|
||||
d/tg/d_t_force_get_flag.cpp:
|
||||
.text start:0x802D58D0 end:0x802D5BF4
|
||||
.ctors start:0x804DB8A8 end:0x804DB8AC
|
||||
|
||||
d/a/obj/d_a_obj_water_spout.cpp:
|
||||
.text start:0x802D5C00 end:0x802D67F8
|
||||
.ctors start:0x804DB8AC end:0x804DB8B0
|
||||
|
||||
d/tg/d_t_siren_tag.cpp:
|
||||
.text start:0x802D6800 end:0x802D84F8
|
||||
.ctors start:0x804DB8B0 end:0x804DB8B4
|
||||
|
||||
d/a/obj/d_a_obj_spore.cpp:
|
||||
.text start:0x802D8500 end:0x802D9408
|
||||
.ctors start:0x804DB8B4 end:0x804DB8B8
|
||||
|
||||
d/tg/d_t_genki_mgr.cpp:
|
||||
.text start:0x802D9410 end:0x802D9D60
|
||||
|
||||
d/a/obj/d_a_obj_water_mark.cpp:
|
||||
.text start:0x802D9D60 end:0x802DA0BC
|
||||
|
||||
s/s_StateID.cpp:
|
||||
.text start:0x802DDDB0 end:0x802DE1F4
|
||||
.ctors start:0x804DB8B8 end:0x804DB8BC
|
||||
|
||||
+178
-178
@@ -446,14 +446,14 @@ fn_80011BA0 = .text:0x80011BA0; // type:function size:0xA0
|
||||
fn_80011C40 = .text:0x80011C40; // type:function size:0x6C
|
||||
fn_80011CB0 = .text:0x80011CB0; // type:function size:0x58
|
||||
__dt__Q23d2d10AnmGroup_cFv = .text:0x80011D10; // type:function size:0x5C
|
||||
fn_80011D70 = .text:0x80011D70; // type:function size:0x40
|
||||
__dt__Q23d2d14AnmGroupBase_cFv = .text:0x80011D70; // type:function size:0x40
|
||||
fn_80011DB0 = .text:0x80011DB0; // type:function size:0x58
|
||||
fn_80011E10 = .text:0x80011E10; // type:function size:0xA4
|
||||
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
|
||||
__dt__Q23d2d11dLytStructCFv = .text:0x80012070; // type:function size:0x40
|
||||
__dt__13dLytMeterBaseFv = .text:0x80012030; // type:function size:0x40
|
||||
__dt__16LytMeterListNodeFv = .text:0x80012070; // type:function size:0x40
|
||||
fn_800120B0 = .text:0x800120B0; // type:function size:0x74
|
||||
__dt__Q34nw4r3lyt11FontRefLinkFv = .text:0x80012130; // type:function size:0x40
|
||||
fn_80012170 = .text:0x80012170; // type:function size:0xA4
|
||||
@@ -2211,7 +2211,7 @@ InitModelHeapMaybe = .text:0x80054510; // type:function size:0x38
|
||||
ThisCopiesScreenForTransparency = .text:0x80054550; // type:function size:0x31C
|
||||
fn_80054870 = .text:0x80054870; // type:function size:0x25C
|
||||
fn_80054AD0 = .text:0x80054AD0; // type:function size:0x10
|
||||
fn_80054AE0 = .text:0x80054AE0; // type:function size:0x14
|
||||
NeedsScreenAdjustment = .text:0x80054AE0; // type:function size:0x14
|
||||
__dt__14dHeapAllocatorFv = .text:0x80054B00; // type:function size:0x40
|
||||
onAlloc__14dHeapAllocatorFPQ23EGG12HeapAllocArg = .text:0x80054B40; // type:function size:0x20
|
||||
init__5dHeapFPCcUlPQ23EGG4Heap = .text:0x80054B60; // type:function size:0x64
|
||||
@@ -2861,14 +2861,14 @@ DestroyArcEntry__22ArcCallbackHandlerBaseFPCc = .text:0x800653D0; // type:functi
|
||||
__sinit_\arc_callback_handler_cpp = .text:0x80065570; // type:function size:0x20 scope:local
|
||||
create__6mVideoFv = .text:0x80065590; // type:function size:0x54
|
||||
fn_800655F0 = .text:0x800655F0; // type:function size:0x4
|
||||
fn_80065600 = .text:0x80065600; // type:function size:0x3C
|
||||
__ct__Q23d2d15dLytStructDListFv = .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
|
||||
append__Q23d2d11dLytStructDFPQ23d2d11dLytStructD = .text:0x80065870; // type:function size:0x110
|
||||
detach__Q23d2d11dLytStructDFPQ23d2d11dLytStructD = .text:0x80065980; // type:function size:0xA4
|
||||
appendToList1__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x800657B0; // type:function size:0x58
|
||||
removeFromList1__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065810; // type:function size:0x60
|
||||
appendToList2__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065870; // type:function size:0x110
|
||||
removeFromList2__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065980; // type:function size:0xA4
|
||||
fn_80065A30 = .text:0x80065A30; // type:function size:0x34
|
||||
fn_80065A70 = .text:0x80065A70; // type:function size:0x38
|
||||
create__Q23d2d15dLytStructDListFPQ23EGG4Heap = .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
|
||||
@@ -3735,7 +3735,7 @@ NewObj<Q34nw4r3lyt4Pane,PCQ44nw4r3lyt3res4Pane>__Q34nw4r3lyt6LayoutFPCQ44nw4r3ly
|
||||
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
|
||||
CreateAnimTransform__Q23d2d8Layout_cFPCvPQ34nw4r3lyt16ResourceAccessor = .text:0x800AA4E0; // type:function size:0x50
|
||||
__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
|
||||
@@ -3751,37 +3751,37 @@ 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
|
||||
fn_800AB190 = .text:0x800AB190; // type:function size:0xAC
|
||||
fn_800AB240 = .text:0x800AB240; // type:function size:0x94
|
||||
fn_800AB2E0 = .text:0x800AB2E0; // type:function size:0x294
|
||||
fn_800AB580 = .text:0x800AB580; // type:function size:0x3A4
|
||||
fn_800AB930 = .text:0x800AB930; // type:function size:0x8
|
||||
fn_800AB940 = .text:0x800AB940; // type:function size:0x58
|
||||
fn_800AB9A0 = .text:0x800AB9A0; // type:function size:0x1DC
|
||||
fn_800ABB80 = .text:0x800ABB80; // type:function size:0x158
|
||||
fn_800ABCE0 = .text:0x800ABCE0; // type:function size:0x170
|
||||
fn_800ABE50 = .text:0x800ABE50; // type:function size:0x1E8
|
||||
fn_800AC040 = .text:0x800AC040; // type:function size:0x160
|
||||
fn_800AC1A0 = .text:0x800AC1A0; // type:function size:0x158
|
||||
fn_800AC300 = .text:0x800AC300; // type:function size:0x8
|
||||
fn_800AC310 = .text:0x800AC310; // type:function size:0x38
|
||||
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
|
||||
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
|
||||
build__Q23d2d9LytBase_cFPCcPQ23m2d10ResAccIf_c = .text:0x800AACF0; // type:function size:0x2F8
|
||||
getTextBox__Q23d2d9LytBase_cFPCc = .text:0x800AAFF0; // type:function size:0x100
|
||||
getWindow__Q23d2d9LytBase_cFPCc = .text:0x800AB0F0; // type:function size:0x94
|
||||
getSizeBoxInWindow__Q23d2d9LytBase_cFPCc = .text:0x800AB190; // type:function size:0xAC
|
||||
getTextBoxViaUserData__Q23d2d9LytBase_cFPQ34nw4r3lyt4PanePCc = .text:0x800AB240; // type:function size:0x94
|
||||
setPropertiesRecursive__Q23d2d9LytBase_cFPQ34nw4r3lyt4Panefffff = .text:0x800AB2E0; // type:function size:0x294
|
||||
setProperties__Q23d2d9LytBase_cFPQ34nw4r3lyt4Panefffff = .text:0x800AB580; // type:function size:0x3A4
|
||||
fn_800AB930__Q23d2d9LytBase_cFP10dTextBox_c = .text:0x800AB930; // type:function size:0x8
|
||||
fn_800AB940__Q23d2d9LytBase_cFPCci = .text:0x800AB940; // type:function size:0x58
|
||||
fn_800AB9A0__Q23d2d9LytBase_cFP10dTextBox_ci = .text:0x800AB9A0; // type:function size:0x1DC
|
||||
fn_800ABB80__Q23d2d9LytBase_cFP10dTextBox_cP10dTextBox_ci = .text:0x800ABB80; // type:function size:0x158
|
||||
fn_800ABCE0__Q23d2d9LytBase_cFPCQ44nw4r3lyt3res11ExtUserDataP10dTextBox_cP10dTextBox_ci = .text:0x800ABCE0; // type:function size:0x170
|
||||
fn_800ABE50__Q23d2d9LytBase_cFP10dTextBox_ciPv = .text:0x800ABE50; // type:function size:0x1E8
|
||||
fn_800AC040__Q23d2d9LytBase_cFP10dTextBox_cP10dTextBox_ciPv = .text:0x800AC040; // type:function size:0x160
|
||||
fn_800AC1AC__Q23d2d9LytBase_cFPCQ44nw4r3lyt3res11ExtUserDataP10dTextBox_cP10dTextBox_ciPv = .text:0x800AC1A0; // type:function size:0x158
|
||||
getMsbtInfo__Q23d2d9LytBase_cCFv = .text:0x800AC300; // type:function size:0x8
|
||||
findGroupByName__Q23d2d9LytBase_cFPCc = .text:0x800AC310; // type:function size:0x38
|
||||
hasSameBaseName__3d2dFPCcPCc = .text:0x800AC350; // type:function size:0x64
|
||||
linkMeters__Q23d2d9LytBase_cFPQ34nw4r3lyt5GroupPQ34nw4r2ut30LinkList<16LytMeterListNode,0> = .text:0x800AC3C0; // type:function size:0x128
|
||||
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
|
||||
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
|
||||
setForward__Q23d2d14AnmGroupBase_cFv = .text:0x800AC920; // type:function size:0x14
|
||||
setBackward__Q23d2d14AnmGroupBase_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
|
||||
@@ -4502,8 +4502,8 @@ fn_800C9FE0 = .text:0x800C9FE0; // type:function size:0x60
|
||||
fn_800CA040 = .text:0x800CA040; // type:function size:0x60
|
||||
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
|
||||
__ct__11dLytMeter_cFv = .text:0x800CA100; // type:function size:0x1C0
|
||||
__ct__Q23d2d10ResAccIf_cFv = .text:0x800CA2C0; // type:function size:0x6C
|
||||
__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
|
||||
@@ -4602,7 +4602,7 @@ fn_800CDE10 = .text:0x800CDE10; // type:function size:0xA0
|
||||
fn_800CDEB0 = .text:0x800CDEB0; // type:function size:0xA4
|
||||
__ct__Q23d2d11dLytStructBFv = .text:0x800CDF60; // type:function size:0x258
|
||||
fn_800CE1C0 = .text:0x800CE1C0; // type:function size:0x18
|
||||
__ct__Q23d2d11dLytStructCFv = .text:0x800CE1E0; // type:function size:0x10
|
||||
__ct__16LytMeterListNodeFv = .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
|
||||
@@ -4648,12 +4648,12 @@ fn_800CFE10 = .text:0x800CFE10; // type:function size:0x6C
|
||||
fn_800CFE80 = .text:0x800CFE80; // type:function size:0xA0
|
||||
fn_800CFF20 = .text:0x800CFF20; // type:function size:0xA4
|
||||
fn_800CFFD0 = .text:0x800CFFD0; // type:function size:0xDC
|
||||
LytMeterRemoconBg__ct = .text:0x800D00B0; // type:function size:0xC0
|
||||
fn_800D0170 = .text:0x800D0170; // type:function size:0x58
|
||||
fn_800D01D0 = .text:0x800D01D0; // type:function size:0x6C
|
||||
fn_800D0240 = .text:0x800D0240; // type:function size:0xA0
|
||||
fn_800D02E0 = .text:0x800D02E0; // type:function size:0xA4
|
||||
fn_800D0390 = .text:0x800D0390; // type:function size:0xC4
|
||||
__ct__20dLytMeterRemoconBg_cFv = .text:0x800D00B0; // type:function size:0xC0
|
||||
__dt__33sFState_c<20dLytMeterRemoconBg_c>Fv = .text:0x800D0170; // type:function size:0x58
|
||||
__dt__36sFStateFct_c<20dLytMeterRemoconBg_c>Fv = .text:0x800D01D0; // type:function size:0x6C
|
||||
__dt__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800D0240; // type:function size:0xA0
|
||||
__dt__59sFStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c>Fv = .text:0x800D02E0; // type:function size:0xA4
|
||||
__dt__20dLytMeterRemoconBg_cFv = .text:0x800D0390; // type:function size:0xC4
|
||||
LytMeterNunchakuBg__ct = .text:0x800D0460; // type:function size:0xE0
|
||||
fn_800D0540 = .text:0x800D0540; // type:function size:0x58
|
||||
fn_800D05A0 = .text:0x800D05A0; // type:function size:0x6C
|
||||
@@ -4818,7 +4818,7 @@ fn_800DA590 = .text:0x800DA590; // type:function size:0x10
|
||||
fn_800DA5A0 = .text:0x800DA5A0; // type:function size:0x10
|
||||
fn_800DA5B0 = .text:0x800DA5B0; // type:function size:0x10
|
||||
fn_800DA5C0 = .text:0x800DA5C0; // type:function size:0x10
|
||||
fn_800DA5D0 = .text:0x800DA5D0; // type:function size:0x10
|
||||
changeState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x800DA5D0; // type:function size:0x10
|
||||
fn_800DA5E0 = .text:0x800DA5E0; // type:function size:0x10
|
||||
fn_800DA5F0 = .text:0x800DA5F0; // type:function size:0x10
|
||||
fn_800DA600 = .text:0x800DA600; // type:function size:0x10
|
||||
@@ -5173,14 +5173,14 @@ fn_800DCE40 = .text:0x800DCE40; // type:function size:0x10
|
||||
fn_800DCE50 = .text:0x800DCE50; // type:function size:0x10
|
||||
fn_800DCE60 = .text:0x800DCE60; // type:function size:0x10
|
||||
fn_800DCE70 = .text:0x800DCE70; // type:function size:0x10
|
||||
fn_800DCE80 = .text:0x800DCE80; // type:function size:0x10
|
||||
fn_800DCE90 = .text:0x800DCE90; // type:function size:0x10
|
||||
fn_800DCEA0 = .text:0x800DCEA0; // type:function size:0x10
|
||||
fn_800DCEB0 = .text:0x800DCEB0; // type:function size:0x10
|
||||
fn_800DCEC0 = .text:0x800DCEC0; // type:function size:0x10
|
||||
fn_800DCED0 = .text:0x800DCED0; // type:function size:0x10
|
||||
fn_800DCEE0 = .text:0x800DCEE0; // type:function size:0x10
|
||||
fn_800DCEF0 = .text:0x800DCEF0; // type:function size:0x10
|
||||
initializeState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800DCE80; // type:function size:0x10
|
||||
executeState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800DCE90; // type:function size:0x10
|
||||
finalizeState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800DCEA0; // type:function size:0x10
|
||||
refreshState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x800DCEB0; // type:function size:0x10
|
||||
getState__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DCEC0; // type:function size:0x10
|
||||
getNewStateID__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DCED0; // type:function size:0x10
|
||||
getStateID__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DCEE0; // type:function size:0x10
|
||||
getOldStateID__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DCEF0; // type:function size:0x10
|
||||
fn_800DCF00 = .text:0x800DCF00; // type:function size:0x10
|
||||
fn_800DCF10 = .text:0x800DCF10; // type:function size:0x10
|
||||
fn_800DCF20 = .text:0x800DCF20; // type:function size:0x10
|
||||
@@ -5601,27 +5601,27 @@ LytMeterDrinkParts__dtor = .text:0x800E68F0; // type:function size:0x58
|
||||
LytMeterDrink__dtor = .text:0x800E6950; // type:function size:0x58
|
||||
fn_800E69B0 = .text:0x800E69B0; // type:function size:0x88
|
||||
fn_800E6A40 = .text:0x800E6A40; // type:function size:0x88
|
||||
fn_800E6AD0 = .text:0x800E6AD0; // type:function size:0x4
|
||||
fn_800E6AE0 = .text:0x800E6AE0; // type:function size:0x4
|
||||
fn_800E6AF0 = .text:0x800E6AF0; // type:function size:0x4
|
||||
fn_800E6B00 = .text:0x800E6B00; // type:function size:0x4
|
||||
fn_800E6B10 = .text:0x800E6B10; // type:function size:0x4
|
||||
fn_800E6B20 = .text:0x800E6B20; // type:function size:0x4
|
||||
fn_800E6B30 = .text:0x800E6B30; // type:function size:0x4
|
||||
fn_800E6B40 = .text:0x800E6B40; // type:function size:0x4
|
||||
fn_800E6B50 = .text:0x800E6B50; // type:function size:0x4
|
||||
fn_800E6B60 = .text:0x800E6B60; // type:function size:0x4
|
||||
fn_800E6B70 = .text:0x800E6B70; // type:function size:0x4
|
||||
fn_800E6B80 = .text:0x800E6B80; // type:function size:0x4
|
||||
fn_800E6B90 = .text:0x800E6B90; // type:function size:0x9C
|
||||
fn_800E6C30 = .text:0x800E6C30; // type:function size:0x8
|
||||
fn_800E6C40 = .text:0x800E6C40; // type:function size:0x180
|
||||
fn_800E6DC0 = .text:0x800E6DC0; // type:function size:0x8
|
||||
fn_800E6DD0 = .text:0x800E6DD0; // type:function size:0x8
|
||||
fn_800E6DE0 = .text:0x800E6DE0; // type:function size:0x8
|
||||
LytMeterRemoconBg__initStates = .text:0x800E6DF0; // type:function size:0x338
|
||||
LytMeterRemoconBg__dtor = .text:0x800E7130; // type:function size:0x58
|
||||
fn_800E7190 = .text:0x800E7190; // type:function size:0x88
|
||||
initializeState_Wait__20dLytMeterRemoconBg_cFv = .text:0x800E6AD0; // type:function size:0x4
|
||||
executeState_Wait__20dLytMeterRemoconBg_cFv = .text:0x800E6AE0; // type:function size:0x4
|
||||
finalizeState_Wait__20dLytMeterRemoconBg_cFv = .text:0x800E6AF0; // type:function size:0x4
|
||||
initializeState_On__20dLytMeterRemoconBg_cFv = .text:0x800E6B00; // type:function size:0x4
|
||||
executeState_On__20dLytMeterRemoconBg_cFv = .text:0x800E6B10; // type:function size:0x4
|
||||
finalizeState_On__20dLytMeterRemoconBg_cFv = .text:0x800E6B20; // type:function size:0x4
|
||||
initializeState_Active__20dLytMeterRemoconBg_cFv = .text:0x800E6B30; // type:function size:0x4
|
||||
executeState_Active__20dLytMeterRemoconBg_cFv = .text:0x800E6B40; // type:function size:0x4
|
||||
finalizeState_Active__20dLytMeterRemoconBg_cFv = .text:0x800E6B50; // type:function size:0x4
|
||||
initializeState_Off__20dLytMeterRemoconBg_cFv = .text:0x800E6B60; // type:function size:0x4
|
||||
executeState_Off__20dLytMeterRemoconBg_cFv = .text:0x800E6B70; // type:function size:0x4
|
||||
finalizeState_Off__20dLytMeterRemoconBg_cFv = .text:0x800E6B80; // type:function size:0x4
|
||||
build__20dLytMeterRemoconBg_cFPQ23d2d10ResAccIf_c = .text:0x800E6B90; // type:function size:0x9C
|
||||
LytMeter0x10__20dLytMeterRemoconBg_cFv = .text:0x800E6C30; // type:function size:0x8
|
||||
LytMeter0x14__20dLytMeterRemoconBg_cFv = .text:0x800E6C40; // type:function size:0x180
|
||||
getName__20dLytMeterRemoconBg_cCFv = .text:0x800E6DC0; // type:function size:0x8
|
||||
LytMeter0x1C__20dLytMeterRemoconBg_cFv = .text:0x800E6DD0; // type:function size:0x8
|
||||
getPane__20dLytMeterRemoconBg_cFv = .text:0x800E6DE0; // type:function size:0x8
|
||||
__sinit_\d_lyt_meter_remocon_bg_cpp = .text:0x800E6DF0; // type:function size:0x338
|
||||
__dt__35sFStateID_c<20dLytMeterRemoconBg_c>Fv = .text:0x800E7130; // type:function size:0x58
|
||||
isSameName__35sFStateID_c<20dLytMeterRemoconBg_c>CFPCc = .text:0x800E7190; // type:function size:0x88
|
||||
fn_800E7220 = .text:0x800E7220; // type:function size:0xC
|
||||
fn_800E7230 = .text:0x800E7230; // type:function size:0x11C
|
||||
fn_800E7350 = .text:0x800E7350; // type:function size:0x4
|
||||
@@ -6509,24 +6509,24 @@ fn_8010CB50 = .text:0x8010CB50; // type:function size:0x8
|
||||
LytMeterShieldGauge__initStates = .text:0x8010CB60; // type:function size:0x27C
|
||||
LytMeterShieldGauge__dtor = .text:0x8010CDE0; // type:function size:0x58
|
||||
fn_8010CE40 = .text:0x8010CE40; // type:function size:0x88
|
||||
fn_8010CED0 = .text:0x8010CED0; // type:function size:0x50
|
||||
fn_8010CF20 = .text:0x8010CF20; // type:function size:0x40
|
||||
fn_8010CF60 = .text:0x8010CF60; // type:function size:0x4
|
||||
fn_8010CF70 = .text:0x8010CF70; // type:function size:0x60
|
||||
fn_8010CFD0 = .text:0x8010CFD0; // type:function size:0x4
|
||||
fn_8010CFE0 = .text:0x8010CFE0; // type:function size:0xC
|
||||
fn_8010CFF0 = .text:0x8010CFF0; // type:function size:0xDC
|
||||
fn_8010D0D0 = .text:0x8010D0D0; // type:function size:0x4
|
||||
fn_8010D0E0 = .text:0x8010D0E0; // type:function size:0x88
|
||||
fn_8010D170 = .text:0x8010D170; // type:function size:0x118
|
||||
fn_8010D290 = .text:0x8010D290; // type:function size:0x4
|
||||
fn_8010D2A0 = .text:0x8010D2A0; // type:function size:0x4
|
||||
fn_8010D2B0 = .text:0x8010D2B0; // type:function size:0x98
|
||||
fn_8010D350 = .text:0x8010D350; // type:function size:0x4
|
||||
fn_8010D360 = .text:0x8010D360; // type:function size:0x88
|
||||
fn_8010D3F0 = .text:0x8010D3F0; // type:function size:0x8C
|
||||
fn_8010D480 = .text:0x8010D480; // type:function size:0x4
|
||||
fn_8010D490 = .text:0x8010D490; // type:function size:0x1D4
|
||||
__ct__13DoButtonClassFv = .text:0x8010CED0; // type:function size:0x50
|
||||
__dt__13DoButtonClassFv = .text:0x8010CF20; // type:function size:0x40
|
||||
initializeState_InvisibleWait__14dLytDobutton_cFv = .text:0x8010CF60; // type:function size:0x4
|
||||
executeState_InvisibleWait__14dLytDobutton_cFv = .text:0x8010CF70; // type:function size:0x60
|
||||
finalizeState_InvisibleWait__14dLytDobutton_cFv = .text:0x8010CFD0; // type:function size:0x4
|
||||
initializeState_InvisibleTimeCnt__14dLytDobutton_cFv = .text:0x8010CFE0; // type:function size:0xC
|
||||
executeState_InvisibleTimeCnt__14dLytDobutton_cFv = .text:0x8010CFF0; // type:function size:0xDC
|
||||
finalizeState_InvisibleTimeCnt__14dLytDobutton_cFv = .text:0x8010D0D0; // type:function size:0x4
|
||||
initializeState_In__14dLytDobutton_cFv = .text:0x8010D0E0; // type:function size:0x88
|
||||
executeState_In__14dLytDobutton_cFv = .text:0x8010D170; // type:function size:0x118
|
||||
finalizeState_In__14dLytDobutton_cFv = .text:0x8010D290; // type:function size:0x4
|
||||
initializeState_Wait__14dLytDobutton_cFv = .text:0x8010D2A0; // type:function size:0x4
|
||||
executeState_Wait__14dLytDobutton_cFv = .text:0x8010D2B0; // type:function size:0x98
|
||||
finalizeState_Wait__14dLytDobutton_cFv = .text:0x8010D350; // type:function size:0x4
|
||||
initializeState_Out__14dLytDobutton_cFv = .text:0x8010D360; // type:function size:0x88
|
||||
executeState_Out__14dLytDobutton_cFv = .text:0x8010D3F0; // type:function size:0x8C
|
||||
finalizeState_Out__14dLytDobutton_cFv = .text:0x8010D480; // type:function size:0x4
|
||||
init__14dLytDobutton_cFPQ23m2d10ResAccIf_c = .text:0x8010D490; // type:function size:0x1D4
|
||||
fn_8010D670 = .text:0x8010D670; // type:function size:0x50
|
||||
fn_8010D6C0 = .text:0x8010D6C0; // type:function size:0x80C
|
||||
fn_8010DED0 = .text:0x8010DED0; // type:function size:0x28
|
||||
@@ -6535,9 +6535,9 @@ fn_8010E3D0 = .text:0x8010E3D0; // type:function size:0x1F0
|
||||
LytDoButton__setActionTextStuff = .text:0x8010E5C0; // type:function size:0x10
|
||||
fn_8010E5D0 = .text:0x8010E5D0; // type:function size:0x8
|
||||
fn_8010E5E0 = .text:0x8010E5E0; // type:function size:0x1C
|
||||
LytDoButton__initStates = .text:0x8010E600; // type:function size:0x410
|
||||
LytDoButton__dtor = .text:0x8010EA10; // type:function size:0x58
|
||||
fn_8010EA70 = .text:0x8010EA70; // type:function size:0x88
|
||||
__sinit_\d_lyt_do_button_cpp = .text:0x8010E600; // type:function size:0x410
|
||||
__dt__29sFStateID_c<14dLytDobutton_c>Fv = .text:0x8010EA10; // type:function size:0x58
|
||||
isSameName__29sFStateID_c<14dLytDobutton_c>CFPCc = .text:0x8010EA70; // type:function size:0x88
|
||||
fn_8010EB00 = .text:0x8010EB00; // type:function size:0x24
|
||||
fn_8010EB30 = .text:0x8010EB30; // type:function size:0x40
|
||||
fn_8010EB70 = .text:0x8010EB70; // type:function size:0x14
|
||||
@@ -8203,51 +8203,51 @@ fn_801497D0 = .text:0x801497D0; // type:function size:0x30
|
||||
LytNote__initStates = .text:0x80149800; // type:function size:0x338
|
||||
LytNote__state_dtor = .text:0x80149B40; // type:function size:0x58
|
||||
fn_80149BA0 = .text:0x80149BA0; // type:function size:0x88
|
||||
LytBattery__ctor = .text:0x80149C30; // type:function size:0x138
|
||||
fn_80149D70 = .text:0x80149D70; // type:function size:0x58
|
||||
fn_80149DD0 = .text:0x80149DD0; // type:function size:0x6C
|
||||
fn_80149E40 = .text:0x80149E40; // type:function size:0xA0
|
||||
fn_80149EE0 = .text:0x80149EE0; // type:function size:0xA4
|
||||
fn_80149F90 = .text:0x80149F90; // type:function size:0x30
|
||||
fn_80149FC0 = .text:0x80149FC0; // type:function size:0x124
|
||||
fn_8014A0F0 = .text:0x8014A0F0; // type:function size:0x10
|
||||
fn_8014A100 = .text:0x8014A100; // type:function size:0xF0
|
||||
fn_8014A1F0 = .text:0x8014A1F0; // type:function size:0x10
|
||||
fn_8014A200 = .text:0x8014A200; // type:function size:0x10
|
||||
fn_8014A210 = .text:0x8014A210; // type:function size:0x6C
|
||||
fn_8014A280 = .text:0x8014A280; // type:function size:0x50
|
||||
fn_8014A2D0 = .text:0x8014A2D0; // type:function size:0x4
|
||||
fn_8014A2E0 = .text:0x8014A2E0; // type:function size:0x70
|
||||
fn_8014A350 = .text:0x8014A350; // type:function size:0x4
|
||||
fn_8014A360 = .text:0x8014A360; // type:function size:0x4
|
||||
fn_8014A370 = .text:0x8014A370; // type:function size:0x78
|
||||
fn_8014A3F0 = .text:0x8014A3F0; // type:function size:0x4
|
||||
fn_8014A400 = .text:0x8014A400; // type:function size:0x4
|
||||
fn_8014A410 = .text:0x8014A410; // type:function size:0xA0
|
||||
fn_8014A4B0 = .text:0x8014A4B0; // type:function size:0x4
|
||||
fn_8014A4C0 = .text:0x8014A4C0; // type:function size:0x48
|
||||
fn_8014A510 = .text:0x8014A510; // type:function size:0xAC
|
||||
fn_8014A5C0 = .text:0x8014A5C0; // type:function size:0x4
|
||||
fn_8014A5D0 = .text:0x8014A5D0; // type:function size:0x4
|
||||
fn_8014A5E0 = .text:0x8014A5E0; // type:function size:0x78
|
||||
fn_8014A660 = .text:0x8014A660; // type:function size:0x4
|
||||
fn_8014A670 = .text:0x8014A670; // type:function size:0x60
|
||||
fn_8014A6D0 = .text:0x8014A6D0; // type:function size:0xC
|
||||
fn_8014A6E0 = .text:0x8014A6E0; // type:function size:0x1C
|
||||
fn_8014A700 = .text:0x8014A700; // type:function size:0x1C
|
||||
fn_8014A720 = .text:0x8014A720; // type:function size:0x1C
|
||||
fn_8014A740 = .text:0x8014A740; // type:function size:0x10
|
||||
fn_8014A750 = .text:0x8014A750; // type:function size:0x10
|
||||
fn_8014A760 = .text:0x8014A760; // type:function size:0x10
|
||||
fn_8014A770 = .text:0x8014A770; // type:function size:0x10
|
||||
fn_8014A780 = .text:0x8014A780; // type:function size:0x10
|
||||
fn_8014A790 = .text:0x8014A790; // type:function size:0x10
|
||||
fn_8014A7A0 = .text:0x8014A7A0; // type:function size:0x30
|
||||
fn_8014A7D0 = .text:0x8014A7D0; // type:function size:0x30
|
||||
fn_8014A800 = .text:0x8014A800; // type:function size:0x30
|
||||
LytBattery__initStates = .text:0x8014A830; // type:function size:0x3F4
|
||||
LytBattery__state_dtor = .text:0x8014AC30; // type:function size:0x58
|
||||
fn_8014AC90 = .text:0x8014AC90; // type:function size:0x88
|
||||
create__13dLytBattery_cFv = .text:0x80149C30; // type:function size:0x138
|
||||
__dt__26sFState_c<13dLytBattery_c>Fv = .text:0x80149D70; // type:function size:0x58
|
||||
__dt__29sFStateFct_c<13dLytBattery_c>Fv = .text:0x80149DD0; // type:function size:0x6C
|
||||
__dt__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80149E40; // type:function size:0xA0
|
||||
__dt__52sFStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c>Fv = .text:0x80149EE0; // type:function size:0xA4
|
||||
draw__13dLytBattery_cFv = .text:0x80149F90; // type:function size:0x30
|
||||
init__13dLytBattery_cFv = .text:0x80149FC0; // type:function size:0x124
|
||||
changeState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8014A0F0; // type:function size:0x10
|
||||
doDraw__13dLytBattery_cFv = .text:0x8014A100; // type:function size:0xF0
|
||||
executeState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014A1F0; // type:function size:0x10
|
||||
getStateID__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014A200; // type:function size:0x10
|
||||
dismissManually__13dLytBattery_cFv = .text:0x8014A210; // type:function size:0x6C
|
||||
hasEnoughBatteryCharge__13dLytBattery_cFv = .text:0x8014A280; // type:function size:0x50
|
||||
initializeState_Off__13dLytBattery_cFv = .text:0x8014A2D0; // type:function size:0x4
|
||||
executeState_Off__13dLytBattery_cFv = .text:0x8014A2E0; // type:function size:0x70
|
||||
finalizeState_Off__13dLytBattery_cFv = .text:0x8014A350; // type:function size:0x4
|
||||
initializeState_In__13dLytBattery_cFv = .text:0x8014A360; // type:function size:0x4
|
||||
executeState_In__13dLytBattery_cFv = .text:0x8014A370; // type:function size:0x78
|
||||
finalizeState_In__13dLytBattery_cFv = .text:0x8014A3F0; // type:function size:0x4
|
||||
initializeState_On__13dLytBattery_cFv = .text:0x8014A400; // type:function size:0x4
|
||||
executeState_On__13dLytBattery_cFv = .text:0x8014A410; // type:function size:0xA0
|
||||
finalizeState_On__13dLytBattery_cFv = .text:0x8014A4B0; // type:function size:0x4
|
||||
initializeState_None__13dLytBattery_cFv = .text:0x8014A4C0; // type:function size:0x48
|
||||
executeState_None__13dLytBattery_cFv = .text:0x8014A510; // type:function size:0xAC
|
||||
finalizeState_None__13dLytBattery_cFv = .text:0x8014A5C0; // type:function size:0x4
|
||||
initializeState_Out__13dLytBattery_cFv = .text:0x8014A5D0; // type:function size:0x4
|
||||
executeState_Out__13dLytBattery_cFv = .text:0x8014A5E0; // type:function size:0x78
|
||||
finalizeState_Out__13dLytBattery_cFv = .text:0x8014A660; // type:function size:0x4
|
||||
build__29sFStateFct_c<13dLytBattery_c>FRC12sStateIDIf_c = .text:0x8014A670; // type:function size:0x60
|
||||
dispose__29sFStateFct_c<13dLytBattery_c>FRP10sStateIf_c = .text:0x8014A6D0; // type:function size:0xC
|
||||
initialize__26sFState_c<13dLytBattery_c>Fv = .text:0x8014A6E0; // type:function size:0x1C
|
||||
execute__26sFState_c<13dLytBattery_c>Fv = .text:0x8014A700; // type:function size:0x1C
|
||||
finalize__26sFState_c<13dLytBattery_c>Fv = .text:0x8014A720; // type:function size:0x1C
|
||||
initializeState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014A740; // type:function size:0x10
|
||||
finalizeState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014A750; // type:function size:0x10
|
||||
refreshState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8014A760; // type:function size:0x10
|
||||
getState__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014A770; // type:function size:0x10
|
||||
getNewStateID__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014A780; // type:function size:0x10
|
||||
getOldStateID__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8014A790; // type:function size:0x10
|
||||
finalizeState__28sFStateID_c<13dLytBattery_c>CFR13dLytBattery_c = .text:0x8014A7A0; // type:function size:0x30
|
||||
executeState__28sFStateID_c<13dLytBattery_c>CFR13dLytBattery_c = .text:0x8014A7D0; // type:function size:0x30
|
||||
initializeState__28sFStateID_c<13dLytBattery_c>CFR13dLytBattery_c = .text:0x8014A800; // type:function size:0x30
|
||||
__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
|
||||
@@ -8859,7 +8859,7 @@ getOldStateID__86sStateMgr_c<17dLytPauseDisp00_c,20sStateMethodUsr_FI_c,12sFStat
|
||||
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
|
||||
__sinit_\d_lyt_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
|
||||
@@ -9245,7 +9245,7 @@ getOldStateID__86sStateMgr_c<17dLytCommonArrow_c,20sStateMethodUsr_FI_c,12sFStat
|
||||
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
|
||||
__sinit_\d_lyt_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
|
||||
@@ -31163,10 +31163,10 @@ lbl_80512B28 = .data:0x80512B28; // type:object size:0x30
|
||||
lbl_80512B58 = .data:0x80512B58; // type:object size:0x30
|
||||
lbl_80512B88 = .data:0x80512B88; // type:object size:0x18
|
||||
lbl_80512BA0 = .data:0x80512BA0; // type:object size:0x18
|
||||
lbl_80512BB8 = .data:0x80512BB8; // type:object size:0x30
|
||||
lbl_80512BE8 = .data:0x80512BE8; // type:object size:0x30
|
||||
lbl_80512C18 = .data:0x80512C18; // type:object size:0x18
|
||||
lbl_80512C30 = .data:0x80512C30; // type:object size:0x18
|
||||
__vt__59sFStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c> = .data:0x80512BB8; // type:object size:0x30
|
||||
__vt__89sStateMgr_c<20dLytMeterRemoconBg_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80512BE8; // type:object size:0x30
|
||||
__vt__36sFStateFct_c<20dLytMeterRemoconBg_c> = .data:0x80512C18; // type:object size:0x18
|
||||
__vt__33sFState_c<20dLytMeterRemoconBg_c> = .data:0x80512C30; // type:object size:0x18
|
||||
lbl_80512C48 = .data:0x80512C48; // type:object size:0x30
|
||||
lbl_80512C78 = .data:0x80512C78; // type:object size:0x30
|
||||
lbl_80512CA8 = .data:0x80512CA8; // type:object size:0x18
|
||||
@@ -31245,9 +31245,9 @@ lbl_80513650 = .data:0x80513650; // type:object size:0x30
|
||||
lbl_80513680 = .data:0x80513680; // type:object size:0x30
|
||||
lbl_805136B0 = .data:0x805136B0; // type:object size:0x18
|
||||
lbl_805136C8 = .data:0x805136C8; // type:object size:0x28
|
||||
lbl_805136F0 = .data:0x805136F0; // type:object size:0xC
|
||||
lbl_805136FC = .data:0x805136FC; // type:object size:0x40
|
||||
lbl_8051373C = .data:0x8051373C; // type:object size:0x388
|
||||
__vt__Q23d2d10AnmGroup_c = .data:0x805136F0; // type:object size:0xC
|
||||
__vt__Q23d2d14AnmGroupBase_c = .data:0x805136FC; // type:object size:0x40
|
||||
__vt__7dLytSub = .data:0x8051373C; // type:object size:0x388
|
||||
lbl_80513AC4 = .data:0x80513AC4; // type:object size:0x34
|
||||
lbl_80513AF8 = .data:0x80513AF8; // type:object size:0x34
|
||||
lbl_80513B2C = .data:0x80513B2C; // type:object size:0x34
|
||||
@@ -31347,7 +31347,7 @@ lbl_80514CF4 = .data:0x80514CF4; // type:object size:0x34
|
||||
lbl_80514D28 = .data:0x80514D28; // type:object size:0x38
|
||||
lbl_80514D60 = .data:0x80514D60; // type:object size:0x10
|
||||
lbl_80514D70 = .data:0x80514D70; // type:object size:0x14
|
||||
LytMeterRemoconBg__vt = .data:0x80514D84; // type:object size:0x158
|
||||
__vt__20dLytMeterRemoconBg_c = .data:0x80514D84; // type:object size:0x34
|
||||
lbl_80514EDC = .data:0x80514EDC; // type:object size:0x34
|
||||
lbl_80514F10 = .data:0x80514F10; // type:object size:0x18
|
||||
lbl_80514F28 = .data:0x80514F28; // type:object size:0xC
|
||||
@@ -31946,7 +31946,7 @@ lbl_8051AA20 = .data:0x8051AA20; // type:object size:0x10
|
||||
lbl_8051AA30 = .data:0x8051AA30; // type:object size:0x10
|
||||
lbl_8051AA40 = .data:0x8051AA40; // type:object size:0x14
|
||||
lbl_8051AA54 = .data:0x8051AA54; // type:object size:0xC data:string
|
||||
lbl_8051AA60 = .data:0x8051AA60; // type:object size:0x16C
|
||||
__vt__13DoButtonClass = .data:0x8051AA60; // type:object size:0x16C
|
||||
lbl_8051ABCC = .data:0x8051ABCC; // type:object size:0x34
|
||||
lbl_8051AC00 = .data:0x8051AC00; // type:object size:0xC
|
||||
lbl_8051AC0C = .data:0x8051AC0C; // type:object size:0xC
|
||||
@@ -32743,19 +32743,19 @@ lbl_805226BC = .data:0x805226BC; // type:object size:0xC
|
||||
lbl_805226C8 = .data:0x805226C8; // type:object size:0x10
|
||||
lbl_805226D8 = .data:0x805226D8; // type:object size:0x110
|
||||
lbl_805227E8 = .data:0x805227E8; // type:object size:0x38
|
||||
lbl_80522820 = .data:0x80522820; // type:object size:0x14
|
||||
lbl_80522834 = .data:0x80522834; // type:object size:0xC
|
||||
lbl_80522840 = .data:0x80522840; // type:object size:0x18
|
||||
lbl_80522858 = .data:0x80522858; // type:object size:0x18
|
||||
lbl_80522870 = .data:0x80522870; // type:object size:0xC
|
||||
lbl_80522820 = .data:0x80522820; // type:object size:0x13 data:string
|
||||
lbl_80522834 = .data:0x80522834; // type:object size:0xB data:string
|
||||
lbl_80522840 = .data:0x80522840; // type:object size:0x15 data:string
|
||||
lbl_80522858 = .data:0x80522858; // type:object size:0x15 data:string
|
||||
lbl_80522870 = .data:0x80522870; // type:object size:0xA data:string
|
||||
lbl_8052287C = .data:0x8052287C; // type:object size:0x14 data:string
|
||||
lbl_80522890 = .data:0x80522890; // type:object size:0x10
|
||||
lbl_80522890 = .data:0x80522890; // type:object size:0x9 data:string
|
||||
lbl_805228A0 = .data:0x805228A0; // type:object size:0x10 data:string
|
||||
lbl_805228B0 = .data:0x805228B0; // type:object size:0x30
|
||||
lbl_805228E0 = .data:0x805228E0; // type:object size:0x30
|
||||
lbl_80522910 = .data:0x80522910; // type:object size:0x18
|
||||
lbl_80522928 = .data:0x80522928; // type:object size:0x1A0
|
||||
lbl_80522AC8 = .data:0x80522AC8; // type:object size:0x38
|
||||
__vt__52sFStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c> = .data:0x805228B0; // type:object size:0x30
|
||||
__vt__82sStateMgr_c<13dLytBattery_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805228E0; // type:object size:0x30
|
||||
__vt__29sFStateFct_c<13dLytBattery_c> = .data:0x80522910; // type:object size:0x14
|
||||
__vt__26sFState_c<13dLytBattery_c> = .data:0x80522928; // type:object size:0x18
|
||||
__vt__28sFStateID_c<13dLytBattery_c> = .data:0x80522AC8; // type:object size:0x34
|
||||
lbl_80522B00 = .data:0x80522B00; // type:object size:0x1C
|
||||
lbl_80522B1C = .data:0x80522B1C; // type:object size:0xC data:string
|
||||
lbl_80522B28 = .data:0x80522B28; // type:object size:0x1C
|
||||
@@ -38119,7 +38119,7 @@ lbl_80572850 = .sdata:0x80572850; // type:object size:0x4
|
||||
lbl_80572854 = .sdata:0x80572854; // type:object size:0x8
|
||||
lbl_8057285C = .sdata:0x8057285C; // type:object size:0xC
|
||||
lbl_80572868 = .sdata:0x80572868; // type:object size:0x8 data:4byte
|
||||
lbl_80572870 = .sdata:0x80572870; // type:object size:0x8
|
||||
lbl_80572870 = .sdata:0x80572870; // type:object size:0x1 data:string
|
||||
lbl_80572878 = .sdata:0x80572878; // type:object size:0x4
|
||||
lbl_8057287C = .sdata:0x8057287C; // type:object size:0x4
|
||||
lbl_80572880 = .sdata:0x80572880; // type:object size:0x8
|
||||
@@ -39940,7 +39940,7 @@ lbl_805754A0 = .sbss:0x805754A0; // type:object size:0x8 data:4byte
|
||||
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
|
||||
lbl_805754B8 = .sbss:0x805754B8; // 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
|
||||
LytWipe = .sbss:0x805754C8; // type:object size:0x8 data:4byte
|
||||
LYT_HELP_PTR = .sbss:0x805754D0; // type:object size:0x8 data:4byte
|
||||
@@ -43928,7 +43928,7 @@ lbl_8057ABE8 = .sdata2:0x8057ABE8; // type:object size:0x8 data:double
|
||||
lbl_8057ABF0 = .sdata2:0x8057ABF0; // type:object size:0x4 data:float
|
||||
lbl_8057ABF4 = .sdata2:0x8057ABF4; // type:object size:0x4 data:float
|
||||
lbl_8057ABF8 = .sdata2:0x8057ABF8; // type:object size:0x8 data:double
|
||||
lbl_8057AC00 = .sdata2:0x8057AC00; // type:object size:0x8 data:float
|
||||
lbl_8057AC00 = .sdata2:0x8057AC00; // type:object size:0x4 data:float
|
||||
lbl_8057AC08 = .sdata2:0x8057AC08; // type:object size:0x4 data:float
|
||||
lbl_8057AC0C = .sdata2:0x8057AC0C; // type:object size:0x4 data:float
|
||||
lbl_8057AC10 = .sdata2:0x8057AC10; // type:object size:0x8 data:double
|
||||
@@ -48638,12 +48638,12 @@ LytNote__STATE_WAIT = .bss:0x805B0840; // type:object size:0x40 data:4byte
|
||||
LytNote__STATE_IN = .bss:0x805B0880; // type:object size:0x40 data:4byte
|
||||
LytNote__STATE_MOVE = .bss:0x805B08C0; // type:object size:0x40 data:4byte
|
||||
LytNote__STATE_OUT = .bss:0x805B0900; // type:object size:0x30 data:4byte
|
||||
lbl_805B0930 = .bss:0x805B0930; // type:object size:0x10
|
||||
LytBattery__STATE_OFF = .bss:0x805B0940; // type:object size:0x40 data:4byte
|
||||
LytBattery__STATE_IN = .bss:0x805B0980; // type:object size:0x40 data:4byte
|
||||
LytBattery__STATE_ON = .bss:0x805B09C0; // type:object size:0x40 data:4byte
|
||||
LytBattery__STATE_NONE = .bss:0x805B0A00; // type:object size:0x40 data:4byte
|
||||
LytBattery__STATE_OUT = .bss:0x805B0A40; // type:object size:0x30 data:4byte
|
||||
lbl_805B0930 = .bss:0x805B0930; // type:object size:0xC
|
||||
StateID_Off__13dLytBattery_c = .bss:0x805B0940; // type:object size:0x30 data:4byte
|
||||
StateID_In__13dLytBattery_c = .bss:0x805B0980; // type:object size:0x30 data:4byte
|
||||
StateID_On__13dLytBattery_c = .bss:0x805B09C0; // type:object size:0x30 data:4byte
|
||||
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
|
||||
|
||||
+8
-2
@@ -368,13 +368,19 @@ 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/d_structd.cpp"),
|
||||
Object(NonMatching, "d/lyt/d2d.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_textbox.cpp"),
|
||||
Object(Matching, "d/lyt/d_window.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_remocon_bg.cpp"),
|
||||
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_pause_disp_00.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_fader.cpp"),
|
||||
Object(Matching, "d/lyt/d_screen_fader.cpp"),
|
||||
Object(NonMatching, "d/lyt/common_arrow.cpp"),
|
||||
Object(NonMatching, "d/lyt/pause_disp_00.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_common_arrow.cpp"),
|
||||
Object(NonMatching, "toBeSorted/file_manager.cpp"),
|
||||
Object(NonMatching, "toBeSorted/save_manager.cpp"),
|
||||
Object(Matching, "DynamicLink.cpp"),
|
||||
|
||||
@@ -47,8 +47,8 @@ public:
|
||||
return mRefCount != 0;
|
||||
}
|
||||
|
||||
inline const char *name() const {
|
||||
return &mArcName;
|
||||
inline const SizedString<32> &name() const {
|
||||
return mArcName;
|
||||
}
|
||||
|
||||
inline bool isNotLoaded() {
|
||||
|
||||
+81
-50
@@ -1,10 +1,15 @@
|
||||
#ifndef D2D_H
|
||||
#define D2D_H
|
||||
|
||||
#include <libms/msgfile.h>
|
||||
#include <m/m2d.h>
|
||||
#include <d/lyt/meter/d_lyt_meter_base.h>
|
||||
#include <nw4r/lyt/lyt_pane.h>
|
||||
#include <nw4r/lyt/lyt_picture.h>
|
||||
|
||||
class dTextBox_c;
|
||||
class dWindow_c;
|
||||
|
||||
namespace d2d {
|
||||
|
||||
class ResAccIf_c : public m2d::ResAccIf_c {
|
||||
@@ -50,6 +55,10 @@ public:
|
||||
nw4r::lyt::Bounding *findBounding(const char *name) const;
|
||||
void unbindAnims();
|
||||
|
||||
const Layout_c *getLayout() const {
|
||||
return &mLayout;
|
||||
}
|
||||
|
||||
Layout_c *getLayout() {
|
||||
return &mLayout;
|
||||
}
|
||||
@@ -73,13 +82,38 @@ public:
|
||||
mLayout.Draw(mDrawInfo);
|
||||
};
|
||||
|
||||
virtual bool build(const char *name, m2d::ResAccIf_c *acc) override;
|
||||
dTextBox_c *getTextBox(const char *name);
|
||||
dTextBox_c *getSizeBoxInWindow(const char *windowName);
|
||||
dWindow_c *getWindow(const char *name);
|
||||
nw4r::lyt::Group *findGroupByName(const char *name);
|
||||
|
||||
bool fn_800AB940(const char *name, int arg);
|
||||
bool fn_800AB9A0(dTextBox_c *textbox, int arg);
|
||||
|
||||
bool fn_800ABE50(dTextBox_c *textbox, int arg, void *unk);
|
||||
|
||||
static void linkMeters(nw4r::lyt::Group *group, LytMeterGroup *meterGroup);
|
||||
|
||||
private:
|
||||
void *mpMsbtInfo;
|
||||
void setPropertiesRecursive(nw4r::lyt::Pane *pane, f32, f32, f32, f32, f32);
|
||||
void setProperties(nw4r::lyt::Pane *pane, f32, f32, f32, f32, f32);
|
||||
dTextBox_c *getTextBoxViaUserData(nw4r::lyt::Pane *pane, const char *name);
|
||||
bool fn_800ABB80(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg);
|
||||
bool fn_800ABCE0(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, int arg);
|
||||
|
||||
bool fn_800AC040(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg, void *unk);
|
||||
bool fn_800AC1AC(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, int arg,
|
||||
void *unk);
|
||||
MsbtInfo *getMsbtInfo() const;
|
||||
bool fn_800AB930(dTextBox_c *box);
|
||||
|
||||
/* 0x8C */ MsbtInfo *mpMsbtInfo;
|
||||
};
|
||||
|
||||
struct AnmGroup_c {
|
||||
AnmGroup_c() {}
|
||||
~AnmGroup_c() {}
|
||||
struct AnmGroupBase_c {
|
||||
AnmGroupBase_c(m2d::FrameCtrl_c *frameCtrl): field_0x04(nullptr), mFlags(0), mpFrameCtrl(frameCtrl) {}
|
||||
virtual ~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);
|
||||
@@ -87,15 +121,15 @@ struct AnmGroup_c {
|
||||
bool fn_800AC6D0(bool);
|
||||
bool fn_800AC7D0();
|
||||
bool fn_800AC860();
|
||||
void fn_800AC870(bool);
|
||||
void setAnimEnable(bool);
|
||||
void setAnmFrame(f32);
|
||||
void syncAnmFrame();
|
||||
void setForward();
|
||||
void setBackward();
|
||||
|
||||
inline void setFrame(f32 frame) {
|
||||
inline void setFrameAndControlThings(f32 frame) {
|
||||
fn_800AC6D0(false);
|
||||
fn_800AC870(true);
|
||||
setAnimEnable(true);
|
||||
mpFrameCtrl->setFrame(frame);
|
||||
syncAnmFrame();
|
||||
}
|
||||
@@ -105,6 +139,15 @@ struct AnmGroup_c {
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
inline void setFrame(f32 frame) {
|
||||
mpFrameCtrl->setFrame(frame);
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
inline f32 getFrame() const {
|
||||
return mpFrameCtrl->getFrame();
|
||||
}
|
||||
|
||||
inline void setToStart() {
|
||||
mpFrameCtrl->setToStart();
|
||||
syncAnmFrame();
|
||||
@@ -115,62 +158,50 @@ struct AnmGroup_c {
|
||||
syncAnmFrame();
|
||||
}
|
||||
|
||||
u8 field_0x00[0x08 - 0x00];
|
||||
inline bool isEndReached() const {
|
||||
return mpFrameCtrl->isEndReached();
|
||||
}
|
||||
|
||||
inline void setRate(f32 rate) {
|
||||
mpFrameCtrl->setRate(rate);
|
||||
setAnimEnable(true);
|
||||
}
|
||||
|
||||
inline bool isFlag2() const {
|
||||
return (mFlags & 2) != 0;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
/* 0x04 */ void *field_0x04;
|
||||
/* 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 {
|
||||
struct AnmGroup_c : public AnmGroupBase_c {
|
||||
AnmGroup_c(): AnmGroupBase_c(&mFrameCtrl) {}
|
||||
virtual ~AnmGroup_c() {}
|
||||
/* 0x28 */ m2d::FrameCtrl_c mFrameCtrl;
|
||||
};
|
||||
|
||||
// Probably pause menu specific
|
||||
struct dLytStructB: public dLytMeterBase {
|
||||
dLytStructB();
|
||||
~dLytStructB();
|
||||
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc) override;
|
||||
virtual bool LytMeter0x10() override;
|
||||
virtual bool LytMeter0x14() override;
|
||||
virtual nw4r::lyt::Pane *getPane() override;
|
||||
virtual void *LytMeter0x1C() override;
|
||||
virtual const char *getName() const override;
|
||||
|
||||
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;
|
||||
u8 field_0x00[0x808 - 0x08];
|
||||
};
|
||||
|
||||
} // namespace d2d
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#ifndef D_LYT_BATTERY_H
|
||||
#define D_LYT_BATTERY_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_lyt_sub.h>
|
||||
#include <d/lyt/meter/d_lyt_meter_base.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytBattery_c {
|
||||
public:
|
||||
static bool create();
|
||||
static bool draw();
|
||||
bool dismissManually();
|
||||
|
||||
private:
|
||||
dLytBattery_c() : mStateMgr(*this, sStateID::null) {
|
||||
sInstance = this;
|
||||
}
|
||||
|
||||
bool doDraw();
|
||||
bool init();
|
||||
|
||||
bool hasEnoughBatteryCharge();
|
||||
|
||||
STATE_FUNC_DECLARE(dLytBattery_c, Off);
|
||||
STATE_FUNC_DECLARE(dLytBattery_c, In);
|
||||
STATE_FUNC_DECLARE(dLytBattery_c, On);
|
||||
STATE_FUNC_DECLARE(dLytBattery_c, None);
|
||||
STATE_FUNC_DECLARE(dLytBattery_c, Out);
|
||||
|
||||
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytBattery_c);
|
||||
/* 0x040 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x0EB */ dLytSub mLyt;
|
||||
/* 0x110 */ d2d::AnmGroup_c mAnmGroups[4];
|
||||
/* 0x540 */ bool mDismissManually;
|
||||
|
||||
static dLytBattery_c *sInstance;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_LYT_COMMON_ARROW_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_structd.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
@@ -32,7 +33,7 @@ public:
|
||||
void fn_80168880();
|
||||
|
||||
private:
|
||||
STATE_MGR_DECLARE(dLytCommonArrow_c);
|
||||
UI_STATE_MGR_DECLARE(dLytCommonArrow_c);
|
||||
/* 0x40 */ d2d::LytBase_c mLytBase;
|
||||
d2d::ResAccIf_c mResAcc;
|
||||
d2d::AnmGroup_c field_0x440[0x9];
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef D_LYT_DO_BUTTON_H
|
||||
#define D_LYT_DO_BUTTON_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_lyt_sub.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytDobutton_c {
|
||||
public:
|
||||
dLytDobutton_c() : mStateMgr(*this, sStateID::null) {
|
||||
sInstance = this;
|
||||
}
|
||||
|
||||
bool init(m2d::ResAccIf_c *resAcc);
|
||||
|
||||
dLytDobutton_c *sInstance;
|
||||
|
||||
private:
|
||||
STATE_FUNC_DECLARE(dLytDobutton_c, InvisibleWait);
|
||||
STATE_FUNC_DECLARE(dLytDobutton_c, InvisibleTimeCnt);
|
||||
STATE_FUNC_DECLARE(dLytDobutton_c, In);
|
||||
STATE_FUNC_DECLARE(dLytDobutton_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytDobutton_c, Out);
|
||||
|
||||
UI_STATE_MGR_DECLARE(dLytDobutton_c);
|
||||
/* 0x040 */ dLytSub mLyt;
|
||||
/* 0x0D4 */ d2d::AnmGroup_c mAnmGroups[12];
|
||||
/* 0x3D4 */ u8 field_0x3D4[0x470 - 0x3D4];
|
||||
/* 0x470 */ s32 mDoActionToShow;
|
||||
/* 0x474 */ s32 field_0x474;
|
||||
/* 0x478 */ s32 field_0x478;
|
||||
/* 0x47C */ s32 field_0x47C;
|
||||
/* 0x480 */ s32 field_0x480;
|
||||
/* 0x484 */ s32 mNextDoActionToShow;
|
||||
/* 0x488 */ s32 field_0x488;
|
||||
/* 0x48C */ s32 field_0x48C;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -2,13 +2,14 @@
|
||||
#define LYT_PAUSE_DISP_00_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_structd.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytPauseDisp00_c {
|
||||
public:
|
||||
dLytPauseDisp00_c();
|
||||
virtual ~dLytPauseDisp00_c();
|
||||
virtual ~dLytPauseDisp00_c() {}
|
||||
|
||||
void init();
|
||||
|
||||
@@ -27,8 +28,8 @@ private:
|
||||
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];
|
||||
/* 0xE110 */ LytMeterGroup mLytMeterGroup;
|
||||
LytMeterListNode field_0xE11C[0x18];
|
||||
d2d::dLytStructD field_0xE29C;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef D_LYT_SUB_H
|
||||
#define D_LYT_SUB_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
|
||||
class dLytSub : public d2d::LytBase_c {
|
||||
public:
|
||||
dLytSub() {}
|
||||
virtual bool build(const char *name, m2d::ResAccIf_c *acc) override {
|
||||
mpName = name;
|
||||
d2d::LytBase_c::build(name, acc);
|
||||
}
|
||||
|
||||
const char *getName() const {
|
||||
return mpName;
|
||||
}
|
||||
private:
|
||||
/// This name is stored by `build` and usually accessed by dLytMeters' getName functions
|
||||
const char *mpName;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,60 @@
|
||||
#ifndef D_LYT_STRUCTD_H
|
||||
#define D_LYT_STRUCTD_H
|
||||
|
||||
#include <egg/core/eggHeap.h>
|
||||
#include <nw4r/ut/ut_LinkList.h>
|
||||
#include <toBeSorted/tlist.h>
|
||||
|
||||
namespace d2d {
|
||||
|
||||
struct dLytStructD_Base {
|
||||
dLytStructD_Base()
|
||||
: field_0x0C(0), field_0x10(0), field_0x14(0), field_0x015(0), field_0x016(0) {}
|
||||
virtual ~dLytStructD_Base();
|
||||
TListNode mNode;
|
||||
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 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;
|
||||
};
|
||||
|
||||
class dLytStructDList {
|
||||
public:
|
||||
dLytStructDList();
|
||||
static dLytStructDList *create(EGG::Heap *heap);
|
||||
|
||||
static dLytStructDList *sInstance;
|
||||
|
||||
void appendToList1(dLytStructD *other);
|
||||
void removeFromList1(dLytStructD *other);
|
||||
|
||||
void appendToList2(dLytStructD *other);
|
||||
void removeFromList2(dLytStructD *other);
|
||||
|
||||
private:
|
||||
TList<dLytStructD, 4> mList1;
|
||||
TList<dLytStructD, 4> mList2;
|
||||
bool field_0x18;
|
||||
};
|
||||
|
||||
} // namespace d2d
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,12 @@
|
||||
#ifndef D_LYT_TEXTBOX_H
|
||||
#define D_LYT_TEXTBOX_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <nw4r/lyt/lyt_textBox.h>
|
||||
|
||||
|
||||
extern "C" void *lbl_805753B0;
|
||||
|
||||
class dTextBox_c : public nw4r::lyt::TextBox {
|
||||
friend class dWindow_c;
|
||||
|
||||
@@ -11,8 +15,41 @@ public:
|
||||
|
||||
f32 GetLineWidth(f32 *pOutSpacing);
|
||||
|
||||
void setLytBase(d2d::LytBase_c *lytBase) {
|
||||
mpLytBase = lytBase;
|
||||
}
|
||||
|
||||
void SetScale(float scale) {
|
||||
nw4r::math::VEC2 value = GetScale();
|
||||
value.x = GetScale().x * scale;
|
||||
value.y = GetScale().y * scale;
|
||||
mScale = scale;
|
||||
MySetScale(value);
|
||||
nw4r::lyt::TextBox::SetScale(value);
|
||||
}
|
||||
|
||||
|
||||
static inline f32 GetTranslateX1() {
|
||||
if (lbl_805753B0 != nullptr) {
|
||||
return GetTranslateX1_();
|
||||
} else {
|
||||
return 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
static f32 GetTranslateX1_();
|
||||
|
||||
// @bug: This does not implement UT's RTTI, so casts to dTextBox_c will
|
||||
// succeed even if all you have is a lyt::TextBox
|
||||
private:
|
||||
u8 field_0x104[0x204 - 0x104];
|
||||
|
||||
void MySetScale(const nw4r::math::VEC2 &value);
|
||||
|
||||
d2d::LytBase_c *mpLytBase;
|
||||
u8 field_0x108[0x118 - 0x108];
|
||||
/* 0x118 */ nw4r::math::VEC2 mTextScale;
|
||||
/* 0x120 */ f32 mScale;
|
||||
u8 field_0x124[0x204 - 0x124];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11,6 +11,9 @@ public:
|
||||
virtual ~dWindow_c() {}
|
||||
void UpdateSize(dTextBox_c *textBox, f32 f);
|
||||
|
||||
// @bug: This does not implement UT's RTTI, so casts to dWindow_c will
|
||||
// succeed even if all you have is a lyt::Window
|
||||
|
||||
private:
|
||||
UNKWORD field_0x108;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef D_LYT_METER_H
|
||||
#define D_LYT_METER_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/meter/d_lyt_meter.h>
|
||||
#include <d/lyt/meter/d_lyt_meter_remocon_bg.h>
|
||||
|
||||
class dLytMeter_c {
|
||||
public:
|
||||
dLytMeter_c();
|
||||
virtual ~dLytMeter_c() {}
|
||||
|
||||
d2d::ResAccIf_c mResAcc;
|
||||
d2d::LytBase_c mLyt;
|
||||
d2d::AnmGroup_c mAnmGroups[34];
|
||||
// Meters...
|
||||
dLytMeterRemoconBg_c mRemoCon;
|
||||
LytMeterGroup mMeters;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,46 @@
|
||||
#ifndef D_LYT_METER_BASE_H
|
||||
#define D_LYT_METER_BASE_H
|
||||
|
||||
#include <nw4r/lyt/lyt_pane.h>
|
||||
|
||||
namespace d2d {
|
||||
class ResAccIf_c;
|
||||
}
|
||||
|
||||
class dLytMeterBase {
|
||||
public:
|
||||
dLytMeterBase() : field_0x04(false), field_0x05(0) {}
|
||||
virtual ~dLytMeterBase() {}
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc) = 0;
|
||||
virtual bool LytMeter0x10() = 0;
|
||||
virtual bool LytMeter0x14() = 0;
|
||||
virtual nw4r::lyt::Pane *getPane() = 0;
|
||||
virtual void *LytMeter0x1C() = 0;
|
||||
virtual const char *getName() const = 0;
|
||||
virtual bool LytMeter0x24() const {
|
||||
return field_0x04;
|
||||
}
|
||||
virtual void LytMeter0x28(bool arg) {
|
||||
field_0x04 = arg;
|
||||
}
|
||||
virtual u8 LytMeter0x2C() const {
|
||||
return field_0x05;
|
||||
}
|
||||
|
||||
virtual void LytMeter0x30(u8 arg) {
|
||||
field_0x05 = arg;
|
||||
}
|
||||
|
||||
bool field_0x04;
|
||||
u8 field_0x05;
|
||||
};
|
||||
|
||||
struct LytMeterListNode {
|
||||
nw4r::ut::LinkListNode mNode;
|
||||
dLytMeterBase *mpMeter;
|
||||
nw4r::lyt::Pane *mpPane;
|
||||
};
|
||||
|
||||
typedef nw4r::ut::LinkList<LytMeterListNode, 0> LytMeterGroup;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef D_LYT_METER_REMOCON_BH_H
|
||||
#define D_LYT_METER_REMOCON_BH_H
|
||||
|
||||
#include <d/lyt/d2d.h>
|
||||
#include <d/lyt/d_lyt_sub.h>
|
||||
#include <d/lyt/meter/d_lyt_meter_base.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dLytMeterRemoconBg_c : public dLytMeterBase {
|
||||
public:
|
||||
dLytMeterRemoconBg_c();
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc) override;
|
||||
virtual bool LytMeter0x10() override;
|
||||
virtual bool LytMeter0x14() override;
|
||||
virtual nw4r::lyt::Pane *getPane() override;
|
||||
virtual void *LytMeter0x1C() override;
|
||||
virtual const char *getName() const override;
|
||||
|
||||
virtual ~dLytMeterRemoconBg_c();
|
||||
private:
|
||||
STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, On);
|
||||
STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, Active);
|
||||
STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, Off);
|
||||
|
||||
UI_STATE_MGR_DECLARE(dLytMeterRemoconBg_c);
|
||||
dLytSub mLyt;
|
||||
/* 0xD8 */ nw4r::lyt::Pane *mpPane;
|
||||
/* 0xDC */ u32 field_0xDC;
|
||||
/* 0xE0 */ u32 field_0xE0;
|
||||
/* 0xE4 */ u32 field_0xE4;
|
||||
/* 0xE8 */ u32 field_0xE8;
|
||||
/* 0xEC */ bool field_0xEC;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,17 +1,12 @@
|
||||
#ifndef D_T_ROCK_BOAT
|
||||
#define D_T_ROCK_BOAT
|
||||
|
||||
#include <d/a/d_a_base.h>
|
||||
#include <d/tg/d_tg.h>
|
||||
#include <f/f_list_nd.h>
|
||||
#include <s/s_State.hpp>
|
||||
#include <s/s_StateMgr.hpp>
|
||||
|
||||
class dTgAbs_c : public dAcBase_c {
|
||||
public:
|
||||
virtual ~dTgAbs_c() {}
|
||||
};
|
||||
|
||||
class dTgRockBoat_c : public dTgAbs_c {
|
||||
class dTgRockBoat_c : public dTg_c {
|
||||
public:
|
||||
dTgRockBoat_c() : mStateMgr(*this, sStateID::null) {}
|
||||
virtual ~dTgRockBoat_c() {}
|
||||
|
||||
@@ -46,6 +46,7 @@ protected:
|
||||
|
||||
class FrameCtrl_c {
|
||||
public:
|
||||
FrameCtrl_c() : mEndFrame(0.0f), mCurrFrame(0.0f), mPrevFrame(0.0f), mRate(1.0f) {}
|
||||
virtual ~FrameCtrl_c();
|
||||
|
||||
void play();
|
||||
|
||||
@@ -15,6 +15,8 @@ struct PaneLink {
|
||||
};
|
||||
} // namespace detail
|
||||
|
||||
typedef ut::LinkList<detail::PaneLink, 0> PaneList;
|
||||
|
||||
class Group {
|
||||
public:
|
||||
Group(const res::Group *pResGroup, Pane *pRootPane);
|
||||
@@ -23,7 +25,7 @@ public:
|
||||
void AppendPane(Pane *pPane);
|
||||
void Init();
|
||||
|
||||
ut::LinkList<detail::PaneLink, 0> *GetPaneList() {
|
||||
PaneList *GetPaneList() {
|
||||
return &mPaneListLink;
|
||||
}
|
||||
bool IsUserAllocated() const {
|
||||
@@ -35,7 +37,7 @@ public:
|
||||
|
||||
private:
|
||||
ut::LinkListNode mLink; // at 0x04
|
||||
ut::LinkList<detail::PaneLink, 0> mPaneListLink; // at 0x0C
|
||||
PaneList mPaneListLink; // at 0x0C
|
||||
char mName[NW4R_RES_NAME_SIZE + 1]; // at 0x18
|
||||
bool mbUserAllocated; // at 0x29
|
||||
u8 mPadding[2]; // at 0x2A
|
||||
|
||||
@@ -143,7 +143,35 @@ struct Group {
|
||||
u16 paneNum; // at 0x18
|
||||
u16 padding; // at 0x1A
|
||||
};
|
||||
|
||||
enum ExtUserDataType {
|
||||
TYPE_STRING,
|
||||
TYPE_INT,
|
||||
TYPE_FLOAT,
|
||||
};
|
||||
|
||||
struct ExtUserData {
|
||||
inline const char *GetString() const {
|
||||
return detail::ConvertOffsToPtr<const char>(this, datOffs);
|
||||
}
|
||||
|
||||
inline float GetFloat() const {
|
||||
return *detail::ConvertOffsToPtr<float>(this, datOffs);
|
||||
}
|
||||
|
||||
inline int GetInt() const {
|
||||
return *detail::ConvertOffsToPtr<int>(this, datOffs);
|
||||
}
|
||||
|
||||
inline const char *GetName() const {
|
||||
return nameOffs != 0 ? detail::ConvertOffsToPtr<const char>(this, nameOffs) : nullptr;
|
||||
}
|
||||
|
||||
inline ExtUserDataType GetType() const {
|
||||
return (ExtUserDataType)type;
|
||||
}
|
||||
|
||||
private:
|
||||
u32 nameOffs; // at 0x00
|
||||
u32 datOffs; // at 0x04
|
||||
u16 numEntries; // at 0x08
|
||||
|
||||
@@ -53,6 +53,25 @@ public:
|
||||
void SetFontSize(const Size &fontSize) {
|
||||
mFontSize = fontSize;
|
||||
}
|
||||
|
||||
|
||||
f32 GetCharSpace() const {
|
||||
return mCharSpace;
|
||||
}
|
||||
|
||||
void SetCharSpace(f32 charSpace) {
|
||||
mCharSpace = charSpace;
|
||||
}
|
||||
|
||||
|
||||
f32 GetLineSpace() const {
|
||||
return mLineSpace;
|
||||
}
|
||||
|
||||
void SetLineSpace(f32 lineSpace) {
|
||||
mLineSpace = lineSpace;
|
||||
}
|
||||
|
||||
ut::TagProcessorBase<wchar_t> *GetTagProcessor() const {
|
||||
return mpTagProcessor;
|
||||
}
|
||||
|
||||
@@ -34,18 +34,18 @@ inline void SetBit(T *bits, int pos, bool val) {
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T GetBits(T bits, int pos, int len) {
|
||||
inline T GetBits(T bits, int pos, int len) {
|
||||
u32 mask = T(1 << pos);
|
||||
return bits & mask;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T *ConvertOffsToPtr(void *baseAddress, unsigned int offset) {
|
||||
inline T *ConvertOffsToPtr(void *baseAddress, unsigned int offset) {
|
||||
return (T *)((u32)baseAddress + offset);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
const T *ConvertOffsToPtr(const void *baseAddress, unsigned int offset) {
|
||||
inline const T *ConvertOffsToPtr(const void *baseAddress, unsigned int offset) {
|
||||
return (const T *)((u32)baseAddress + offset);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,4 +22,7 @@
|
||||
void dummy_GetStateID() { \
|
||||
mStateMgr.getStateID(); \
|
||||
}
|
||||
|
||||
#define UI_STATE_MGR_DECLARE(class_name) \
|
||||
sFStateMgr_c<class_name, sStateMethodUsr_FI_c> mStateMgr;
|
||||
#endif
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include <MSL_C/string.h>
|
||||
|
||||
extern "C" bool strequals(const char *a, const char *b);
|
||||
|
||||
/**
|
||||
* A statically sized string buffer used for resource
|
||||
* identification where strings are guaranteed to be short.
|
||||
@@ -23,11 +25,11 @@ struct SizedString {
|
||||
|
||||
char mChars[Size];
|
||||
|
||||
char *operator&() {
|
||||
operator char *() {
|
||||
return mChars;
|
||||
}
|
||||
|
||||
const char *operator&() const {
|
||||
operator const char *() const {
|
||||
return mChars;
|
||||
}
|
||||
|
||||
@@ -57,6 +59,10 @@ struct SizedString {
|
||||
}
|
||||
}
|
||||
|
||||
bool operator==(const char* other) const {
|
||||
return strequals(mChars, other);
|
||||
}
|
||||
|
||||
int sprintf(const char *fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
+2
-2
@@ -31,10 +31,10 @@ void *loader_c::request(const char *path, u8 mountDirection, EGG::Heap *heap) {
|
||||
mpHeap = heap != nullptr ? heap : mDvd::getArchiveHeap();
|
||||
SizedString<128> buf;
|
||||
buf.sprintf("US%s", path);
|
||||
if (!mDvd::IsExistPath(&buf)) {
|
||||
if (!mDvd::IsExistPath(buf)) {
|
||||
buf.sprintf("%s", path);
|
||||
}
|
||||
mpCommand = mDvd_toMainRam_normal_c::create(&buf, mountDirection, heap);
|
||||
mpCommand = mDvd_toMainRam_normal_c::create(buf, mountDirection, heap);
|
||||
}
|
||||
if (mpCommand != nullptr && mpCommand->mStatus != 0) {
|
||||
mpBuffer = mpCommand->mDataPtr;
|
||||
|
||||
@@ -54,7 +54,7 @@ const char *dFontMng_c::getFontPath(u8 idx) {
|
||||
} else {
|
||||
TEMP_FONT_NAME.sprintf("/US/Font/%s/%s", getUsedLanguageString(), systemFonts[idx]);
|
||||
}
|
||||
return &TEMP_FONT_NAME;
|
||||
return TEMP_FONT_NAME;
|
||||
}
|
||||
|
||||
bool dFontMng_c::create() {
|
||||
|
||||
@@ -112,7 +112,7 @@ bool dRawArcEntry_c::loadArcFromDiskChecked(const char *fileName, const char *di
|
||||
SizedString<128> path;
|
||||
|
||||
if (checkArcExistsOnDiskInner(path, fileName, dirName)) {
|
||||
return loadArcFromDisk(fileName, &path, mountDirection, heap);
|
||||
return loadArcFromDisk(fileName, path, mountDirection, heap);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -133,9 +133,9 @@ BOOL dRawArcEntry_c::checkArcExistsOnDisk(const char *fileName, const char *dirN
|
||||
|
||||
BOOL dRawArcEntry_c::checkArcExistsOnDiskInner(SizedString<128> &path, const char *fileName, const char *dirName) {
|
||||
path.sprintf("/US/%s/%s.arc", dirName, fileName);
|
||||
if (!mDvd::IsExistPath(&path)) {
|
||||
if (!mDvd::IsExistPath(path)) {
|
||||
path.sprintf("/%s/%s.arc", dirName, fileName);
|
||||
if (!mDvd::IsExistPath(&path)) {
|
||||
if (!mDvd::IsExistPath(path)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -347,12 +347,10 @@ int dRawArcTable_c::ensureAllEntriesLoaded() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern "C" bool strequals(const char *, const char *);
|
||||
|
||||
dRawArcEntry_c *dRawArcTable_c::findEntry(const char *name) const {
|
||||
dRawArcEntry_c *entry = mpEntries;
|
||||
for (int i = 0; i < mCount; i++) {
|
||||
if (entry->isReferenced() && strequals(entry->name(), name)) {
|
||||
if (entry->isReferenced() && entry->name() == name) {
|
||||
return entry;
|
||||
}
|
||||
entry++;
|
||||
|
||||
+550
-15
@@ -9,6 +9,7 @@
|
||||
#include <nw4r/lyt/lyt_textBox.h>
|
||||
#include <nw4r/lyt/lyt_utils.h>
|
||||
#include <nw4r/lyt/lyt_window.h>
|
||||
#include <sized_string.h>
|
||||
|
||||
using namespace nw4r::lyt;
|
||||
|
||||
@@ -154,9 +155,17 @@ bool Layout_c::Build(const void *lytResBuf, ResourceAccessor *pResAcsr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
nw4r::lyt::AnimTransform *Layout_c::CreateAnimTransform(const void *animResBuf, nw4r::lyt::ResourceAccessor *pResAcsr) {
|
||||
nw4r::lyt::AnimTransform *transform = nw4r::lyt::Layout::CreateAnimTransform(animResBuf, pResAcsr);
|
||||
if (transform != nullptr) {
|
||||
mAnimTransList.Erase(transform);
|
||||
}
|
||||
return transform;
|
||||
}
|
||||
|
||||
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),
|
||||
mDrawInfo.SetLocationAdjustScale(nw4r::math::VEC2((f32)EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_1) /
|
||||
(f32)EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_2),
|
||||
1.0f));
|
||||
mDrawInfo.SetLocationAdjust(true);
|
||||
}
|
||||
@@ -189,7 +198,29 @@ void Multi_c::calcAfter() {
|
||||
mLayout.CalculateMtx(mDrawInfo);
|
||||
}
|
||||
|
||||
void Multi_c::draw() {}
|
||||
extern "C" bool NeedsScreenAdjustment();
|
||||
|
||||
// Largerly copied from m2d::Simple_c::draw
|
||||
void Multi_c::draw() {
|
||||
nw4r::ut::Rect r = mLayout.GetLayoutRect();
|
||||
f32 near = 0.0f;
|
||||
f32 far = 500.0f;
|
||||
EGG::Screen s;
|
||||
bool needsAdjust = NeedsScreenAdjustment();
|
||||
f32 f1 = EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_2);
|
||||
f32 f2 = EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_1);
|
||||
|
||||
f32 left = needsAdjust ? f1 * r.left / f2 : r.left;
|
||||
f32 right = needsAdjust ? f1 * r.right / f2 : r.right;
|
||||
s.SetProjectionType(EGG::Frustum::PROJ_ORTHO);
|
||||
s.ResetOrthographic(r.top, r.bottom, left, right, near, far);
|
||||
if (needsAdjust) {
|
||||
s.SetScale(nw4r::math::VEC3(f2 / f1, 1.0f, 1.0f));
|
||||
}
|
||||
s.SetProjectionGX();
|
||||
mDrawInfo.SetMultipleViewMtxOnDraw(false);
|
||||
mLayout.Draw(mDrawInfo);
|
||||
}
|
||||
|
||||
bool Multi_c::build(const char *name, m2d::ResAccIf_c *acc) {
|
||||
if (mLayout.GetRootPane() != nullptr) {
|
||||
@@ -241,14 +272,518 @@ void Multi_c::unbindAnims() {
|
||||
|
||||
LytBase_c::LytBase_c() : mpMsbtInfo(nullptr) {}
|
||||
|
||||
extern "C" void libms__LMS_CloseMessage(void *);
|
||||
LytBase_c::~LytBase_c() {
|
||||
if (mpMsbtInfo != nullptr) {
|
||||
libms__LMS_CloseMessage(mpMsbtInfo);
|
||||
LMS_CloseMessage(mpMsbtInfo);
|
||||
}
|
||||
}
|
||||
|
||||
bool AnmGroup_c::init(const char *fileName, m2d::ResAccIf_c *resAcc, d2d::Layout_c *layout, const char *groupName) {
|
||||
extern "C" const char *getUsedLanguageString();
|
||||
extern "C" nw4r::ut::TagProcessorBase<wchar_t> *GLOBAL_TEXT_MANAGER;
|
||||
|
||||
bool LytBase_c::build(const char *name, m2d::ResAccIf_c *acc) {
|
||||
if (mLayout.GetRootPane() != nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
mFlags |= 0x1;
|
||||
|
||||
if (acc == nullptr) {
|
||||
acc = mpResAcc;
|
||||
if (acc == nullptr) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void *resource = acc->getAccessor()->GetResource(0, name, nullptr);
|
||||
if (resource == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Copy the name, and once we reach a '.' append 'msbt'
|
||||
char fileName[0x32];
|
||||
int suffixIdx = 0;
|
||||
for (int i = 0; i < 0x32; i++) {
|
||||
if (suffixIdx == 0) {
|
||||
if (name[i] == '.') {
|
||||
suffixIdx = 1;
|
||||
}
|
||||
fileName[i] = name[i];
|
||||
} else if (suffixIdx == 1) {
|
||||
fileName[i] = 'm';
|
||||
suffixIdx = 2;
|
||||
} else if (suffixIdx == 2) {
|
||||
fileName[i] = 's';
|
||||
suffixIdx = 3;
|
||||
} else if (suffixIdx == 3) {
|
||||
fileName[i] = 'b';
|
||||
suffixIdx = 4;
|
||||
} else if (suffixIdx == 4) {
|
||||
fileName[i] = 't';
|
||||
suffixIdx = 5;
|
||||
} else {
|
||||
fileName[i] = '\0';
|
||||
suffixIdx = 6;
|
||||
}
|
||||
}
|
||||
|
||||
if (suffixIdx < 6) {
|
||||
return false;
|
||||
}
|
||||
|
||||
SizedString<0x80> localizedName;
|
||||
localizedName.sprintf("%s_%s", getUsedLanguageString(), fileName);
|
||||
|
||||
void *data = acc->getAccessor()->GetResource(0, localizedName, nullptr);
|
||||
if (data == nullptr) {
|
||||
mpMsbtInfo = nullptr;
|
||||
} else {
|
||||
mpMsbtInfo = LMS_InitMessage(data);
|
||||
}
|
||||
|
||||
bool ok = mLayout.Build(resource, acc->getAccessor());
|
||||
if (ok) {
|
||||
mLayout.SetTagProcessor(GLOBAL_TEXT_MANAGER);
|
||||
calc();
|
||||
setPropertiesRecursive(mLayout.GetRootPane(), -9999.0f, -9999.0f, -9999.0f, -9999.0f, -9999.0f);
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
dTextBox_c *LytBase_c::getTextBox(const char *name) {
|
||||
nw4r::lyt::Pane *pane = findPane(name);
|
||||
if (pane != nullptr) {
|
||||
nw4r::ut::DynamicCast<dTextBox_c *>(pane)->setLytBase(this);
|
||||
return nw4r::ut::DynamicCast<dTextBox_c *>(pane);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dWindow_c *LytBase_c::getWindow(const char *name) {
|
||||
nw4r::lyt::Pane *pane = findPane(name);
|
||||
if (pane != nullptr) {
|
||||
return nw4r::ut::DynamicCast<dWindow_c *>(pane);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dTextBox_c *LytBase_c::getSizeBoxInWindow(const char *windowName) {
|
||||
nw4r::lyt::Pane *pane = findPane(windowName);
|
||||
if (pane != nullptr) {
|
||||
dWindow_c *window = nw4r::ut::DynamicCast<dWindow_c *>(pane);
|
||||
return getTextBoxViaUserData(window, "size");
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dTextBox_c *LytBase_c::getTextBoxViaUserData(nw4r::lyt::Pane *pane, const char *name) {
|
||||
u16 num = pane->GetExtUserDataNum();
|
||||
const nw4r::lyt::res::ExtUserData *dat;
|
||||
dTextBox_c *textBox;
|
||||
if (num == 0) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
dat = pane->FindExtUserDataByName(name);
|
||||
if (dat == nullptr) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (dat->GetType() != nw4r::lyt::res::TYPE_STRING) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
textBox = getTextBox(dat->GetString());
|
||||
if (textBox == nullptr) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
return textBox;
|
||||
|
||||
fail:
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void LytBase_c::setPropertiesRecursive(nw4r::lyt::Pane *pane, f32 posX, f32 posY, f32 scale, f32 spaceX,
|
||||
f32 spaceY) {
|
||||
u16 num = pane->GetExtUserDataNum();
|
||||
if (num != 0) {
|
||||
const nw4r::lyt::res::ExtUserData *list = pane->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
if (userDatName == "c11n-posX-1" && list->GetType() == nw4r::lyt::res::TYPE_FLOAT) {
|
||||
posX = list->GetFloat();
|
||||
}
|
||||
if (userDatName == "c11n-posY-1" && list->GetType() == nw4r::lyt::res::TYPE_FLOAT) {
|
||||
posY = list->GetFloat();
|
||||
}
|
||||
if (userDatName == "c11n-scale-1" && list->GetType() == nw4r::lyt::res::TYPE_FLOAT) {
|
||||
scale = list->GetFloat();
|
||||
}
|
||||
if (userDatName == "c11n-spaceX-1" && list->GetType() == nw4r::lyt::res::TYPE_FLOAT) {
|
||||
spaceX = list->GetFloat();
|
||||
}
|
||||
if (userDatName == "c11n-spaceY-1" && list->GetType() == nw4r::lyt::res::TYPE_FLOAT) {
|
||||
spaceY = list->GetFloat();
|
||||
}
|
||||
|
||||
list++;
|
||||
}
|
||||
}
|
||||
|
||||
setProperties(pane, posX, posY, scale, spaceX, spaceY);
|
||||
for (nw4r::ut::LinkList<Pane, 4>::Iterator it = pane->GetChildList()->GetBeginIter();
|
||||
it != pane->GetChildList()->GetEndIter(); ++it) {
|
||||
setPropertiesRecursive(&*it, posX, posY, scale, spaceX, spaceY);
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" const char *fn_801B2600(const char *);
|
||||
extern "C" void fn_800AF930(dTextBox_c *, const char *);
|
||||
extern "C" void fn_800B0F40(dTextBox_c *);
|
||||
|
||||
// NOTE: This function uses `textBox->GetTranslateX1()` as a general placeholder to figure
|
||||
// out the details first. In reality these are all different functions!
|
||||
void LytBase_c::setProperties(nw4r::lyt::Pane *pane, f32 posX, f32 posY, f32 scale, f32 spaceX, f32 spaceY) {
|
||||
if (pane->GetName()[0] != 'T') {
|
||||
return;
|
||||
}
|
||||
|
||||
dTextBox_c *textBox = nw4r::ut::DynamicCast<dTextBox_c *>(pane);
|
||||
if (textBox == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
textBox->AllocStringBuffer(0x200);
|
||||
textBox->setLytBase(this);
|
||||
fn_800B0F40(textBox);
|
||||
|
||||
if (posX != -9999.0f || posY != -9999.0f) {
|
||||
if (posX == -9999.0f) {
|
||||
posX = 0.0f;
|
||||
}
|
||||
if (posY == -9999.0f) {
|
||||
posY = 0.0f;
|
||||
}
|
||||
nw4r::math::VEC3 t1 = textBox->GetTranslate();
|
||||
t1.x += posX;
|
||||
t1.y += posY;
|
||||
textBox->SetTranslate(t1);
|
||||
}
|
||||
|
||||
nw4r::math::VEC3 t2 = textBox->GetTranslate();
|
||||
t2.x += textBox->GetTranslateX1();
|
||||
t2.y += textBox->GetTranslateX1();
|
||||
textBox->SetTranslate(t2);
|
||||
|
||||
|
||||
if (scale != -9999.0f) {
|
||||
const nw4r::ut::Font *f = textBox->GetFont();
|
||||
if (f != nullptr) {
|
||||
// VEC2 internally copied via GPRs here, should be FPRs
|
||||
textBox->SetScale(scale * 0.01f);
|
||||
}
|
||||
} else {
|
||||
const nw4r::ut::Font *f = textBox->GetFont();
|
||||
if (f != nullptr) {
|
||||
// VEC2 internally copied via GPRs here, should be FPRs
|
||||
textBox->SetScale(textBox->GetTranslateX1());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
f32 f4 = 0.0f;
|
||||
f32 f6 = 0.0f;
|
||||
|
||||
if (spaceX != -9999.0f) {
|
||||
textBox->SetCharSpace(spaceX);
|
||||
} else {
|
||||
f6 = textBox->GetTranslateX1();
|
||||
}
|
||||
|
||||
if (spaceY != -9999.0f) {
|
||||
textBox->SetLineSpace(spaceY);
|
||||
} else {
|
||||
f4 = textBox->GetTranslateX1();
|
||||
}
|
||||
|
||||
textBox->SetCharSpace(f6 + textBox->GetCharSpace() + textBox->GetTranslateX1());
|
||||
textBox->SetLineSpace(f4 + textBox->GetLineSpace() + textBox->GetTranslateX1());
|
||||
fn_800AB930(textBox);
|
||||
}
|
||||
|
||||
|
||||
bool LytBase_c::fn_800AB930(dTextBox_c *box) {
|
||||
return fn_800AB9A0(box, -1);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AB940(const char *name, int arg) {
|
||||
dTextBox_c *box = getTextBox(name);
|
||||
if (box == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return fn_800AB9A0(box, arg);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AB9A0(dTextBox_c *textbox, int arg) {
|
||||
if (getMsbtInfo() == nullptr) {
|
||||
return false;
|
||||
}
|
||||
u16 num = textbox->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
s32 ty = 2;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
if (userDatName == "embed" && list->GetType() == nw4r::lyt::res::TYPE_INT) {
|
||||
found = 1;
|
||||
ty = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (userDatName == "copy" && list->GetType() == nw4r::lyt::res::TYPE_STRING) {
|
||||
found = 1;
|
||||
ty = 1;
|
||||
break;
|
||||
}
|
||||
list++;
|
||||
}
|
||||
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ty == 1) {
|
||||
dTextBox_c *otherBox = getTextBox(list->GetString());
|
||||
if (otherBox != nullptr) {
|
||||
return fn_800ABB80(textbox, otherBox, arg);
|
||||
}
|
||||
} else {
|
||||
return fn_800ABCE0(list, textbox, textbox, arg);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800ABB80(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg) {
|
||||
u16 num = textbox2->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox2->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
if (userDatName == "embed" && list->GetType() == nw4r::lyt::res::TYPE_INT) {
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
list++;
|
||||
}
|
||||
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
return fn_800ABCE0(list, textbox1, textbox2, arg);
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800ABCE0(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2,
|
||||
int arg) {
|
||||
int userDatInt = userDatum->GetInt();
|
||||
SizedString<0x40> str1;
|
||||
SizedString<0x40> str2;
|
||||
|
||||
str1 = textbox2->GetName();
|
||||
if (userDatInt != 0) {
|
||||
userDatInt = 0;
|
||||
if (arg != -1) {
|
||||
userDatInt = arg;
|
||||
}
|
||||
str2.sprintf(":%02d", userDatInt);
|
||||
// TODO this operator is not behaving correctly here - there's
|
||||
// an additional null check, and the source string address is
|
||||
// computed twice via stack instead of once.
|
||||
str1 += str2;
|
||||
}
|
||||
|
||||
const char *text = LMS_GetTextByLabel(getMsbtInfo(), str1);
|
||||
if (text == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_800AF930(textbox1, fn_801B2600(text));
|
||||
return true;
|
||||
}
|
||||
|
||||
// Now largely the same functions again, but with an additional argument
|
||||
bool LytBase_c::fn_800ABE50(dTextBox_c *textbox, int arg, void *unk) {
|
||||
if (getMsbtInfo() == nullptr) {
|
||||
return false;
|
||||
}
|
||||
u16 num = textbox->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
s32 ty = 2;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
if (userDatName == "embed" && list->GetType() == nw4r::lyt::res::TYPE_INT) {
|
||||
found = 1;
|
||||
ty = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (userDatName == "copy" && list->GetType() == nw4r::lyt::res::TYPE_STRING) {
|
||||
found = 1;
|
||||
ty = 1;
|
||||
break;
|
||||
}
|
||||
list++;
|
||||
}
|
||||
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ty == 1) {
|
||||
dTextBox_c *otherBox = getTextBox(list->GetString());
|
||||
if (otherBox != nullptr) {
|
||||
return fn_800AC040(textbox, otherBox, arg, unk);
|
||||
}
|
||||
} else {
|
||||
return fn_800AC1AC(list, textbox, textbox, arg, unk);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LytBase_c::fn_800AC040(dTextBox_c *textbox1, dTextBox_c *textbox2, int arg, void *unk) {
|
||||
u16 num = textbox2->GetExtUserDataNum();
|
||||
if (num == 0) {
|
||||
return false;
|
||||
}
|
||||
u32 found = 0;
|
||||
const nw4r::lyt::res::ExtUserData *list = textbox2->GetExtUserData();
|
||||
for (int i = 0; i < num; i++) {
|
||||
SizedString<0x40> userDatName;
|
||||
userDatName = list->GetName();
|
||||
if (userDatName == "embed" && list->GetType() == nw4r::lyt::res::TYPE_INT) {
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
list++;
|
||||
}
|
||||
|
||||
if (found != 1) {
|
||||
return false;
|
||||
}
|
||||
return fn_800AC1AC(list, textbox1, textbox2, arg, unk);
|
||||
}
|
||||
|
||||
extern "C" void fn_800AF840(dTextBox_c *textbox1, MsbtInfo *, const char *, int arg, void *unk);
|
||||
|
||||
bool LytBase_c::fn_800AC1AC(const nw4r::lyt::res::ExtUserData *userDatum, dTextBox_c *textbox1, dTextBox_c *textbox2, int arg, void *unk) {
|
||||
int userDatInt = userDatum->GetInt();
|
||||
SizedString<0x40> str1;
|
||||
SizedString<0x40> str2;
|
||||
|
||||
str1 = textbox2->GetName();
|
||||
if (userDatInt != 0) {
|
||||
str2.sprintf(":%02d", 0);
|
||||
// TODO this operator is not behaving correctly here - there's
|
||||
// an additional null check, and the source string address is
|
||||
// computed twice via stack instead of once.
|
||||
str1 += str2;
|
||||
}
|
||||
|
||||
fn_800AF840(textbox1, getMsbtInfo(), str1, arg, unk);
|
||||
return true;
|
||||
}
|
||||
|
||||
MsbtInfo *LytBase_c::getMsbtInfo() const {
|
||||
return mpMsbtInfo;
|
||||
}
|
||||
|
||||
nw4r::lyt::Group *LytBase_c::findGroupByName(const char *name) {
|
||||
nw4r::lyt::Group *ret = nullptr;
|
||||
if (mLayout.GetGroupContainer() != nullptr) {
|
||||
ret = mLayout.GetGroupContainer()->FindGroupByName(name);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool hasSameBaseName(const char *left, const char *right) {
|
||||
// A for loop turns this into a bdnz
|
||||
bool same = true;
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (i >= 0x1E) {
|
||||
same = false;
|
||||
break;
|
||||
}
|
||||
char a = *left;
|
||||
char b = *right;
|
||||
if (a == '\0' && b == '\0') {
|
||||
break;
|
||||
}
|
||||
if (a != b) {
|
||||
if (b != '.') {
|
||||
same = false;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
left++;
|
||||
right++;
|
||||
i++;
|
||||
}
|
||||
|
||||
return same;
|
||||
}
|
||||
|
||||
char *sRef = "ref";
|
||||
|
||||
|
||||
void LytBase_c::linkMeters(nw4r::lyt::Group *group, LytMeterGroup *meterGroup) {
|
||||
// single regswap
|
||||
nw4r::ut::LinkList<LytMeterListNode, 0>::Iterator beginIt = meterGroup->GetBeginIter();
|
||||
nw4r::ut::LinkList<LytMeterListNode, 0>::Iterator endIt = meterGroup->GetEndIter();
|
||||
|
||||
for (nw4r::lyt::PaneList::Iterator paneIt = group->GetPaneList()->GetBeginIter();
|
||||
paneIt != group->GetPaneList()->GetEndIter(); ++paneIt) {
|
||||
nw4r::lyt::Pane *pane = paneIt->mTarget;
|
||||
int num = pane->GetExtUserDataNum();
|
||||
if (num != 0) {
|
||||
const nw4r::lyt::res::ExtUserData *dat = pane->FindExtUserDataByName(sRef);
|
||||
if (dat != nullptr && dat->GetType() == nw4r::lyt::res::TYPE_STRING) {
|
||||
for (nw4r::ut::LinkList<LytMeterListNode, 0>::Iterator it = beginIt; it != endIt; ++it) {
|
||||
dLytMeterBase *meter = it->mpMeter;
|
||||
if (!meter->LytMeter0x24()) {
|
||||
if (hasSameBaseName(dat->GetString(), meter->getName())) {
|
||||
it->mpPane = pane;
|
||||
pane->AppendChild(meter->getPane());
|
||||
meter->LytMeter0x28(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool AnmGroupBase_c::init(const char *fileName, m2d::ResAccIf_c *resAcc, d2d::Layout_c *layout, const char *groupName) {
|
||||
if (layout->GetGroupContainer() == nullptr) {
|
||||
return false;
|
||||
}
|
||||
@@ -261,7 +796,7 @@ bool AnmGroup_c::init(const char *fileName, m2d::ResAccIf_c *resAcc, d2d::Layout
|
||||
return init(transform, fileName, resAcc, group);
|
||||
}
|
||||
|
||||
bool AnmGroup_c::init(nw4r::lyt::AnimTransform *transform, const char *name, m2d::ResAccIf_c *acc,
|
||||
bool AnmGroupBase_c::init(nw4r::lyt::AnimTransform *transform, const char *name, m2d::ResAccIf_c *acc,
|
||||
nw4r::lyt::Group *group) {
|
||||
if (transform == nullptr) {
|
||||
return false;
|
||||
@@ -286,7 +821,7 @@ bool AnmGroup_c::init(nw4r::lyt::AnimTransform *transform, const char *name, m2d
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC6D0(bool b) {
|
||||
bool AnmGroupBase_c::fn_800AC6D0(bool b) {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
@@ -314,7 +849,7 @@ bool AnmGroup_c::fn_800AC6D0(bool b) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC7D0() {
|
||||
bool AnmGroupBase_c::fn_800AC7D0() {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
if (anmTransform == nullptr) {
|
||||
return false;
|
||||
@@ -330,11 +865,11 @@ bool AnmGroup_c::fn_800AC7D0() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AnmGroup_c::fn_800AC860() {
|
||||
bool AnmGroupBase_c::fn_800AC860() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void AnmGroup_c::fn_800AC870(bool b) {
|
||||
void AnmGroupBase_c::setAnimEnable(bool b) {
|
||||
nw4r::lyt::Group *group = mpGroup;
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
nw4r::lyt::SetAnimationEnable(group, anmTransform, b, mAnmResource.IsDescendingBind());
|
||||
@@ -345,19 +880,19 @@ void AnmGroup_c::fn_800AC870(bool b) {
|
||||
}
|
||||
}
|
||||
|
||||
void AnmGroup_c::setAnmFrame(f32 arg) {
|
||||
void AnmGroupBase_c::setAnmFrame(f32 arg) {
|
||||
mpAnmTransform->SetFrame(arg);
|
||||
}
|
||||
|
||||
void AnmGroup_c::syncAnmFrame() {
|
||||
void AnmGroupBase_c::syncAnmFrame() {
|
||||
setAnmFrame(mpFrameCtrl->getFrame());
|
||||
}
|
||||
|
||||
void AnmGroup_c::setForward() {
|
||||
void AnmGroupBase_c::setForward() {
|
||||
mpFrameCtrl->setForward();
|
||||
}
|
||||
|
||||
void AnmGroup_c::setBackward() {
|
||||
void AnmGroupBase_c::setBackward() {
|
||||
mpFrameCtrl->setBackward();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
#include <d/lyt/d_lyt_battery.h>
|
||||
#include <egg/core/eggController.h>
|
||||
#include <m/m_pad.h>
|
||||
#include <toBeSorted/arc_managers/layout_arc_manager.h>
|
||||
|
||||
STATE_DEFINE(dLytBattery_c, Off);
|
||||
STATE_DEFINE(dLytBattery_c, In);
|
||||
STATE_DEFINE(dLytBattery_c, On);
|
||||
STATE_DEFINE(dLytBattery_c, None);
|
||||
STATE_DEFINE(dLytBattery_c, Out);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{ "denchi_00_in.brlan", "G_inOut_00"},
|
||||
{"denchi_00_none.brlan", "G_inOut_00"},
|
||||
{"denchi_00_loop.brlan", "G_loop_00"},
|
||||
{ "denchi_00_out.brlan", "G_inOut_00"},
|
||||
};
|
||||
|
||||
#define LYT_BATTERY_ANIM_IN 0
|
||||
#define LYT_BATTERY_ANIM_NONE 1
|
||||
#define LYT_BATTERY_ANIM_LOOP 2
|
||||
#define LYT_BATTERY_ANIM_OUT 3
|
||||
|
||||
bool dLytBattery_c::create() {
|
||||
new dLytBattery_c();
|
||||
if (sInstance == nullptr) {
|
||||
return false;
|
||||
}
|
||||
sInstance->init();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytBattery_c::draw() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->doDraw();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytBattery_c::init() {
|
||||
void *data = LayoutArcManager::sInstance->getLoadedData("System2D");
|
||||
mResAcc.attach(data, "");
|
||||
mLyt.setResAcc(&mResAcc);
|
||||
mLyt.build("denchi_00.brlyt", nullptr);
|
||||
|
||||
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].setAnimEnable(false);
|
||||
}
|
||||
|
||||
mAnmGroups[LYT_BATTERY_ANIM_LOOP].setAnimEnable(true);
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
mLyt.calc();
|
||||
mDismissManually = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
extern "C" void fn_80016200();
|
||||
|
||||
bool dLytBattery_c::doDraw() {
|
||||
mStateMgr.executeState();
|
||||
if (*mStateMgr.getStateID() != StateID_Off) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mAnmGroups[i].isFlag2()) {
|
||||
mAnmGroups[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
mLyt.calc();
|
||||
fn_80016200();
|
||||
mLyt.draw();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytBattery_c::dismissManually() {
|
||||
if (*mStateMgr.getStateID() != StateID_On) {
|
||||
return false;
|
||||
}
|
||||
mDismissManually = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
extern "C" bool isLowBattery1();
|
||||
extern "C" bool isLowBattery2();
|
||||
|
||||
bool dLytBattery_c::hasEnoughBatteryCharge() {
|
||||
if (!mPad::g_currentCore->mFlag.offBit(0) && (isLowBattery2() || isLowBattery1())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytBattery_c::initializeState_Off() {}
|
||||
void dLytBattery_c::executeState_Off() {
|
||||
if (!hasEnoughBatteryCharge()) {
|
||||
mAnmGroups[LYT_BATTERY_ANIM_IN].setAnimEnable(true);
|
||||
mAnmGroups[LYT_BATTERY_ANIM_IN].setFrame(0.0f);
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
}
|
||||
void dLytBattery_c::finalizeState_Off() {}
|
||||
|
||||
void dLytBattery_c::initializeState_In() {}
|
||||
void dLytBattery_c::executeState_In() {
|
||||
if (mAnmGroups[LYT_BATTERY_ANIM_IN].isEndReached()) {
|
||||
mAnmGroups[LYT_BATTERY_ANIM_IN].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_On);
|
||||
}
|
||||
}
|
||||
void dLytBattery_c::finalizeState_In() {}
|
||||
|
||||
void dLytBattery_c::initializeState_On() {}
|
||||
void dLytBattery_c::executeState_On() {
|
||||
if (mDismissManually == true) {
|
||||
mDismissManually = false;
|
||||
mStateMgr.changeState(StateID_None);
|
||||
} else {
|
||||
if (hasEnoughBatteryCharge()) {
|
||||
mAnmGroups[LYT_BATTERY_ANIM_OUT].setAnimEnable(true);
|
||||
mAnmGroups[LYT_BATTERY_ANIM_OUT].setFrame(0.0f);
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytBattery_c::finalizeState_On() {}
|
||||
|
||||
void dLytBattery_c::initializeState_None() {
|
||||
d2d::AnmGroup_c &grp = mAnmGroups[LYT_BATTERY_ANIM_NONE];
|
||||
grp.setAnimEnable(true);
|
||||
grp.setFrame(0.0f);
|
||||
}
|
||||
void dLytBattery_c::executeState_None() {
|
||||
d2d::AnmGroup_c &grp = mAnmGroups[LYT_BATTERY_ANIM_NONE];
|
||||
if (grp.isEndReached()) {
|
||||
grp.setAnimEnable(false);
|
||||
}
|
||||
|
||||
if (hasEnoughBatteryCharge()) {
|
||||
mAnmGroups[LYT_BATTERY_ANIM_OUT].setAnimEnable(true);
|
||||
mAnmGroups[LYT_BATTERY_ANIM_OUT].setFrame(0.0f);
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
}
|
||||
}
|
||||
void dLytBattery_c::finalizeState_None() {}
|
||||
|
||||
void dLytBattery_c::initializeState_Out() {}
|
||||
void dLytBattery_c::executeState_Out() {
|
||||
if (mAnmGroups[LYT_BATTERY_ANIM_OUT].isEndReached()) {
|
||||
mAnmGroups[LYT_BATTERY_ANIM_OUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
}
|
||||
}
|
||||
void dLytBattery_c::finalizeState_Out() {}
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <d/lyt/common_arrow.h>
|
||||
#include <d/lyt/d_lyt_common_arrow.h>
|
||||
#include <toBeSorted/arc_managers/layout_arc_manager.h>
|
||||
|
||||
STATE_DEFINE(dLytCommonArrow_c, None);
|
||||
@@ -22,8 +22,6 @@ static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
|
||||
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, "");
|
||||
@@ -34,7 +32,7 @@ bool dLytCommonArrow_c::init() {
|
||||
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);
|
||||
d2d::dLytStructDList::sInstance->appendToList2(&field_0x680);
|
||||
field_0x6A8 = mLytBase.findBounding("B_arrowL_00");
|
||||
field_0x6AC = mLytBase.findBounding("B_arrowR_00");
|
||||
mStateMgr.changeState(StateID_None);
|
||||
@@ -43,7 +41,7 @@ bool dLytCommonArrow_c::init() {
|
||||
}
|
||||
|
||||
bool dLytCommonArrow_c::fn_80168490() {
|
||||
lbl_80575260->detach(&field_0x680);
|
||||
d2d::dLytStructDList::sInstance->removeFromList2(&field_0x680);
|
||||
mLytBase.unbindAnims();
|
||||
for (int i = 0; i < 9; i++) {
|
||||
field_0x440[i].fn_800AC860();
|
||||
@@ -54,8 +52,7 @@ bool dLytCommonArrow_c::fn_80168490() {
|
||||
bool dLytCommonArrow_c::fn_80168500() {
|
||||
mStateMgr.executeState();
|
||||
if (!mStateMgr.getStateID()->isEqual(StateID_None)) {
|
||||
field_0x440[1].mpFrameCtrl->play();
|
||||
field_0x440[1].syncAnmFrame();
|
||||
field_0x440[1].play();
|
||||
}
|
||||
mLytBase.calc();
|
||||
field_0x680.field_0x22 = 0;
|
||||
@@ -111,7 +108,7 @@ bool dLytCommonArrow_c::fn_80168760() {
|
||||
|
||||
void dLytCommonArrow_c::fn_80168790(s32 idx, f32 frame) {
|
||||
d2d::AnmGroup_c *s = &field_0x440[idx];
|
||||
s->setFrame(frame);
|
||||
s->setFrameAndControlThings(frame);
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168800(s32 idx) {
|
||||
@@ -119,13 +116,12 @@ void dLytCommonArrow_c::fn_80168800(s32 idx) {
|
||||
}
|
||||
|
||||
void dLytCommonArrow_c::fn_80168810(d2d::AnmGroup_c *ctrl) {
|
||||
if (ctrl->mpFrameCtrl->getFrame()) {
|
||||
f32 newFrame = ctrl->mpFrameCtrl->getFrame() - 1.0f;
|
||||
if (ctrl->getFrame()) {
|
||||
f32 newFrame = ctrl->getFrame() - 1.0f;
|
||||
if (newFrame <= 0.0f) {
|
||||
newFrame = 0.0f;
|
||||
}
|
||||
ctrl->mpFrameCtrl->setFrame(newFrame);
|
||||
ctrl->syncAnmFrame();
|
||||
ctrl->setFrame(newFrame);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,16 +165,15 @@ void dLytCommonArrow_c::initializeState_In() {
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_In() {
|
||||
switch (field_0x6C4) {
|
||||
case 0:
|
||||
case 0: {
|
||||
d2d::AnmGroup_c *s = &field_0x440[0];
|
||||
if (s->mpFrameCtrl->isEndReached() == 1) {
|
||||
if (s->isEndReached() == 1) {
|
||||
field_0x6C4 += 1;
|
||||
field_0x6CA = 1;
|
||||
} else {
|
||||
s->mpFrameCtrl->play();
|
||||
s->syncAnmFrame();
|
||||
s->play();
|
||||
}
|
||||
break;
|
||||
} break;
|
||||
case 1:
|
||||
field_0x6CA = 0;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
@@ -219,14 +214,14 @@ void dLytCommonArrow_c::initializeState_Out() {
|
||||
}
|
||||
void dLytCommonArrow_c::executeState_Out() {
|
||||
switch (field_0x6C4) {
|
||||
case 0:
|
||||
case 0: {
|
||||
d2d::AnmGroup_c *s = &field_0x440[8];
|
||||
if (s->mpFrameCtrl->isEndReached() == 1) {
|
||||
if (s->isEndReached() == 1) {
|
||||
field_0x6C4 = 1;
|
||||
field_0x6CA = 1;
|
||||
}
|
||||
s->play();
|
||||
break;
|
||||
} break;
|
||||
case 1:
|
||||
mStateMgr.changeState(StateID_None);
|
||||
break;
|
||||
@@ -0,0 +1,177 @@
|
||||
#include <d/lyt/d_lyt_do_button.h>
|
||||
|
||||
struct DoButtonClass {
|
||||
DoButtonClass();
|
||||
virtual ~DoButtonClass();
|
||||
|
||||
u8 field_0x04;
|
||||
u8 field_0x05;
|
||||
u8 field_0x06;
|
||||
u8 field_0x07;
|
||||
f32 field_0x08;
|
||||
f32 field_0x0C;
|
||||
f32 field_0x10;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
};
|
||||
|
||||
static DoButtonClass sDoButtonClass;
|
||||
|
||||
DoButtonClass::DoButtonClass() {
|
||||
field_0x04 = 0;
|
||||
field_0x05 = 0x29;
|
||||
field_0x06 = 0x5E;
|
||||
field_0x07 = 0;
|
||||
field_0x08 = 0.0f;
|
||||
field_0x0C = 0.0f;
|
||||
field_0x14 = 0xFF;
|
||||
field_0x10 = 76.0f;
|
||||
field_0x15 = 0;
|
||||
field_0x16 = 0;
|
||||
}
|
||||
DoButtonClass::~DoButtonClass() {}
|
||||
|
||||
STATE_DEFINE(dLytDobutton_c, InvisibleWait);
|
||||
STATE_DEFINE(dLytDobutton_c, InvisibleTimeCnt);
|
||||
STATE_DEFINE(dLytDobutton_c, In);
|
||||
STATE_DEFINE(dLytDobutton_c, Wait);
|
||||
STATE_DEFINE(dLytDobutton_c, Out);
|
||||
|
||||
#define DO_BUTTON_ANIM_IN 0
|
||||
#define DO_BUTTON_ANIM 1
|
||||
#define DO_BUTTON_ANIM_LOOP_BTN 2
|
||||
#define DO_BUTTON_ANIM_LOOP_BTN_Z 3
|
||||
#define DO_BUTTON_ANIM_LOOP_NUN 4
|
||||
#define DO_BUTTON_ANIM_LOOP_REMO_CON 5
|
||||
#define DO_BUTTON_ANIM_LOOP_RECOVER 6
|
||||
#define DO_BUTTON_ANIM_LOOP_ROTATE 7
|
||||
#define DO_BUTTON_ANIM_LOOP_MOVE_INFO 8
|
||||
#define DO_BUTTON_ANIM_MOVE_ALPHA 9
|
||||
#define DO_BUTTON_ANIM_MOVE_OUT 10
|
||||
#define DO_BUTTON_ANIM_LOOP_BG 11
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{ "basicInfo_00_in.brlan", "G_inOut_00"},
|
||||
{ "basicInfo_00_basicInfo.brlan", "G_basicInfo_00"},
|
||||
{ "basicInfo_00_loopBtn.brlan", "G_loopBtn_00"},
|
||||
{ "basicInfo_00_loopBtn.brlan", "G_loopBtnZ_00"},
|
||||
{ "basicInfo_00_loopNun.brlan", "G_loopNun_00"},
|
||||
{"basicInfo_00_loopRemoCon.brlan", "G_loopRemoCon_00"},
|
||||
{"basicInfo_00_loopRecover.brlan", "G_loopRecover_00"},
|
||||
{ "basicInfo_00_loopRotate.brlan", "G_loopRotate"},
|
||||
{ "basicInfo_00_moveInfo.brlan", "G_moveInfo_00"},
|
||||
{ "basicInfo_00_moveAlpha.brlan", "G_moveAlpha_00"},
|
||||
{ "basicInfo_00_out.brlan", "G_inOut_00"},
|
||||
{ "basicInfo_00_loopBg.brlan", "G_loopBg_00"},
|
||||
};
|
||||
|
||||
void dLytDobutton_c::initializeState_InvisibleWait() {}
|
||||
void dLytDobutton_c::executeState_InvisibleWait() {
|
||||
if (field_0x488 == field_0x474 && mNextDoActionToShow == mDoActionToShow) {
|
||||
return;
|
||||
}
|
||||
|
||||
field_0x478 = field_0x474;
|
||||
field_0x474 = field_0x488;
|
||||
mDoActionToShow = mNextDoActionToShow;
|
||||
if (field_0x488 == 0x29) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mNextDoActionToShow == 0x5E) {
|
||||
return;
|
||||
}
|
||||
mStateMgr.changeState(StateID_InvisibleTimeCnt);
|
||||
}
|
||||
void dLytDobutton_c::finalizeState_InvisibleWait() {}
|
||||
|
||||
void dLytDobutton_c::initializeState_InvisibleTimeCnt() {
|
||||
field_0x48C = 0;
|
||||
}
|
||||
|
||||
extern "C" void fn_8010DF00(dLytDobutton_c *);
|
||||
|
||||
void dLytDobutton_c::executeState_InvisibleTimeCnt() {
|
||||
if (field_0x488 != field_0x474 || mNextDoActionToShow != mDoActionToShow) {
|
||||
field_0x478 = field_0x474;
|
||||
field_0x474 = field_0x488;
|
||||
mDoActionToShow = mNextDoActionToShow;
|
||||
if (field_0x488 == 0x29 || mNextDoActionToShow == 0x5E) {
|
||||
mStateMgr.changeState(StateID_InvisibleWait);
|
||||
} else {
|
||||
field_0x48C = 0;
|
||||
}
|
||||
} else {
|
||||
if (field_0x48C < sDoButtonClass.field_0x15) {
|
||||
field_0x48C++;
|
||||
} else {
|
||||
fn_8010DF00(this);
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytDobutton_c::finalizeState_InvisibleTimeCnt() {}
|
||||
|
||||
void dLytDobutton_c::initializeState_In() {
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(true);
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setFrame(0.0f);
|
||||
mLyt.calc();
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(false);
|
||||
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setAnimEnable(true);
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setFrame(0.0f);
|
||||
}
|
||||
void dLytDobutton_c::executeState_In() {
|
||||
if (field_0x488 == 0x29 || mNextDoActionToShow == 0x5E) {
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setFrame(0.0f);
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(true);
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setToEnd();
|
||||
mLyt.calc();
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setAnimEnable(false);
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_InvisibleWait);
|
||||
} else if (mAnmGroups[DO_BUTTON_ANIM_IN].isEndReached()) {
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
}
|
||||
void dLytDobutton_c::finalizeState_In() {}
|
||||
|
||||
void dLytDobutton_c::initializeState_Wait() {}
|
||||
void dLytDobutton_c::executeState_Wait() {
|
||||
if (field_0x488 != field_0x474 || mNextDoActionToShow != mDoActionToShow) {
|
||||
field_0x478 = field_0x474;
|
||||
field_0x474 = field_0x488;
|
||||
mDoActionToShow = mNextDoActionToShow;
|
||||
if (field_0x488 == 0x29 || mNextDoActionToShow == 0x5E) {
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
field_0x48C = 0;
|
||||
} else {
|
||||
fn_8010DF00(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytDobutton_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytDobutton_c::initializeState_Out() {
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setAnimEnable(true);
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setFrame(0.0f);
|
||||
mLyt.calc();
|
||||
mAnmGroups[DO_BUTTON_ANIM_IN].setAnimEnable(false);
|
||||
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(true);
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setFrame(0.0f);
|
||||
}
|
||||
void dLytDobutton_c::executeState_Out() {
|
||||
if (mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].isEndReached()) {
|
||||
mLyt.calc();
|
||||
mAnmGroups[DO_BUTTON_ANIM_MOVE_OUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_InvisibleTimeCnt);
|
||||
}
|
||||
}
|
||||
void dLytDobutton_c::finalizeState_Out() {}
|
||||
|
||||
bool dLytDobutton_c::init(m2d::ResAccIf_c *resAcc) {
|
||||
return brlanMap[0].mFile[0] != '\0' && sDoButtonClass.field_0x04;
|
||||
}
|
||||
@@ -27,7 +27,7 @@ void dLytFader_c::setStatus(EStatus status) {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setToEnd();
|
||||
s->fn_800AC870(true);
|
||||
s->setAnimEnable(true);
|
||||
s->play();
|
||||
mLytBase.calc();
|
||||
fn_80175BC0(2);
|
||||
@@ -38,7 +38,7 @@ void dLytFader_c::setStatus(EStatus status) {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->fn_800AC6D0(false);
|
||||
s->setToStart();
|
||||
s->fn_800AC870(true);
|
||||
s->setAnimEnable(true);
|
||||
mLytBase.calc();
|
||||
fn_80175BC0(2);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(false);
|
||||
@@ -113,16 +113,14 @@ void dLytFader_c::fn_801758F0() {
|
||||
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);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_801759B0() {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
if (s->mpFrameCtrl->isEndReached() == true) {
|
||||
if (s->isEndReached() == true) {
|
||||
fn_80175BC0(2);
|
||||
mStatus = FADED_OUT;
|
||||
}
|
||||
@@ -135,16 +133,14 @@ void dLytFader_c::fn_80175A50() {
|
||||
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);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytFader_c::fn_80175B10() {
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[1];
|
||||
if (s->mpFrameCtrl->isEndReached() == true) {
|
||||
if (s->isEndReached() == true) {
|
||||
fn_80175BC0(2);
|
||||
mStatus = FADED_IN;
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(false);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <d/lyt/pause_disp_00.h>
|
||||
#include <d/lyt/d_lyt_pause_disp_00.h>
|
||||
#include <nw4r/lyt/lyt_group.h>
|
||||
|
||||
STATE_DEFINE(dLytPauseDisp00_c, None);
|
||||
@@ -16,9 +16,6 @@ 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;
|
||||
@@ -29,18 +26,18 @@ void dLytPauseDisp00_c::init() {
|
||||
|
||||
for (int i = 0; i < 0x18; i++) {
|
||||
field_0x2050[i].init(nullptr, lbl_804E8898[i]);
|
||||
mList.PushBack(&field_0x2050[i]);
|
||||
mLytMeterGroup.PushBack(&field_0xE11C[i]);
|
||||
}
|
||||
|
||||
if (mLytBase.getLayout()->GetGroupContainer() != nullptr) {
|
||||
nw4r::lyt::Group *group = mLytBase.getLayout()->GetGroupContainer()->FindGroupByName("G_ref_00");
|
||||
if (group != nullptr) {
|
||||
fn_800AC3C0(group, &mList);
|
||||
mLytBase.linkMeters(group, &mLytMeterGroup);
|
||||
}
|
||||
}
|
||||
|
||||
field_0xE29C.init(mLytBase.getLayout()->GetRootPane(), 1, 0, 0);
|
||||
lbl_80575260->append(&field_0xE29C);
|
||||
d2d::dLytStructDList::sInstance->appendToList2(&field_0xE29C);
|
||||
for (int i = 0; i < 0x25; i++) {
|
||||
if (i != 0x1F && i != 0x20) {
|
||||
nw4r::lyt::Bounding *b = mLytBase.findBounding(B_LIST[i]);
|
||||
@@ -51,7 +48,5 @@ void dLytPauseDisp00_c::init() {
|
||||
|
||||
void dLytPauseDisp00_c::displayElement(int i, float frame) {
|
||||
d2d::AnmGroup_c *s = &field_0x00D0[i];
|
||||
s->setFrame(frame);
|
||||
s->setFrameAndControlThings(frame);
|
||||
}
|
||||
|
||||
dLytPauseDisp00_c::~dLytPauseDisp00_c() {}
|
||||
@@ -0,0 +1,33 @@
|
||||
#include <d/lyt/d_structd.h>
|
||||
|
||||
namespace d2d
|
||||
{
|
||||
|
||||
dLytStructDList::dLytStructDList() {
|
||||
field_0x18 = true;
|
||||
sInstance = this;
|
||||
}
|
||||
|
||||
|
||||
dLytStructDList *dLytStructDList::create(EGG::Heap *heap) {
|
||||
return new(heap) dLytStructDList();
|
||||
}
|
||||
|
||||
|
||||
void dLytStructDList::appendToList1(dLytStructD *other) {
|
||||
mList1.insert(other);
|
||||
}
|
||||
|
||||
void dLytStructDList::removeFromList1(dLytStructD *other) {
|
||||
mList1.remove(other);
|
||||
}
|
||||
|
||||
void dLytStructDList::appendToList2(dLytStructD *other) {
|
||||
mList2.insert(other);
|
||||
}
|
||||
|
||||
void dLytStructDList::removeFromList2(dLytStructD *other) {
|
||||
mList2.remove(other);
|
||||
}
|
||||
|
||||
} // namespace d2d
|
||||
@@ -0,0 +1,7 @@
|
||||
#include <d/lyt/meter/d_lyt_meter.h>
|
||||
|
||||
|
||||
dLytMeter_c::dLytMeter_c() {}
|
||||
|
||||
dLytMeterRemoconBg_c::dLytMeterRemoconBg_c() : mStateMgr(*this, sStateID::null) {}
|
||||
dLytMeterRemoconBg_c::~dLytMeterRemoconBg_c() {}
|
||||
@@ -0,0 +1,59 @@
|
||||
#include <d/lyt/meter/d_lyt_meter_remocon_bg.h>
|
||||
#include <toBeSorted/event_manager.h>
|
||||
|
||||
STATE_DEFINE(dLytMeterRemoconBg_c, Wait);
|
||||
STATE_DEFINE(dLytMeterRemoconBg_c, On);
|
||||
STATE_DEFINE(dLytMeterRemoconBg_c, Active);
|
||||
STATE_DEFINE(dLytMeterRemoconBg_c, Off);
|
||||
|
||||
void dLytMeterRemoconBg_c::initializeState_Wait() {}
|
||||
void dLytMeterRemoconBg_c::executeState_Wait() {}
|
||||
void dLytMeterRemoconBg_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytMeterRemoconBg_c::initializeState_On() {}
|
||||
void dLytMeterRemoconBg_c::executeState_On() {}
|
||||
void dLytMeterRemoconBg_c::finalizeState_On() {}
|
||||
|
||||
void dLytMeterRemoconBg_c::initializeState_Active() {}
|
||||
void dLytMeterRemoconBg_c::executeState_Active() {}
|
||||
void dLytMeterRemoconBg_c::finalizeState_Active() {}
|
||||
|
||||
void dLytMeterRemoconBg_c::initializeState_Off() {}
|
||||
void dLytMeterRemoconBg_c::executeState_Off() {}
|
||||
void dLytMeterRemoconBg_c::finalizeState_Off() {}
|
||||
|
||||
static const char *n1 = "N_remoConBg_00";
|
||||
|
||||
bool dLytMeterRemoconBg_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("remoConBg_00.brlyt", nullptr);
|
||||
mpPane = mLyt.findPane(n1);
|
||||
field_0xE8 = 0x61;
|
||||
field_0xDC = 0x61;
|
||||
field_0xE0 = 0x61;
|
||||
field_0xEC = false;
|
||||
field_0xE4 = 1;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterRemoconBg_c::LytMeter0x10() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterRemoconBg_c::LytMeter0x14() {
|
||||
// TODO
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *dLytMeterRemoconBg_c::getName() const {
|
||||
return mLyt.getName();
|
||||
}
|
||||
|
||||
void *dLytMeterRemoconBg_c::LytMeter0x1C() {
|
||||
return &mLyt;
|
||||
}
|
||||
|
||||
nw4r::lyt::Pane *dLytMeterRemoconBg_c::getPane() {
|
||||
return mLyt.getLayout()->GetRootPane();
|
||||
}
|
||||
@@ -527,14 +527,7 @@ const res::ExtUserData *Pane::FindExtUserDataByName(const char *name) {
|
||||
}
|
||||
int i = 0;
|
||||
for (int i = 0; i < this->mpExtUserDataList->num; i++, pUserData++) {
|
||||
u32 offset = pUserData->nameOffs;
|
||||
const char *str = 0;
|
||||
if (offset != 0) {
|
||||
str = detail::ConvertOffsToPtr<char>(pUserData, offset);
|
||||
} else {
|
||||
str = nullptr;
|
||||
}
|
||||
|
||||
const char *str = pUserData->GetName();
|
||||
if (strcmp(name, str) == 0) {
|
||||
return pUserData;
|
||||
};
|
||||
|
||||
@@ -64,14 +64,14 @@ void ArcCallbackHandlerBase::CreateArcEntry(void *data, const char *path) {
|
||||
} else if (mPrefix == NAME_OARC) {
|
||||
SizedString<64> oarcPath = path;
|
||||
char buf[64];
|
||||
sscanf(&oarcPath, "/oarc/%31[^.]arc", buf);
|
||||
sscanf(oarcPath, "/oarc/%31[^.]arc", buf);
|
||||
u32 oldPrefix = mPrefix;
|
||||
OarcManager::sInstance->addEntryFromSuperArc(buf, data, nullptr);
|
||||
mPrefix = oldPrefix;
|
||||
} else if (mPrefix == NAME_RARC) {
|
||||
SizedString<64> oarcPath = path;
|
||||
char buf[64];
|
||||
sscanf(&oarcPath, "/rarc/%31[^.]arc", buf);
|
||||
sscanf(oarcPath, "/rarc/%31[^.]arc", buf);
|
||||
u32 oldPrefix = mPrefix;
|
||||
CurrentStageArcManager::sInstance->addEntryFromSuperArc(buf, data);
|
||||
mPrefix = oldPrefix;
|
||||
@@ -82,14 +82,14 @@ void ArcCallbackHandlerBase::DestroyArcEntry(const char *path) {
|
||||
if (mPrefix == NAME_OARC) {
|
||||
SizedString<64> oarcPath = path;
|
||||
char buf[64];
|
||||
sscanf(&oarcPath, "/oarc/%31[^.]arc", buf);
|
||||
sscanf(oarcPath, "/oarc/%31[^.]arc", buf);
|
||||
u32 oldPrefix = mPrefix;
|
||||
OarcManager::sInstance->decrement(buf);
|
||||
mPrefix = oldPrefix;
|
||||
} else if (mPrefix == NAME_RARC) {
|
||||
SizedString<64> oarcPath = path;
|
||||
char buf[64];
|
||||
sscanf(&oarcPath, "/rarc/%31[^.]arc", buf);
|
||||
sscanf(oarcPath, "/rarc/%31[^.]arc", buf);
|
||||
u32 oldPrefix = mPrefix;
|
||||
CurrentStageArcManager::sInstance->decrement(buf);
|
||||
mPrefix = oldPrefix;
|
||||
|
||||
@@ -19,26 +19,26 @@ bool CurrentStageArcManager::setStage(const char *newStage) {
|
||||
mStageName = newStage;
|
||||
|
||||
mCurrentLoadingStageArcName.sprintf("%s_stg_l0", mStageName);
|
||||
if (dRawArcEntry_c::checkArcExistsOnDisk(&mCurrentLoadingStageArcName, getCurrentStageDirectory())) {
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(&mCurrentLoadingStageArcName, getCurrentStageDirectory(), 0,
|
||||
if (dRawArcEntry_c::checkArcExistsOnDisk(mCurrentLoadingStageArcName, getCurrentStageDirectory())) {
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(mCurrentLoadingStageArcName, getCurrentStageDirectory(), 0,
|
||||
dHeap::work2Heap.heap);
|
||||
} else {
|
||||
mCurrentLoadingStageArcName.sprintf("%s_stg", mStageName);
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(&mCurrentLoadingStageArcName, getCurrentStageDirectory(), 0,
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(mCurrentLoadingStageArcName, getCurrentStageDirectory(), 0,
|
||||
dHeap::work2Heap.heap);
|
||||
}
|
||||
}
|
||||
|
||||
bool CurrentStageArcManager::decrement() {
|
||||
return mArcTable.decreaseRefCount(&mCurrentLoadingStageArcName);
|
||||
return mArcTable.decreaseRefCount(mCurrentLoadingStageArcName);
|
||||
}
|
||||
|
||||
void *CurrentStageArcManager::getData(const char *fileName) {
|
||||
return mArcTable.getDataFromOarc(&mCurrentLoadingStageArcName, fileName);
|
||||
return mArcTable.getDataFromOarc(mCurrentLoadingStageArcName, fileName);
|
||||
}
|
||||
|
||||
void *CurrentStageArcManager::getFileFromCurrentLay0Arc(const char *fileName) {
|
||||
return mArcTable.getSubEntryData(&mCurrentLoadingStageArcName, fileName);
|
||||
return mArcTable.getSubEntryData(mCurrentLoadingStageArcName, fileName);
|
||||
}
|
||||
|
||||
bool CurrentStageArcManager::loadFileFromExtraLayerArc(int layer) {
|
||||
@@ -47,8 +47,8 @@ bool CurrentStageArcManager::loadFileFromExtraLayerArc(int layer) {
|
||||
}
|
||||
|
||||
mStageExtraLayerArcName.sprintf("%s_stg_l%d", mStageName, layer);
|
||||
if (dRawArcEntry_c::checkArcExistsOnDisk(&mStageExtraLayerArcName, getCurrentStageDirectory())) {
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(&mStageExtraLayerArcName, getCurrentStageDirectory(), 0,
|
||||
if (dRawArcEntry_c::checkArcExistsOnDisk(mStageExtraLayerArcName, getCurrentStageDirectory())) {
|
||||
return (bool)mArcTable.getArcOrLoadFromDisk(mStageExtraLayerArcName, getCurrentStageDirectory(), 0,
|
||||
dHeap::work2Heap.heap);
|
||||
} else {
|
||||
return true;
|
||||
@@ -56,8 +56,8 @@ bool CurrentStageArcManager::loadFileFromExtraLayerArc(int layer) {
|
||||
}
|
||||
|
||||
bool CurrentStageArcManager::unloadExtraLayerArc() {
|
||||
if (mArcTable.hasEntry(&mStageExtraLayerArcName)) {
|
||||
return mArcTable.decreaseRefCount(&mStageExtraLayerArcName);
|
||||
if (mArcTable.hasEntry(mStageExtraLayerArcName)) {
|
||||
return mArcTable.decreaseRefCount(mStageExtraLayerArcName);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -96,16 +96,16 @@ EGG::ExpHeap *getHeap() {
|
||||
const char *CurrentStageArcManager::getCurrentStageDirectory() {
|
||||
static SizedString<64> sStageDirTmp;
|
||||
sStageDirTmp = "Stage/";
|
||||
sStageDirTmp += &mStageName;
|
||||
sStageDirTmp += mStageName;
|
||||
|
||||
return &sStageDirTmp;
|
||||
return sStageDirTmp;
|
||||
}
|
||||
|
||||
static SizedString<32> s_roomArcTmp;
|
||||
|
||||
const char *CurrentStageArcManager::getRoomArcDirectory(int room) const {
|
||||
s_roomArcTmp.sprintf("%s_r%02d", mStageName, room);
|
||||
return &s_roomArcTmp;
|
||||
return s_roomArcTmp;
|
||||
}
|
||||
|
||||
bool CurrentStageArcManager::create(EGG::Heap *heap) {
|
||||
|
||||
@@ -65,14 +65,14 @@ void *OarcManager::getDzbFromArc(const char *oarcName, const char *fileName) {
|
||||
SizedString<32> str = "dzb/";
|
||||
str += fileName;
|
||||
str += ".dzb";
|
||||
return mArcTable.getDataFromOarc(oarcName, &str);
|
||||
return mArcTable.getDataFromOarc(oarcName, str);
|
||||
}
|
||||
|
||||
void *OarcManager::getPlcFromArc(const char *oarcName, const char *fileName) {
|
||||
SizedString<32> str = "dat/";
|
||||
str += fileName;
|
||||
str += ".plc";
|
||||
return mArcTable.getDataFromOarc(oarcName, &str);
|
||||
return mArcTable.getDataFromOarc(oarcName, str);
|
||||
}
|
||||
|
||||
void *OarcManager::getSubEntryData(const char *oarcName, const char *fileName) {
|
||||
|
||||
@@ -121,7 +121,7 @@ u16 *FileManager::getStoryFlagsMut() {
|
||||
|
||||
SizedString<32> buf;
|
||||
buf = "F405";
|
||||
file->setAreaT1(&buf);
|
||||
file->setAreaT1(buf);
|
||||
file->room_id_t1 = 0;
|
||||
file->forced_layer_t1 = 0;
|
||||
file->entrance_t1_load_flag = 1;
|
||||
|
||||
Reference in New Issue
Block a user