diff --git a/configure.py b/configure.py index 9904a8fa29..8f2770687e 100755 --- a/configure.py +++ b/configure.py @@ -685,33 +685,33 @@ config.libs = [ Object(MatchingFor("GZ2E01"), "d/d_menu_ring.cpp"), Object(MatchingFor("GZ2E01"), "d/d_menu_save.cpp"), # missing 0x24 bytes of padding between vtables, likely some abstract base class vtable that gets stripped out Object(MatchingFor("GZ2E01"), "d/d_menu_skill.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_menu_window_HIO.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_menu_window_HIO.cpp"), Object(Equivalent, "d/d_menu_window.cpp"), # weak func order - Object(MatchingFor("GZ2E01"), "d/d_meter_HIO.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_meter_HIO.cpp"), Object(MatchingFor("GZ2E01"), "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"), "d/d_meter2_draw.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_meter2_draw.cpp"), Object(MatchingFor("GZ2E01"), "d/d_meter2_info.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_meter2.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_out_font.cpp"), + Object(MatchingFor("GZ2E01", "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"), "d/d_msg_scrn_3select.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_arrow.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_arrow.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_msg_scrn_base.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_boss.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_boss.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_explain.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_item.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_howl.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_howl.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_jimaku.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_kanban.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_light.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_place.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_staff.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_place.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_msg_scrn_staff.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_talk.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_scrn_tree.cpp"), Object(MatchingFor("GZ2E01"), "d/d_msg_string_base.cpp"), @@ -720,7 +720,7 @@ config.libs = [ Object(Equivalent, "d/d_name.cpp"), # missing vtable padding Object(NonMatching, "d/d_npc_lib.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_ovlp_fade.cpp"), - Object(MatchingFor("GZ2E01"), "d/d_ovlp_fade2.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_ovlp_fade2.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_ovlp_fade3.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_pane_class.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_pane_class_alpha.cpp"), @@ -924,11 +924,11 @@ config.libs = [ Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASAudioReseter.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASDSPChannel.cpp"), Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASDSPInterface.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASDriverIF.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASSoundParams.cpp"), # debug weak func order - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/dspproc.cpp", extra_cflags=["-O4", "-func_align 32"]), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASDriverIF.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASSoundParams.cpp"), # debug weak func order + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/dspproc.cpp", extra_cflags=["-O4", "-func_align 32"]), Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/dsptask.cpp", extra_cflags=["-O4", "-func_align 32"]), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/osdsp.cpp", extra_cflags=["-O4", "-func_align 32", "-str nopool"]), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/osdsp.cpp", extra_cflags=["-O4", "-func_align 32", "-str nopool"]), Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/osdsp_task.cpp", extra_cflags=["-O4", "-func_align 32"]), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "JSystem/JAudio2/JAIAudible.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAIAudience.cpp"), @@ -978,7 +978,7 @@ config.libs = [ "host": True, "objects": [ Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2Calc.cpp"), - Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2AudioArcLoader.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "Z2AudioLib/Z2AudioArcLoader.cpp"), Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2Param.cpp"), Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SoundMgr.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundStarter.cpp"), @@ -1111,13 +1111,13 @@ config.libs = [ JSystemLib( "J3DGraphBase", [ - Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DGD.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/J3DGraphBase/J3DGD.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DSys.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DVertex.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DTransform.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DTexture.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DPacket.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DShapeMtx.cpp", extra_cflags=['-pragma "nosyminline on"']), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/J3DGraphBase/J3DShapeMtx.cpp", extra_cflags=['-pragma "nosyminline on"']), Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeDraw.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DShape.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/J3DGraphBase/J3DMaterial.cpp"), @@ -1515,70 +1515,70 @@ config.libs = [ ], }, Rel("f_pc_profile_lst", [Object(Matching, "f_pc/f_pc_profile_lst.cpp")]), - ActorRel(MatchingFor("GZ2E01"), "d_a_andsw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_andsw"), ActorRel(NonMatching, "d_a_bg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_bg_obj"), - ActorRel(MatchingFor("GZ2E01"), "d_a_dmidna"), - ActorRel(MatchingFor("GZ2E01"), "d_a_door_dbdoor00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_door_knob00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_door_shutter"), - ActorRel(MatchingFor("GZ2E01"), "d_a_door_spiral"), - ActorRel(MatchingFor("GZ2E01"), "d_a_dshutter"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_bg_obj"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_dmidna"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_door_dbdoor00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_door_knob00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_door_shutter"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_door_spiral"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_dshutter"), ActorRel(NonMatching, "d_a_ep"), - ActorRel(MatchingFor("GZ2E01"), "d_a_hitobj"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag04"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag17"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_brakeeff"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_burnbox"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_hitobj"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag04"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag17"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_brakeeff"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_burnbox"), ActorRel(NonMatching, "d_a_obj_carry"), ActorRel(NonMatching, "d_a_obj_ito"), ActorRel(NonMatching, "d_a_obj_movebox"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swpush"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_swpush"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_timer"), - ActorRel(MatchingFor("GZ2E01"), "d_a_path_line"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_path_line"), ActorRel(NonMatching, "d_a_scene_exit"), - ActorRel(MatchingFor("GZ2E01"), "d_a_set_bgobj"), - ActorRel(MatchingFor("GZ2E01"), "d_a_swhit0"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_set_bgobj"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_swhit0"), ActorRel(NonMatching, "d_a_tag_allmato"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_camera"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_chkpoint"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_event"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_evt"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_evtarea"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_evtmsg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_howl"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_camera"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_chkpoint"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_event"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_evt"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_evtarea"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_evtmsg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_howl"), ActorRel(NonMatching, "d_a_tag_kmsg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_lantern"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_mist"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_msg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_push"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_telop"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_lantern"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_mist"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_msg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_push"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_telop"), ActorRel(NonMatching, "d_a_tbox"), ActorRel(MatchingFor("GZ2E01"), "d_a_tbox2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_vrbox"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_vrbox"), ActorRel(NonMatching, "d_a_vrbox2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_arrow"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_arrow"), ActorRel(NonMatching, "d_a_boomerang"), ActorRel(MatchingFor("GZ2E01"), "d_a_crod"), ActorRel(NonMatching, "d_a_demo00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_disappear"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_disappear"), ActorRel(NonMatching, "d_a_mg_rod"), ActorRel(NonMatching, "d_a_midna"), ActorRel(Equivalent, "d_a_nbomb"), # weak func order ActorRel(MatchingFor("GZ2E01"), "d_a_obj_life_container"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_yousei"), - ActorRel(MatchingFor("GZ2E01"), "d_a_spinner"), - ActorRel(MatchingFor("GZ2E01"), "d_a_suspend"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_attention"), - ActorRel(MatchingFor("GZ2E01"), "d_a_alldie"), - ActorRel(MatchingFor("GZ2E01"), "d_a_andsw2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_bd"), - ActorRel(MatchingFor("GZ2E01"), "d_a_canoe"), - ActorRel(MatchingFor("GZ2E01"), "d_a_cstaF"), - ActorRel(MatchingFor("GZ2E01"), "d_a_demo_item"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_yousei"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_spinner"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_suspend"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_attention"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_alldie"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_andsw2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_bd"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_canoe"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_cstaF"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_demo_item"), ActorRel(MatchingFor("GZ2E01"), "d_a_door_bossL1"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_dn"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_dn"), ActorRel(Equivalent, "d_a_e_fm"), # regalloc ActorRel(MatchingFor("GZ2E01"), "d_a_e_ga"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_hb"), @@ -1587,131 +1587,131 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01"), "d_a_econt"), ActorRel(MatchingFor("GZ2E01"), "d_a_fr"), ActorRel(NonMatching, "d_a_grass"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag05"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag10"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag11"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag14"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag05"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag10"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag11"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag14"), ActorRel(MatchingFor("GZ2E01"), "d_a_mg_fish"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_besu"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_fairy_seirei"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_fish"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_henna"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_besu"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_fairy_seirei"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_fish"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_henna"), ActorRel(NonMatching, "d_a_npc_kakashi"), ActorRel(NonMatching, "d_a_npc_kkri"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_kolin"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_maro"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_kolin"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_maro"), ActorRel(NonMatching, "d_a_npc_taro"), ActorRel(NonMatching, "d_a_npc_tkj"), ActorRel(NonMatching, "d_a_obj_bhashi"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bkdoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bkdoor"), ActorRel(NonMatching, "d_a_obj_bosswarp"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cboard"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_digplace"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_eff"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fmobj"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_cboard"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_digplace"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_eff"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fmobj"), ActorRel(NonMatching, "d_a_obj_gpTaru"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hhashi"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hhashi"), ActorRel(NonMatching, "d_a_obj_kanban2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kbacket"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kbacket"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kgate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_klift00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ktOnFire"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ladder"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv2Candle"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_magne_arm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_metalbox"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mgate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_nameplate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_klift00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ktOnFire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ladder"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv2Candle"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_magne_arm"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_metalbox"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mgate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_nameplate"), ActorRel(NonMatching, "d_a_obj_ornament_cloth"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rope_bridge"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sWallShutter"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stick"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stoneMark"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swpropeller"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sWallShutter"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_stick"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_stoneMark"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_swpropeller"), ActorRel(NonMatching, "d_a_obj_swpush5"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_yobikusa"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_yobikusa"), ActorRel(MatchingFor("GZ2E01"), "d_a_scene_exit2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_shop_item"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_shop_item"), ActorRel(MatchingFor("GZ2E01"), "d_a_sq"), ActorRel(MatchingFor("GZ2E01"), "d_a_swc00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_CstaSw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_ajnot"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_CstaSw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_ajnot"), ActorRel(NonMatching, "d_a_tag_attack_item"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_gstart"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_hinit"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_hjump"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_hstop"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_gstart"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_hinit"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_hjump"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_hstop"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_lv2prchk"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_magne"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_mhint"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_mstop"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_spring"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_magne"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_mhint"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_mstop"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_spring"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_statue_evt"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_ykgr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_L7demo_dr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_L7low_dr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_L7op_demo_dr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_bh"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_L7demo_dr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_L7low_dr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_L7op_demo_dr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_bh"), ActorRel(NonMatching, "d_a_b_bq"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_dr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_dre"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_ds"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_gg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_dr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_dre"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_ds"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_gg"), ActorRel(NonMatching, "d_a_b_gm"), ActorRel(NonMatching, "d_a_b_gnd"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_go"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_gos"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_gos"), ActorRel(Equivalent, "d_a_b_mgn"), # extra mr/regalloc ActorRel(NonMatching, "d_a_b_ob"), ActorRel(NonMatching, "d_a_b_oh"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_oh2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_tn"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_yo"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_oh2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_tn"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_yo"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_yo_ice"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_magic"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_zant"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_zant_magic"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_mobile"), - ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_sima"), - ActorRel(MatchingFor("GZ2E01"), "d_a_balloon_2D"), - ActorRel(MatchingFor("GZ2E01"), "d_a_bullet"), - ActorRel(MatchingFor("GZ2E01"), "d_a_coach_2D"), - ActorRel(MatchingFor("GZ2E01"), "d_a_coach_fire"), - ActorRel(MatchingFor("GZ2E01"), "d_a_cow"), - ActorRel(MatchingFor("GZ2E01"), "d_a_cstatue"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_b_zant_sima"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_balloon_2D"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_bullet"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_coach_2D"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_coach_fire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_cow"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_cstatue"), ActorRel(Equivalent, "d_a_do"), # Z2SoundObjSimple dtor ActorRel(MatchingFor("GZ2E01"), "d_a_door_boss"), ActorRel(MatchingFor("GZ2E01"), "d_a_door_bossL5"), ActorRel(MatchingFor("GZ2E01"), "d_a_door_mbossL1"), ActorRel(MatchingFor("GZ2E01"), "d_a_door_push"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_ai"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_arrow"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_arrow"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_ba"), ActorRel(NonMatching, "d_a_e_bee"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_bg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi_leaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_bi"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_bi_leaf"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_bs"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_bu"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_bug"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_bug"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr_egg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_cr_egg"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_db"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_db_leaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_db_leaf"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_dd"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_df"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_dk"), ActorRel(Equivalent, "d_a_e_dt"), # weak func order ActorRel(NonMatching, "d_a_e_fb"), ActorRel(Equivalent, "d_a_e_fk"), # weak func order - ActorRel(MatchingFor("GZ2E01"), "d_a_e_fs"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_fs"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_fz"), ActorRel(NonMatching, "d_a_e_gb"), ActorRel(NonMatching, "d_a_e_ge"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_gi"), ActorRel(NonMatching, "d_a_e_gm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_gob"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_gob"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_gs"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_hb_leaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_hb_leaf"), ActorRel(NonMatching, "d_a_e_hm"), ActorRel(NonMatching, "d_a_e_hp"), ActorRel(NonMatching, "d_a_e_hz"), @@ -1719,80 +1719,80 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01"), "d_a_e_is"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_kg"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_kk"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_kr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_mb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_md"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_mf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_kr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_mb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_md"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_mf"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_mk"), ActorRel(NonMatching, "d_a_e_mk_bo"), ActorRel(NonMatching, "d_a_e_mm"), ActorRel(NonMatching, "d_a_e_mm_mt"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_ms"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_nz"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_oc"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_oct_bg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_ot"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_ms"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_nz"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_oc"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_oct_bg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_ot"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_ph"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_pm"), ActorRel(NonMatching, "d_a_e_po"), ActorRel(Equivalent, "d_a_e_pz"), # inline issue ActorRel(MatchingFor("GZ2E01"), "d_a_e_rb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_rdb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_rdy"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_s1"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_sb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_rdb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_rdy"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_s1"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_sb"), ActorRel(NonMatching, "d_a_e_sf"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_sg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_sg"), ActorRel(NonMatching, "d_a_e_sh"), ActorRel(NonMatching, "d_a_e_sm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_sm2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_sm2"), ActorRel(NonMatching, "d_a_e_st"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_st_line"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_sw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_st_line"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_sw"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_th"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_th_ball"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_th_ball"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_tk"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_tk2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_tk_ball"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_tk_ball"), ActorRel(NonMatching, "d_a_e_tt"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_vt"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_warpappear"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_vt"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_warpappear"), ActorRel(NonMatching, "d_a_e_wb"), ActorRel(NonMatching, "d_a_e_ws"), ActorRel(NonMatching, "d_a_e_ww"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_yc"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_yc"), ActorRel(NonMatching, "d_a_e_yd"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_yd_leaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_yd_leaf"), ActorRel(NonMatching, "d_a_e_yg"), ActorRel(NonMatching, "d_a_e_yh"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_yk"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_ym"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_ym_tag"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_ymb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_e_yr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_ym_tag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_ymb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_yr"), ActorRel(NonMatching, "d_a_e_zh"), ActorRel(NonMatching, "d_a_e_zm"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_zs"), - ActorRel(MatchingFor("GZ2E01"), "d_a_formation_mng"), - ActorRel(MatchingFor("GZ2E01"), "d_a_guard_mng"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_formation_mng"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_guard_mng"), ActorRel(NonMatching, "d_a_horse"), ActorRel(NonMatching, "d_a_hozelda"), - ActorRel(MatchingFor("GZ2E01"), "d_a_izumi_gate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_izumi_gate"), ActorRel(NonMatching, "d_a_kago"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag01"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag02"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag03"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag06"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag07"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag08"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag09"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag12"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag01"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag02"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag03"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag06"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag07"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag08"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag09"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag12"), ActorRel(NonMatching, "d_a_kytag13"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag15"), - ActorRel(MatchingFor("GZ2E01"), "d_a_kytag16"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag15"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_kytag16"), ActorRel(NonMatching, "d_a_mant"), ActorRel(NonMatching, "d_a_mg_fshop"), - ActorRel(MatchingFor("GZ2E01"), "d_a_mirror"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_mirror"), ActorRel(NonMatching, "d_a_movie_player", extra_cflags=["-O3,p"]), ActorRel(Equivalent, "d_a_myna"), # weird missing function issue ActorRel(NonMatching, "d_a_ni"), @@ -1801,7 +1801,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_ashB", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_bans"), ActorRel(NonMatching, "d_a_npc_blue_ns"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_bou"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_bou"), ActorRel(NonMatching, "d_a_npc_bouS"), ActorRel(NonMatching, "d_a_npc_cdn3"), ActorRel(NonMatching, "d_a_npc_chat"), @@ -1812,25 +1812,25 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_coach"), ActorRel(NonMatching, "d_a_npc_df"), ActorRel(NonMatching, "d_a_npc_doc"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_doorboy", extra_cflags=[DANPCF_C_HACK]), # weak func order + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_doorboy", extra_cflags=[DANPCF_C_HACK]), # weak func order ActorRel(NonMatching, "d_a_npc_drainSol"), ActorRel(NonMatching, "d_a_npc_du"), ActorRel(NonMatching, "d_a_npc_fairy"), ActorRel(Equivalent, "d_a_npc_fguard"), # vtable order ActorRel(NonMatching, "d_a_npc_gnd"), ActorRel(NonMatching, "d_a_npc_gra"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_grc", extra_cflags=[DANPCF_C_HACK]), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_grc", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_grd"), ActorRel(NonMatching, "d_a_npc_grm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_grmc"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_grmc"), ActorRel(NonMatching, "d_a_npc_gro"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_grr", extra_cflags=[DANPCF_C_HACK]), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_grr", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_grs"), ActorRel(NonMatching, "d_a_npc_grz"), ActorRel(NonMatching, "d_a_npc_guard"), ActorRel(NonMatching, "d_a_npc_gwolf"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_hanjo"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_henna0"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_hanjo"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_henna0"), ActorRel(NonMatching, "d_a_npc_hoz"), ActorRel(NonMatching, "d_a_npc_impal", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_inko"), @@ -1839,22 +1839,22 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_kasi_hana", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_kasi_kyu", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_kasi_mich", extra_cflags=[DANPCF_C_HACK]), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_kdk"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_kdk"), ActorRel(NonMatching, "d_a_npc_kn"), ActorRel(NonMatching, "d_a_npc_knj"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_kolinb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_kolinb"), ActorRel(Equivalent, "d_a_npc_ks"), # weak func order ActorRel(NonMatching, "d_a_npc_kyury"), ActorRel(NonMatching, "d_a_npc_len"), ActorRel(MatchingFor("GZ2E01"), "d_a_npc_lf"), ActorRel(NonMatching, "d_a_npc_lud"), ActorRel(NonMatching, "d_a_npc_midp"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_mk"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_mk"), ActorRel(NonMatching, "d_a_npc_moi"), ActorRel(NonMatching, "d_a_npc_moir", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_myna2"), ActorRel(NonMatching, "d_a_npc_ne"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_p2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_p2"), ActorRel(NonMatching, "d_a_npc_pachi_besu"), ActorRel(NonMatching, "d_a_npc_pachi_maro"), ActorRel(NonMatching, "d_a_npc_pachi_taro"), @@ -1862,141 +1862,141 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_passer2"), ActorRel(NonMatching, "d_a_npc_post"), ActorRel(NonMatching, "d_a_npc_pouya"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_raca"), ActorRel(NonMatching, "d_a_npc_rafrel"), ActorRel(NonMatching, "d_a_npc_saru"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_seib"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_seic"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_seid"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seib"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seic"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seid"), ActorRel(NonMatching, "d_a_npc_seira"), ActorRel(NonMatching, "d_a_npc_seira2"), ActorRel(NonMatching, "d_a_npc_seirei"), ActorRel(Equivalent, "d_a_npc_shad", extra_cflags=[DANPCF_C_HACK]), # weak func order ActorRel(NonMatching, "d_a_npc_shaman"), ActorRel(NonMatching, "d_a_npc_shoe", extra_cflags=[DANPCF_C_HACK]), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_shop0"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_shop_maro"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_shop0"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_shop_maro"), ActorRel(NonMatching, "d_a_npc_sola"), ActorRel(NonMatching, "d_a_npc_soldierA"), ActorRel(NonMatching, "d_a_npc_soldierB"), ActorRel(MatchingFor("GZ2E01"), "d_a_npc_sq"), ActorRel(NonMatching, "d_a_npc_the", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_theB"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tk"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_tk"), ActorRel(NonMatching, "d_a_npc_tkc"), ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tkj2"), ActorRel(NonMatching, "d_a_npc_tks"), ActorRel(NonMatching, "d_a_npc_toby"), ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tr"), ActorRel(NonMatching, "d_a_npc_uri"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_worm"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_worm"), ActorRel(NonMatching, "d_a_npc_wrestler", extra_cflags=[DANPCF_C_HACK]), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_yamid"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_yamid"), ActorRel(NonMatching, "d_a_npc_yamis"), ActorRel(NonMatching, "d_a_npc_yamit"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_yelia"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_yelia"), ActorRel(NonMatching, "d_a_npc_ykm"), ActorRel(NonMatching, "d_a_npc_ykw"), ActorRel(NonMatching, "d_a_npc_zanb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_zant"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_zant"), ActorRel(NonMatching, "d_a_npc_zelR"), ActorRel(NonMatching, "d_a_npc_zelRo"), - ActorRel(MatchingFor("GZ2E01"), "d_a_npc_zelda"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_zelda"), ActorRel(Equivalent, "d_a_npc_zra", extra_cflags=[DANPCF_C_HACK]), # regalloc ActorRel(NonMatching, "d_a_npc_zrc", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_zrz", extra_cflags=[DANPCF_C_HACK]), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_Lv5Key"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_Turara"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_TvCdlst"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_Y_taihou"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_amiShutter"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_Lv5Key"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_Turara"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_TvCdlst"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_Y_taihou"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_amiShutter"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ari"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_automata"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_automata"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_avalanche"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_balloon"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_barDesk"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_balloon"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_barDesk"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_batta"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bbox"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bed"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bbox"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bed"), ActorRel(NonMatching, "d_a_obj_bemos"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bhbridge"), # vtable order - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bk_leaf"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bky_rock"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bmWindow"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bhbridge"), # vtable order + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bk_leaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bky_rock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bmWindow"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bmshutter"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bombf"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_boumato"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_brg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bsGate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bubblePilar"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_catdoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bombf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_boumato"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_brg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bsGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bubblePilar"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_catdoor"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cb"), ActorRel(Equivalent, "d_a_obj_cblock"), # weird weak data issue ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cdoor"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_chandelier"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_chest"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cho"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cowdoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_cowdoor"), ActorRel(NonMatching, "d_a_obj_crope"), ActorRel(NonMatching, "d_a_obj_crvfence"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvgate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvhahen"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_crvgate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_crvhahen"), ActorRel(NonMatching, "d_a_obj_crvlh_down"), ActorRel(NonMatching, "d_a_obj_crvlh_up"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvsteel"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crystal"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cwall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_damCps"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_crvsteel"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_crystal"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_cwall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_damCps"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_dan"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_digholl"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_digholl"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_digsnow"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_dmelevator"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_dmelevator"), ActorRel(NonMatching, "d_a_obj_drop"), ActorRel(NonMatching, "d_a_obj_dust"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_enemy_create"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fallobj"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fan"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fchain"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fireWood"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fireWood2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_enemy_create"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fallobj"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fan"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fchain"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fireWood"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fireWood2"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_firepillar"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_firepillar2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_flag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_flag"), ActorRel(Equivalent, "d_a_obj_flag2"), # weak function order ActorRel(NonMatching, "d_a_obj_flag3"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_food"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fw"), ActorRel(NonMatching, "d_a_obj_gadget"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_gb"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ganonwall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ganonwall2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_gb"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_geyser"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_glowSphere"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_glowSphere"), ActorRel(NonMatching, "d_a_obj_gm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_goGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_goGate"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_gomikabe"), ActorRel(Equivalent, "d_a_obj_gra2"), # weak function order - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_graWall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_gra_rock"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_grave_stone"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_groundwater"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_graWall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_gra_rock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_grave_stone"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_groundwater"), ActorRel(NonMatching, "d_a_obj_grz_rock"), ActorRel(NonMatching, "d_a_obj_h_saku"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hakai_brl"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hakai_ftr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hakai_brl"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hakai_ftr"), ActorRel(NonMatching, "d_a_obj_hasu2"), ActorRel(NonMatching, "d_a_obj_hata"), ActorRel(NonMatching, "d_a_obj_hb"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hbombkoya"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_heavySw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hfuta"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hsTarget"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ice_l"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hbombkoya"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_heavySw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hfuta"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hsTarget"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ice_l"), ActorRel(NonMatching, "d_a_obj_ice_s"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_iceblock"), ActorRel(NonMatching, "d_a_obj_iceleaf"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ihasi"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ihasi"), ActorRel(NonMatching, "d_a_obj_ikada"), ActorRel(NonMatching, "d_a_obj_inobone"), ActorRel(NonMatching, "d_a_obj_ita"), @@ -2009,61 +2009,61 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kamakiri"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kantera"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_katatsumuri"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kazeneko"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kbox"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kazeneko"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kbox"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_key"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_keyhole"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_keyhole"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ki"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kiPot"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kiPot"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kita"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kjgjs"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kkanban"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kjgjs"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kkanban"), ActorRel(NonMatching, "d_a_obj_knBullet"), ActorRel(NonMatching, "d_a_obj_kshutter"), ActorRel(NonMatching, "d_a_obj_kuwagata"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kwheel00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kwheel01"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kwheel00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kwheel01"), ActorRel(NonMatching, "d_a_obj_kznkarm"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_laundry"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_laundry_rope"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_laundry"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_laundry_rope"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lbox"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lp"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv1Candle00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv1Candle01"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3Candle"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3Water"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3Water2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3WaterB"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3saka00"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv3waterEff"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4CandleDemoTag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lp"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv1Candle00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv1Candle01"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3Candle"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3Water"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3Water2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3WaterB"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3saka00"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv3waterEff"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4CandleDemoTag"), ActorRel(NonMatching, "d_a_obj_lv4CandleTag"), ActorRel(NonMatching, "d_a_obj_lv4EdShutter"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4Gate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4HsTarget"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4PoGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4Gate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4HsTarget"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4PoGate"), ActorRel(NonMatching, "d_a_obj_lv4RailWall"), ActorRel(NonMatching, "d_a_obj_lv4SlideWall"), ActorRel(NonMatching, "d_a_obj_lv4bridge"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4chandelier"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4chandelier"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4digsand"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4floor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4gear"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4prelvtr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4gear"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4prelvtr"), ActorRel(NonMatching, "d_a_obj_lv4prwall"), ActorRel(NonMatching, "d_a_obj_lv4sand"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv5FloorBoard"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv5IceWall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv5SwIce"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv5ychndlr"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv5yiblltray"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5FloorBoard"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5IceWall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5SwIce"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5ychndlr"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5yiblltray"), ActorRel(NonMatching, "d_a_obj_lv6ChangeGate"), ActorRel(NonMatching, "d_a_obj_lv6FurikoTrap"), ActorRel(NonMatching, "d_a_obj_lv6Lblock"), ActorRel(NonMatching, "d_a_obj_lv6SwGate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6SzGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv6SzGate"), ActorRel(NonMatching, "d_a_obj_lv6Tenbin"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6TogeRoll"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv6TogeRoll"), ActorRel(NonMatching, "d_a_obj_lv6TogeTrap"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6bemos"), ActorRel(NonMatching, "d_a_obj_lv6bemos2"), @@ -2078,19 +2078,19 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_lv8OptiLift"), ActorRel(NonMatching, "d_a_obj_lv8UdFloor"), ActorRel(NonMatching, "d_a_obj_lv9SwShutter"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_magLift"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_magLiftRot"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_magLift"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_magLiftRot"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_maki"), ActorRel(Equivalent, "d_a_obj_master_sword"), #weak function and vtable order ActorRel(NonMatching, "d_a_obj_mato"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mhole"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mie"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mirror_6pole"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mhole"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mie"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mirror_6pole"), ActorRel(NonMatching, "d_a_obj_mirror_chain"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mirror_sand"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mirror_screw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mirror_sand"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_mirror_screw"), ActorRel(NonMatching, "d_a_obj_mirror_table"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_msima"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_msima"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_mvstair"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_myogan"), ActorRel(NonMatching, "d_a_obj_nagaisu"), @@ -2098,59 +2098,59 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_ndoor"), ActorRel(NonMatching, "d_a_obj_nougu"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_octhashi"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_oiltubo"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_onsen"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_onsenFire"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_onsenTaru"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_oiltubo"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_onsen"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_onsenFire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_onsenTaru"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pdoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pdtile"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_pdtile"), ActorRel(NonMatching, "d_a_obj_pdwall"), ActorRel(NonMatching, "d_a_obj_picture"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pillar"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pleaf"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_pillar"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_pleaf"), ActorRel(NonMatching, "d_a_obj_poCandle"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_poFire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_poFire"), ActorRel(NonMatching, "d_a_obj_poTbox"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_prop"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_prop"), ActorRel(NonMatching, "d_a_obj_pumpkin"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rcircle"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rfHole"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rgate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_rcircle"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_rfHole"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_rgate"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_riverrock"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_rock"), ActorRel(NonMatching, "d_a_obj_rotBridge"), ActorRel(NonMatching, "d_a_obj_rotTrap"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_roten"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_roten"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_rstair"), ActorRel(NonMatching, "d_a_obj_rw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_saidan"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_saidan"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sakuita"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sakuita_rope"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sakuita_rope"), ActorRel(NonMatching, "d_a_obj_scannon"), ActorRel(NonMatching, "d_a_obj_scannon_crs"), ActorRel(NonMatching, "d_a_obj_scannon_ten"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sekidoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sekizo"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sekizoa"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sekidoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sekizo"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sekizoa"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_shield"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sm_door"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sm_door"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_smallkey"), ActorRel(NonMatching, "d_a_obj_smgdoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_smoke"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_smtile"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_smw_stone"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_snowEffTag"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_snow_soup"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_smoke"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_smtile"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_smw_stone"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_snowEffTag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_snow_soup"), ActorRel(NonMatching, "d_a_obj_so"), ActorRel(NonMatching, "d_a_obj_spinLift"), ActorRel(NonMatching, "d_a_obj_ss_drink"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ss_item"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ss_item"), ActorRel(NonMatching, "d_a_obj_stairBlock"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stone"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stopper"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_stopper"), ActorRel(NonMatching, "d_a_obj_stopper2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_suisya"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_suisya"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_sw"), ActorRel(NonMatching, "d_a_obj_swBallA"), ActorRel(NonMatching, "d_a_obj_swBallB"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swBallC"), @@ -2159,118 +2159,118 @@ config.libs = [ ActorRel(Equivalent, "d_a_obj_swhang"), # vtable order ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sword"), ActorRel(NonMatching, "d_a_obj_swpush2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swspinner"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_swspinner"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swturn"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_syRock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_syRock"), ActorRel(NonMatching, "d_a_obj_szbridge"), ActorRel(NonMatching, "d_a_obj_taFence"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_table"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_takaraDai"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tatigi"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_table"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_takaraDai"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tatigi"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ten"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_testcube"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tgake"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_testcube"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tgake"), ActorRel(NonMatching, "d_a_obj_thashi"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_thdoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_timeFire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_timeFire"), ActorRel(Equivalent, "d_a_obj_tks", extra_cflags=[DANPCF_C_HACK]), # weak function order, sinShort inline issue - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tmoon"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_toaru_maki"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tmoon"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_toaru_maki"), ActorRel(NonMatching, "d_a_obj_toby"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tobyhouse"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_togeTrap"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tobyhouse"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_togeTrap"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tombo"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tp"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_treesh"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_twGate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_udoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_usaku"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_vground"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tornado"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tornado2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tp"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_treesh"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_twGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_udoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_usaku"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_vground"), ActorRel(NonMatching, "d_a_obj_volcball"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_volcbom"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_warp_kbrg"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_warp_obrg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_waterGate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_waterGate"), ActorRel(Equivalent, "d_a_obj_waterPillar"), # weak func order - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_waterfall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_waterfall"), ActorRel(NonMatching, "d_a_obj_wchain"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wdStick"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_wdStick"), ActorRel(NonMatching, "d_a_obj_web0"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_web1"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_well_cover"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wflag"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wind_stone"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_window"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wood_pendulum"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_wflag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_wind_stone"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_window"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_wood_pendulum"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wood_statue"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wsword"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_yel_bag"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ystone"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zcloth"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zdoor"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zrTurara"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zrTuraraRock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_wsword"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_yel_bag"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_ystone"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zcloth"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zdoor"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zrTurara"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zrTuraraRock"), ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zraMark"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zra_freeze"), - ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zra_rock"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zra_freeze"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_zra_rock"), ActorRel(NonMatching, "d_a_passer_mng"), - ActorRel(MatchingFor("GZ2E01"), "d_a_peru"), - ActorRel(MatchingFor("GZ2E01"), "d_a_ppolamp"), - ActorRel(MatchingFor("GZ2E01"), "d_a_skip_2D"), - ActorRel(MatchingFor("GZ2E01"), "d_a_startAndGoal"), - ActorRel(MatchingFor("GZ2E01"), "d_a_swBall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_swLBall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_swTime"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv6Gate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv7Gate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_Lv8Gate"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_TWgate"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_arena"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_assistance"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_bottle_item"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_chgrestart"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_csw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_escape"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_firewall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_gra"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_guard"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_instruction"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_kago_fall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_lightball"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_lv5soup"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_lv6CstaSw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_mmsg"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_mwait"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_myna2"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_myna_light"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_pachi"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_poFire"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_qs"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_ret_room"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_peru"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_ppolamp"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_skip_2D"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_startAndGoal"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_swBall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_swLBall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_swTime"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_Lv6Gate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_Lv7Gate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_Lv8Gate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_TWgate"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_lv6CstaSw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_assistance"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_bottle_item"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_chgrestart"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_csw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_escape"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_firewall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_gra"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_guard"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_instruction"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_kago_fall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_lightball"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_lv5soup"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_mmsg"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_mwait"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_myna2"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_myna_light"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_pachi"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_poFire"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_qs"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_ret_room"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_river_back"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_rmbit_sw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_schedule"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_setBall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_setrestart"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_shop_camera"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_shop_item"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_smk_emt"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_spinner"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_sppath"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_ss_drink"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_stream"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_theB_hint"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_wara_howl"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_watchge"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_rmbit_sw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_schedule"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_setBall"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_setrestart"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_shop_camera"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_shop_item"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_smk_emt"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_spinner"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_sppath"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_ss_drink"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_stream"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_theB_hint"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_wara_howl"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_watchge"), ActorRel(MatchingFor("GZ2E01"), "d_a_tag_waterfall"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_wljump"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tag_yami"), - ActorRel(MatchingFor("GZ2E01"), "d_a_talk"), - ActorRel(MatchingFor("GZ2E01"), "d_a_tboxSw"), - ActorRel(MatchingFor("GZ2E01"), "d_a_title"), # weak func order - ActorRel(MatchingFor("GZ2E01"), "d_a_warp_bug"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_wljump"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tag_yami"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_talk"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_tboxSw"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_title"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_warp_bug"), ] diff --git a/src/d/actor/d_a_mg_fish.cpp b/src/d/actor/d_a_mg_fish.cpp index a5da649cb7..b0d2fe1d1b 100644 --- a/src/d/actor/d_a_mg_fish.cpp +++ b/src/d/actor/d_a_mg_fish.cpp @@ -3292,6 +3292,10 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) { daPy_py_c* player = daPy_getPlayerActorClass(); +#if VERSION == VERSION_GCN_JPN + lit_1008 = 0; +#endif + if (i_this->mSurfaceY != 0.0f) { if ((g_Counter.mTimer + fopAcM_GetID(i_this) & 0xf) == 0) { get_surface_y(i_this, &i_this->actor.current.pos); diff --git a/src/d/d_meter2_draw.cpp b/src/d/d_meter2_draw.cpp index e7564d031d..3fd3bcf6ac 100644 --- a/src/d/d_meter2_draw.cpp +++ b/src/d/d_meter2_draw.cpp @@ -127,6 +127,7 @@ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) { } J2DTextBox::TFontSize font_size; +#if VERSION != VERSION_GCN_JPN font_size.mSizeX = 17.0f; font_size.mSizeY = 20.0f; for (int i = 0; i < 5; i++) { @@ -136,6 +137,7 @@ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) { static_cast(mpXYText[i][1]->getPanePtr())->setFontSize(font_size); static_cast(mpXYText[i][2]->getPanePtr())->setFontSize(font_size); } +#endif init(); field_0xa8 = 0; diff --git a/src/d/d_meter_HIO.cpp b/src/d/d_meter_HIO.cpp index 607bb15b1a..1ed2868429 100644 --- a/src/d/d_meter_HIO.cpp +++ b/src/d/d_meter_HIO.cpp @@ -126,51 +126,39 @@ dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() { mLetterTextFront.set(65, 55, 30, 255); } -static f32 const fipaScale[6] = {0.98f, 1.0f, 1.0f, 1.0f, 0.95f, 1.1f}; - -static f32 const fipaPosX[6] = {1.3f, 6.6f, 0.0f, 3.96f, 4.0f, 27.5f}; - -static f32 const fipaPosY[6] = {-9.2f, -27.5f, -11.7f, -9.2f, -30.1f, -17.9f}; - -static f32 const finaScale[6] = {0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f}; - -static f32 const finaPosX[6] = {-25.0f, -4.0f, 0.0f, 0.0f, 0.0f, -4.0f}; - -static f32 const finaPosY[6] = {-16.0f, -40.6, -24.0f, -11.7f, -37.9f, -13.0f}; - -static f32 const filiScale[6] = {0.65f, 0.65f, 0.65f, 0.65f, 0.65f, 0.65f}; - -static f32 const filiPosX[6] = {-28.0f, -8.0f, 9.2f, 9.2f, 9.2f, -8.0f}; - -static f32 const filiPosY[6] = {-6.6f, -14.0f, -14.4f, 24.9f, -11.7f, 24.9f}; - -static f32 const bboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; - -static f32 const bboxPosX[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; - -static f32 const bboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; - -static f32 const rboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; - -static f32 const rboxPosX[6] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; - -static f32 const rboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; - -static f32 const finfoScale[6] = {0.87f, 0.87f, 0.88f, 0.87f, 0.87f, 0.87f}; - -static f32 const finfoPosX[6] = {-17.0f, 0.0f, -14.0f, 0.0f, -12.0f, -32.8f}; - -static f32 const finfoPosY[6] = {6.6f, 0.0f, 0.0f, 0.0f, 1.3f, 0.0f}; - -static f32 const fishnScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; - -static f32 const fishnPosX[6] = {4.0f, -20.0f, 1.3f, 6.6f, 1.3f, 9.2f}; - -static f32 const fishnPosY[6] = {-72.1f, 129.6f, 0.0f, 6.6f, 32.8f, 11.7f}; - /* 801FE730-801FE8DC 1F9070 01AC+00 1/1 0/0 0/0 .text __ct__23dMeter_drawFishingHIO_cFv */ dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() { + static f32 const fipaScale[6] = {0.98f, 1.0f, 1.0f, 1.0f, 0.95f, 1.1f}; + static f32 const fipaPosX[6] = {1.3f, 6.6f, 0.0f, 3.96f, 4.0f, 27.5f}; + static f32 const fipaPosY[6] = {-9.2f, -27.5f, -11.7f, -9.2f, -30.1f, -17.9f}; + static f32 const finaScale[6] = {0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f}; + static f32 const finaPosX[6] = {-25.0f, -4.0f, 0.0f, 0.0f, 0.0f, -4.0f}; + static f32 const finaPosY[6] = {-16.0f, -40.6, -24.0f, -11.7f, -37.9f, -13.0f}; + static f32 const filiScale[6] = {0.65f, 0.65f, 0.65f, 0.65f, 0.65f, 0.65f}; + static f32 const filiPosX[6] = {-28.0f, -8.0f, 9.2f, 9.2f, 9.2f, -8.0f}; + static f32 const filiPosY[6] = {-6.6f, -14.0f, -14.4f, 24.9f, -11.7f, 24.9f}; + static f32 const bboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; + static f32 const bboxPosX[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + static f32 const bboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + static f32 const rboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; + static f32 const rboxPosX[6] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + static f32 const rboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + static f32 const finfoScale[6] = {0.87f, 0.87f, 0.88f, 0.87f, 0.87f, 0.87f}; +#if VERSION == VERSION_GCN_JPN + static f32 const finfoPosX[6] = {-27.0f, 0.0f, -12.0f, 0.0f, -12.0f, -32.8f}; +#else + static f32 const finfoPosX[6] = {-17.0f, 0.0f, -14.0f, 0.0f, -12.0f, -32.8f}; +#endif + static f32 const finfoPosY[6] = {6.6f, 0.0f, 0.0f, 0.0f, 1.3f, 0.0f}; + static f32 const fishnScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; +#if VERSION == VERSION_GCN_JPN + static f32 const fishnPosX[6] = {12.0f, -20.0f, 1.3f, 6.6f, 14.0f, -6.6f}; +#else + static f32 const fishnPosX[6] = {4.0f, -20.0f, 1.3f, 6.6f, 1.3f, 9.2f}; +#endif + static f32 const fishnPosY[6] = {-72.1f, 129.6f, 0.0f, 6.6f, 32.8f, 11.7f}; + mOpenFrames = 10; mCloseFrames = 10; mDebug = false; @@ -884,7 +872,11 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() { field_0x2cc = 1001; mButtonATextDebug = false; +#if VERSION == VERSION_GCN_JPN + mButtonATextSpacing = -2.0f; +#else mButtonATextSpacing = 1.0f; +#endif mButtonATextScale = 1.0f; mButtonATextPosX = 0.0f; mButtonATextPosY = 0.0f; diff --git a/src/d/d_meter_button.cpp b/src/d/d_meter_button.cpp index b2e3fdf26a..01e19d03e3 100644 --- a/src/d/d_meter_button.cpp +++ b/src/d/d_meter_button.cpp @@ -17,6 +17,12 @@ #include "d/d_msg_string.h" #include "d/d_pane_class.h" +#if VERSION == VERSION_GCN_JPN +#define STR_BUF_LEN 528 +#else +#define STR_BUF_LEN 512 +#endif + extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c; /* 80201328-80201370 1FBC68 0048+00 0/0 1/1 1/1 .text __ct__14dMeterButton_cFv */ @@ -256,12 +262,17 @@ void dMeterButton_c::draw() { } if (mMsgID != 0xFFFF) { - char tmp_buf[512]; + char tmp_buf[STR_BUF_LEN]; strcpy(tmp_buf, static_cast(mpTm_c[0]->getPanePtr())->getStringPtr()); mpTextScreen->draw(0.0f, 0.0f, graf_ctx); +#if VERSION == VERSION_GCN_JPN + mpString_c->getString(mMsgID, static_cast(mpTm_c[0]->getPanePtr()), NULL, NULL, + NULL, 12); +#else mpString_c->getString(mMsgID, static_cast(mpTm_c[0]->getPanePtr()), NULL, NULL, NULL, 8); +#endif mpString_c->drawOutFont(static_cast(mpTm_c[0]->getPanePtr()), -1.0f); strcpy(static_cast(mpTm_c[0]->getPanePtr())->getStringPtr(), tmp_buf); } @@ -1194,8 +1205,13 @@ void dMeterButton_c::screenInitButton() { field_0x4d9 = 0xFF; for (int i = 0; i < 10; i++) { +#if VERSION == VERSION_GCN_JPN + mpTextBox[i] = (J2DTextBox*)mpButtonScreen->search(text_tag[i]); + mpButtonScreen->search(ftext_tag[i])->hide(); +#else mpTextBox[i] = (J2DTextBox*)mpButtonScreen->search(ftext_tag[i]); mpButtonScreen->search(text_tag[i])->hide(); +#endif mpTextBox[i]->setFont(mDoExt_getMesgFont()); mpTextBox[i]->setString(32, ""); @@ -1468,9 +1484,15 @@ 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(mpTm_c[0]->getPanePtr())->getLineSpace(); @@ -1848,9 +1870,9 @@ void dMeterButton_c::updateText(u32 i_flags) { tbox = static_cast(field_0x0ec[0]->getPanePtr()); } - char buf1[512]; - char buf2[512]; - char buf3[512]; + char buf1[STR_BUF_LEN]; + char buf2[STR_BUF_LEN]; + char buf3[STR_BUF_LEN]; if (dMsgObject_getString(dMeter2Info_getFloatingMessageID(), static_cast(mpTm_c[0]->getPanePtr()), tbox, diff --git a/src/d/d_msg_out_font.cpp b/src/d/d_msg_out_font.cpp index a29e8c0d3c..c01b59839e 100644 --- a/src/d/d_msg_out_font.cpp +++ b/src/d/d_msg_out_font.cpp @@ -303,7 +303,9 @@ void COutFont_c::initialize() { * drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc */ void COutFont_c::drawFont(J2DTextBox* i_textbox, u8 i_type, f32 i_posX, f32 i_posY, f32 i_sizeX, f32 i_sizeY, u32 i_color, u8 i_alpha) { +#if VERSION != VERSION_GCN_JPN i_posY += 1.0f; +#endif for (int i = 0; i < 35; i++) { if (mpOfs[i]->getType() == 0x47) { mpOfs[i]->drawFont(i_textbox, i_type, i_posX, i_posY, i_sizeX, i_sizeY, i_color, @@ -386,8 +388,13 @@ void COutFont_c::draw(J2DTextBox* i_textbox, f32 param_1, f32 param_2, f32 param break; case 5: case 6: { +#if VERSION == VERSION_GCN_JPN + posY -= 2.0f; + sizeY -= 2.0f; +#else posY += 1.0f; sizeY -= 3.0f; +#endif JUtility::TColor black = mpPane[type]->getBlack(); JUtility::TColor white = mpPane[type]->getWhite(); diff --git a/src/d/d_msg_scrn_boss.cpp b/src/d/d_msg_scrn_boss.cpp index d6187465ad..d53012ed60 100644 --- a/src/d/d_msg_scrn_boss.cpp +++ b/src/d/d_msg_scrn_boss.cpp @@ -36,7 +36,9 @@ dMsgScrnBoss_c::dMsgScrnBoss_c() { for (int i = 0; i < 7; i++) { mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL); ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getRubyFont()); +#if VERSION != VERSION_GCN_JPN ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setCharSpace(1.0f); +#endif ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x100, ""); } diff --git a/src/d/d_msg_scrn_explain.cpp b/src/d/d_msg_scrn_explain.cpp index 18112673df..47ada8a683 100644 --- a/src/d/d_msg_scrn_explain.cpp +++ b/src/d/d_msg_scrn_explain.cpp @@ -13,6 +13,12 @@ #include "m_Do/m_Do_controller_pad.h" #include "stdio.h" +#if VERSION == VERSION_GCN_JPN +#define STR_BUF_LEN 528 +#else +#define STR_BUF_LEN 512 +#endif + extern dMsgObject_HIO_c g_MsgObject_HIO_c; static dMsgScrnExplain_c::ProcFunc init_process[] = { @@ -241,11 +247,15 @@ void dMsgScrnExplain_c::draw(J2DOrthoGraph* i_graf) { mpScreen->draw(0.0f, 0.0f, (J2DGrafContext*)i_graf); } - char string_buf[512]; + char string_buf[STR_BUF_LEN]; strcpy(string_buf, ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr()); mpTxScreen->draw(0.0f, 0.0f, (J2DGrafContext*)i_graf); +#if VERSION == VERSION_GCN_JPN + mpString_c->getString(field_0x54, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 12); +#else mpString_c->getString(field_0x54, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 8); +#endif mpString_c->drawOutFont((J2DTextBox*)mpTm_c[0]->getPanePtr(), -1.0f); strcpy(((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr(), string_buf); @@ -285,9 +295,9 @@ void dMsgScrnExplain_c::open_request_proc() { uVar6 = (J2DTextBox*)field_0x10[0]->getPanePtr(); } - char acStack_220[512]; - char acStack_420[512]; - char acStack_620[512]; + char acStack_220[STR_BUF_LEN]; + char acStack_420[STR_BUF_LEN]; + char acStack_620[STR_BUF_LEN]; if (dMsgObject_getString(field_0x54, uVar1, uVar6, mDoExt_getMesgFont(), mpOutFont, acStack_220, acStack_420, acStack_620, &field_0x5c) != 0) diff --git a/src/d/d_msg_scrn_howl.cpp b/src/d/d_msg_scrn_howl.cpp index d69d420df0..f934cebdbf 100644 --- a/src/d/d_msg_scrn_howl.cpp +++ b/src/d/d_msg_scrn_howl.cpp @@ -37,30 +37,23 @@ static dMsgScrnHowl_cFunc process[5] = { &dMsgScrnHowl_c::guide_off_test_proc, }; -/* 803C10D0-803C10E8 01E1F0 0018+00 0/1 0/0 0/0 .data ylinen_tag$4210 */ -static u64 ylinen_tag[3] = { - 'ylinen00', - 'ylinen02', - 'ylinen04', -}; - -/* 803C10E8-803C1120 01E208 0038+00 0/1 0/0 0/0 .data tlinen_tag$4211 */ -static u64 tlinen_tag[7] = { - 'tlinen00', 'tlinen01', 'tlinen02', 'tlinen03', 'tlinen04', 'tlinen05', 'tlinen06', -}; - -/* 803C1120-803C1158 01E240 0038+00 0/0 0/0 0/0 .data tline_tag$4212 */ -static u64 tline_tag[7] = { - 'tline00', 'tline01', 'tline02', 'tline03', 'tlinen04', 'tline05', 'tline06', -}; - -/* 803C1158-803C1190 01E278 0038+00 0/0 0/0 0/0 .data tlines_tag$4213 */ -static u64 tlines_tag[7] = { - 'tlines00', 'tlines01', 'tlines02', 'tlines03', 'tlines04', 'tlines05', 'tlines06', -}; - /* 8024096C-80241784 23B2AC 0E18+00 0/0 1/1 0/0 .text __ct__14dMsgScrnHowl_cFv */ dMsgScrnHowl_c::dMsgScrnHowl_c() { + static u64 ylinen_tag[3] = { + 'ylinen00', + 'ylinen02', + 'ylinen04', + }; + static u64 tlinen_tag[7] = { + 'tlinen00', 'tlinen01', 'tlinen02', 'tlinen03', 'tlinen04', 'tlinen05', 'tlinen06', + }; + static u64 tline_tag[7] = { + 'tline00', 'tline01', 'tline02', 'tline03', 'tlinen04', 'tline05', 'tline06', + }; + static u64 tlines_tag[7] = { + 'tlines00', 'tlines01', 'tlines02', 'tlines03', 'tlines04', 'tlines05', 'tlines06', + }; + init(); mpScreen = new J2DScreen(); JUT_ASSERT(61, mpScreen != 0); @@ -82,10 +75,17 @@ dMsgScrnHowl_c::dMsgScrnHowl_c() { JUT_ASSERT(96, mpButtonIcon[1] != 0); mpButtonText[1] = new CPaneMgr(mpScreen, 'gr_txt_n', 2, NULL); JUT_ASSERT(98, mpButtonText[1] != 0); +#if VERSION == VERSION_GCN_JPN + J2DTextBox* piStack_19c = (J2DTextBox*)mpScreen->search('g_l_info'); + J2DTextBox* piStack_1a0 = (J2DTextBox*)mpScreen->search('g_r_info'); + mpScreen->search('fgr_info')->hide(); + mpScreen->search('fgl_info')->hide(); +#else J2DTextBox* piStack_19c = (J2DTextBox*)mpScreen->search('fgl_info'); J2DTextBox* piStack_1a0 = (J2DTextBox*)mpScreen->search('fgr_info'); mpScreen->search('g_l_info')->hide(); mpScreen->search('g_r_info')->hide(); +#endif piStack_19c->setString(0x40, ""); piStack_19c->setFont(mDoExt_getMesgFont()); dMeter2Info_getStringKanji(0x4d4, piStack_19c->getStringPtr(), NULL); diff --git a/src/d/d_msg_scrn_place.cpp b/src/d/d_msg_scrn_place.cpp index b42b24f09f..72d44bb407 100644 --- a/src/d/d_msg_scrn_place.cpp +++ b/src/d/d_msg_scrn_place.cpp @@ -31,7 +31,11 @@ dMsgScrnPlace_c::dMsgScrnPlace_c() { } mpScreen = new J2DScreen(); +#if VERSION == VERSION_GCN_JPN + mpScreen->setPriority("zelda_stage_title.blo", 0x20000, dComIfGp_getMsgArchive(4)); +#else mpScreen->setPriority("zelda_stage_title_foreign.blo", 0x20000, dComIfGp_getMsgArchive(4)); +#endif dPaneClass_showNullPane(mpScreen); mpPmP_c = new CPaneMgr(mpScreen, 'n_all', 2, NULL); @@ -53,7 +57,9 @@ dMsgScrnPlace_c::dMsgScrnPlace_c() { mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL); ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getRubyFont()); ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x80, ""); +#if VERSION != VERSION_GCN_JPN ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setCharSpace(1.0f); +#endif } ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize);