mirror of https://github.com/zeldaret/tp.git
Link all oustanding US-matched TUs for JP (#2671)
This commit is contained in:
parent
818dec837f
commit
11ebeb3fe0
|
|
@ -13,3 +13,4 @@ d/actor/d_a_midna.cpp:
|
|||
.text start:0x00000078 end:0x0000A320
|
||||
.rodata start:0x00000000 end:0x0000076C
|
||||
.data start:0x00000000 end:0x000000A0
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_drop.cpp:
|
|||
.text start:0x00000078 end:0x00002320
|
||||
.rodata start:0x00000000 end:0x000000D8
|
||||
.data start:0x00000000 end:0x000001D8
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_kshutter.cpp:
|
|||
.text start:0x00000078 end:0x00002260
|
||||
.rodata start:0x00000000 end:0x000001B8
|
||||
.data start:0x00000000 end:0x00000284
|
||||
.bss start:0x00000000 end:0x00000008
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_lv4RailWall.cpp:
|
|||
.text start:0x00000078 end:0x00001130
|
||||
.rodata start:0x00000000 end:0x00000084
|
||||
.data start:0x00000000 end:0x0000017C
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_lv4sand.cpp:
|
|||
.text start:0x00000078 end:0x00000990
|
||||
.rodata start:0x00000000 end:0x00000028
|
||||
.data start:0x00000000 end:0x00000128
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -14,3 +14,4 @@ d/actor/d_a_obj_master_sword.cpp:
|
|||
.ctors start:0x00000000 end:0x00000004
|
||||
.rodata start:0x00000000 end:0x0000003C
|
||||
.data start:0x00000000 end:0x00000154
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_swhang.cpp:
|
|||
.text start:0x00000078 end:0x00001914
|
||||
.rodata start:0x00000000 end:0x000000DC
|
||||
.data start:0x00000000 end:0x00000214
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -1162,7 +1162,7 @@ d/d_msg_unit.cpp:
|
|||
.rodata start:0x803937C8 end:0x803937E8
|
||||
.data start:0x803BAD30 end:0x803BAD40
|
||||
.bss start:0x8042A7F8 end:0x8042A808
|
||||
.sbss start:0x8044B210 end:0x8044B220
|
||||
.sbss start:0x8044B210 end:0x8044B218
|
||||
.sdata2 start:0x8044EC68 end:0x8044EC80
|
||||
|
||||
d/d_msg_scrn_3select.cpp:
|
||||
|
|
@ -1227,6 +1227,7 @@ d/d_msg_scrn_light.cpp:
|
|||
.rodata start:0x80393C18 end:0x80393C88
|
||||
.data start:0x803BB3D8 end:0x803BB3F0
|
||||
.bss start:0x8042A808 end:0x8042A868
|
||||
.sbss start:0x8044B218 end:0x8044B220
|
||||
.sdata2 start:0x8044EE00 end:0x8044EE10
|
||||
|
||||
d/d_msg_scrn_place.cpp:
|
||||
|
|
|
|||
|
|
@ -21499,10 +21499,10 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x8044A990; // type:object size:0x4
|
|||
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x8044A994; // type:object size:0x4 scope:global align:4 data:float
|
||||
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x8044A998; // type:object size:0x4 scope:global align:4 data:float
|
||||
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8044A99C; // type:object size:0x4 scope:global align:4 data:float
|
||||
lbl_8044A9A0 = .sdata:0x8044A9A0; // type:object size:0x1 scope:global align:1 data:byte
|
||||
struct_80450860 = .sdata:0x8044A9A0; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A1 = .sdata:0x8044A9A1; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A2 = .sdata:0x8044A9A2; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A3 = .sdata:0x8044A9A3; // type:object size:0x1 scope:global align:1 data:byte
|
||||
struct_80450863 = .sdata:0x8044A9A3; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A4 = .sdata:0x8044A9A4; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A5 = .sdata:0x8044A9A5; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044A9A6 = .sdata:0x8044A9A6; // type:object size:0x1 scope:global align:1 data:byte
|
||||
|
|
@ -21899,7 +21899,7 @@ init$11661 = .sbss:0x8044B084; // type:object size:0x1 data:byte
|
|||
rot$12032 = .sbss:0x8044B088; // type:object size:0x4 scope:local align:4 data:float
|
||||
init$12033 = .sbss:0x8044B08C; // type:object size:0x1 data:byte
|
||||
data$3831 = .sbss:0x8044B090; // type:object size:0x8 scope:local align:4
|
||||
lbl_8044B098 = .sbss:0x8044B098; // type:object size:0x1 data:byte
|
||||
l_isFinalBossStg = .sbss:0x8044B098; // type:object size:0x1 data:byte
|
||||
l_SetCounter = .sbss:0x8044B0A0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8044B0A8 = .sbss:0x8044B0A8; // type:object size:0x1 data:byte
|
||||
m_name__16dBgS_MoveBgActor = .sbss:0x8044B0B0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
|
|
@ -21996,7 +21996,7 @@ lbl_8044B1FC = .sbss:0x8044B1FC; // type:object size:0x1 data:byte
|
|||
mMoji$3770 = .sbss:0x8044B200; // type:object size:0x3 scope:local align:4 data:byte
|
||||
s_groupID = .sbss:0x8044B208; // type:object size:0x2 scope:global align:4 data:2byte
|
||||
g_msg_unit = .sbss:0x8044B210; // type:object size:0x4 scope:global align:4
|
||||
lbl_8044B218 = .sbss:0x8044B218; // type:object size:0x1 data:byte
|
||||
l_lightCount = .sbss:0x8044B218; // type:object size:0x1 data:byte
|
||||
dOvlpFd_execute_f = .sbss:0x8044B220; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
g_LogHIO = .sbss:0x8044B228; // type:object size:0x8 scope:global align:4
|
||||
g_snHIO = .sbss:0x8044B230; // type:object size:0x8 scope:global align:4
|
||||
|
|
@ -22112,25 +22112,26 @@ init$localstatic4$getMemPool___26JASPoolAllocObject<5JAISe>Fv = .sbss:0x8044B450
|
|||
init$localstatic4$getMemPool___35JASPoolAllocObject<13JAISoundChild>Fv = .sbss:0x8044B458; // type:object size:0x1 data:byte
|
||||
init$localstatic4$getMemPool___27JASPoolAllocObject<6JAISeq>Fv = .sbss:0x8044B460; // type:object size:0x1 data:byte
|
||||
init$localstatic4$getMemPool___30JASPoolAllocObject<9JAIStream>Fv = .sbss:0x8044B468; // type:object size:0x1 data:byte
|
||||
init$80 = .sbss:0x8044B470; // type:object size:0x1 data:byte
|
||||
init$80 = .sbss:0x8044B470; // type:object size:0x1 scope:local align:1 data:byte
|
||||
oRandom$401 = .sbss:0x8044B474; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x8044B478; // type:object size:0x4 scope:global align:4 data:float
|
||||
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8044B47C; // type:object size:0x4 scope:global align:4 data:float
|
||||
lbl_8044B480 = .sbss:0x8044B480; // type:object size:0x1 data:byte
|
||||
lbl_8044B481 = .sbss:0x8044B481; // type:object size:0x1 data:byte
|
||||
lbl_8044B482 = .sbss:0x8044B482; // type:object size:0x1 data:byte
|
||||
lbl_8044B488 = .sbss:0x8044B488; // type:object size:0x1 data:byte
|
||||
lbl_8044B480 = .sbss:0x8044B480; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044B481 = .sbss:0x8044B481; // type:object size:0x1 scope:global align:1 data:byte
|
||||
lbl_8044B482 = .sbss:0x8044B482; // type:object size:0x1 scope:global align:1 data:byte
|
||||
pad_8044B484 = .sbss:0x8044B484; // type:object size:0x4 scope:global align:4
|
||||
init$localstatic4$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .sbss:0x8044B488; // type:object size:0x1 data:byte
|
||||
cNearFarRatio = .sbss:0x8044B490; // type:object size:0x4 scope:global align:4 data:float
|
||||
lbl_8044B494 = .sbss:0x8044B494; // type:object size:0x1 data:byte
|
||||
lbl_8044B498 = .sbss:0x8044B498; // type:object size:0x1 data:byte
|
||||
lbl_8044B499 = .sbss:0x8044B499; // type:object size:0x1 data:byte
|
||||
init$localstatic4$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .sbss:0x8044B494; // type:object size:0x1 data:byte
|
||||
data_80451358 = .sbss:0x8044B498; // type:object size:0x1 align:1 data:byte
|
||||
data_80451359 = .sbss:0x8044B499; // type:object size:0x1 align:1 data:byte
|
||||
mLinkPtr__14Z2CreatureLink = .sbss:0x8044B4A0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mAudioMgrPtr__10Z2AudioMgr = .sbss:0x8044B4A8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
sSystemHeap__7JKRHeap = .sbss:0x8044B4B0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
sCurrentHeap__7JKRHeap = .sbss:0x8044B4B4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
sRootHeap__7JKRHeap = .sbss:0x8044B4B8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mErrorHandler__7JKRHeap = .sbss:0x8044B4BC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8044B4C0 = .sbss:0x8044B4C0; // type:object size:0x1 data:byte
|
||||
lbl_8044B4C0 = .sbss:0x8044B4C0; // type:object size:0x1 scope:local align:1 data:byte
|
||||
mCodeStart__7JKRHeap = .sbss:0x8044B4C4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mCodeEnd__7JKRHeap = .sbss:0x8044B4C8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mUserRamStart__7JKRHeap = .sbss:0x8044B4CC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
|
|
@ -26429,7 +26430,7 @@ j2dDefaultAlphaCmp = .sdata2:0x804502CE; // type:object size:0x2 scope:global al
|
|||
@1171 = .sdata2:0x804504D8; // type:object size:0x8 scope:local align:4 data:double
|
||||
j3dDefaultColInfo = .sdata2:0x804504E0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
j3dDefaultAmbInfo = .sdata2:0x804504E4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
data_804563C8 = .sdata2:0x804504E8; // type:object size:0x1 data:byte
|
||||
j3dDefaultNumChans = .sdata2:0x804504E8; // type:object size:0x1 data:byte
|
||||
j3dDefaultTevOrderInfoNull = .sdata2:0x804504EC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
j3dDefaultIndTexOrderNull = .sdata2:0x804504F0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
j3dDefaultTevColor = .sdata2:0x804504F4; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
|
|
|
|||
74
configure.py
74
configure.py
|
|
@ -645,7 +645,7 @@ config.libs = [
|
|||
Object(NonMatching, "d/d_cc_s.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_cc_uty.cpp"),
|
||||
Object(Equivalent, "d/d_cam_param.cpp"), # weak func order
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_ev_camera.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_ev_camera.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_spline_path.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_item_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_item.cpp"),
|
||||
|
|
@ -666,7 +666,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_player.cpp"),
|
||||
Object(NonMatching, "d/d_camera.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_envse.cpp"),
|
||||
Object(NonMatching, "d/d_file_select.cpp"),
|
||||
Object(Equivalent, "d/d_file_select.cpp"), # issue with J2DAnmTransform::getTransform
|
||||
Object(NonMatching, "d/d_file_sel_warning.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_file_sel_info.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_bright_check.cpp"),
|
||||
|
|
@ -690,44 +690,44 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_menu_fishing.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_fmap.cpp"),
|
||||
Object(NonMatching, "d/d_menu_fmap_map.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_fmap2D.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_insect.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_item_explain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_letter.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_option.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_ring.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_save.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_menu_skill.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_fmap2D.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_insect.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_item_explain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_letter.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_option.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_ring.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_save.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_skill.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_menu_window_HIO.cpp"),
|
||||
Object(Equivalent, "d/d_menu_window.cpp"), # weak func order
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_HIO.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_meter_button.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_button.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_haihai.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_hakusha.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_map.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter_string.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter2_draw.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_meter2_info.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter2_info.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter2.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_out_font.cpp"),
|
||||
Object(NonMatching, "d/d_msg_class.cpp"),
|
||||
Object(NonMatching, "d/d_msg_object.cpp"),
|
||||
Object(NonMatching, "d/d_msg_unit.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_3select.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_3select.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_arrow.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_base.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_boss.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_explain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_item.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_explain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_item.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_howl.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_jimaku.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_kanban.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_light.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_jimaku.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_kanban.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_light.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_place.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_staff.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_talk.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_scrn_tree.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_msg_string_base.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_talk.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_tree.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_string_base.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_string.cpp"),
|
||||
Object(NonMatching, "d/d_msg_flow.cpp"),
|
||||
Object(Equivalent, "d/d_name.cpp"), # missing vtable padding
|
||||
|
|
@ -745,7 +745,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_s_room.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_s_title.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_save_HIO.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "d/d_timer.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_timer.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_k_wmark.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_k_wpillar.cpp"),
|
||||
],
|
||||
|
|
@ -992,20 +992,20 @@ config.libs = [
|
|||
"objects": [
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2Calc.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2AudioArcLoader.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2Param.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SoundMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2Param.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2SoundMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundStarter.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SoundHandles.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2SoundHandles.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SeMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SeqMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2StatusMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2SeqMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2StatusMgr.cpp"),
|
||||
Object(NonMatching, "Z2AudioLib/Z2SceneMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2FxLineMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundInfo.cpp"),
|
||||
Object(Equivalent, "Z2AudioLib/Z2Audience.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundObject.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01"), "Z2AudioLib/Z2SoundObjMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2Creature.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundObjMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2Creature.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2LinkMgr.cpp"),
|
||||
Object(NonMatching, "Z2AudioLib/Z2EnvSeMgr.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2WolfHowlMgr.cpp"),
|
||||
|
|
@ -1635,7 +1635,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_metalbox"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mgate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_nameplate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_ornament_cloth"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ornament_cloth"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_rope_bridge"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_sWallShutter"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_stick"),
|
||||
|
|
@ -1746,7 +1746,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_oct_bg"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_ot"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_ph"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2P01"), "d_a_e_pm"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_pm"),
|
||||
ActorRel(NonMatching, "d_a_e_po"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_pz"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_rb"),
|
||||
|
|
@ -1876,7 +1876,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_npc_post"),
|
||||
ActorRel(NonMatching, "d_a_npc_pouya"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_npc_raca"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_raca"),
|
||||
ActorRel(NonMatching, "d_a_npc_rafrel"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_saru"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seib"),
|
||||
|
|
@ -1965,7 +1965,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_digholl"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_digsnow"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_dmelevator"),
|
||||
ActorRel(NonMatching, "d_a_obj_drop"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_drop"),
|
||||
ActorRel(NonMatching, "d_a_obj_dust"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_enemy_create"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_fallobj"),
|
||||
|
|
@ -2032,7 +2032,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kjgjs"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kkanban"),
|
||||
ActorRel(NonMatching, "d_a_obj_knBullet"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_kshutter"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kshutter"),
|
||||
ActorRel(NonMatching, "d_a_obj_kuwagata"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kwheel00"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kwheel01"),
|
||||
|
|
@ -2055,8 +2055,8 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4Gate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4HsTarget"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4PoGate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv4RailWall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv4SlideWall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4RailWall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4SlideWall"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv4bridge"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4chandelier"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4digsand"),
|
||||
|
|
@ -2064,7 +2064,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4gear"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4prelvtr"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv4prwall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv4sand"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4sand"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5FloorBoard"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5IceWall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5SwIce"),
|
||||
|
|
|
|||
|
|
@ -1392,6 +1392,11 @@ inline u8 dComIfGs_getSelectItemIndex(int i_no) {
|
|||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectItemIndex(i_no);
|
||||
}
|
||||
|
||||
//TODO: actual name is unknown
|
||||
inline u8 dComIfGs_getOptUnk0() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getConfig().getUnk0();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getOptVibration() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getConfig().getVibration();
|
||||
}
|
||||
|
|
@ -1951,6 +1956,11 @@ inline void dComIfGs_setLastWarpAcceptStage(s8 param_0) {
|
|||
g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpAcceptStage(param_0);
|
||||
}
|
||||
|
||||
//TODO: actual name is unknown
|
||||
inline void dComIfGs_setOptUnk0(u8 i_unk0) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getConfig().setUnk0(i_unk0);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setOptSound(u8 i_mode) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(i_mode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class dFile_info_c;
|
|||
class dDlst_FileSel_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 8018DEBC */ void draw();
|
||||
/* 8019135C */ ~dDlst_FileSel_c() {
|
||||
/* 8019135C */ virtual ~dDlst_FileSel_c() {
|
||||
delete Scr;
|
||||
delete mpMessageString;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,10 @@ public:
|
|||
/* 801E3DE0 */ bool _close();
|
||||
/* 801E3F6C */ void atten_init();
|
||||
/* 801E3FC4 */ void atten_move();
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
void ruby_init();
|
||||
void ruby_move();
|
||||
#endif
|
||||
/* 801E41A0 */ void vib_init();
|
||||
/* 801E41F8 */ void vib_move();
|
||||
/* 801E4488 */ void sound_init();
|
||||
|
|
@ -61,6 +65,7 @@ public:
|
|||
/* 801E5678 */ void screenSet();
|
||||
/* 801E6FBC */ void setSoundMode(u32);
|
||||
/* 801E7004 */ void setAttenString();
|
||||
/* 801E70E8 */ void setRubyString();
|
||||
/* 801E70E8 */ void setVibString();
|
||||
/* 801E71CC */ void setSoundString();
|
||||
/* 801E7314 */ void setCursorPos(u8);
|
||||
|
|
@ -179,6 +184,9 @@ private:
|
|||
/* 0x3E2 */ u8 field_0x3e2;
|
||||
/* 0x3E3 */ u8 field_0x3e3;
|
||||
/* 0x3E4 */ u8 field_0x3e4;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
/* 0x3E5 */ u8 field_0x3e5_JPN;
|
||||
#endif
|
||||
/* 0x3E5 */ u8 field_0x3e5;
|
||||
/* 0x3E6 */ u8 field_0x3e6;
|
||||
/* 0x3E7 */ u8 field_0x3e7;
|
||||
|
|
|
|||
|
|
@ -578,8 +578,13 @@ struct jmessage_string_tReference : public JMessage::TReference {
|
|||
/* 0x0C */ J2DTextBox* mRubyPanePtr;
|
||||
/* 0x10 */ COutFont_c* mOutFontPtr;
|
||||
/* 0x14 */ JUTFont* mpFont;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
/* 0x18 */ f32 mLineLength[9];
|
||||
/* 0x3C */ f32 mOutfontLength[9];
|
||||
#else
|
||||
/* 0x18 */ f32 mLineLength[12];
|
||||
/* 0x48 */ f32 mOutfontLength[12];
|
||||
#endif
|
||||
/* 0x78 */ u32 mCCColor;
|
||||
/* 0x7C */ u32 mGCColor;
|
||||
/* 0x80 */ s16 mLineCount;
|
||||
|
|
@ -659,6 +664,9 @@ struct jmessage_string_tRenderingProcessor : public JMessage::TRenderingProcesso
|
|||
/* 0x550 */ s16 field_0x550;
|
||||
/* 0x552 */ s16 field_0x552;
|
||||
/* 0x554 */ u8 field_0x554;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
/* 0x558 */ u8 field_0x558[0x578 - 0x558];
|
||||
#endif
|
||||
};
|
||||
|
||||
#define MSGTAG_GROUP(g) (g << 16)
|
||||
|
|
|
|||
|
|
@ -504,6 +504,10 @@ public:
|
|||
void setVibration(u8 i_status);
|
||||
u8 getPalLanguage() const;
|
||||
|
||||
//TODO: placeholder name, actual name is not known
|
||||
u8 getUnk0() { return unk0; }
|
||||
void setUnk0(u8 i_unk0) { unk0 = i_unk0; }
|
||||
|
||||
u8 getAttentionType() { return mAttentionType; }
|
||||
void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
|
||||
u16 getCalibrateDist() { return mCalibrateDist; }
|
||||
|
|
|
|||
|
|
@ -52,6 +52,9 @@ public:
|
|||
/* 80260574 */ s32 createStart(u16);
|
||||
/* 80260AA8 */ bool checkStartAnimeEnd();
|
||||
/* 80260AD4 */ void playBckAnimation(f32);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
bool isLeadByte(int);
|
||||
#endif
|
||||
/* 80260B54 */ void drawPikari(int);
|
||||
|
||||
/* 80260690 */ virtual void draw();
|
||||
|
|
|
|||
|
|
@ -187,6 +187,10 @@ void Z2SoundObjMgr::searchEnemy() {
|
|||
case Z2_ENEMY_RD:
|
||||
if (iVar16 != 0)
|
||||
continue;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
}
|
||||
switch (enemyId) {
|
||||
#endif
|
||||
case Z2_ENEMY_DN:
|
||||
case Z2_ENEMY_DB:
|
||||
case Z2_ENEMY_GE:
|
||||
|
|
@ -196,6 +200,12 @@ void Z2SoundObjMgr::searchEnemy() {
|
|||
case Z2_ENEMY_HB:
|
||||
case Z2_ENEMY_TT:
|
||||
case Z2_ENEMY_SM2:
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
case Z2_ENEMY_WB:
|
||||
case Z2_ENEMY_RD:
|
||||
case Z2_ENEMY_SH:
|
||||
case Z2_ENEMY_HP:
|
||||
#endif
|
||||
if (!Z2GetLink()->isRiding())
|
||||
break;
|
||||
if (Z2GetLink()->getMoveSpeed() <= 0x26)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include "d/d_camera.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/actor/d_a_alink.h"
|
||||
#include "d/actor/d_a_e_fs.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_obj_smw_stone.h"
|
||||
|
|
@ -113,6 +114,20 @@ enum Joint {
|
|||
/* 0x1A */ JNT_SKIRT,
|
||||
};
|
||||
|
||||
enum Mode {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
/* 0x00 */ Mode0_JPN,
|
||||
#endif
|
||||
/* 0x00 */ Mode0,
|
||||
/* 0x01 */ Mode1,
|
||||
/* 0x02 */ Mode2,
|
||||
/* 0x03 */ Mode3,
|
||||
/* 0x04 */ Mode4,
|
||||
/* 0x05 */ Mode5,
|
||||
/* 0x06 */ Mode6,
|
||||
/* 0x07 */ Mode7,
|
||||
};
|
||||
|
||||
/* 8074C384-8074C388 -00001 0004+00 2/2 0/0 0/0 .bss None */
|
||||
/* 8074C385 0003+00 data_8074C385 None */
|
||||
static bool hioInit;
|
||||
|
|
@ -482,13 +497,26 @@ void daE_PM_c::Ap_StartAction() {
|
|||
bool bVar3 = false;
|
||||
|
||||
switch (mMode) {
|
||||
case 0:
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
case Mode0_JPN:
|
||||
if (mAppear) {
|
||||
bVar3 = true;
|
||||
mMode++;
|
||||
} else if (mSecondEncounter && fopAcM_searchPlayerDistanceXZ(this) < 800.0f) {
|
||||
bVar3 = true;
|
||||
mMode++;
|
||||
}
|
||||
break;
|
||||
case Mode0:
|
||||
bVar3 = true;
|
||||
#else
|
||||
case Mode0:
|
||||
if (mAppear) {
|
||||
bVar3 = true;
|
||||
} else if (mSecondEncounter && fopAcM_searchPlayerDistanceXZ(this) < 800.0f) {
|
||||
bVar3 = true;
|
||||
}
|
||||
|
||||
#endif
|
||||
if (bVar3 && CameraSet()) {
|
||||
if (dComIfG_play_c::getLayerNo(0) == 2) {
|
||||
player_pos.set(-10477.0f, mAcch.GetGroundH(), 17710.0f);
|
||||
|
|
@ -506,7 +534,7 @@ void daE_PM_c::Ap_StartAction() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case Mode1:
|
||||
if (fopAcM_SearchByName(PROC_Obj_SmWStone, (fopAc_ac_c**)&stone) && stone != NULL) {
|
||||
stone->deleteStone();
|
||||
}
|
||||
|
|
@ -529,7 +557,7 @@ void daE_PM_c::Ap_StartAction() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case Mode2:
|
||||
if (mTimer[0] == 0) {
|
||||
mTargetAngleY = shape_angle.y;
|
||||
mMode++;
|
||||
|
|
@ -546,7 +574,7 @@ void daE_PM_c::Ap_StartAction() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
case Mode3:
|
||||
mParticleKey = dComIfGp_particle_set(mParticleKey, 0x880C, ¤t.pos, &tevStr,
|
||||
¤t.angle, &scale, 0xff, NULL, -1,
|
||||
NULL, NULL, NULL);
|
||||
|
|
@ -583,7 +611,7 @@ void daE_PM_c::Ap_StartAction() {
|
|||
SetMoveCam2(0.15f, 50.0f);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case Mode4:
|
||||
if (mTimer[0] == 0) {
|
||||
mAction = ACT_CREATE;
|
||||
mMode = 0;
|
||||
|
|
@ -820,6 +848,11 @@ void daE_PM_c::DemoBeforeEscape() {
|
|||
for (int i = 0; i < 4; i++) {
|
||||
e_fs_class* puppet;
|
||||
if (fopAcM_SearchByID(mPuppetID[i], (fopAc_ac_c**)&puppet)) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (puppet == NULL) {
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
puppet->mAction = e_fs_class::ACT_END;
|
||||
puppet->mMode = 0;
|
||||
}
|
||||
|
|
@ -1272,10 +1305,17 @@ void daE_PM_c::Action() {
|
|||
|
||||
/* 80745ED0-80746624 0040D0 0754+00 2/1 0/0 0/0 .text DemoBossStart2__8daE_PM_cFv */
|
||||
void daE_PM_c::DemoBossStart2() {
|
||||
daPy_py_c* player;
|
||||
bool bVar1 = false;
|
||||
cXyz vec1, vec2;
|
||||
|
||||
if (mDemoMode != 0) {
|
||||
player = (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (mDemoMode > Mode0) {
|
||||
#else
|
||||
if (mDemoMode != Mode0) {
|
||||
#endif
|
||||
SetMoveCam(0.1f, 50.0f);
|
||||
} else {
|
||||
SetMoveCam(0.03f, 50.0f);
|
||||
|
|
@ -1284,7 +1324,34 @@ void daE_PM_c::DemoBossStart2() {
|
|||
mTargetAngleY = s_TargetAngle;
|
||||
|
||||
switch (mDemoMode) {
|
||||
case 0:
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
case Mode0_JPN:
|
||||
if (!CameraSet()) {
|
||||
break;
|
||||
}
|
||||
|
||||
mPuppetNum = 4;
|
||||
gravity = -9.0f;
|
||||
mTimer[0] = 130;
|
||||
if (mSecondEncounter) {
|
||||
mTimer[0] = 180;
|
||||
vec1.set(current.pos.x, 1900.0f, current.pos.z);
|
||||
SetStopCam(vec1, 500.0f, 0.0f, s_TargetAngle);
|
||||
mCamEye.set(mCamEyeTarget);
|
||||
actor_status &= ~0x100;
|
||||
}
|
||||
if (mSecondEncounter) {
|
||||
player->mDemo.setDemoType(3);
|
||||
player->mDemo.setParam0(0);
|
||||
player->mDemo.setDemoMode(4);
|
||||
player->mDemo.setParam0(0);
|
||||
player->mDemo.setParam1(0);
|
||||
player->mDemo.setParam2(0);
|
||||
}
|
||||
mDemoMode++;
|
||||
break;
|
||||
#endif
|
||||
case Mode0:
|
||||
current.pos.y = 10000.0f;
|
||||
old.pos.y = current.pos.y;
|
||||
if (mTimer[0] < 150) {
|
||||
|
|
@ -1301,7 +1368,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case Mode1:
|
||||
if (mAnm == ANM_APPEAR01) {
|
||||
mParticleKey = dComIfGp_particle_set(mParticleKey, 0x880C, ¤t.pos, &tevStr,
|
||||
¤t.angle, &scale, 0xff, NULL, -1,
|
||||
|
|
@ -1321,7 +1388,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case Mode2:
|
||||
if (mpMorf->isStop()) {
|
||||
mDemoMode++;
|
||||
|
||||
|
|
@ -1352,7 +1419,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
case Mode3:
|
||||
if (mTimer[0] == 0) {
|
||||
SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1);
|
||||
|
|
@ -1363,7 +1430,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case Mode4:
|
||||
vec1.set(current.pos.x, current.pos.y, current.pos.z);
|
||||
GakkiLoopAction(vec1, 400.0f);
|
||||
|
||||
|
|
@ -1379,7 +1446,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case Mode5:
|
||||
if (mpMorf->isStop()) {
|
||||
SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f);
|
||||
mpTrumpetMorf->setPlaySpeed(0.0f);
|
||||
|
|
@ -1388,7 +1455,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case Mode6:
|
||||
if (mTimer[0] == 0) {
|
||||
if (mDoorAction == 0) {
|
||||
SetReleaseCam();
|
||||
|
|
@ -1412,12 +1479,28 @@ void daE_PM_c::DemoBossStart2() {
|
|||
void daE_PM_c::DemoBossStart() {
|
||||
bool bVar1 = false;
|
||||
cXyz vec1, vec2;
|
||||
if (mDemoMode > 2) {
|
||||
if (mDemoMode > Mode2) {
|
||||
mTargetAngleY = cLib_targetAngleY(¤t.pos, s_LinkPos);
|
||||
}
|
||||
|
||||
switch (mDemoMode) {
|
||||
case 0:
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
case Mode0_JPN:
|
||||
if (!CameraSet()) {
|
||||
break;
|
||||
}
|
||||
|
||||
mPuppetNum = 4;
|
||||
gravity = -9.0f;
|
||||
mTimer[0] = 130;
|
||||
vec1.set(current.pos.x, current.pos.y + 80.0f, current.pos.z);
|
||||
mTargetAngleY = shape_angle.y;
|
||||
SetStopCam(vec1, 500.0f, -150.0f, shape_angle.y);
|
||||
mDemoMode++;
|
||||
|
||||
break;
|
||||
#endif
|
||||
case Mode0:
|
||||
if (mTimer[0] == 100) {
|
||||
vec1.set(0.0f, 50.0f, 300.0f);
|
||||
cLib_offsetPos(&mCamEyeTarget, ¤t.pos, shape_angle.y, &vec1);
|
||||
|
|
@ -1432,7 +1515,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case Mode1:
|
||||
if (mpMorf->isStop()) {
|
||||
SetAnm(ANM_HIDE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureVoice(Z2SE_EN_PM_FADEOUT, -1);
|
||||
|
|
@ -1469,7 +1552,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case Mode2:
|
||||
if (mpMorf->isStop() && mAnm == ANM_HIDE) {
|
||||
mPoint = dPath_GetPnt(mpPath, 1)->m_position;
|
||||
current.pos.set(mPoint.x, mPoint.y + 10000.0f, mPoint.z);
|
||||
|
|
@ -1512,7 +1595,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
case Mode3:
|
||||
mCamCenterTarget.y = current.pos.y + 100.0f;
|
||||
|
||||
if (mAnm == ANM_APPEAR01) {
|
||||
|
|
@ -1542,7 +1625,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.08f, 50.0f);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case Mode4:
|
||||
if (mTimer[0] == 0) {
|
||||
SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1);
|
||||
|
|
@ -1555,7 +1638,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case Mode5:
|
||||
vec1.set(current.pos.x, current.pos.y, current.pos.z);
|
||||
GakkiLoopAction(vec1, 400.0f);
|
||||
|
||||
|
|
@ -1573,7 +1656,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case Mode6:
|
||||
if (mpMorf->isStop()) {
|
||||
SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f);
|
||||
mpTrumpetMorf->setPlaySpeed(0.0f);
|
||||
|
|
@ -1584,7 +1667,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
SetMoveCam(0.1f, 50.0f);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
case Mode7:
|
||||
if (mTimer[0] == 0) {
|
||||
if (mDoorAction == 0) {
|
||||
SetReleaseCam();
|
||||
|
|
@ -2171,13 +2254,17 @@ void daE_PM_c::StartAction() {
|
|||
old.pos.y = current.pos.y;
|
||||
}
|
||||
if (fopAcM_gc_c::gndCheck(&pos) && current.pos.absXZ(*s_LinkPos) < 1000.0f
|
||||
&& mAnm == ANM_WAIT01 && s_LinkPos->y <= fopAcM_gc_c::getGroundY() + 100.0f
|
||||
&& CameraSet())
|
||||
&& mAnm == ANM_WAIT01 && s_LinkPos->y <= fopAcM_gc_c::getGroundY() + 100.0f)
|
||||
{
|
||||
#if VERSION != VERSION_GCN_JPN
|
||||
if (!CameraSet()) {
|
||||
break;
|
||||
}
|
||||
|
||||
mPuppetNum = 4;
|
||||
gravity = -9.0f;
|
||||
mAction = ACT_DEMO;
|
||||
mMode = 1;
|
||||
mMode = Mode1;
|
||||
mTimer[0] = 130;
|
||||
|
||||
if (mSecondEncounter) {
|
||||
|
|
@ -2196,6 +2283,12 @@ void daE_PM_c::StartAction() {
|
|||
player->changeOriginalDemo();
|
||||
player->changeDemoMode(4, 0, 0, 0);
|
||||
}
|
||||
#else
|
||||
mPuppetNum = 4;
|
||||
mAction = 6;
|
||||
mMode = Mode0;
|
||||
mDemoMode = 0;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2475,9 +2475,15 @@ void dFile_select_c::screenSet() {
|
|||
field_0x020c[i] = new CPaneMgrAlpha(fileSel.Scr, l_tagName21[i], 0, NULL);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFont(fileSel.mpMessageFont[0]);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setString(512, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFontSize(21.0f, 21.0f);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setLineSpace(22.0f);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setCharSpace(2.0f);
|
||||
#else
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setFontSize(24.0f, 24.0f);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setLineSpace(20.0f);
|
||||
((J2DTextBox*)field_0x020c[i]->getPanePtr())->setCharSpace(0.0f);
|
||||
#endif
|
||||
field_0x0214[i] = ((J2DTextBox*)field_0x020c[i]->getPanePtr())->getStringPtr();
|
||||
}
|
||||
field_0x020c[0]->setAlpha(0xff);
|
||||
|
|
@ -2688,8 +2694,13 @@ void dFile_select_c::screenSetYesNo() {
|
|||
field_0x008c->searchUpdateMaterialID(mYnSel.ScrYn);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x00f0[i] = new CPaneMgr(mYnSel.ScrYn, l_tagName012[i], 0, NULL);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x01c0[i] = new CPaneMgr(mYnSel.ScrYn, l_tagName013[i], 0, NULL);
|
||||
mYnSel.ScrYn->search(l_tagName013U[i])->hide();
|
||||
#else
|
||||
field_0x01c0[i] = new CPaneMgr(mYnSel.ScrYn, l_tagName013U[i], 0, NULL);
|
||||
mYnSel.ScrYn->search(l_tagName013[i])->hide();
|
||||
#endif
|
||||
((J2DTextBox*)field_0x01c0[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
char acStack_30[16];
|
||||
fopMsgM_messageGet(acStack_30, l_msgNum2[i]);
|
||||
|
|
@ -2754,8 +2765,13 @@ void dFile_select_c::screenSet3Menu() {
|
|||
field_0x0118->animationTransform();
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x0340[i] = new CPaneMgr(m3mSel.Scr3m, l_tagName1[i], 0, NULL);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpPaneMgr2[i] = new CPaneMgr(m3mSel.Scr3m, l_tagName011[i], 0, NULL);
|
||||
m3mSel.Scr3m->search(l_tagName011U[i])->hide();
|
||||
#else
|
||||
mpPaneMgr2[i] = new CPaneMgr(m3mSel.Scr3m, l_tagName011U[i], 0, NULL);
|
||||
m3mSel.Scr3m->search(l_tagName011[i])->hide();
|
||||
#endif
|
||||
|
||||
((J2DTextBox*)mpPaneMgr2[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
char acStack_30[32];
|
||||
|
|
@ -3306,7 +3322,7 @@ void dFile_select_c::MemCardStatCheck() {
|
|||
field_0x0280 = false;
|
||||
field_0x0284 = NULL;
|
||||
field_0x0273 = 2;
|
||||
field_0x0290 = &dFile_select_c::noSaveSelDispInit;
|
||||
field_0x0290 = &dFile_select_c::noFileSpaceDispInit;
|
||||
field_0x0274 = 3;
|
||||
break;
|
||||
case 8:
|
||||
|
|
@ -4134,18 +4150,23 @@ void dFile_select3D_c::draw() {
|
|||
}
|
||||
|
||||
/* 8019065C-8019095C 18AF9C 0300+00 2/2 0/0 0/0 .text setJ3D__16dFile_select3D_cFPCcPCcPCc */
|
||||
// NONMATCHING extra mr
|
||||
void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char const* param_2) {
|
||||
JKRArchive* archive = dComIfGp_getCollectResArchive();
|
||||
J3DAnmTransform* pbck;
|
||||
J3DAnmTevRegKey* pbrk;
|
||||
JKRArchive* archive;
|
||||
J3DAnmBase* anmBase;
|
||||
void* bmdRes;
|
||||
J3DMaterialAnm* material;
|
||||
void* bckRes;
|
||||
void* brkRes;
|
||||
J3DModelData* modelData;
|
||||
|
||||
void* res = archive->getResource('BMD ', param_0);
|
||||
J3DModelData* modelData = J3DModelLoaderDataBase::load(res, 0x51020010);
|
||||
archive = dComIfGp_getCollectResArchive();
|
||||
|
||||
bmdRes = archive->getResource('BMD ', param_0);
|
||||
modelData = J3DModelLoaderDataBase::load(bmdRes, 0x51020010);
|
||||
JUT_ASSERT(8823, modelData != 0);
|
||||
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
|
||||
J3DMaterialAnm* material = new J3DMaterialAnm();
|
||||
material = new J3DMaterialAnm();
|
||||
modelData->getMaterialNodePointer(i)->change();
|
||||
modelData->getMaterialNodePointer(i)->setMaterialAnm(material);
|
||||
}
|
||||
|
|
@ -4154,24 +4175,24 @@ void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char con
|
|||
JUT_ASSERT(8836, mpModel != 0);
|
||||
|
||||
if (param_1) {
|
||||
void* res = archive->getResource('BCK ', param_1);
|
||||
pbck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(res);
|
||||
JUT_ASSERT(8846, pbck != 0);
|
||||
bckRes = archive->getResource('BCK ', param_1);
|
||||
anmBase = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(bckRes);
|
||||
JUT_ASSERT(8846, anmBase != 0);
|
||||
|
||||
mBckAnm = new mDoExt_bckAnm();
|
||||
if (mBckAnm == NULL || !mBckAnm->init(pbck, 1, 2, 1.0f, 0, -1, false)) {
|
||||
if (mBckAnm == NULL || !mBckAnm->init((J3DAnmTransform*)anmBase, 1, 2, 1.0f, 0, -1, false)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (param_2) {
|
||||
void* res = archive->getResource('BRK ', param_2);
|
||||
pbrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(res);
|
||||
JUT_ASSERT(8859, pbrk != 0);
|
||||
pbrk->searchUpdateMaterialID(modelData);
|
||||
brkRes = archive->getResource('BRK ', param_2);
|
||||
anmBase = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(brkRes);
|
||||
JUT_ASSERT(8859, anmBase != 0);
|
||||
((J3DAnmTevRegKey*)anmBase)->searchUpdateMaterialID(modelData);
|
||||
|
||||
mBrkAnm = new mDoExt_brkAnm();
|
||||
if (mBrkAnm == NULL || !mBrkAnm->init(modelData, pbrk, -1, 2, 1.0f, 0, -1)) {
|
||||
if (mBrkAnm == NULL || !mBrkAnm->init(modelData, (J3DAnmTevRegKey*)anmBase, -1, 2, 1.0f, 0, -1)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -4315,22 +4336,21 @@ void dFile_select3D_c::createMirrorModel() {
|
|||
}
|
||||
|
||||
/* 80190FE8-801910D4 18B928 00EC+00 1/1 0/0 0/0 .text toItem3Dpos__16dFile_select3D_cFfffP4cXyz */
|
||||
// NONMATCHING this is the same function as dMenu_Collect3D_c::toItem3Dpos
|
||||
#pragma push
|
||||
#pragma optimization_level 2
|
||||
void dFile_select3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) {
|
||||
Mtx adStack_98;
|
||||
Mtx auStack_c8;
|
||||
f32 dVar7 =
|
||||
param_0 =
|
||||
(2.0f * ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) - 1.0f);
|
||||
f32 dVar11 = (2.0f * ((param_1 - -100.0f) / 448.0f) - 1.0f);
|
||||
param_1 = (2.0f * ((param_1 - -100.0f) / 448.0f) - 1.0f);
|
||||
calcViewMtx(adStack_98);
|
||||
MTXInverse(adStack_98, auStack_c8);
|
||||
f32 tangent = tan(0.39269909262657166);
|
||||
cMtx_inverse(adStack_98, auStack_c8);
|
||||
f32 tangent = std::tan(0.39269909262657166);
|
||||
f32 dVar12 = -param_2;
|
||||
cXyz cStack_d4((dVar7 * param_2) * (mDoGph_gInf_c::getAspect() * tangent),
|
||||
(tangent * (dVar11 * dVar12)), dVar12);
|
||||
MTXMultVec(auStack_c8, &cStack_d4, param_3);
|
||||
cXyz cStack_d4((param_0 * param_2) * (mDoGph_gInf_c::getAspect() * tangent),
|
||||
(tangent * (param_1 * dVar12)), dVar12);
|
||||
cMtx_multVec(auStack_c8, &cStack_d4, param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
|
|
|
|||
|
|
@ -2225,10 +2225,17 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
|
|||
static const u64 area_name[3] = {'i_name_s', 'i_name' ,'i_name1'};
|
||||
static const u64 farea_name[3] = {'f_name_1', 'f_name3', 'f_name2'};
|
||||
for (int i = 0; i < 3; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(area_name[i]))
|
||||
->setFont(mDoExt_getRubyFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(area_name[i]))->setString(0x40, "");
|
||||
mpTitleScreen->search(farea_name[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(farea_name[i]))
|
||||
->setFont(mDoExt_getRubyFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(farea_name[i]))->setString(0x40, "");
|
||||
mpTitleScreen->search(area_name[i])->hide();
|
||||
#endif
|
||||
}
|
||||
|
||||
static const u64 sfont_name[7] = {
|
||||
|
|
@ -2238,60 +2245,102 @@ dMenu_Fmap2DTop_c::dMenu_Fmap2DTop_c(JKRExpHeap* i_heap, STControl* i_stick) {
|
|||
'ffont00', 'ffontl0', 'ffontl1', 'ffontl2', 'ffontb0', 'ffontb3', 'ffontb4'
|
||||
};
|
||||
for (int i = 0; i < 7; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(sfont_name[i]))
|
||||
->setFont(mDoExt_getRubyFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(sfont_name[i]))->setString(0x40, "");
|
||||
mpTitleScreen->search(ffont_name[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(ffont_name[i]))
|
||||
->setFont(mDoExt_getRubyFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(ffont_name[i]))->setString(0x40, "");
|
||||
mpTitleScreen->search(sfont_name[i])->hide();
|
||||
#endif
|
||||
}
|
||||
setTitleNameString(0x3e0);
|
||||
|
||||
static const u64 cont_zt[5] = {'cont_zt', 'cont_zt1', 'cont_zt2', 'cont_zt3', 'cont_zt4'};
|
||||
static const u64 font_zt[5] = {'font_zt1', 'font_zt2', 'font_zt3', 'font_zt4', 'font_zt5'};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_zt[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_zt[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(font_zt[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_zt[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_zt[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(cont_zt[i])->hide();
|
||||
#endif
|
||||
}
|
||||
setZButtonString(0x529, 0xff);
|
||||
|
||||
static const u64 cont_bt[5] = {'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', 'cont_bt'};
|
||||
static const u64 font_bt[5] = {'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', 'font_bt5'};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_bt[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_bt[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(font_bt[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_bt[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_bt[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(cont_bt[i])->hide();
|
||||
#endif
|
||||
}
|
||||
setBButtonString(0x522, 0xff);
|
||||
|
||||
static const u64 cont_at[5] = {'cont_at', 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4'};
|
||||
static const u64 font_at[5] = {'font_at1', 'font_at2', 'font_at3', 'font_at4', 'font_at5'};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_at[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(cont_at[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(font_at[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_at[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(font_at[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(cont_at[i])->hide();
|
||||
#endif
|
||||
}
|
||||
setAButtonString(0x527, 0xff);
|
||||
|
||||
static const u64 juji_c[5] = {'juji_c00', 'juji_c01', 'juji_c02', 'juji_c03', 'juji_c04'};
|
||||
static const u64 fuji_c[5] = {'fuji_c00', 'fuji_c01', 'fuji_c02', 'fuji_c03', 'fuji_c04'};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(juji_c[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(juji_c[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(fuji_c[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(fuji_c[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(fuji_c[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(juji_c[i])->hide();
|
||||
#endif
|
||||
}
|
||||
setCrossLRString(0x3f9);
|
||||
|
||||
static const u64 ast_c[5] = {'ast_00', 'ast_01', 'ast_02', 'ast_03', 'ast_04'};
|
||||
static const u64 fst_c[5] = {'fst_00', 'fst_01', 'fst_02', 'fst_03', 'fst_04'};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(ast_c[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(ast_c[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(fst_c[i])->hide();
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(fst_c[i]))
|
||||
->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpTitleScreen->search(fst_c[i]))->setString(0x20, "");
|
||||
mpTitleScreen->search(ast_c[i])->hide();
|
||||
#endif
|
||||
}
|
||||
set3DStickString(0x524);
|
||||
|
||||
|
|
@ -2475,15 +2524,23 @@ void dMenu_Fmap2DTop_c::setMoyaAlpha(u8 i_alpha) {
|
|||
/* 801D6F38-801D7010 1D1878 00D8+00 1/1 1/1 0/0 .text setTitleNameString__17dMenu_Fmap2DTop_cFUl
|
||||
*/
|
||||
void dMenu_Fmap2DTop_c::setTitleNameString(u32 param_0) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 sfont_name[7] = {
|
||||
'sfont00', 'sfontl0', 'sfontl1', 'sfontl2', 'sfontb0', 'sfontb1', 'sfontb2'
|
||||
};
|
||||
#define setTitleNameString_font_name sfont_name
|
||||
#else
|
||||
static const u64 ffont_name[7] = {
|
||||
'ffont00', 'ffontl0', 'ffontl1', 'ffontl2', 'ffontb0', 'ffontb3', 'ffontb4'
|
||||
};
|
||||
#define setTitleNameString_font_name ffont_name
|
||||
#endif
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (param_0 == 0) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(ffont_name[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setTitleNameString_font_name[i]));
|
||||
strcpy(text_box->getStringPtr(), "");
|
||||
} else {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(ffont_name[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setTitleNameString_font_name[i]));
|
||||
dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
|
||||
}
|
||||
}
|
||||
|
|
@ -2491,13 +2548,19 @@ void dMenu_Fmap2DTop_c::setTitleNameString(u32 param_0) {
|
|||
|
||||
/* 801D7010-801D70E8 1D1950 00D8+00 0/0 2/2 0/0 .text setAreaNameString__17dMenu_Fmap2DTop_cFUl */
|
||||
void dMenu_Fmap2DTop_c::setAreaNameString(u32 param_0) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 iarea_name[3] = {'i_name_s', 'i_name', 'i_name1'};
|
||||
#define setAreaNameString_area_name iarea_name
|
||||
#else
|
||||
static const u64 farea_name[3] = {'f_name_1', 'f_name3', 'f_name2'};
|
||||
#define setAreaNameString_area_name farea_name
|
||||
#endif
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (param_0 == 0) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(farea_name[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAreaNameString_area_name[i]));
|
||||
strcpy(text_box->getStringPtr(), "");
|
||||
} else {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(farea_name[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAreaNameString_area_name[i]));
|
||||
dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
|
||||
}
|
||||
}
|
||||
|
|
@ -2510,12 +2573,18 @@ void dMenu_Fmap2DTop_c::setZButtonString(u32 param_0, u8 i_alpha) {
|
|||
param_0 = 0x533;
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 cont_zt[5] = {'cont_zt', 'cont_zt1', 'cont_zt2', 'cont_zt3', 'cont_zt4'};
|
||||
#define setZButtonString_font_zt cont_zt
|
||||
#else
|
||||
static const u64 font_zt[5] = {'font_zt1', 'font_zt2', 'font_zt3', 'font_zt4', 'font_zt5'};
|
||||
#define setZButtonString_font_zt font_zt
|
||||
#endif
|
||||
if (param_0 == 0 || !isWarpAccept()) {
|
||||
mAlphaButtonZ = ALPHA_MID;
|
||||
} else {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(font_zt[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setZButtonString_font_zt[i]));
|
||||
dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
|
||||
}
|
||||
|
||||
|
|
@ -2534,12 +2603,18 @@ void dMenu_Fmap2DTop_c::setZButtonString(u32 param_0, u8 i_alpha) {
|
|||
/* 801D7210-801D72D4 1D1B50 00C4+00 1/1 9/9 0/0 .text setBButtonString__17dMenu_Fmap2DTop_cFUlUc
|
||||
*/
|
||||
void dMenu_Fmap2DTop_c::setBButtonString(u32 param_0, u8 i_alpha) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 cont_bt[5] = {'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', 'cont_bt'};
|
||||
#define setBButtonString_font_bt cont_bt
|
||||
#else
|
||||
static const u64 font_bt[5] = {'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', 'font_bt5'};
|
||||
#define setBButtonString_font_bt font_bt
|
||||
#endif
|
||||
if (param_0 == 0) {
|
||||
mAlphaButtonB = ALPHA_MIN;
|
||||
} else {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(font_bt[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setBButtonString_font_bt[i]));
|
||||
dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
|
||||
}
|
||||
|
||||
|
|
@ -2554,12 +2629,18 @@ void dMenu_Fmap2DTop_c::setBButtonString(u32 param_0, u8 i_alpha) {
|
|||
/* 801D72D4-801D7398 1D1C14 00C4+00 1/1 14/14 0/0 .text setAButtonString__17dMenu_Fmap2DTop_cFUlUc
|
||||
*/
|
||||
void dMenu_Fmap2DTop_c::setAButtonString(u32 param_0, u8 i_alpha) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 cont_at[5] = {'cont_at', 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4'};
|
||||
#define setAButtonString_font_at cont_at
|
||||
#else
|
||||
static const u64 font_at[5] = {'font_at1', 'font_at2', 'font_at3', 'font_at4', 'font_at5'};
|
||||
#define setAButtonString_font_at font_at
|
||||
#endif
|
||||
if (param_0 == 0) {
|
||||
mAlphaButtonA = ALPHA_MIN;
|
||||
} else {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(font_at[i]));
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(setAButtonString_font_at[i]));
|
||||
dMeter2Info_getStringKanji(param_0, text_box->getStringPtr(), NULL);
|
||||
}
|
||||
|
||||
|
|
@ -2573,7 +2654,11 @@ void dMenu_Fmap2DTop_c::setAButtonString(u32 param_0, u8 i_alpha) {
|
|||
|
||||
/* 801D7398-801D74EC 1D1CD8 0154+00 1/1 8/8 0/0 .text setCrossLRString__17dMenu_Fmap2DTop_cFUl */
|
||||
void dMenu_Fmap2DTop_c::setCrossLRString(u32 param_0) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 juji_c[5] = {'juji_c00', 'juji_c01', 'juji_c02', 'juji_c03', 'juji_c04'};
|
||||
#else
|
||||
static const u64 juji_c[5] = {'fuji_c00', 'fuji_c01', 'fuji_c02', 'fuji_c03', 'fuji_c04'};
|
||||
#endif
|
||||
if (param_0 == 0) {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(juji_c[i]));
|
||||
|
|
@ -2594,7 +2679,11 @@ void dMenu_Fmap2DTop_c::setCrossLRString(u32 param_0) {
|
|||
/* 801D74EC-801D7640 1D1E2C 0154+00 1/1 10/10 0/0 .text set3DStickString__17dMenu_Fmap2DTop_cFUl
|
||||
*/
|
||||
void dMenu_Fmap2DTop_c::set3DStickString(u32 param_0) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 ast_c[5] = {'ast_00', 'ast_01', 'ast_02', 'ast_03', 'ast_04'};
|
||||
#else
|
||||
static const u64 ast_c[5] = {'fst_00', 'fst_01', 'fst_02', 'fst_03', 'fst_04'};
|
||||
#endif
|
||||
if (param_0 == 0) {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J2DTextBox* text_box = static_cast<J2DTextBox*>(mpTitleScreen->search(ast_c[i]));
|
||||
|
|
|
|||
|
|
@ -495,8 +495,13 @@ void dMenu_Insect_c::screenSetBase() {
|
|||
}
|
||||
}
|
||||
}
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpScreen->search('t_t00');
|
||||
mpScreen->search('f_t00')->hide();
|
||||
#else
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpScreen->search('f_t00');
|
||||
mpScreen->search('t_t00')->hide();
|
||||
#endif
|
||||
textBox->setFont(mDoExt_getSubFont());
|
||||
textBox->setString(0x200, "");
|
||||
mpString->getString(0x5ba, textBox, NULL, NULL, NULL, 0);
|
||||
|
|
@ -514,10 +519,17 @@ void dMenu_Insect_c::screenSetExplain() {
|
|||
if (field_0xf6 == 0) {
|
||||
mpExpSubWin[1]->hide();
|
||||
}
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpInfoText = new CPaneMgr(mpExpScreen, 'mg_3line', 0, NULL);
|
||||
mpExpScreen->search('n_e4line')->hide();
|
||||
field_0x5c = (J2DTextBox*)mpExpScreen->search('w_msg_jp');
|
||||
mpExpScreen->search('ms_for_2')->hide();
|
||||
#else
|
||||
mpInfoText = new CPaneMgr(mpExpScreen, 'mg_e4lin', 0, NULL);
|
||||
mpExpScreen->search('n_3line')->hide();
|
||||
field_0x5c = (J2DTextBox*)mpExpScreen->search('ms_for_2');
|
||||
mpExpScreen->search('w_msg_jp')->hide();
|
||||
#endif
|
||||
mpExpScreen->search('ms_for_3')->hide();
|
||||
field_0x54[0] = (J2DPicture*)mpExpScreen->search('insects');
|
||||
field_0x54[1] = (J2DPicture*)mpExpScreen->search('insectss');
|
||||
|
|
|
|||
|
|
@ -104,14 +104,24 @@ dMenu_ItemExplain_c::dMenu_ItemExplain_c(JKRExpHeap* i_heap, JKRArchive* i_archi
|
|||
mDescAlpha = 0.0f;
|
||||
field_0x78 = 0;
|
||||
mAlphaRatio = 201.0f;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpInfoText = new CPaneMgr(mpInfoScreen, 'i_text4', 0, NULL);
|
||||
mpInfoScreen->search('i_text1')->hide();
|
||||
#else
|
||||
mpInfoText = new CPaneMgr(mpInfoScreen, 'i_text1', 0, NULL);
|
||||
mpInfoScreen->search('i_text4')->hide();
|
||||
#endif
|
||||
((J2DTextBox*)(mpInfoText->getPanePtr()))->setFont(mDoExt_getMesgFont());
|
||||
((J2DTextBox*)(mpInfoText->getPanePtr()))->setString(0x200, "");
|
||||
mpInfoText->show();
|
||||
for (int i = 0; i < 4; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpNameText[i] = new CPaneMgr(mpInfoScreen, name_tag[i], 0, NULL);
|
||||
mpInfoScreen->search(fame_tag[i])->hide();
|
||||
#else
|
||||
mpNameText[i] = new CPaneMgr(mpInfoScreen, fame_tag[i], 0, NULL);
|
||||
mpInfoScreen->search(name_tag[i])->hide();
|
||||
#endif
|
||||
((J2DTextBox*)(mpNameText[i]->getPanePtr()))->setFont(mDoExt_getMesgFont());
|
||||
((J2DTextBox*)(mpNameText[i]->getPanePtr()))->setString(0x20, "");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@
|
|||
#include "d/d_msg_scrn_arrow.h"
|
||||
#include "d/d_lib.h"
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
#define LINE_MAX 9
|
||||
#else
|
||||
#define LINE_MAX 12
|
||||
#endif
|
||||
|
||||
typedef void (dMenu_Letter_c::*initFunc)();
|
||||
static initFunc map_init_process[] = {
|
||||
&dMenu_Letter_c::wait_init,
|
||||
|
|
@ -262,7 +268,7 @@ void dMenu_Letter_c::_draw() {
|
|||
uVar10 = (J2DTextBox*)field_0x2f4[i]->getPanePtr();
|
||||
}
|
||||
J2DTextBox* uVar18 = (J2DTextBox*)field_0x2ec[i]->getPanePtr();
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(dVar1), field_0x3e3 - 1, 0xc,
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(dVar1), field_0x3e3 - 1, LINE_MAX,
|
||||
uVar18, uVar10, NULL, NULL, 0);
|
||||
}
|
||||
mpString->drawOutFont((J2DTextBox*)field_0x2ec[1]->getPanePtr(), -1.0f);
|
||||
|
|
@ -439,8 +445,13 @@ void dMenu_Letter_c::wait_move() {
|
|||
}
|
||||
|
||||
if (mProcess == 1 || mProcess == 2) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpBaseScreen->search('t_t00');
|
||||
mpBaseScreen->search('f_t_00')->hide();
|
||||
#else
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpBaseScreen->search('f_t_00');
|
||||
mpBaseScreen->search('t_t00')->hide();
|
||||
#endif
|
||||
dComIfGp_setMessageCountNumber(field_0x374 + (field_0x36f + 1) * 100);
|
||||
mpString->getString(0x4d6, textBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
|
|
@ -505,10 +516,10 @@ void dMenu_Letter_c::read_open_init() {
|
|||
text1 = (J2DTextBox*)field_0x2f4[i]->getPanePtr();
|
||||
}
|
||||
J2DTextBox* text2 = (J2DTextBox*)field_0x2ec[i]->getPanePtr();
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(idx), field_0x3e3 - 1, 12, text2, text1,
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(idx), field_0x3e3 - 1, LINE_MAX, text2, text1,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
field_0x3e2 = mpString->getPageMax(12);
|
||||
field_0x3e2 = mpString->getPageMax(LINE_MAX);
|
||||
if (field_0x3e2 > 1) {
|
||||
char acStack_30[20];
|
||||
sprintf(acStack_30, "%d/%d", field_0x3e3, field_0x3e2);
|
||||
|
|
@ -667,7 +678,7 @@ void dMenu_Letter_c::read_next_fadein_init() {
|
|||
text1 = (J2DTextBox*)field_0x2f4[i]->getPanePtr();
|
||||
}
|
||||
J2DTextBox* text2 = (J2DTextBox*)field_0x2ec[i]->getPanePtr();
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(idx), field_0x3e3 - 1, 12, text2, text1, NULL, NULL, NULL);
|
||||
mpString->getStringPage(dMenu_Letter::getLetterText(idx), field_0x3e3 - 1, LINE_MAX, text2, text1, NULL, NULL, NULL);
|
||||
}
|
||||
char acStack_30[10];
|
||||
sprintf(acStack_30, "%d/%d", field_0x3e3, field_0x3e2);
|
||||
|
|
@ -733,74 +744,57 @@ void dMenu_Letter_c::read_close_move() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 803969C8-803969F8 023028 0030+00 2/2 0/0 0/0 .rodata tag_sub0$4610 */
|
||||
static const u64 tag_sub0[6] = {
|
||||
'menu_t0s', 'menu_t1s', 'menu_t2s', 'menu_t3s', 'menu_t4s', 'menu_t5s',
|
||||
};
|
||||
|
||||
/* 803969F8-80396A28 023058 0030+00 0/1 0/0 0/0 .rodata tag_sub1$4611 */
|
||||
static const u64 tag_sub1[6] = {
|
||||
'menu_t0', 'menu_t1', 'menu_t2', 'menu_t3', 'menu_t4', 'menu_t5',
|
||||
};
|
||||
|
||||
/* 80396A28-80396A58 023088 0030+00 0/1 0/0 0/0 .rodata tag_name0$4612 */
|
||||
static const u64 tag_name0[6] = {
|
||||
'menu_t6s', 'menu_f7s', 'menu_f8s', 'menu_t9s', 'menu_10s', 'menu_11s',
|
||||
};
|
||||
|
||||
/* 80396A58-80396A88 0230B8 0030+00 0/1 0/0 0/0 .rodata tag_name1$4613 */
|
||||
static const u64 tag_name1[6] = {
|
||||
'menu_f6', 'menu_f7', 'menu_t8', 'menu_t9', 'menu_t10', 'menu_t11',
|
||||
};
|
||||
|
||||
/* 80396A88-80396AB8 0230E8 0030+00 0/1 0/0 0/0 .rodata ftag_sub0$4614 */
|
||||
static const u64 ftag_sub0[6] = {
|
||||
'fenu_t0s', 'fenu_t1s', 'fenu_t2s', 'fenu_t3s', 'fenu_t4s', 'fenu_t5s',
|
||||
};
|
||||
|
||||
/* 80396AB8-80396AE8 023118 0030+00 0/1 0/0 0/0 .rodata ftag_sub1$4615 */
|
||||
static const u64 ftag_sub1[6] = {
|
||||
'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5',
|
||||
};
|
||||
|
||||
/* 80396AE8-80396B18 023148 0030+00 0/1 0/0 0/0 .rodata ftag_name0$4616 */
|
||||
static const u64 ftag_name0[6] = {
|
||||
'fenu_t6s', 'fenu_t7s', 'fenu_f8s', 'fenu_t9s', 'fenu_10s', 'fenu_11s',
|
||||
};
|
||||
|
||||
/* 80396B18-80396B48 023178 0030+00 0/1 0/0 0/0 .rodata ftag_name1$4617 */
|
||||
static const u64 ftag_name1[6] = {
|
||||
'fenu_t6', 'fenu_t7', 'fenu_t8', 'fenu_t9', 'fenu_t10', 'fenu_t11',
|
||||
};
|
||||
|
||||
/* 80396B48-80396B78 0231A8 0030+00 0/1 0/0 0/0 .rodata tag_letter$4628 */
|
||||
static const u64 tag_letter[6] = {
|
||||
'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n',
|
||||
};
|
||||
|
||||
/* 80396B78-80396BA8 0231D8 0030+00 0/1 0/0 0/0 .rodata tag_frame$4635 */
|
||||
static const u64 tag_frame[6] = {
|
||||
'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05',
|
||||
};
|
||||
|
||||
/* 80396BA8-80396BD8 023208 0030+00 0/1 0/0 0/0 .rodata tag_menu0$4636 */
|
||||
static const u64 tag_menu0[6] = {
|
||||
'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5',
|
||||
};
|
||||
|
||||
/* 80396BD8-80396C08 023238 0030+00 0/1 0/0 0/0 .rodata tag_menu1$4637 */
|
||||
static const u64 tag_menu1[6] = {
|
||||
'fenu_t6', 'fenu_t7', 'fenu_t8', 'fenu_t9', 'fenu_t10', 'fenu_t11',
|
||||
};
|
||||
|
||||
/* 80396C08-80396C38 023268 0030+00 0/1 0/0 0/0 .rodata tag_midoku$4638 */
|
||||
static const u64 tag_midoku[6] = {
|
||||
'midoku_0', 'midoku_1', 'midoku_2', 'midoku_3', 'midoku_4', 'midoku_5',
|
||||
};
|
||||
|
||||
/* 801DF010-801DFA28 1D9950 0A18+00 1/1 0/0 0/0 .text screenSetMenu__14dMenu_Letter_cFv
|
||||
*/
|
||||
void dMenu_Letter_c::screenSetMenu() {
|
||||
static const u64 tag_sub0[6] = {
|
||||
'menu_t0s', 'menu_t1s', 'menu_t2s', 'menu_t3s', 'menu_t4s', 'menu_t5s',
|
||||
};
|
||||
static const u64 tag_sub1[6] = {
|
||||
'menu_t0', 'menu_t1', 'menu_t2', 'menu_t3', 'menu_t4', 'menu_t5',
|
||||
};
|
||||
static const u64 tag_name0[6] = {
|
||||
'menu_t6s', 'menu_f7s', 'menu_f8s', 'menu_t9s', 'menu_10s', 'menu_11s',
|
||||
};
|
||||
static const u64 tag_name1[6] = {
|
||||
'menu_f6', 'menu_f7', 'menu_t8', 'menu_t9', 'menu_t10', 'menu_t11',
|
||||
};
|
||||
static const u64 ftag_sub0[6] = {
|
||||
'fenu_t0s', 'fenu_t1s', 'fenu_t2s', 'fenu_t3s', 'fenu_t4s', 'fenu_t5s',
|
||||
};
|
||||
static const u64 ftag_sub1[6] = {
|
||||
'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5',
|
||||
};
|
||||
static const u64 ftag_name0[6] = {
|
||||
'fenu_t6s', 'fenu_t7s', 'fenu_f8s', 'fenu_t9s', 'fenu_10s', 'fenu_11s',
|
||||
};
|
||||
static const u64 ftag_name1[6] = {
|
||||
'fenu_t6', 'fenu_t7', 'fenu_t8', 'fenu_t9', 'fenu_t10', 'fenu_t11',
|
||||
};
|
||||
static const u64 tag_letter[6] = {
|
||||
'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n',
|
||||
};
|
||||
static const u64 tag_frame[6] = {
|
||||
'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05',
|
||||
};
|
||||
static const u64 tag_menu0[6] = {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
'menu_t0', 'menu_t1', 'menu_t2', 'menu_t3', 'menu_t4', 'menu_t5',
|
||||
#else
|
||||
'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5',
|
||||
#endif
|
||||
};
|
||||
static const u64 tag_menu1[6] = {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
'menu_f6', 'menu_f7', 'menu_t8', 'menu_t9', 'menu_t10', 'menu_t11',
|
||||
#else
|
||||
'fenu_t6', 'fenu_t7', 'fenu_t8', 'fenu_t9', 'fenu_t10', 'fenu_t11',
|
||||
#endif
|
||||
};
|
||||
static const u64 tag_midoku[6] = {
|
||||
'midoku_0', 'midoku_1', 'midoku_2', 'midoku_3', 'midoku_4', 'midoku_5',
|
||||
};
|
||||
|
||||
mpMenuScreen = new J2DScreen();
|
||||
JUT_ASSERT(1146, mpMenuScreen != 0);
|
||||
bool fg = mpMenuScreen->setPriority("zelda_letter_select_6menu.blo", 0x20000, mpArchive);
|
||||
|
|
@ -810,6 +804,16 @@ void dMenu_Letter_c::screenSetMenu() {
|
|||
JUT_ASSERT(1161, mpParent[0] != 0);
|
||||
mpParent[0]->setAlphaRate(0.0f);
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x124[i][0] = (J2DTextBox*)mpMenuScreen->search(tag_sub0[i]);
|
||||
field_0x124[i][1] = (J2DTextBox*)mpMenuScreen->search(tag_sub1[i]);
|
||||
field_0x124[i][2] = (J2DTextBox*)mpMenuScreen->search(tag_name0[i]);
|
||||
field_0x124[i][3] = (J2DTextBox*)mpMenuScreen->search(tag_name1[i]);
|
||||
mpMenuScreen->search(ftag_sub0[i])->hide();
|
||||
mpMenuScreen->search(ftag_sub1[i])->hide();
|
||||
mpMenuScreen->search(ftag_name0[i])->hide();
|
||||
mpMenuScreen->search(ftag_name1[i])->hide();
|
||||
#else
|
||||
field_0x124[i][0] = (J2DTextBox*)mpMenuScreen->search(ftag_sub0[i]);
|
||||
field_0x124[i][1] = (J2DTextBox*)mpMenuScreen->search(ftag_sub1[i]);
|
||||
field_0x124[i][2] = (J2DTextBox*)mpMenuScreen->search(ftag_name0[i]);
|
||||
|
|
@ -818,6 +822,7 @@ void dMenu_Letter_c::screenSetMenu() {
|
|||
mpMenuScreen->search(tag_sub1[i])->hide();
|
||||
mpMenuScreen->search(tag_name0[i])->hide();
|
||||
mpMenuScreen->search(tag_name1[i])->hide();
|
||||
#endif
|
||||
for (int j = 0; j < 4; j++) {
|
||||
field_0x124[i][j]->setFont(mDoExt_getMesgFont());
|
||||
field_0x124[i][j]->setString(0x40, "");
|
||||
|
|
@ -870,6 +875,16 @@ void dMenu_Letter_c::screenSetMenu() {
|
|||
mpDMYParent = new CPaneMgr(mpMenuDMYScreen, 'n_all', 2, NULL);
|
||||
JUT_ASSERT(1285, mpDMYParent != 0);
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x184[i][0] = (J2DTextBox*)mpMenuDMYScreen->search(tag_sub0[i]);
|
||||
field_0x184[i][1] = (J2DTextBox*)mpMenuDMYScreen->search(tag_sub1[i]);
|
||||
field_0x184[i][2] = (J2DTextBox*)mpMenuDMYScreen->search(tag_name0[i]);
|
||||
field_0x184[i][3] = (J2DTextBox*)mpMenuDMYScreen->search(tag_name1[i]);
|
||||
mpMenuDMYScreen->search(ftag_sub0[i])->hide();
|
||||
mpMenuDMYScreen->search(ftag_sub1[i])->hide();
|
||||
mpMenuDMYScreen->search(ftag_name0[i])->hide();
|
||||
mpMenuDMYScreen->search(ftag_name1[i])->hide();
|
||||
#else
|
||||
field_0x184[i][0] = (J2DTextBox*)mpMenuDMYScreen->search(ftag_sub0[i]);
|
||||
field_0x184[i][1] = (J2DTextBox*)mpMenuDMYScreen->search(ftag_sub1[i]);
|
||||
field_0x184[i][2] = (J2DTextBox*)mpMenuDMYScreen->search(ftag_name0[i]);
|
||||
|
|
@ -878,6 +893,7 @@ void dMenu_Letter_c::screenSetMenu() {
|
|||
mpMenuDMYScreen->search(tag_sub1[i])->hide();
|
||||
mpMenuDMYScreen->search(tag_name0[i])->hide();
|
||||
mpMenuDMYScreen->search(tag_name1[i])->hide();
|
||||
#endif
|
||||
for (int j = 0; j < 4; j = j + 1) {
|
||||
field_0x184[i][j]->setFont(mDoExt_getMesgFont());
|
||||
field_0x184[i][j]->setString(0x40, "");
|
||||
|
|
@ -892,26 +908,21 @@ void dMenu_Letter_c::screenSetMenu() {
|
|||
}
|
||||
}
|
||||
|
||||
//* 80396C38-80396C80 023298 0048+00 0/1 0/0 0/0 .rodata tag_pip$4827 */
|
||||
static const u64 tag_pip[9] = {
|
||||
'pi_00_n', 'pi_01_n', 'pi_02_n', 'pi_03_n', 'pi_04_n',
|
||||
'pi_05_n', 'pi_06_n', 'pi_07_n', 'pi_08_n',
|
||||
};
|
||||
|
||||
/* 80396C80-80396CC8 0232E0 0048+00 0/1 0/0 0/0 .rodata tag_pil$4828 */
|
||||
static const u64 tag_pil[9] = {
|
||||
'pi_l_00', 'pi_l_01', 'pi_l_02', 'pi_l_03', 'pi_l_04',
|
||||
'pi_l_05', 'pi_l_06', 'pi_l_07', 'pi_l_08',
|
||||
};
|
||||
|
||||
/* 80396CC8-80396D10 023328 0048+00 0/1 0/0 0/0 .rodata tag_pii$4829 */
|
||||
static const u64 tag_pii[9] = {
|
||||
'pi_00', 'pi_01', 'pi_02', 'pi_03', 'pi_04', 'pi_05', 'pi_06', 'pi_07', 'pi_08',
|
||||
};
|
||||
|
||||
/* 801DFA58-801E0330 1DA398 08D8+00 1/1 0/0 0/0 .text screenSetBase__14dMenu_Letter_cFv
|
||||
*/
|
||||
void dMenu_Letter_c::screenSetBase() {
|
||||
static const u64 tag_pip[9] = {
|
||||
'pi_00_n', 'pi_01_n', 'pi_02_n', 'pi_03_n', 'pi_04_n',
|
||||
'pi_05_n', 'pi_06_n', 'pi_07_n', 'pi_08_n',
|
||||
};
|
||||
static const u64 tag_pil[9] = {
|
||||
'pi_l_00', 'pi_l_01', 'pi_l_02', 'pi_l_03', 'pi_l_04',
|
||||
'pi_l_05', 'pi_l_06', 'pi_l_07', 'pi_l_08',
|
||||
};
|
||||
static const u64 tag_pii[9] = {
|
||||
'pi_00', 'pi_01', 'pi_02', 'pi_03', 'pi_04', 'pi_05', 'pi_06', 'pi_07', 'pi_08',
|
||||
};
|
||||
|
||||
mpBaseScreen = new J2DScreen();
|
||||
JUT_ASSERT(1357, mpBaseScreen != 0);
|
||||
bool fg = mpBaseScreen->setPriority("zelda_letter_select_base.blo", 0x20000, mpArchive);
|
||||
|
|
@ -921,12 +932,27 @@ void dMenu_Letter_c::screenSetBase() {
|
|||
mpParent[1] = new CPaneMgr(mpBaseScreen, 'n_all', 2, NULL);
|
||||
JUT_ASSERT(1372, mpParent[1] != 0);
|
||||
mpParent[1]->setAlphaRate(0.0f);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* piVar9 = (J2DTextBox*)mpBaseScreen->search('t_t00');
|
||||
mpBaseScreen->search('f_t_00')->hide();
|
||||
#else
|
||||
J2DTextBox* piVar9 = (J2DTextBox*)mpBaseScreen->search('f_t_00');
|
||||
mpBaseScreen->search('t_t00')->hide();
|
||||
mpBaseScreen->search('t_t00')->hide();
|
||||
#endif
|
||||
piVar9->setString(0x40, "");
|
||||
piVar9->setFont(mDoExt_getSubFont());
|
||||
dComIfGp_setMessageCountNumber(field_0x374 + (field_0x36f + 1) * 100);
|
||||
mpString->getString(0x4d6, piVar9, NULL, NULL, NULL, 0);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* text1 = (J2DTextBox*)mpBaseScreen->search('wps_text');
|
||||
J2DTextBox* text2 = (J2DTextBox*)mpBaseScreen->search('w_p_text');
|
||||
J2DTextBox* text3 = (J2DTextBox*)mpBaseScreen->search('g_ps_txt');
|
||||
J2DTextBox* text4 = (J2DTextBox*)mpBaseScreen->search('g_p_text');
|
||||
mpBaseScreen->search('fwpstex1')->hide();
|
||||
mpBaseScreen->search('fwp_tex1')->hide();
|
||||
mpBaseScreen->search('fgps_tx1')->hide();
|
||||
mpBaseScreen->search('fgp_tex1')->hide();
|
||||
#else
|
||||
J2DTextBox* text1 = (J2DTextBox*)mpBaseScreen->search('fwpstex1');
|
||||
J2DTextBox* text2 = (J2DTextBox*)mpBaseScreen->search('fwp_tex1');
|
||||
J2DTextBox* text3 = (J2DTextBox*)mpBaseScreen->search('fgps_tx1');
|
||||
|
|
@ -935,6 +961,7 @@ void dMenu_Letter_c::screenSetBase() {
|
|||
mpBaseScreen->search('w_p_text')->hide();
|
||||
mpBaseScreen->search('g_ps_txt')->hide();
|
||||
mpBaseScreen->search('g_p_text')->hide();
|
||||
#endif
|
||||
text1->setString(0x40, "");
|
||||
text2->setString(0x40, "");
|
||||
text3->setString(0x40, "");
|
||||
|
|
@ -997,15 +1024,77 @@ void dMenu_Letter_c::screenSetShadow() {
|
|||
/* 801E03D8-801E09A8 1DAD18 05D0+00 1/1 0/0 0/0 .text screenSetLetter__14dMenu_Letter_cFv
|
||||
*/
|
||||
void dMenu_Letter_c::screenSetLetter() {
|
||||
static u64 const line_tag[12] = {
|
||||
'line09', 'line10', 'line11', 'line12', 'line13', 'line14',
|
||||
'line15', 'line16', 'line17', 'line18', 'line19', 'line20',
|
||||
};
|
||||
mpLetterScreen[0] = new J2DScreen();
|
||||
JUT_ASSERT(1507, mpLetterScreen[0] != 0);
|
||||
bool fg = mpLetterScreen[0]->setPriority("zelda_letter_window_base.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(1511, fg != false);
|
||||
dPaneClass_showNullPane(mpLetterScreen[0]);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
field_0x2ec[0] = new CPaneMgr(mpLetterScreen[0], 't3f_s', 0, NULL);
|
||||
field_0x2ec[1] = new CPaneMgr(mpLetterScreen[0], 'mg_3flin', 0, NULL);
|
||||
field_0x2f4[0] = new CPaneMgr(mpLetterScreen[0], 'mg_3f_s', 0, NULL);
|
||||
field_0x2f4[1] = new CPaneMgr(mpLetterScreen[0], 'mg_3f', 0, NULL);
|
||||
mpLetterScreen[0]->search('t4_s')->hide();
|
||||
mpLetterScreen[0]->search('mg_e4lin')->hide();
|
||||
mpLetterScreen[0]->search('t3_s')->hide();
|
||||
mpLetterScreen[0]->search('mg_3line')->hide();
|
||||
mpLineParent = new CPaneMgr(mpLetterScreen[0], 'jp_fri_n', 0, NULL);
|
||||
JUT_ASSERT(1530, mpLineParent != 0);
|
||||
for (int i = 0; i < 12; i++) {
|
||||
static u64 const line_tag[12] = {
|
||||
'line00', 'line01', 'line02', 'line03', 'line04', 'line05',
|
||||
'line06', 'line07', 'line08',
|
||||
};
|
||||
|
||||
if (line_tag[i] != 0) {
|
||||
field_0x25c[i] = (J2DTextBox*)mpLetterScreen[0]->search(line_tag[i]);
|
||||
} else {
|
||||
field_0x25c[i] = NULL;
|
||||
}
|
||||
}
|
||||
mpLetterScreen[0]->search('jp_n')->hide();
|
||||
mpLetterScreen[0]->search('us_n')->hide();
|
||||
|
||||
((J2DTextBox*)field_0x2f4[0]->getPanePtr())->setLineSpace(((J2DTextBox*)field_0x2ec[0]->getPanePtr())->getLineSpace());
|
||||
((J2DTextBox*)field_0x2f4[1]->getPanePtr())->setLineSpace(((J2DTextBox*)field_0x2ec[1]->getPanePtr())->getLineSpace());
|
||||
} else {
|
||||
field_0x2ec[0] = new CPaneMgr(mpLetterScreen[0], 't3_s', 0, NULL);
|
||||
field_0x2ec[1] = new CPaneMgr(mpLetterScreen[0], 'mg_3line', 0, NULL);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x2f4[i] = NULL;
|
||||
}
|
||||
mpLetterScreen[0]->search('t4_s')->hide();
|
||||
mpLetterScreen[0]->search('mg_e4lin')->hide();
|
||||
mpLetterScreen[0]->search('t3f_s')->hide();
|
||||
mpLetterScreen[0]->search('mg_3flin')->hide();
|
||||
mpLetterScreen[0]->search('mg_3f_s')->hide();
|
||||
mpLetterScreen[0]->search('mg_3f')->hide();
|
||||
mpLineParent = new CPaneMgr(mpLetterScreen[0], 'jp_n', 0, NULL);
|
||||
JUT_ASSERT(1530, mpLineParent != 0);
|
||||
for (int i = 0; i < 12; i++) {
|
||||
static u64 const line_tag[12] = {
|
||||
'line21', 'line22', 'line23', 'line24', 'line25', 'line26',
|
||||
'line27', 'line28', 'line29',
|
||||
};
|
||||
|
||||
if (line_tag[i] != 0) {
|
||||
field_0x25c[i] = (J2DTextBox*)mpLetterScreen[0]->search(line_tag[i]);
|
||||
} else {
|
||||
field_0x25c[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
mpLetterScreen[0]->search('jp_fri_n')->hide();
|
||||
mpLetterScreen[0]->search('us_n')->hide();
|
||||
}
|
||||
#else
|
||||
static u64 const line_tag[12] = {
|
||||
'line09', 'line10', 'line11', 'line12', 'line13', 'line14',
|
||||
'line15', 'line16', 'line17', 'line18', 'line19', 'line20',
|
||||
};
|
||||
|
||||
field_0x2ec[0] = new CPaneMgr(mpLetterScreen[0], 't4_s', 0, NULL);
|
||||
field_0x2ec[1] = new CPaneMgr(mpLetterScreen[0], 'mg_e4lin', 0, NULL);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
@ -1028,12 +1117,22 @@ void dMenu_Letter_c::screenSetLetter() {
|
|||
}
|
||||
mpLetterScreen[0]->search('jp_fri_n')->hide();
|
||||
mpLetterScreen[0]->search('jp_n')->hide();
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
((J2DTextBox*)field_0x2ec[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)field_0x2ec[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)field_0x2ec[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
if (field_0x2f4[i] != NULL) {
|
||||
((J2DTextBox*)field_0x2f4[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)field_0x2f4[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)field_0x2f4[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
field_0x1e4[0] = (J2DTextBox*)mpLetterScreen[0]->search('p_texts');
|
||||
|
|
@ -1060,19 +1159,16 @@ void dMenu_Letter_c::screenSetLetter() {
|
|||
mpBlackTex->setAlpha(0);
|
||||
}
|
||||
|
||||
/* 80396D70-80396D98 0233D0 0028+00 1/1 0/0 0/0 .rodata text_a_tag$5024 */
|
||||
static const u64 text_a_tag[5] = {
|
||||
'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5',
|
||||
};
|
||||
|
||||
/* 80396D98-80396DC0 0233F8 0028+00 1/1 0/0 0/0 .rodata text_b_tag$5025 */
|
||||
static const u64 text_b_tag[5] = {
|
||||
'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5',
|
||||
};
|
||||
|
||||
/* 801E09A8-801E0B24 1DB2E8 017C+00 1/1 0/0 0/0 .text screenSetDoIcon__14dMenu_Letter_cFv
|
||||
*/
|
||||
void dMenu_Letter_c::screenSetDoIcon() {
|
||||
static const u64 text_a_tag[5] = {
|
||||
'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5',
|
||||
};
|
||||
static const u64 text_b_tag[5] = {
|
||||
'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5',
|
||||
};
|
||||
|
||||
mpIconScreen = new J2DScreen();
|
||||
mpIconScreen->setPriority("zelda_collect_soubi_do_icon_parts.blo", 0x20000, mpArchive);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,11 @@
|
|||
|
||||
typedef void (dMenu_Option_c::*initFunc)();
|
||||
static initFunc init[] = {
|
||||
&dMenu_Option_c::atten_init, &dMenu_Option_c::vib_init,
|
||||
&dMenu_Option_c::atten_init,
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
&dMenu_Option_c::ruby_init,
|
||||
#endif
|
||||
&dMenu_Option_c::vib_init,
|
||||
&dMenu_Option_c::sound_init, &dMenu_Option_c::change_init,
|
||||
&dMenu_Option_c::confirm_open_init, &dMenu_Option_c::confirm_move_init,
|
||||
&dMenu_Option_c::confirm_select_init, &dMenu_Option_c::confirm_close_init,
|
||||
|
|
@ -34,7 +38,11 @@ static initFunc init[] = {
|
|||
|
||||
typedef void (dMenu_Option_c::*processFunc)();
|
||||
static processFunc process[] = {
|
||||
&dMenu_Option_c::atten_move, &dMenu_Option_c::vib_move,
|
||||
&dMenu_Option_c::atten_move,
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
&dMenu_Option_c::ruby_move,
|
||||
#endif
|
||||
&dMenu_Option_c::vib_move,
|
||||
&dMenu_Option_c::sound_move, &dMenu_Option_c::change_move,
|
||||
&dMenu_Option_c::confirm_open_move, &dMenu_Option_c::confirm_move_move,
|
||||
&dMenu_Option_c::confirm_select_move, &dMenu_Option_c::confirm_close_move,
|
||||
|
|
@ -56,14 +64,38 @@ static calibrationFunc calibration_process[] = {
|
|||
// Unclear why this is created
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 calibration_padding[36 /* padding */] = {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static u8 calibration_padding[0x24 /* padding */] = {
|
||||
/* padding */
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#else
|
||||
static u8 calibration_padding[0x24 /* padding */] = {
|
||||
/* padding */
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#endif
|
||||
#pragma pop
|
||||
|
||||
enum SelectType {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
SelectType0_JPN,
|
||||
#endif
|
||||
SelectType0,
|
||||
SelectType1,
|
||||
SelectType2,
|
||||
SelectType3,
|
||||
SelectType4,
|
||||
SelectType5,
|
||||
SelectType6,
|
||||
SelectType7,
|
||||
SelectType8,
|
||||
};
|
||||
|
||||
/* 801E1F10-801E2014 1DC850 0104+00 0/0 2/2 0/0 .text
|
||||
* __ct__14dMenu_Option_cFP10JKRArchiveP9STControl */
|
||||
dMenu_Option_c::dMenu_Option_c(JKRArchive* i_archive, STControl* i_stick) {
|
||||
|
|
@ -424,9 +456,9 @@ void dMenu_Option_c::_move() {
|
|||
field_0x3ea = 0;
|
||||
}
|
||||
if (mDoGph_gInf_c::getFader()->getStatus() == 1) {
|
||||
if (mDoCPd_c::getTrigA(PAD_1) != 0 && field_0x3ef != 3 && field_0x3f3 == 5) {
|
||||
if (field_0x3f4 == 5 && field_0x3ef != 4 && field_0x3ef != 5 && field_0x3ef != 6 &&
|
||||
field_0x3ef != 7)
|
||||
if (mDoCPd_c::getTrigA(PAD_1) != 0 && field_0x3ef != SelectType3 && field_0x3f3 == 5) {
|
||||
if (field_0x3f4 == 5 && field_0x3ef != SelectType4 && field_0x3ef != SelectType5 && field_0x3ef != SelectType6 &&
|
||||
field_0x3ef != SelectType7)
|
||||
{
|
||||
if (mDoCPd_c::getTrigStart(PAD_1) == 0 && mDoCPd_c::getTrigB(PAD_1) == 0) {
|
||||
if (mDoCPd_c::getTrigUp(PAD_1) == 0 && mDoCPd_c::getTrigDown(PAD_1) == 0 &&
|
||||
|
|
@ -434,7 +466,7 @@ void dMenu_Option_c::_move() {
|
|||
{
|
||||
field_0x3f7 = 1;
|
||||
field_0x3f5 = field_0x3ef;
|
||||
field_0x3ef = 4;
|
||||
field_0x3ef = SelectType4;
|
||||
dMeter2Info_set2DVibration();
|
||||
(this->*init[field_0x3ef])();
|
||||
goto skip;
|
||||
|
|
@ -442,8 +474,8 @@ void dMenu_Option_c::_move() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (mDoCPd_c::getTrigB(PAD_1) != 0 && field_0x3ef != 3 && field_0x3f3 == 5 &&
|
||||
field_0x3ef != 4 && field_0x3ef != 5 && field_0x3ef != 6 && field_0x3ef != 7)
|
||||
if (mDoCPd_c::getTrigB(PAD_1) != 0 && field_0x3ef != SelectType3 && field_0x3f3 == 5 &&
|
||||
field_0x3ef != SelectType4 && field_0x3ef != SelectType5 && field_0x3ef != SelectType6 && field_0x3ef != SelectType7)
|
||||
{
|
||||
if (field_0x3f4 == 5 && mDoCPd_c::getTrigStart(PAD_1) == 0 &&
|
||||
mDoCPd_c::getTrigA(PAD_1) == 0 && mDoCPd_c::getTrigUp(PAD_1) == 0 &&
|
||||
|
|
@ -452,7 +484,7 @@ void dMenu_Option_c::_move() {
|
|||
{
|
||||
field_0x3f7 = 0;
|
||||
field_0x3f5 = field_0x3ef;
|
||||
field_0x3ef = 4;
|
||||
field_0x3ef = SelectType4;
|
||||
dMeter2Info_set2DVibration();
|
||||
(this->*init[field_0x3ef])();
|
||||
}
|
||||
|
|
@ -460,7 +492,7 @@ void dMenu_Option_c::_move() {
|
|||
}
|
||||
skip:
|
||||
u8 oldValue = field_0x3ef;
|
||||
if (field_0x3f3 == 5 && oldValue != 4 && oldValue != 5 && oldValue != 6 && oldValue != 7) {
|
||||
if (field_0x3f3 == 5 && oldValue != SelectType4 && oldValue != SelectType5 && oldValue != SelectType6 && oldValue != SelectType7) {
|
||||
dpdMenuMove();
|
||||
}
|
||||
field_0x3f2 = 0;
|
||||
|
|
@ -515,8 +547,8 @@ void dMenu_Option_c::drawHaihai() {
|
|||
field_0x3f6 = 0;
|
||||
field_0x3f6 |= 1;
|
||||
field_0x3f6 |= 4;
|
||||
if (selectType < 4 && field_0x3f6 != 0 && field_0x3f3 == 5 && field_0x3ef != 4 &&
|
||||
field_0x3ef != 5 && field_0x3ef != 6 && field_0x3ef != 7)
|
||||
if (selectType < SelectType4 && field_0x3f6 != 0 && field_0x3f3 == 5 && field_0x3ef != SelectType4 &&
|
||||
field_0x3ef != SelectType5 && field_0x3ef != SelectType6 && field_0x3ef != SelectType7)
|
||||
{
|
||||
mpMeterHaihai->_execute(0);
|
||||
Vec haihaiPosL =
|
||||
|
|
@ -675,7 +707,7 @@ void dMenu_Option_c::atten_move() {
|
|||
field_0x3e4 = 0;
|
||||
field_0x3da = -5;
|
||||
}
|
||||
field_0x3ef = 3;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = 0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (rightTrigger) {
|
||||
|
|
@ -686,7 +718,7 @@ void dMenu_Option_c::atten_move() {
|
|||
field_0x3e4 = 0;
|
||||
field_0x3da = 5;
|
||||
}
|
||||
field_0x3ef = 3;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = 0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else {
|
||||
|
|
@ -694,10 +726,61 @@ void dMenu_Option_c::atten_move() {
|
|||
}
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
void dMenu_Option_c::ruby_init() {
|
||||
mpDrawCursor->setAlphaRate(1.0f);
|
||||
setCursorPos(1);
|
||||
setAButtonString(0x40c);
|
||||
setBButtonString(0x3f9);
|
||||
}
|
||||
|
||||
void dMenu_Option_c::ruby_move() {
|
||||
|
||||
bool upTrigger = mpStick->checkUpTrigger();
|
||||
bool downTrigger= mpStick->checkDownTrigger();
|
||||
bool leftTrigger = checkLeftTrigger();
|
||||
bool rightTrigger = checkRightTrigger();
|
||||
|
||||
if (field_0x3f3 != 5) {
|
||||
(this->*tv_process[field_0x3f3])();
|
||||
} else if (upTrigger) {
|
||||
field_0x3ef = SelectType0_JPN;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (downTrigger) {
|
||||
field_0x3ef = SelectType1;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (leftTrigger) {
|
||||
if (field_0x3e5_JPN == 0) {
|
||||
field_0x3e5_JPN = 1;
|
||||
field_0x3da = -5;
|
||||
} else if (field_0x3e5_JPN == 1) {
|
||||
field_0x3e5_JPN = 0;
|
||||
field_0x3da = -5;
|
||||
}
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (rightTrigger) {
|
||||
if (field_0x3e5_JPN == 0) {
|
||||
field_0x3e5_JPN = 1;
|
||||
field_0x3da = 5;
|
||||
} else if (field_0x3e5_JPN == 1) {
|
||||
field_0x3e5_JPN = 0;
|
||||
field_0x3da = 5;
|
||||
}
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else {
|
||||
changeTVCheck();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801E41A0-801E41F8 1DEAE0 0058+00 1/0 0/0 0/0 .text vib_init__14dMenu_Option_cFv */
|
||||
void dMenu_Option_c::vib_init() {
|
||||
mpDrawCursor->setAlphaRate(1.0f);
|
||||
setCursorPos(1);
|
||||
setCursorPos(SelectType1);
|
||||
setAButtonString(0x40C);
|
||||
setBButtonString(0x3F9);
|
||||
}
|
||||
|
|
@ -712,10 +795,10 @@ void dMenu_Option_c::vib_move() {
|
|||
if (field_0x3f3 != 5) {
|
||||
(this->*tv_process[field_0x3f3])();
|
||||
} else if (upTrigger) {
|
||||
field_0x3ef = 0;
|
||||
field_0x3ef = SelectType0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (downTrigger) {
|
||||
field_0x3ef = 2;
|
||||
field_0x3ef = SelectType2;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (leftTrigger) {
|
||||
if (isRumbleSupported()) {
|
||||
|
|
@ -727,8 +810,8 @@ void dMenu_Option_c::vib_move() {
|
|||
field_0x3ea = 0;
|
||||
field_0x3da = -5;
|
||||
}
|
||||
field_0x3ef = 3;
|
||||
field_0x3f5 = 1;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType1;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
}
|
||||
|
|
@ -742,8 +825,8 @@ void dMenu_Option_c::vib_move() {
|
|||
field_0x3ea = 0;
|
||||
field_0x3da = 5;
|
||||
}
|
||||
field_0x3ef = 3;
|
||||
field_0x3f5 = 1;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType1;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
}
|
||||
|
|
@ -755,7 +838,7 @@ void dMenu_Option_c::vib_move() {
|
|||
/* 801E4488-801E44E0 1DEDC8 0058+00 1/0 0/0 0/0 .text sound_init__14dMenu_Option_cFv */
|
||||
void dMenu_Option_c::sound_init() {
|
||||
mpDrawCursor->setAlphaRate(1.0f);
|
||||
setCursorPos(2);
|
||||
setCursorPos(SelectType2);
|
||||
setAButtonString(0x40C);
|
||||
setBButtonString(0x3F9);
|
||||
}
|
||||
|
|
@ -770,7 +853,7 @@ void dMenu_Option_c::sound_move() {
|
|||
if (field_0x3f3 != 5) {
|
||||
(this->*tv_process[field_0x3f3])();
|
||||
} else if (upTrigger) {
|
||||
field_0x3ef = 1;
|
||||
field_0x3ef = SelectType1;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (leftTrigger) {
|
||||
if (field_0x3e9 == 2) {
|
||||
|
|
@ -795,8 +878,8 @@ void dMenu_Option_c::sound_move() {
|
|||
}
|
||||
Z2AudioMgr::mAudioMgrPtr->setOutputMode(dMo_soundMode[field_0x3e9]);
|
||||
setSoundMode(dMo_soundMode[field_0x3e9]);
|
||||
field_0x3ef = 3;
|
||||
field_0x3f5 = 2;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType2;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else if (rightTrigger) {
|
||||
if (field_0x3e9 == 0) {
|
||||
|
|
@ -821,8 +904,8 @@ void dMenu_Option_c::sound_move() {
|
|||
}
|
||||
Z2AudioMgr::mAudioMgrPtr->setOutputMode(dMo_soundMode[field_0x3e9]);
|
||||
setSoundMode(dMo_soundMode[field_0x3e9]);
|
||||
field_0x3ef = 3;
|
||||
field_0x3f5 = 2;
|
||||
field_0x3ef = SelectType3;
|
||||
field_0x3f5 = SelectType2;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else {
|
||||
changeTVCheck();
|
||||
|
|
@ -846,20 +929,32 @@ void dMenu_Option_c::change_move() {
|
|||
}
|
||||
u8 index;
|
||||
switch (field_0x3f5) {
|
||||
case 0:
|
||||
index = 0;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
case SelectType0_JPN:
|
||||
index = SelectType0_JPN;
|
||||
if (field_0x3da == 0) {
|
||||
setAttenString();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
index = 1;
|
||||
#endif
|
||||
case SelectType0:
|
||||
index = SelectType0;
|
||||
if (field_0x3da == 0) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
setRubyString();
|
||||
#else
|
||||
setAttenString();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case SelectType1:
|
||||
index = SelectType1;
|
||||
if (field_0x3da == 0) {
|
||||
setVibString();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
index = 2;
|
||||
case SelectType2:
|
||||
index = SelectType2;
|
||||
if (field_0x3da == 0) {
|
||||
setSoundString();
|
||||
}
|
||||
|
|
@ -927,7 +1022,7 @@ void dMenu_Option_c::confirm_open_move() {
|
|||
}
|
||||
if (status == 1 && yesNoMenuMove == 1 && field_0x374 == 1.0f) {
|
||||
yesnoCursorShow();
|
||||
field_0x3ef = 5;
|
||||
field_0x3ef = SelectType5;
|
||||
}
|
||||
mpWarning->_move();
|
||||
setAnimation();
|
||||
|
|
@ -946,12 +1041,12 @@ void dMenu_Option_c::confirm_move_move() {
|
|||
|
||||
if (mDoCPd_c::getTrigA(PAD_1) != 0) {
|
||||
yesNoSelectStart();
|
||||
field_0x3ef = 7;
|
||||
field_0x3ef = SelectType7;
|
||||
dMeter2Info_set2DVibrationM();
|
||||
} else if (mDoCPd_c::getTrigB(PAD_1) != 0) {
|
||||
field_0x3f9 = 0;
|
||||
yesnoCancelAnmSet();
|
||||
field_0x3ef = 7;
|
||||
field_0x3ef = SelectType7;
|
||||
dMeter2Info_set2DVibrationM();
|
||||
} else if (rightTrigger != 0) {
|
||||
if (field_0x3f9 != 0) {
|
||||
|
|
@ -960,7 +1055,7 @@ void dMenu_Option_c::confirm_move_move() {
|
|||
field_0x3fa = field_0x3f9;
|
||||
field_0x3f9 = 0;
|
||||
yesnoSelectAnmSet();
|
||||
field_0x3ef = 6;
|
||||
field_0x3ef = SelectType6;
|
||||
}
|
||||
} else if (leftTrigger != 0) {
|
||||
if (field_0x3f9 != 1) {
|
||||
|
|
@ -969,7 +1064,7 @@ void dMenu_Option_c::confirm_move_move() {
|
|||
field_0x3fa = field_0x3f9;
|
||||
field_0x3f9 = 1;
|
||||
yesnoSelectAnmSet();
|
||||
field_0x3ef = 6;
|
||||
field_0x3ef = SelectType6;
|
||||
}
|
||||
}
|
||||
mpWarning->_move();
|
||||
|
|
@ -987,7 +1082,7 @@ void dMenu_Option_c::confirm_select_move() {
|
|||
|
||||
if (selectMoveAnm == 1 && wakuAlphaAnm == 1) {
|
||||
yesnoCursorShow();
|
||||
field_0x3ef = 5;
|
||||
field_0x3ef = SelectType5;
|
||||
}
|
||||
mpWarning->_move();
|
||||
setAnimation();
|
||||
|
|
@ -1018,6 +1113,13 @@ void dMenu_Option_c::confirm_close_move() {
|
|||
if (field_0x3f9 == 1) {
|
||||
mQuitStatus = 3;
|
||||
dComIfGs_setOptAttentionType(field_0x3e4);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (field_0x3e5_JPN == 0) {
|
||||
dComIfGs_setOptUnk0(1);
|
||||
} else {
|
||||
dComIfGs_setOptUnk0(0);
|
||||
}
|
||||
#endif
|
||||
if (isRumbleSupported()) {
|
||||
dComIfGs_setOptVibration(field_0x3ea);
|
||||
}
|
||||
|
|
@ -1145,7 +1247,7 @@ void dMenu_Option_c::calibration_close2_move() {
|
|||
/* 801E5494-801E54F8 1DFDD4 0064+00 1/1 0/0 0/0 .text menuVisible__14dMenu_Option_cFv */
|
||||
void dMenu_Option_c::menuVisible() {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (i < 3) {
|
||||
if (i < SelectType3) {
|
||||
menuShow(i);
|
||||
} else {
|
||||
menuHide(i);
|
||||
|
|
@ -1198,9 +1300,15 @@ void dMenu_Option_c::screenSet() {
|
|||
static const u64 tag_frame[6] = {
|
||||
'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05',
|
||||
};
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 tag_menu0[6] = {
|
||||
'menu_t0', 'menu_t1', 'menu_t2', 'menu_t3', 'menu_t4', 'menu_t5',
|
||||
};
|
||||
#else
|
||||
static const u64 tag_menu0[6] = {
|
||||
'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5',
|
||||
};
|
||||
#endif
|
||||
static const u64 let_n[6] = {
|
||||
'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n',
|
||||
};
|
||||
|
|
@ -1240,6 +1348,20 @@ void dMenu_Option_c::screenSet() {
|
|||
static const u64 ftv_btnA[5] = {
|
||||
'font_a1', 'font_at2', 'font_at3', 'font_at4', 'font_at',
|
||||
};
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 fenu_t0[2] = {'fenu_t0s', 'fenu_t0'};
|
||||
static const u64 menu_t0[2] = {'menu_t0s', 'menu_t0'};
|
||||
static const u64 fenu_t1[2] = {'fenu_t1s', 'fenu_t1'};
|
||||
static const u64 menu_t1[2] = {'menu_t1s', 'menu_t1'};
|
||||
static const u64 fenu_t2[2] = {'fenu_t2s', 'fenu_t2'};
|
||||
static const u64 menu_t2[2] = {'menu_t2s', 'menu_t2'};
|
||||
static const u64 fenu_t3[2] = {'fenu_t3s', 'fenu_t3'};
|
||||
static const u64 menu_t3[2] = {'menu_t3s', 'menu_t3'};
|
||||
static const u64 fenu_t4[2] = {'fenu_t4s', 'fenu_t4'};
|
||||
static const u64 menu_t4[2] = {'menu_t4s', 'menu_t4'};
|
||||
static const u64 fenu_t5[2] = {'fenu_t5s', 'fenu_t5'};
|
||||
static const u64 menu_t5[2] = {'menu_t5s', 'menu_t5'};
|
||||
#else
|
||||
static const u64 fenu_t0[2] = {'fenu_t0s', 'fenu_t0'};
|
||||
static const u64 menu_t0[2] = {'menu_t0s', 'menu_t0'};
|
||||
static const u64 fenu_t2[2] = {'fenu_t1s', 'fenu_t1'};
|
||||
|
|
@ -1252,6 +1374,7 @@ void dMenu_Option_c::screenSet() {
|
|||
static const u64 menu_t1[2] = {'menu_t4s', 'menu_t4'};
|
||||
static const u64 fenu_t5[2] = {'fenu_t5s', 'fenu_t5'};
|
||||
static const u64 menu_t5[2] = {'menu_t5s', 'menu_t5'};
|
||||
#endif
|
||||
static const u64 menut_0[6] = {
|
||||
'menut0as', 'menut0a', 'menut0a2', 'menut0a1', 'menut0a4', 'menut0a3',
|
||||
};
|
||||
|
|
@ -1282,19 +1405,32 @@ void dMenu_Option_c::screenSet() {
|
|||
static const u64 fenut_4[6] = {
|
||||
'menut321', 'menut320', 'menut319', 'menut318', 'menut317', 'menut316',
|
||||
};
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 tx[6] = {
|
||||
'wps_text', 'w_p_text', 'g_ps_tx3', 'g_p_tex3', 'wps_tex1', 'w_p_tex1',
|
||||
};
|
||||
#else
|
||||
static const u64 tx[6] = {
|
||||
'w_p_tex5', 'w_p_tex6', 'w_p_tex3', 'w_p_tex4', 'fps_tex1', 'f_p_tex1',
|
||||
};
|
||||
#endif
|
||||
static const u64 op_tx[4] = {
|
||||
'w_text_n', 'w_btn_n', 'w_k_t_n', 'w_abtn_n',
|
||||
};
|
||||
static const u64 z_tx[3] = {
|
||||
'z_gc_n', 0, 0,
|
||||
};
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 txTV[10] = {
|
||||
'menu_t6s', 'menu_t6', 'menu_t9s', 'menu_t9', 'menut10s',
|
||||
'menu_t10', 'menu_t7s', 'menu_t7', 'menu_t8s', 'menu_t8',
|
||||
};
|
||||
#else
|
||||
static const u64 txTV[10] = {
|
||||
'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101',
|
||||
'menu_t01', 'menu_t71', 'menu_t3', 'menu_t81', 'menu_t4',
|
||||
};
|
||||
#endif
|
||||
|
||||
mpTitle = new CPaneMgr(mpBackScreen, 'title_n', 0, NULL);
|
||||
Vec pos = mpTitle->getGlobalVtxCenter(mpTitle->mPane, false, 0);
|
||||
|
|
@ -1368,12 +1504,21 @@ void dMenu_Option_c::screenSet() {
|
|||
mpMenuPane32[i] = NULL;
|
||||
}
|
||||
}
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x270[0] = (J2DTextBox*)mpBackScreen->search('t_t00');
|
||||
field_0x270[1] = (J2DTextBox*)mpBackScreen->search('t_t01');
|
||||
mpBackScreen->search('f_t00')->hide();
|
||||
mpBackScreen->search('t_t01')->hide();
|
||||
field_0x270[2] = (J2DTextBox*)mpTVScreen->search('t_t00');
|
||||
mpTVScreen->search('f_t00')->hide();
|
||||
#else
|
||||
field_0x270[0] = (J2DTextBox*)mpBackScreen->search('f_t00');
|
||||
field_0x270[1] = (J2DTextBox*)mpBackScreen->search('t_t01');
|
||||
mpBackScreen->search('t_t00')->hide();
|
||||
mpBackScreen->search('t_t01')->hide();
|
||||
field_0x270[2] = (J2DTextBox*)mpTVScreen->search('f_t00');
|
||||
mpTVScreen->search('t_t00')->hide();
|
||||
#endif
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x270[i]->setFont(mDoExt_getRubyFont());
|
||||
field_0x270[i]->setString(0x40, "");
|
||||
|
|
@ -1382,91 +1527,167 @@ void dMenu_Option_c::screenSet() {
|
|||
mpString->getString(0x547, field_0x270[1], NULL, NULL, NULL, 0);
|
||||
mpString->getString(0x55C, field_0x270[2], NULL, NULL, NULL, 0);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x25c[i] = (J2DTextBox*)mpTVScreen->search(tv_btnA[i]);
|
||||
mpTVScreen->search(ftv_btnA[i])->hide();
|
||||
#else
|
||||
field_0x25c[i] = (J2DTextBox*)mpTVScreen->search(ftv_btnA[i]);
|
||||
mpTVScreen->search(tv_btnA[i])->hide();
|
||||
#endif
|
||||
field_0x25c[i]->setFont(mDoExt_getMesgFont());
|
||||
field_0x25c[i]->setString(0x40, "");
|
||||
mpString->getString(0x564, field_0x25c[i], NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[0][i] = (J2DTextBox*)mpScreen->search(menu_t0[i]);
|
||||
mpScreen->search(fenu_t0[i])->hide();
|
||||
#else
|
||||
field_0x21c[0][i] = (J2DTextBox*)mpScreen->search(fenu_t0[i]);
|
||||
mpScreen->search(menu_t0[i])->hide();
|
||||
#endif
|
||||
field_0x21c[0][i]->setFont(mpFont);
|
||||
field_0x21c[0][i]->setString(0x40, "");
|
||||
mpString->getString(0x548, field_0x21c[0][i], NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[1][i] = (J2DTextBox*)mpScreen->search(menu_t1[i]);
|
||||
mpScreen->search(fenu_t1[i])->hide();
|
||||
#else
|
||||
field_0x21c[1][i] = (J2DTextBox*)mpScreen->search(fenu_t2[i]);
|
||||
mpScreen->search(menu_t2[i])->hide();
|
||||
#endif
|
||||
field_0x21c[1][i]->setFont(mpFont);
|
||||
field_0x21c[1][i]->setString(0x40, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpString->getString(0x54B, field_0x21c[1][i], NULL, NULL, NULL, 0);
|
||||
#else
|
||||
mpString->getString(0x54E, field_0x21c[1][i], NULL, NULL, NULL, 0);
|
||||
#endif
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[2][i] = (J2DTextBox*)mpScreen->search(menu_t2[i]);
|
||||
mpScreen->search(fenu_t2[i])->hide();
|
||||
#else
|
||||
field_0x21c[2][i] = (J2DTextBox*)mpScreen->search(fenu_t3[i]);
|
||||
mpScreen->search(menu_t3[i])->hide();
|
||||
#endif
|
||||
field_0x21c[2][i]->setFont(mpFont);
|
||||
field_0x21c[2][i]->setString(0x40, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpString->getString(0x54E, field_0x21c[2][i], NULL, NULL, NULL, 0);
|
||||
#else
|
||||
mpString->getString(0x54F, field_0x21c[2][i], NULL, NULL, NULL, 0);
|
||||
#endif
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[3][i] = (J2DTextBox*)mpScreen->search(menu_t3[i]);
|
||||
mpScreen->search(fenu_t3[i])->hide();
|
||||
#else
|
||||
field_0x21c[3][i] = (J2DTextBox*)mpScreen->search(fenu_t4[i]);
|
||||
mpScreen->search(menu_t4[i])->hide();
|
||||
#endif
|
||||
field_0x21c[3][i]->setFont(mpFont);
|
||||
field_0x21c[3][i]->setString(0x40, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpString->getString(0x54F, field_0x21c[3][i], NULL, NULL, NULL, 0);
|
||||
#endif
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[4][i] = (J2DTextBox*)mpScreen->search(menu_t4[i]);
|
||||
mpScreen->search(fenu_t4[i])->hide();
|
||||
#else
|
||||
field_0x21c[4][i] = (J2DTextBox*)mpScreen->search(fenu_t1[i]);
|
||||
mpScreen->search(menu_t1[i])->hide();
|
||||
#endif
|
||||
field_0x21c[4][i]->setFont(mpFont);
|
||||
field_0x21c[4][i]->setString(0x40, "");
|
||||
}
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x21c[5][i] = (J2DTextBox*)mpScreen->search(menu_t5[i]);
|
||||
mpScreen->search(fenu_t5[i])->hide();
|
||||
#else
|
||||
field_0x21c[5][i] = (J2DTextBox*)mpScreen->search(fenu_t5[i]);
|
||||
mpScreen->search(menu_t5[i])->hide();
|
||||
#endif
|
||||
field_0x21c[5][i]->setFont(mpFont);
|
||||
field_0x21c[5][i]->setString(0x40, "");
|
||||
mpString->getString(0x554, field_0x21c[5][i], NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
paneResize(menut_0[i]);
|
||||
mpMenuText[0][i] = new CPaneMgr(mpClipScreen, menut_0[i], 0, NULL);
|
||||
mpClipScreen->search(fenut_0[i])->hide();
|
||||
#else
|
||||
paneResize(fenut_0[i]);
|
||||
mpMenuText[0][i] = new CPaneMgr(mpClipScreen, fenut_0[i], 0, NULL);
|
||||
mpClipScreen->search(menut_0[i])->hide();
|
||||
#endif
|
||||
((J2DTextBox*)(mpMenuText[0][i]->getPanePtr()))->setFont(mpFont);
|
||||
((J2DTextBox*)(mpMenuText[0][i]->getPanePtr()))->setString(0x40, "");
|
||||
mpMenuText[0][i]->getPanePtr()->setBasePosition(J2DBasePosition_4);
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
paneResize(menut_1[i]);
|
||||
mpMenuText[1][i] = new CPaneMgr(mpClipScreen, menut_1[i], 0, NULL);
|
||||
mpClipScreen->search(fenut_1[i])->hide();
|
||||
#else
|
||||
paneResize(fenut_1[i]);
|
||||
mpMenuText[1][i] = new CPaneMgr(mpClipScreen, fenut_1[i], 0, NULL);
|
||||
mpClipScreen->search(menut_1[i])->hide();
|
||||
#endif
|
||||
mpMenuText[1][i]->show();
|
||||
((J2DTextBox*)(mpMenuText[1][i]->getPanePtr()))->setFont(mpFont);
|
||||
((J2DTextBox*)(mpMenuText[1][i]->getPanePtr()))->setString(0x40, "");
|
||||
mpMenuText[1][i]->getPanePtr()->setBasePosition(J2DBasePosition_4);
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
paneResize(menut_2[i]);
|
||||
mpMenuText[2][i] = new CPaneMgr(mpClipScreen, menut_2[i], 0, NULL);
|
||||
mpClipScreen->search(fenut_2[i])->hide();
|
||||
#else
|
||||
paneResize(fenut_2[i]);
|
||||
mpMenuText[2][i] = new CPaneMgr(mpClipScreen, fenut_2[i], 0, NULL);
|
||||
mpClipScreen->search(menut_2[i])->hide();
|
||||
#endif
|
||||
mpMenuText[2][i]->show();
|
||||
((J2DTextBox*)(mpMenuText[2][i]->getPanePtr()))->setFont(mpFont);
|
||||
((J2DTextBox*)(mpMenuText[2][i]->getPanePtr()))->setString(0x40, "");
|
||||
mpMenuText[2][i]->getPanePtr()->setBasePosition(J2DBasePosition_4);
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
paneResize(menut_3[i]);
|
||||
mpMenuText[3][i] = new CPaneMgr(mpClipScreen, menut_3[i], 0, NULL);
|
||||
mpClipScreen->search(fenut_3[i])->hide();
|
||||
#else
|
||||
paneResize(fenut_3[i]);
|
||||
mpMenuText[3][i] = new CPaneMgr(mpClipScreen, fenut_3[i], 0, NULL);
|
||||
mpClipScreen->search(menut_3[i])->hide();
|
||||
#endif
|
||||
mpMenuText[3][i]->show();
|
||||
((J2DTextBox*)(mpMenuText[3][i]->getPanePtr()))->setFont(mpFont);
|
||||
((J2DTextBox*)(mpMenuText[3][i]->getPanePtr()))->setString(0x40, "");
|
||||
mpMenuText[3][i]->getPanePtr()->setBasePosition(J2DBasePosition_4);
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
paneResize(menut_4[i]);
|
||||
mpMenuText[4][i] = new CPaneMgr(mpClipScreen, menut_4[i], 0, NULL);
|
||||
mpClipScreen->search(fenut_4[i])->hide();
|
||||
#else
|
||||
paneResize(fenut_4[i]);
|
||||
mpMenuText[4][i] = new CPaneMgr(mpClipScreen, fenut_4[i], 0, NULL);
|
||||
mpClipScreen->search(menut_4[i])->hide();
|
||||
#endif
|
||||
mpMenuText[4][i]->show();
|
||||
((J2DTextBox*)(mpMenuText[4][i]->getPanePtr()))->setFont(mpFont);
|
||||
((J2DTextBox*)(mpMenuText[4][i]->getPanePtr()))->setString(0x40, "");
|
||||
|
|
@ -1484,8 +1705,13 @@ void dMenu_Option_c::screenSet() {
|
|||
}
|
||||
field_0x3b4 = 0.0f;
|
||||
menuVisible();
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpBackScreen->search('jpn_n')->show();
|
||||
mpBackScreen->search('foregn_n')->hide();
|
||||
#else
|
||||
mpBackScreen->search('jpn_n')->hide();
|
||||
mpBackScreen->search('foregn_n')->show();
|
||||
#endif
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J2DTextBox* backScreen = (J2DTextBox*)mpBackScreen->search(tx[i]);
|
||||
backScreen->setFont(mpFont);
|
||||
|
|
@ -1512,7 +1738,9 @@ void dMenu_Option_c::screenSet() {
|
|||
for (int i = 0; i < 10; i++) {
|
||||
J2DTextBox* tvScreen = (J2DTextBox*)mpTVScreen->search(txTV[i]);
|
||||
tvScreen->setFont(mpFont);
|
||||
#if VERSION != VERSION_GCN_JPN
|
||||
tvScreen->setCharSpace(0.0f);
|
||||
#endif
|
||||
|
||||
if (i < 2) {
|
||||
tvScreen->setString(0x100, "");
|
||||
|
|
@ -1574,6 +1802,30 @@ void dMenu_Option_c::setAttenString() {
|
|||
}
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
void dMenu_Option_c::setRubyString() {
|
||||
u16 stringId1;
|
||||
u16 stringId2;
|
||||
|
||||
if (field_0x3e5_JPN == 0) {
|
||||
stringId1 = 0x54c;
|
||||
stringId2 = 0x54d;
|
||||
} else {
|
||||
stringId1 = 0x54d;
|
||||
stringId2 = 0x54c;
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (i < 2) {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[1][i]->getPanePtr();
|
||||
mpString->getString(stringId1, textBox, NULL, NULL, NULL, 0);
|
||||
} else {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[1][i]->getPanePtr();
|
||||
mpString->getString(stringId2, textBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 801E70E8-801E71CC 1E1A28 00E4+00 2/2 0/0 0/0 .text setVibString__14dMenu_Option_cFv */
|
||||
void dMenu_Option_c::setVibString() {
|
||||
u16 stringId1;
|
||||
|
|
@ -1587,11 +1839,16 @@ void dMenu_Option_c::setVibString() {
|
|||
stringId2 = 0x54C;
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
const int IDX = 2;
|
||||
#else
|
||||
const int IDX = 1;
|
||||
#endif
|
||||
if (i < 2) {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[1][i]->getPanePtr();
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[IDX][i]->getPanePtr();
|
||||
mpString->getString(stringId1, textBox, NULL, NULL, NULL, 0);
|
||||
} else {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[1][i]->getPanePtr();
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[IDX][i]->getPanePtr();
|
||||
mpString->getString(stringId2, textBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -1618,14 +1875,19 @@ void dMenu_Option_c::setSoundString() {
|
|||
stringId3 = 0x550;
|
||||
}
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
const int IDX = 3;
|
||||
#else
|
||||
const int IDX = 2;
|
||||
#endif
|
||||
if (i < 2) {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[2][i]->getPanePtr();
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[IDX][i]->getPanePtr();
|
||||
mpString->getString(stringId1, textBox, NULL, NULL, NULL, 0);
|
||||
} else if (i < 4) {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[2][i]->getPanePtr();
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[IDX][i]->getPanePtr();
|
||||
mpString->getString(stringId2, textBox, NULL, NULL, NULL, 0);
|
||||
} else {
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[2][i]->getPanePtr();
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuText[IDX][i]->getPanePtr();
|
||||
mpString->getString(stringId3, textBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -1634,9 +1896,11 @@ void dMenu_Option_c::setSoundString() {
|
|||
/* 801E7314-801E73D8 1E1C54 00C4+00 8/8 0/0 0/0 .text setCursorPos__14dMenu_Option_cFUc
|
||||
*/
|
||||
void dMenu_Option_c::setCursorPos(u8 i_index) {
|
||||
#if VERSION != VERSION_GCN_JPN
|
||||
if (i_index == 4) {
|
||||
i_index = 5;
|
||||
}
|
||||
#endif
|
||||
|
||||
Vec pos = mpMenuPane[i_index]->getGlobalVtxCenter(mpMenuPane[i_index]->mPane, false, 0);
|
||||
mpDrawCursor->setPos(pos.x + (field_0x330 - field_0x334), pos.y,
|
||||
|
|
@ -1689,10 +1953,10 @@ void dMenu_Option_c::setSelectColor(u8 param_0, bool param_1) {
|
|||
/* 801E76EC-801E7718 1E202C 002C+00 8/8 0/0 0/0 .text getSelectType__14dMenu_Option_cFv
|
||||
*/
|
||||
u8 dMenu_Option_c::getSelectType() {
|
||||
if (field_0x3ef < 3) {
|
||||
if (field_0x3ef < SelectType3) {
|
||||
return field_0x3ef;
|
||||
}
|
||||
if (field_0x3f5 < 3) {
|
||||
if (field_0x3f5 < SelectType3) {
|
||||
return field_0x3f5;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -1838,7 +2102,11 @@ void dMenu_Option_c::changeTVCheck() {
|
|||
}
|
||||
|
||||
static void dummy() {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static const u64 txTVhide[5] = {'fmenu_6n', 'fmenu_9n', 'fmenu_10', 'fmenu_7n', 'fmenu_8n'};
|
||||
#else
|
||||
static const u64 txTVhide[5] = {'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n'};
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 801E7E98-801E7F9C 1E27D8 0104+00 11/11 0/0 0/0 .text setAButtonString__14dMenu_Option_cFUs */
|
||||
|
|
@ -1909,6 +2177,13 @@ void dMenu_Option_c::paneResize(u64 i_tag) {
|
|||
/* 801E8210-801E82C4 1E2B50 00B4+00 1/1 1/1 0/0 .text initialize__14dMenu_Option_cFv */
|
||||
void dMenu_Option_c::initialize() {
|
||||
field_0x3e4 = dComIfGs_getOptAttentionType();
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
field_0x3e5_JPN = 1;
|
||||
} else {
|
||||
field_0x3e5_JPN = 0;
|
||||
}
|
||||
#endif
|
||||
field_0x3e5 = dComIfGs_getOptCameraControl();
|
||||
field_0x3e8 = 0;
|
||||
field_0x3eb = 0;
|
||||
|
|
@ -1921,6 +2196,9 @@ void dMenu_Option_c::initialize() {
|
|||
field_0x3ea = 0;
|
||||
}
|
||||
setAttenString();
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
setRubyString();
|
||||
#endif
|
||||
setVibString();
|
||||
setSoundString();
|
||||
mFrame = 0;
|
||||
|
|
|
|||
|
|
@ -322,36 +322,61 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
|
|||
}
|
||||
mpString = new dMsgString_c();
|
||||
for (i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* fxy_TextBox = (J2DTextBox*)mpScreen->search(xy_text[i]);
|
||||
mpScreen->search(fxy_text[i])->hide();
|
||||
#else
|
||||
J2DTextBox* fxy_TextBox = (J2DTextBox*)mpScreen->search(fxy_text[i]);
|
||||
mpScreen->search(xy_text[i])->hide();
|
||||
#endif
|
||||
fxy_TextBox->setFont(mDoExt_getMesgFont());
|
||||
fxy_TextBox->setString(0x40, "");
|
||||
field_0x580[0] = mpString->getString(0x380, fxy_TextBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* fc_TextBox = (J2DTextBox*)mpScreen->search(c_text[i]);
|
||||
mpScreen->search(fc_text[i])->hide();
|
||||
#else
|
||||
J2DTextBox* fc_TextBox = (J2DTextBox*)mpScreen->search(fc_text[i]);
|
||||
mpScreen->search(c_text[i])->hide();
|
||||
#endif
|
||||
fc_TextBox->setFont(mDoExt_getMesgFont());
|
||||
fc_TextBox->setString(0x40, "");
|
||||
field_0x580[1] = mpString->getString(0x37F, fc_TextBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* fc1_TextBox = (J2DTextBox*)mpScreen->search(c_text1[i]);
|
||||
mpScreen->search(fc_text1[i])->hide();
|
||||
#else
|
||||
J2DTextBox* fc1_TextBox = (J2DTextBox*)mpScreen->search(fc_text1[i]);
|
||||
mpScreen->search(c_text1[i])->hide();
|
||||
#endif
|
||||
fc1_TextBox->setFont(mDoExt_getMesgFont());
|
||||
fc1_TextBox->setString(0x40, "");
|
||||
field_0x580[2] = mpString->getString(0x4CD, fc1_TextBox, NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpComboOffString[i] = (J2DTextBox*)mpScreen->search(t_on[i]);
|
||||
mpScreen->search(ft_on[i])->hide();
|
||||
#else
|
||||
mpComboOffString[i] = (J2DTextBox*)mpScreen->search(ft_on[i]);
|
||||
mpScreen->search(t_on[i])->hide();
|
||||
#endif
|
||||
mpComboOffString[i]->setString(0x40, "");
|
||||
mpComboOffString[i]->setFont(mDoExt_getMesgFont());
|
||||
mpString->getString(0x4D2, mpComboOffString[i], NULL, NULL, NULL, 0);
|
||||
}
|
||||
for (int i = 0; i < 5; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpBowArrowComboString[i] = (J2DTextBox*)mpScreen->search(t_off[i]);
|
||||
mpScreen->search(ft_off[i])->hide();
|
||||
#else
|
||||
mpBowArrowComboString[i] = (J2DTextBox*)mpScreen->search(ft_off[i]);
|
||||
mpScreen->search(t_off[i])->hide();
|
||||
#endif
|
||||
mpBowArrowComboString[i]->setString(0x40, "");
|
||||
mpBowArrowComboString[i]->setFont(mDoExt_getMesgFont());
|
||||
mpString->getString(0x4D3, mpBowArrowComboString[i], NULL, NULL, NULL, 0);
|
||||
|
|
@ -376,6 +401,20 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
|
|||
mpNameParent = new CPaneMgr(mpCenterScreen, 'label_n', 1, NULL);
|
||||
mpCircle = new CPaneMgr(mpCenterScreen, 'circle_n', 2, NULL);
|
||||
J2DTextBox* textBox[4];
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
textBox[0] = (J2DTextBox*)mpCenterScreen->search('item_n04');
|
||||
textBox[1] = (J2DTextBox*)mpCenterScreen->search('item_n05');
|
||||
textBox[2] = (J2DTextBox*)mpCenterScreen->search('item_n06');
|
||||
textBox[3] = (J2DTextBox*)mpCenterScreen->search('item_n07');
|
||||
J2DPane* pane = mpCenterScreen->search('fitem_n1');
|
||||
pane->mVisible = false;
|
||||
pane = mpCenterScreen->search('fitem_n2');
|
||||
pane->mVisible = false;
|
||||
pane = mpCenterScreen->search('fitem_n3');
|
||||
pane->mVisible = false;
|
||||
pane = mpCenterScreen->search('fitem_n4');
|
||||
pane->mVisible = false;
|
||||
#else
|
||||
textBox[0] = (J2DTextBox*)mpCenterScreen->search('fitem_n1');
|
||||
textBox[1] = (J2DTextBox*)mpCenterScreen->search('fitem_n2');
|
||||
textBox[2] = (J2DTextBox*)mpCenterScreen->search('fitem_n3');
|
||||
|
|
@ -384,6 +423,7 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
|
|||
mpCenterScreen->search('item_n05');
|
||||
mpCenterScreen->search('item_n06');
|
||||
mpCenterScreen->search('item_n07');
|
||||
#endif
|
||||
for (int i = 0; i < 4; i++) {
|
||||
textBox[i]->setFont(mDoExt_getMesgFont());
|
||||
textBox[i]->setString(0x40, "");
|
||||
|
|
@ -1085,10 +1125,17 @@ void dMenu_Ring_c::setScale() {
|
|||
/* 801EC3B0-801EC504 1E6CF0 0154+00 1/1 0/0 0/0 .text setNameString__12dMenu_Ring_cFUl */
|
||||
void dMenu_Ring_c::setNameString(u32 i_stringID) {
|
||||
J2DTextBox* textBox[4];
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
textBox[0] = (J2DTextBox*)mpCenterScreen->search('item_n04');
|
||||
textBox[1] = (J2DTextBox*)mpCenterScreen->search('item_n05');
|
||||
textBox[2] = (J2DTextBox*)mpCenterScreen->search('item_n06');
|
||||
textBox[3] = (J2DTextBox*)mpCenterScreen->search('item_n07');
|
||||
#else
|
||||
textBox[0] = (J2DTextBox*)mpCenterScreen->search('fitem_n1');
|
||||
textBox[1] = (J2DTextBox*)mpCenterScreen->search('fitem_n2');
|
||||
textBox[2] = (J2DTextBox*)mpCenterScreen->search('fitem_n3');
|
||||
textBox[3] = (J2DTextBox*)mpCenterScreen->search('fitem_n4');
|
||||
#endif
|
||||
if (mNameStringID != i_stringID) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (i_stringID == 0) {
|
||||
|
|
|
|||
|
|
@ -204,10 +204,15 @@ void dMenu_save_c::screenSet() {
|
|||
static u64 l_tagName10[2] = {'w_no_g', 'w_yes_g'};
|
||||
static u64 l_tagName11[2] = {'w_no_gr', 'w_yes_gr'};
|
||||
static u64 l_tagName12[3] = {'w_bk_l00', 'w_bk_l01', 'w_bk_l02'};
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static u64 l_tagName21[2] = {'w_tabi_s', 'w_tabi_x'};
|
||||
static u64 l_tagName20[2] = {'w_er_msg', 'w_er_msR'};
|
||||
#else
|
||||
static u64 l_tagName21[2] = {'t_for', 't_for1'};
|
||||
static u64 l_tagName211[10] = {'tmoyou00', 'tmoyou01', 'tmoyou02', 'tmoyou03', 'tmoyou04',
|
||||
'tmoyou05', 'tmoyou06', 'tmoyou07', 'tmoyou08', 'tmoyou09'};
|
||||
static u64 l_tagName20[2] = {'er_for0', 'er_for1'};
|
||||
#endif
|
||||
static u64 l_tagName13[3] = {'w_dat_i0', 'w_dat_i1', 'w_dat_i2'};
|
||||
static u8 l_msgNum0[2] = {0x08, 0x07};
|
||||
static u8 l_msgNum[2] = {0x54, 0x55};
|
||||
|
|
@ -241,8 +246,13 @@ void dMenu_save_c::screenSet() {
|
|||
mpNoYes[1] = new CPaneMgr(mSaveSel.Scr, 'w_yes_n', 0, NULL);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpNoYesTxt[i] = new CPaneMgr(mSaveSel.Scr, l_tagName000[i], 0, NULL);
|
||||
mSaveSel.Scr->search(l_tagName000U[i])->hide();
|
||||
#else
|
||||
mpNoYesTxt[i] = new CPaneMgr(mSaveSel.Scr, l_tagName000U[i], 0, NULL);
|
||||
mSaveSel.Scr->search(l_tagName000[i])->hide();
|
||||
#endif
|
||||
((J2DTextBox*)mpNoYesTxt[i]->getPanePtr())->setFont(mSaveSel.font[0]);
|
||||
|
||||
char message[32];
|
||||
|
|
@ -255,8 +265,13 @@ void dMenu_save_c::screenSet() {
|
|||
|
||||
mpBBtnIcon = new CPaneMgrAlpha(mSaveSel.Scr, 'w_nbbtn', 2, NULL);
|
||||
mpABtnIcon = new CPaneMgrAlpha(mSaveSel.Scr, 'w_nabtn', 2, NULL);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpBackTxt = new CPaneMgrAlpha(mSaveSel.Scr, 'w_modo', 2, NULL);
|
||||
mpConfirmTxt = new CPaneMgrAlpha(mSaveSel.Scr, 'w_kete', 2, NULL);
|
||||
#else
|
||||
mpBackTxt = new CPaneMgrAlpha(mSaveSel.Scr, 'f_modo', 2, NULL);
|
||||
mpConfirmTxt = new CPaneMgrAlpha(mSaveSel.Scr, 'f_kete', 2, NULL);
|
||||
#endif
|
||||
|
||||
mpBackTxt->setAlpha(0);
|
||||
mpConfirmTxt->setAlpha(0);
|
||||
|
|
@ -265,8 +280,13 @@ void dMenu_save_c::screenSet() {
|
|||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
J2DTextBox* tbox[2];
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
tbox[i] = (J2DTextBox*)mSaveSel.Scr->search(l_tagName00[i]);
|
||||
mSaveSel.Scr->search(l_tagName00U[i])->hide();
|
||||
#else
|
||||
tbox[i] = (J2DTextBox*)mSaveSel.Scr->search(l_tagName00U[i]);
|
||||
mSaveSel.Scr->search(l_tagName00[i])->hide();
|
||||
#endif
|
||||
tbox[i]->setFont(mSaveSel.font[0]);
|
||||
|
||||
char message[32];
|
||||
|
|
@ -335,21 +355,32 @@ void dMenu_save_c::screenSet() {
|
|||
mpBookWaku[i]->setAlpha(0);
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mSaveSel.Scr->search('t_for')->hide();
|
||||
mSaveSel.Scr->search('t_for1')->hide();
|
||||
#else
|
||||
mSaveSel.Scr->search('w_tabi_s')->hide();
|
||||
mSaveSel.Scr->search('w_tabi_x')->hide();
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
mSaveSel.Scr->search(l_tagName211[i])->hide();
|
||||
}
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpHeaderTxtPane[i] = new CPaneMgrAlpha(mSaveSel.Scr, l_tagName21[i], 0, NULL);
|
||||
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setFont(mSaveSel.font[0]);
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setString(0x100, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setFontSize(21.0f, 21.0f);
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setLineSpace(22.0f);
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setCharSpace(2.0f);
|
||||
#else
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setFontSize(19.0f, 19.0f);
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setLineSpace(20.0f);
|
||||
((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->setCharSpace(0.0f);
|
||||
#endif
|
||||
mpHeaderTxt[i] = ((J2DTextBox*)mpHeaderTxtPane[i]->getPanePtr())->getStringPtr();
|
||||
}
|
||||
|
||||
|
|
@ -358,18 +389,33 @@ void dMenu_save_c::screenSet() {
|
|||
mHeaderTxtType = 0;
|
||||
|
||||
field_0xb4 = mSaveSel.Scr->search('w_er_n');
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mSaveSel.Scr->search('er_for0')->hide();
|
||||
mSaveSel.Scr->search('er_for1')->hide();
|
||||
#else
|
||||
mSaveSel.Scr->search('w_er_msg')->hide();
|
||||
mSaveSel.Scr->search('w_er_msR')->hide();
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpErrTxtPane[i] = new CPaneMgrAlpha(mSaveSel.Scr, l_tagName20[i], 0, NULL);
|
||||
#else
|
||||
mpErrTxtPane[i] = new CPaneMgrAlpha(mSaveSel.Scr, l_tagName20[i], 0, NULL);
|
||||
#endif
|
||||
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setFont(mSaveSel.font[0]);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setString(0x200, "");
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setFontSize(21.0f, 21.0f);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setLineSpace(22.0f);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setCharSpace(2.0f);
|
||||
#else
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->resize(440.0f, 198.0f);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setFontSize(21.0f, 21.0f);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setLineSpace(21.0f);
|
||||
((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->setCharSpace(1.0f);
|
||||
#endif
|
||||
mpErrTxt[i] = ((J2DTextBox*)mpErrTxtPane[i]->getPanePtr())->getStringPtr();
|
||||
mpErrTxtPane[i]->show();
|
||||
}
|
||||
|
|
@ -2411,12 +2457,21 @@ bool dMenu_save_c::selectDataBaseMoveAnm() {
|
|||
mpSelectMoveBase->getPanePtr()->animationTransform();
|
||||
return false;
|
||||
} else {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (mDataBaseMoveAnmFrame == 33) {
|
||||
field_0x64 = 1;
|
||||
} else {
|
||||
field_0x64 = 0;
|
||||
}
|
||||
field_0x65 = 0;
|
||||
#else
|
||||
if (mDataBaseMoveAnmFrame == 33) {
|
||||
field_0x64 = 1;
|
||||
field_0x65 = 0;
|
||||
} else {
|
||||
field_0x64 = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
mpSelectMoveBase->getPanePtr()->setAnimation((J2DAnmTransformKey*)NULL);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -440,6 +440,16 @@ void dMenu_Skill_c::screenSetMenu() {
|
|||
mpParent = new CPaneMgr(mpMenuScreen, 'n_all', 2, NULL);
|
||||
mpParent->setAlphaRate(0.0f);
|
||||
for (int i = 0; i < 7; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpFTagPicture[i][0] = (J2DTextBox*)mpMenuScreen->search(tag_sub0[i]);
|
||||
mpFTagPicture[i][1] = (J2DTextBox*)mpMenuScreen->search(tag_sub1[i]);
|
||||
mpFTagPicture[i][2] = (J2DTextBox*)mpMenuScreen->search(tag_name0[i]);
|
||||
mpFTagPicture[i][3] = (J2DTextBox*)mpMenuScreen->search(tag_name1[i]);
|
||||
mpMenuScreen->search(ftag_sub0[i])->hide();
|
||||
mpMenuScreen->search(ftag_sub1[i])->hide();
|
||||
mpMenuScreen->search(ftag_name0[i])->hide();
|
||||
mpMenuScreen->search(ftag_name1[i])->hide();
|
||||
#else
|
||||
mpFTagPicture[i][0] = (J2DTextBox*)mpMenuScreen->search(ftag_sub0[i]);
|
||||
mpFTagPicture[i][1] = (J2DTextBox*)mpMenuScreen->search(ftag_sub1[i]);
|
||||
mpFTagPicture[i][2] = (J2DTextBox*)mpMenuScreen->search(ftag_name0[i]);
|
||||
|
|
@ -448,6 +458,7 @@ void dMenu_Skill_c::screenSetMenu() {
|
|||
mpMenuScreen->search(tag_sub1[i])->hide();
|
||||
mpMenuScreen->search(tag_name0[i])->hide();
|
||||
mpMenuScreen->search(tag_name1[i])->hide();
|
||||
#endif
|
||||
for (int j = 0; j < 4; j++) {
|
||||
mpFTagPicture[i][j]->setFont(mDoExt_getMesgFont());
|
||||
mpFTagPicture[i][j]->setString(0x40, "");
|
||||
|
|
@ -484,8 +495,13 @@ void dMenu_Skill_c::screenSetMenu() {
|
|||
mSelectWhite[i] = mpFTagPicture[1][i]->getWhite();
|
||||
}
|
||||
}
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuScreen->search('t_t00');
|
||||
mpMenuScreen->search('f_t00')->hide();
|
||||
#else
|
||||
J2DTextBox* textBox = (J2DTextBox*)mpMenuScreen->search('f_t00');
|
||||
mpMenuScreen->search('t_t00')->hide();
|
||||
#endif
|
||||
textBox->setFont(mDoExt_getSubFont());
|
||||
textBox->setString(0x200, "");
|
||||
mpString->getString(0x6a4, textBox, NULL, NULL, NULL, 0);
|
||||
|
|
@ -510,16 +526,26 @@ void dMenu_Skill_c::screenSetLetter() {
|
|||
mpLetterScreen = new J2DScreen();
|
||||
mpLetterScreen->setPriority("zelda_ougi_info.blo", 0x20000, mpArchive);
|
||||
dPaneClass_showNullPane(mpLetterScreen);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpTextPane = new CPaneMgr(mpLetterScreen, 'mg_3line', 0, NULL);
|
||||
mpLetterScreen->search('n_e4line')->hide();
|
||||
#else
|
||||
mpTextPane = new CPaneMgr(mpLetterScreen, 'mg_e4lin', 0, NULL);
|
||||
mpLetterScreen->search('n_3line')->hide();
|
||||
#endif
|
||||
mpExpName = new CPaneMgr(mpLetterScreen, 'label_n', 0, NULL);
|
||||
J2DTextBox* paneFont = (J2DTextBox*)mpTextPane->getPanePtr();
|
||||
paneFont->setFont(mDoExt_getMesgFont());
|
||||
J2DTextBox* paneString = (J2DTextBox*)mpTextPane->getPanePtr();
|
||||
paneString->setString(0x200, "");
|
||||
for (int i = 0; i < 4; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpNameString[i] = (J2DTextBox*)mpLetterScreen->search(name_tag[i]);
|
||||
mpLetterScreen->search(fame_tag[i])->hide();
|
||||
#else
|
||||
mpNameString[i] = (J2DTextBox*)mpLetterScreen->search(fame_tag[i]);
|
||||
mpLetterScreen->search(name_tag[i])->hide();
|
||||
#endif
|
||||
mpNameString[i]->setFont(mDoExt_getMesgFont());
|
||||
mpNameString[i]->setString(0x40, "");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public:
|
|||
GXPixModeSync();
|
||||
} else {
|
||||
GXTexObj tex;
|
||||
GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224,
|
||||
GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224,
|
||||
(GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&tex, GX_TEXMAP0);
|
||||
|
|
|
|||
|
|
@ -543,6 +543,15 @@ f32 dMeter2Info_c::getStringLength(J2DTextBox* i_textbox, char* i_string) {
|
|||
str_width = 0.0f;
|
||||
} else {
|
||||
int c = (u8)*string;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
bool unkFlag1 = false;
|
||||
if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc)) {
|
||||
unkFlag1 = true;
|
||||
}
|
||||
if (unkFlag1) {
|
||||
c = (c << 8) | (u8)*++string;
|
||||
}
|
||||
#endif
|
||||
str_width += charSpace + (fontSize.mSizeX * ((f32)font->getWidth(c) / (f32)font->getCellWidth()));
|
||||
}
|
||||
}
|
||||
|
|
@ -568,6 +577,15 @@ f32 dMeter2Info_c::getStringLength(JUTFont* i_font, f32 param_2, f32 param_3, ch
|
|||
str_width = 0.0f;
|
||||
} else {
|
||||
int c = (u8)*string;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
bool unkFlag1 = false;
|
||||
if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc)) {
|
||||
unkFlag1 = true;
|
||||
}
|
||||
if (unkFlag1) {
|
||||
c = (c << 8) | (u8)*++string;
|
||||
}
|
||||
#endif
|
||||
str_width += param_3 + param_2 * ((f32)i_font->getWidth(c) / (f32)i_font->getCellWidth());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1474,6 +1474,33 @@ void dMeterButton_c::screenInitText() {
|
|||
mpTmRoot_c = new CPaneMgr(mpTextScreen, 'mg_null', 0, NULL);
|
||||
JUT_ASSERT(0, mpTmRoot_c != 0);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTm_c[0] = new CPaneMgr(mpTextScreen, 'mg_3flin', 0, NULL);
|
||||
|
||||
mpTm_c[1] = new CPaneMgr(mpTextScreen, 't3f_s', 0, NULL);
|
||||
|
||||
field_0x0ec[0] = new CPaneMgr(mpTextScreen, 'mg_3f', 0, NULL);
|
||||
|
||||
field_0x0ec[1] = new CPaneMgr(mpTextScreen, 'mg_3f_s', 0, NULL);
|
||||
|
||||
mpTextScreen->search('n_3line')->hide();
|
||||
mpTextScreen->search('n_3fline')->show();
|
||||
mpTextScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
mpTm_c[0] = new CPaneMgr(mpTextScreen, 'mg_3line', 0, NULL);
|
||||
|
||||
mpTm_c[1] = new CPaneMgr(mpTextScreen, 't3_s', 0, NULL);
|
||||
|
||||
field_0x0ec[0] = NULL;
|
||||
field_0x0ec[1] = NULL;
|
||||
OS_REPORT("[%s] %d\n", __FILE__, __LINE__);
|
||||
|
||||
mpTextScreen->search('n_3line')->show();
|
||||
mpTextScreen->search('n_3fline')->hide();
|
||||
mpTextScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
mpTm_c[0] = new CPaneMgr(mpTextScreen, 'mg_e4lin', 0, NULL);
|
||||
JUT_ASSERT(0, mpTm_c[0] != 0);
|
||||
|
||||
|
|
@ -1484,25 +1511,29 @@ void dMeterButton_c::screenInitText() {
|
|||
field_0x0ec[1] = NULL;
|
||||
OS_REPORT("[%s] %d\n", __FILE__, __LINE__);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpTextScreen->search('n_3line')->show();
|
||||
mpTextScreen->search('n_3fline')->hide();
|
||||
mpTextScreen->search('n_e4line')->hide();
|
||||
#else
|
||||
mpTextScreen->search('n_3line')->hide();
|
||||
mpTextScreen->search('n_3fline')->hide();
|
||||
mpTextScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
OS_REPORT("[%s] %d\n", __FILE__, __LINE__);
|
||||
|
||||
f32 line_space = static_cast<J2DTextBox*>(mpTm_c[0]->getPanePtr())->getLineSpace();
|
||||
for (int i = 0; i < 2; i++) {
|
||||
static_cast<J2DTextBox*>(mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
static_cast<J2DTextBox*>(mpTm_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
|
||||
if (field_0x0ec[i] != NULL) {
|
||||
static_cast<J2DTextBox*>(field_0x0ec[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
static_cast<J2DTextBox*>(field_0x0ec[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
static_cast<J2DTextBox*>(field_0x0ec[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
static_cast<J2DTextBox*>(field_0x0ec[i]->getPanePtr())->setLineSpace(line_space);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,10 +39,6 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() {
|
|||
'sel_po02', 'c_kahen', 'c_cursor'
|
||||
};
|
||||
|
||||
// tag_n and following data are unused so unsure how this data is properly setup
|
||||
static u64 tag_n[] = {'a_t', 'b_t', 'c_t'};
|
||||
static u32 unkdata[9] = {0};
|
||||
|
||||
mpScreen = new J2DScreen();
|
||||
JUT_ASSERT(0, mpScreen != 0);
|
||||
|
||||
|
|
@ -113,6 +109,67 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() {
|
|||
mCursorPos[i] = mpCursor_c[i]->getGlobalVtxCenter(true, 0);
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_tf', 0, NULL);
|
||||
|
||||
mpTmSel_c[1] = new CPaneMgr(mpScreen, 'b_tf', 0, NULL);
|
||||
|
||||
mpTmSel_c[2] = new CPaneMgr(mpScreen, 'c_tf', 0, NULL);
|
||||
|
||||
mpTmrSel_c[0] = new CPaneMgr(mpScreen, 'a_tf_f', 0, NULL);
|
||||
|
||||
mpTmrSel_c[1] = new CPaneMgr(mpScreen, 'b_tf_f', 0, NULL);
|
||||
|
||||
mpTmrSel_c[2] = new CPaneMgr(mpScreen, 'c_tf_f', 0, NULL);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setString(64, "");
|
||||
((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont());
|
||||
|
||||
((J2DTextBox*)(mpTmrSel_c[i]->getPanePtr()))->setString(64, "");
|
||||
((J2DTextBox*)(mpTmrSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont());
|
||||
}
|
||||
|
||||
mpScreen->search('a_t_e')->hide();
|
||||
mpScreen->search('b_t_e')->hide();
|
||||
mpScreen->search('c_t_e')->hide();
|
||||
mpScreen->search('a_tf')->show();
|
||||
mpScreen->search('b_tf')->show();
|
||||
mpScreen->search('c_tf')->show();
|
||||
mpScreen->search('a_tf_f')->show();
|
||||
mpScreen->search('b_tf_f')->show();
|
||||
mpScreen->search('c_tf_f')->show();
|
||||
mpScreen->search('a_t')->hide();
|
||||
mpScreen->search('b_t')->hide();
|
||||
mpScreen->search('c_t')->hide();
|
||||
} else {
|
||||
mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_t', 0, NULL);
|
||||
|
||||
mpTmSel_c[1] = new CPaneMgr(mpScreen, 'b_t', 0, NULL);
|
||||
|
||||
mpTmSel_c[2] = new CPaneMgr(mpScreen, 'c_t', 0, NULL);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setString(64, "");
|
||||
((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont());
|
||||
mpTmrSel_c[i] = NULL;
|
||||
}
|
||||
|
||||
mpScreen->search('a_t_e')->hide();
|
||||
mpScreen->search('b_t_e')->hide();
|
||||
mpScreen->search('c_t_e')->hide();
|
||||
mpScreen->search('a_tf')->hide();
|
||||
mpScreen->search('b_tf')->hide();
|
||||
mpScreen->search('c_tf')->hide();
|
||||
mpScreen->search('a_tf_f')->hide();
|
||||
mpScreen->search('b_tf_f')->hide();
|
||||
mpScreen->search('c_tf_f')->hide();
|
||||
mpScreen->search('a_t')->show();
|
||||
mpScreen->search('b_t')->show();
|
||||
mpScreen->search('c_t')->show();
|
||||
}
|
||||
#else
|
||||
mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_t_e', 0, NULL);
|
||||
JUT_ASSERT(0, mpTmSel_c[0] != 0);
|
||||
|
||||
|
|
@ -140,6 +197,7 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() {
|
|||
mpScreen->search('a_t')->hide();
|
||||
mpScreen->search('b_t')->hide();
|
||||
mpScreen->search('c_t')->hide();
|
||||
#endif
|
||||
|
||||
mSelMsgCol = static_cast<J2DTextBox*>(mpTmSel_c[0]->getPanePtr())->getWhite();
|
||||
|
||||
|
|
@ -881,13 +939,24 @@ void dMsgScrn3Select_c::selectScale() {
|
|||
/* 8023B4AC-8023B870 235DEC 03C4+00 3/3 0/0 0/0 .text selectTrans__17dMsgScrn3Select_cFv
|
||||
*/
|
||||
void dMsgScrn3Select_c::selectTrans() {
|
||||
static u64 tag_n[] = {'a_t', 'b_t', 'c_t'};
|
||||
|
||||
J2DTextBox::TFontSize font_size;
|
||||
((J2DTextBox*)mpTmSel_c[0]->getPanePtr())->getFontSize(font_size);
|
||||
f32 var_f31 = (mpTmSel_c[0]->getSizeY() - font_size.mSizeY) * 0.5f;
|
||||
|
||||
f32 sp68[3];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0 && (field_0x112 & (u8)(1 << i)) != 0) {
|
||||
sp68[i] = 0.0f;
|
||||
} else {
|
||||
f32 temp = mpTmSel_c[i]->getInitPosY();
|
||||
sp68[i] = mpScreen->search(tag_n[i])->getBounds().i.y - temp;
|
||||
}
|
||||
#else
|
||||
sp68[i] = 0.0f;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (mWidth == 1.0f) {
|
||||
|
|
@ -952,6 +1021,9 @@ void dMsgScrn3Select_c::selectTrans() {
|
|||
}
|
||||
}
|
||||
|
||||
// following data are unused so unsure how this data is properly setup
|
||||
static u32 unkdata[9] = {0};
|
||||
|
||||
/* 8023B870-8023B914 2361B0 00A4+00 7/7 0/0 0/0 .text selectAnimeTransform__17dMsgScrn3Select_cFi
|
||||
*/
|
||||
void dMsgScrn3Select_c::selectAnimeTransform(int i_sel) {
|
||||
|
|
|
|||
|
|
@ -78,7 +78,11 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_
|
|||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x50 = 0.0f;
|
||||
#else
|
||||
field_0x50 = -10.0f;
|
||||
#endif
|
||||
field_0x4c = 0.0f;
|
||||
} else {
|
||||
mpTxScreen->setPriority("zelda_message_window_text.blo", 0x20000,
|
||||
|
|
@ -87,6 +91,31 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_
|
|||
|
||||
mpScreen->search('n_all')->scale(g_MsgObject_HIO_c.mBoxTalkScaleX,
|
||||
g_MsgObject_HIO_c.mBoxTalkScaleY);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0x50 = 0.0f;
|
||||
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3flin', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3f_s', 0, NULL);
|
||||
|
||||
field_0x10[0] = new CPaneMgr(mpTxScreen, 'mg_3f', 0, NULL);
|
||||
field_0x10[1] = new CPaneMgr(mpTxScreen, 'mg_3f_s', 0, NULL);
|
||||
|
||||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->show();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3line', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
|
||||
|
||||
field_0x10[0] = NULL;
|
||||
field_0x10[1] = NULL;
|
||||
|
||||
mpTxScreen->search('n_3line')->show();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
field_0x50 = -10.0f;
|
||||
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL);
|
||||
|
|
@ -98,6 +127,7 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_
|
|||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
if (param_1 == 2 || param_1 == 4) {
|
||||
field_0x4c = 0.0f;
|
||||
|
|
@ -109,12 +139,20 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool param_
|
|||
f32 lineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace();
|
||||
for (int i = 0; i < 2; i++) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(lineSpace);
|
||||
|
||||
if (field_0x10[i] != NULL) {
|
||||
((J2DTextBox*)field_0x10[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)field_0x10[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)field_0x10[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
((J2DTextBox*)field_0x10[i]->getPanePtr())->setLineSpace(lineSpace);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -195,7 +195,44 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
|
|||
field_0x19d = false;
|
||||
mpPmP_c = new CPaneMgr(mpScreen, 'n_all', 3, NULL);
|
||||
JUT_ASSERT(389, mpPmP_c != 0);
|
||||
|
||||
mpPmP_c->scale(g_MsgObject_HIO_c.mBoxItemScaleX, g_MsgObject_HIO_c.mBoxItemScaleY);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3flin', 0, NULL);
|
||||
JUT_ASSERT(407, mpTm_c[0] != 0);
|
||||
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3f_s', 0, NULL);
|
||||
JUT_ASSERT(410, mpTm_c[1] != 0);
|
||||
|
||||
mpTm_c[2] = new CPaneMgr(mpTxScreen, 't3f_w', 0, NULL);
|
||||
JUT_ASSERT(413, mpTm_c[2] != 0);
|
||||
|
||||
mpTmr_c[0] = new CPaneMgr(mpTxScreen, 'mg_3f', 0, NULL);
|
||||
JUT_ASSERT(416, mpTmr_c[0] != 0);
|
||||
|
||||
mpTmr_c[1] = new CPaneMgr(mpTxScreen, 'mg_3f_s', 0, NULL);
|
||||
JUT_ASSERT(419, mpTmr_c[1] != 0);
|
||||
|
||||
mpTmr_c[2] = new CPaneMgr(mpTxScreen, 'mg_3f_w', 0, NULL);
|
||||
JUT_ASSERT(422, mpTmr_c[2] != 0);
|
||||
|
||||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->show();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3line', 0, NULL);
|
||||
JUT_ASSERT(407, mpTm_c[0] != 0);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
|
||||
JUT_ASSERT(410, mpTm_c[1] != 0);
|
||||
mpTm_c[2] = new CPaneMgr(mpTxScreen, 't3_w', 0, NULL);
|
||||
JUT_ASSERT(413, mpTm_c[2] != 0);
|
||||
mpTxScreen->search('n_3line')->show();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL);
|
||||
JUT_ASSERT(407, mpTm_c[0] != 0);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL);
|
||||
|
|
@ -205,6 +242,8 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
|
|||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
|
|
|
|||
|
|
@ -48,6 +48,26 @@ dMsgScrnJimaku_c::dMsgScrnJimaku_c(u8 param_0, JKRExpHeap* i_heap) {
|
|||
field_0xcc = g_MsgObject_HIO_c.mBoxPos[0][5];
|
||||
mpPmP_c->paneTrans(0.0f, field_0xcc);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTm_c[0] = new CPaneMgr(mpScreen, 'mg_3flin', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpScreen, 't3f_s', 0, NULL);
|
||||
|
||||
mpTmr_c[0] = new CPaneMgr(mpScreen, 'mg_3f', 0, NULL);
|
||||
mpTmr_c[1] = new CPaneMgr(mpScreen, 'mg_3f_s', 0, NULL);
|
||||
|
||||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->show();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
mpTm_c[0] = new CPaneMgr(mpScreen, 'mg_3line', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpScreen, 't3_s', 0, NULL);
|
||||
|
||||
mpScreen->search('n_3line')->show();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
mpTm_c[0] = new CPaneMgr(mpScreen, 'mg_e4lin', 0, NULL);
|
||||
JUT_ASSERT(0, mpTm_c[0] != 0);
|
||||
|
||||
|
|
@ -57,16 +77,25 @@ dMsgScrnJimaku_c::dMsgScrnJimaku_c(u8 param_0, JKRExpHeap* i_heap) {
|
|||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
mpTm_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4],
|
||||
g_MsgObject_HIO_c.mBoxStartWhite[i][4]);
|
||||
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
mpTmr_c[i]->setBlackWhite(g_MsgObject_HIO_c.mBoxStartBlack[i][4],
|
||||
g_MsgObject_HIO_c.mBoxStartWhite[i][4]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@ extern dMsgObject_HIO_c g_MsgObject_HIO_c;
|
|||
|
||||
/* 80244E38-8024534C 23F778 0514+00 0/0 1/1 0/0 .text __ct__16dMsgScrnKanban_cFP10JKRExpHeap */
|
||||
dMsgScrnKanban_c::dMsgScrnKanban_c(JKRExpHeap* param_0) {
|
||||
static u64 const t_tag[3] = {'mg_e4lin', 'f4_w', 't4_s'};
|
||||
|
||||
if (param_0 != NULL) {
|
||||
field_0xd4 = param_0;
|
||||
} else {
|
||||
|
|
@ -60,6 +58,38 @@ dMsgScrnKanban_c::dMsgScrnKanban_c(JKRExpHeap* param_0) {
|
|||
JUT_ASSERT(72, mpSpot_c != 0);
|
||||
|
||||
mpSpot_c->getPanePtr()->setAnimation(field_0xd0);
|
||||
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() != 0) {
|
||||
static u64 const t_tag[3] = {'mg_3line', 't3_w', 't3_s'};
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
}
|
||||
|
||||
mpScreen->search('n_3line')->show();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
static u64 const t_tag_2[3] = {'t3fline', 't3f_w', 't3f_s'};
|
||||
static u64 const tr_tag[3] = {'mg_3f', 'mg_3f_w', 'mg_3f_s'};
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag_2[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
|
||||
mpTmr_c[i] = new CPaneMgr(mpScreen, tr_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
}
|
||||
|
||||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->show();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
static u64 const t_tag[3] = {'mg_e4lin', 'f4_w', 't4_s'};
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
JUT_ASSERT(81, mpTm_c[i] != 0);
|
||||
|
|
@ -69,6 +99,7 @@ dMsgScrnKanban_c::dMsgScrnKanban_c(JKRExpHeap* param_0) {
|
|||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize);
|
||||
mTBoxWidth = mpTm_c[0]->getSizeX();
|
||||
|
|
|
|||
|
|
@ -95,15 +95,62 @@ dMsgScrnTalk_c::dMsgScrnTalk_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
|
|||
mpMg_c[1] = new CPaneMgr(mpTxScreen, 'mg_null', 0, NULL);
|
||||
JUT_ASSERT(153, mpMg_c[1] != 0);
|
||||
OSInitFastCast();
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
field_0xf4 = 0.0f;
|
||||
#else
|
||||
field_0xf4 = -10.0f;
|
||||
#endif
|
||||
fukiPosCalc(param_1);
|
||||
mpPmP_c = new CPaneMgr(mpScreen, 'n_all', 3, NULL);
|
||||
JUT_ASSERT(176, mpPmP_c != 0);
|
||||
mpPmP_c->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, g_MsgObject_HIO_c.mBoxTalkScaleY);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() == 0) {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3flin', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3f_s', 0, NULL);
|
||||
|
||||
mpTmr_c[0] = new CPaneMgr(mpTxScreen, 'mg_3f', 0, NULL);
|
||||
if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) {
|
||||
mpTm_c[2] = new CPaneMgr(mpTxScreen, 't3f_s1', 0, NULL);
|
||||
mpTm_c[3] = new CPaneMgr(mpTxScreen, 't3f_s2', 0, NULL);
|
||||
mpTm_c[4] = new CPaneMgr(mpTxScreen, 't3f_s3', 0, NULL);
|
||||
mpTm_c[5] = new CPaneMgr(mpTxScreen, 't3f_s4', 0, NULL);
|
||||
mpTmr_c[1] = new CPaneMgr(mpTxScreen, 'mg_3f_s1', 0, NULL);
|
||||
mpTmr_c[2] = new CPaneMgr(mpTxScreen, 'mg_3f_s2', 0, NULL);
|
||||
} else {
|
||||
mpTmr_c[1] = new CPaneMgr(mpTxScreen, 'mg_3f_s', 0, NULL);
|
||||
}
|
||||
|
||||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->show();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3line', 0, NULL);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
|
||||
|
||||
if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) {
|
||||
mpTm_c[2] = new CPaneMgr(mpTxScreen, 't3_s1', 0, NULL);
|
||||
JUT_ASSERT(189, mpTm_c[2] != 0);
|
||||
mpTm_c[3] = new CPaneMgr(mpTxScreen, 't3_s2', 0, NULL);
|
||||
JUT_ASSERT(191, mpTm_c[3] != 0);
|
||||
mpTm_c[4] = new CPaneMgr(mpTxScreen, 't3_s3', 0, NULL);
|
||||
JUT_ASSERT(193, mpTm_c[4] != 0);
|
||||
mpTm_c[5] = new CPaneMgr(mpTxScreen, 't3_s4', 0, NULL);
|
||||
JUT_ASSERT(193, mpTm_c[5] != 0);
|
||||
}
|
||||
|
||||
mpTxScreen->search('n_3line')->show();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL);
|
||||
JUT_ASSERT(182, mpTm_c[0] != 0);
|
||||
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL);
|
||||
JUT_ASSERT(185, mpTm_c[1] != 0);
|
||||
|
||||
if (dMsgObject_getMsgObjectClass()->getFukiKind() == 8) {
|
||||
mpTm_c[2] = new CPaneMgr(mpTxScreen, 't4_s1', 0, NULL);
|
||||
JUT_ASSERT(189, mpTm_c[2] != 0);
|
||||
|
|
@ -114,17 +161,27 @@ dMsgScrnTalk_c::dMsgScrnTalk_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
|
|||
mpTm_c[5] = new CPaneMgr(mpTxScreen, 't4_s4', 0, NULL);
|
||||
JUT_ASSERT(193, mpTm_c[5] != 0);
|
||||
}
|
||||
|
||||
mpTxScreen->search('n_3line')->hide();
|
||||
mpTxScreen->search('n_3fline')->hide();
|
||||
mpTxScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (mpTm_c[i] != NULL) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
}
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x210, "");
|
||||
#else
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x200, "");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (dMsgObject_getMsgObjectClass()->getFukiKind() != 8) {
|
||||
|
|
|
|||
|
|
@ -60,8 +60,42 @@ dMsgScrnTree_c::dMsgScrnTree_c(JUTFont* param_0, JKRExpHeap* param_1) {
|
|||
field_0xc8->getPanePtr()->setAnimation(field_0xd0);
|
||||
|
||||
mpScreen->search('white_m')->setAnimation(field_0xd4);
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGs_getOptUnk0() != 0) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
static u64 const t_tag[3] = {'mg_3line', 't3_w', 't3_s'};
|
||||
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(field_0x54);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
}
|
||||
|
||||
mpScreen->search('n_3line')->show();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
} else {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
static u64 const t_tag[3] = {'t3fline', 't3f_w', 't3f_s'};
|
||||
static u64 const tr_tag[3] = {'mg_3f', 'mg_3f_w', 'mg_3f_s'};
|
||||
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(field_0x54);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x210, "");
|
||||
|
||||
mpTmr_c[i] = new CPaneMgr(mpScreen, tr_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setFont(field_0x54);
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setString(0x210, "");
|
||||
}
|
||||
|
||||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->show();
|
||||
mpScreen->search('n_e4line')->hide();
|
||||
}
|
||||
#else
|
||||
for (int i = 0; i < 3; i++) {
|
||||
static u64 const t_tag[3] = {'mg_e4lin', 'f4_w', 't4_s'};
|
||||
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(field_0x54);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, "");
|
||||
|
|
@ -70,6 +104,7 @@ dMsgScrnTree_c::dMsgScrnTree_c(JUTFont* param_0, JKRExpHeap* param_1) {
|
|||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->show();
|
||||
#endif
|
||||
|
||||
((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize);
|
||||
mTBoxWidth = mpTm_c[0]->getSizeX();
|
||||
|
|
|
|||
|
|
@ -1462,6 +1462,12 @@ void dDlst_TimerScrnDraw_c::playBckAnimation(f32 i_frame) {
|
|||
mpGetInParent->getPanePtr()->setAnimation((J2DAnmTransform*)NULL);
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
bool dDlst_TimerScrnDraw_c::isLeadByte(int i_char) {
|
||||
return (i_char >= 0x81 && i_char <= 0x9f) || (i_char >= 0xe0 && i_char <= 0xfc);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80260B54-80260F04 25B494 03B0+00 1/1 0/0 0/0 .text drawPikari__21dDlst_TimerScrnDraw_cFi */
|
||||
void dDlst_TimerScrnDraw_c::drawPikari(int i_no) {
|
||||
f32 temp_f28;
|
||||
|
|
@ -1486,12 +1492,23 @@ void dDlst_TimerScrnDraw_c::drawPikari(int i_no) {
|
|||
}
|
||||
|
||||
for (; string[str_idx] != 0; str_idx++) {
|
||||
int c = string[str_idx] & 0xFF;
|
||||
|
||||
if (str_idx > 0) {
|
||||
var_f29 +=
|
||||
var_f25 * static_cast<J2DTextBox*>(mpGetInText->getPanePtr())->getCharSpace();
|
||||
}
|
||||
|
||||
int c = string[str_idx] & 0xFF;
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (isLeadByte(c)) {
|
||||
c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
|
||||
str_idx++;
|
||||
} else {
|
||||
c = string[str_idx] & 0xFF;
|
||||
}
|
||||
#else
|
||||
c = string[str_idx] & 0xFF;
|
||||
#endif
|
||||
|
||||
var_f29 +=
|
||||
var_f25 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
|
||||
|
|
@ -1501,13 +1518,23 @@ void dDlst_TimerScrnDraw_c::drawPikari(int i_no) {
|
|||
f32 frame;
|
||||
|
||||
for (str_idx = 0; string[str_idx] != 0; str_idx++) {
|
||||
int c = string[str_idx] & 0xFF;
|
||||
|
||||
if (str_idx > 0) {
|
||||
var_f26 +=
|
||||
var_f25 * static_cast<J2DTextBox*>(mpGetInText->getPanePtr())->getCharSpace();
|
||||
}
|
||||
|
||||
int c = string[str_idx] & 0xFF;
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (isLeadByte(c)) {
|
||||
c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
|
||||
str_idx++;
|
||||
} else {
|
||||
c = string[str_idx] & 0xFF;
|
||||
}
|
||||
#else
|
||||
c = string[str_idx] & 0xFF;
|
||||
#endif
|
||||
f32 temp_f24 =
|
||||
var_f25 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
|
||||
if (c != 0x20 && c != 0x8140) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue