From a290c2d52c1a99fca60bad191670c7671fa0b596 Mon Sep 17 00:00:00 2001 From: Max Roncace Date: Sat, 28 Feb 2026 15:13:57 -0500 Subject: [PATCH] ShieldD: Clean up a bunch of 99% matching TUs (#3113) * d_a_npc_ks debug code 100% * d_a_npc_rafrel debug code 100% * d_a_npc_inko minor improvements * d_a_npc_gro debug code 100% * d_a_npc_pachi_taro debug code 100% * d_a_npc_passer debug code 100% * d_a_npc_pachi_maro debug code 100% * d_a_npc_post debug code 100% * d_a_obj_bemos debug improvements * d_a_obj_scannon_ten debug code 100% * d_a_b_mgn debug code 100% * d_a_e_fb debug code 100% * d_a_e_gb debug code 100% * d_a_e_hz debug code 100% * d_a_e_cr_egg debug code 100% * d_a_e_md debug code 100% * d_a_e_wb debug code 100% * d_a_obj_mirror_6pole debug code 100% * d_a_obj_spinLift debug data fixes * d_a_obj_pdwall debug data fixes * d_a_obj_ss_drink debug code almost matching * d_a_obj_poFire debug code 100% * d_a_obj_picture debug code 100% * d_a_obj_dust debug code 100% * d_a_obj_fallobj debug code 100% * d_a_obj_itamato debug code almost matching * d_a_obj_syRock debug code 100% * d_a_obj_katatsumuri debug code 100% * d_a_obj_wood_statue debug code 100% * d_a_obj_lv6egate debug code 100% * d_a_tag_qs minor debug symbol fixes * d_a_obj_twGate debug code 100% * d_a_obj_lv6SwGate debug code 100% * d_a_obj_lv6swturn debug code 100% * d_a_obj_lv6Tenbin debug code 100% * d_a_obj_kwheel01 debug code 100% * Fix RTTI order regression (cM3dGCyl vs cBgS_*) --- config/ShieldD/rels/d_a_b_mgnD/splits.txt | 2 +- config/ShieldD/rels/d_a_b_mgnD/symbols.txt | 14 +- config/ShieldD/rels/d_a_e_cr_eggD/symbols.txt | 6 +- config/ShieldD/rels/d_a_e_fbD/symbols.txt | 16 +- config/ShieldD/rels/d_a_e_gbD/splits.txt | 2 +- config/ShieldD/rels/d_a_e_gbD/symbols.txt | 8 +- config/ShieldD/rels/d_a_e_hzD/symbols.txt | 17 +- config/ShieldD/rels/d_a_e_mdD/symbols.txt | 4 +- config/ShieldD/rels/d_a_e_wbD/symbols.txt | 31 +- config/ShieldD/rels/d_a_npc_groD/symbols.txt | 20 +- config/ShieldD/rels/d_a_npc_inkoD/symbols.txt | 10 +- config/ShieldD/rels/d_a_npc_ksD/symbols.txt | 14 +- .../rels/d_a_npc_pachi_maroD/symbols.txt | 19 +- .../rels/d_a_npc_pachi_taroD/symbols.txt | 19 +- .../ShieldD/rels/d_a_npc_passerD/symbols.txt | 6 +- config/ShieldD/rels/d_a_npc_postD/symbols.txt | 21 +- .../ShieldD/rels/d_a_npc_rafrelD/symbols.txt | 18 +- .../ShieldD/rels/d_a_obj_bemosD/symbols.txt | 25 +- config/ShieldD/rels/d_a_obj_dustD/symbols.txt | 4 +- .../ShieldD/rels/d_a_obj_fallobjD/symbols.txt | 14 +- .../ShieldD/rels/d_a_obj_itamatoD/symbols.txt | 10 +- .../rels/d_a_obj_katatsumuriD/splits.txt | 2 +- .../rels/d_a_obj_katatsumuriD/symbols.txt | 12 +- .../rels/d_a_obj_kwheel01D/symbols.txt | 10 +- .../rels/d_a_obj_lv6SwGateD/symbols.txt | 14 +- .../rels/d_a_obj_lv6TenbinD/symbols.txt | 10 +- .../rels/d_a_obj_lv6egateD/symbols.txt | 6 +- .../rels/d_a_obj_lv6swturnD/symbols.txt | 14 +- .../rels/d_a_obj_mirror_6poleD/symbols.txt | 14 +- .../ShieldD/rels/d_a_obj_pdwallD/symbols.txt | 14 +- .../ShieldD/rels/d_a_obj_pictureD/symbols.txt | 14 +- .../ShieldD/rels/d_a_obj_poFireD/symbols.txt | 4 +- .../rels/d_a_obj_scannon_tenD/symbols.txt | 18 +- .../rels/d_a_obj_spinLiftD/symbols.txt | 14 +- .../rels/d_a_obj_ss_drinkD/symbols.txt | 6 +- .../ShieldD/rels/d_a_obj_syRockD/symbols.txt | 14 +- .../ShieldD/rels/d_a_obj_twGateD/symbols.txt | 14 +- .../rels/d_a_obj_wood_statueD/symbols.txt | 6 +- config/ShieldD/rels/d_a_tag_qsD/symbols.txt | 4 +- include/d/actor/d_a_e_md.h | 2 +- include/d/actor/d_a_itembase.h | 1 + include/d/actor/d_a_obj_itamato.h | 32 +- include/d/actor/d_a_obj_katatsumuri.h | 19 - include/d/actor/d_a_obj_mirror_6pole.h | 10 +- include/d/actor/d_a_obj_scannon_ten.h | 6 +- include/d/actor/d_a_obj_twGate.h | 10 - include/d/d_attention.h | 6 +- include/d/d_bg_w.h | 2 +- include/d/d_com_inf_game.h | 6 +- include/d/d_s_play.h | 1 + include/d/dolzel_base.pch | 1 + include/f_op/f_op_actor_mng.h | 1 + include/f_op/f_op_scene_tag.h | 1 - include/f_pc/f_pc_create_req.h | 7 +- include/f_pc/f_pc_stdcreate_req.h | 20 - src/d/actor/d_a_b_mgn.cpp | 5 +- src/d/actor/d_a_e_cr_egg.cpp | 8 +- src/d/actor/d_a_e_fb.cpp | 24 +- src/d/actor/d_a_e_gb.cpp | 381 +++++++++--------- src/d/actor/d_a_e_hz.cpp | 270 +++++++------ src/d/actor/d_a_e_md.cpp | 68 ++-- src/d/actor/d_a_e_wb.cpp | 207 +++++----- src/d/actor/d_a_npc_gro.cpp | 30 +- src/d/actor/d_a_npc_inko.cpp | 45 ++- src/d/actor/d_a_npc_ks.cpp | 28 +- src/d/actor/d_a_npc_pachi_maro.cpp | 52 ++- src/d/actor/d_a_npc_pachi_taro.cpp | 167 ++++---- src/d/actor/d_a_npc_passer.cpp | 56 +-- src/d/actor/d_a_npc_post.cpp | 146 +++---- src/d/actor/d_a_npc_rafrel.cpp | 4 +- src/d/actor/d_a_obj_bemos.cpp | 206 ++++++---- src/d/actor/d_a_obj_dust.cpp | 26 +- src/d/actor/d_a_obj_fallobj.cpp | 49 +-- src/d/actor/d_a_obj_itamato.cpp | 66 +-- src/d/actor/d_a_obj_katatsumuri.cpp | 35 +- src/d/actor/d_a_obj_kwheel01.cpp | 168 ++++---- src/d/actor/d_a_obj_lv6SwGate.cpp | 10 +- src/d/actor/d_a_obj_lv6Tenbin.cpp | 20 +- src/d/actor/d_a_obj_lv6egate.cpp | 26 +- src/d/actor/d_a_obj_lv6swturn.cpp | 16 +- src/d/actor/d_a_obj_pdwall.cpp | 16 +- src/d/actor/d_a_obj_picture.cpp | 3 +- src/d/actor/d_a_obj_poFire.cpp | 4 +- src/d/actor/d_a_obj_scannon_ten.cpp | 46 ++- src/d/actor/d_a_obj_spinLift.cpp | 6 +- src/d/actor/d_a_obj_ss_drink.cpp | 21 +- src/d/actor/d_a_obj_syRock.cpp | 126 +++--- src/d/actor/d_a_obj_twGate.cpp | 32 +- src/d/actor/d_a_obj_wood_statue.cpp | 85 ++-- src/f_pc/f_pc_create_req.cpp | 1 + src/f_pc/f_pc_fstcreate_req.cpp | 1 + src/f_pc/f_pc_stdcreate_req.cpp | 13 + 92 files changed, 1767 insertions(+), 1295 deletions(-) diff --git a/config/ShieldD/rels/d_a_b_mgnD/splits.txt b/config/ShieldD/rels/d_a_b_mgnD/splits.txt index 844de77e48..2a84f81103 100644 --- a/config/ShieldD/rels/d_a_b_mgnD/splits.txt +++ b/config/ShieldD/rels/d_a_b_mgnD/splits.txt @@ -14,4 +14,4 @@ d/actor/d_a_b_mgn.cpp: .ctors start:0x00000000 end:0x00000004 .rodata start:0x00000000 end:0x000002AC .data start:0x00000000 end:0x00000734 - .bss start:0x00000004 end:0x00000028 + .bss start:0x00000000 end:0x00000028 diff --git a/config/ShieldD/rels/d_a_b_mgnD/symbols.txt b/config/ShieldD/rels/d_a_b_mgnD/symbols.txt index 21d253a806..8edfe0dec0 100644 --- a/config/ShieldD/rels/d_a_b_mgnD/symbols.txt +++ b/config/ShieldD/rels/d_a_b_mgnD/symbols.txt @@ -231,7 +231,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @122971 = .rodata:0x00000284; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x00000288; // type:object size:0xC scope:global @46916 = .rodata:0x00000294; // type:object size:0x4 scope:local -lbl_139_rodata_298 = .rodata:0x00000298; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000298; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000002A0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000002A8; // type:object size:0x4 align:4 data:float @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_prim = .data:0x00000000; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_env@0 = .data:0x00000008; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@eff_id@1 = .data:0x00000010; // type:object size:0x6 scope:local @@ -294,6 +296,14 @@ lbl_139_data_440 = .data:0x00000440; // type:object size:0x24 @123082 = .data:0x00000648; // type:object size:0xC scope:local @123083 = .data:0x0000066C; // type:object size:0x11 scope:local data:string @123084 = .data:0x00000694; // type:object size:0xD scope:local data:string -lbl_139_data_6A1 = .data:0x000006A1; // type:object size:0x93 +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x000006B0; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x000006B8; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x000006C8; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x000006DC; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x000006EC; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x000006F4; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000708; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x0000071C; // type:object size:0x14 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000730; // type:object size:0x3 scope:local data:string hio_set = .bss:0x00000000; // type:object size:0x1 scope:local align:1 data:byte l_HIO = .bss:0x00000004; // type:object size:0x24 scope:global data:byte diff --git a/config/ShieldD/rels/d_a_e_cr_eggD/symbols.txt b/config/ShieldD/rels/d_a_e_cr_eggD/symbols.txt index 99508c1b30..de37f54aaa 100644 --- a/config/ShieldD/rels/d_a_e_cr_eggD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_cr_eggD/symbols.txt @@ -30,7 +30,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @116845 = .rodata:0x00000038; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x0000003C; // type:object size:0xC scope:global @46916 = .rodata:0x00000048; // type:object size:0x4 scope:local -lbl_172_rodata_4C = .rodata:0x0000004C; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000050; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000060; // type:object size:0x4 align:4 data:float @LOCAL@e_cr_egg_move__FP14e_cr_egg_class@spy = .data:0x00000000; // type:object size:0xC scope:local @116895 = .data:0x0000000C; // type:object size:0x1B scope:local data:string @116896 = .data:0x00000028; // type:object size:0x5 scope:local data:string @@ -60,4 +62,4 @@ lbl_172_data_178 = .data:0x00000178; // type:object size:0x24 @117050 = .data:0x000002F8; // type:object size:0x10 scope:local data:string @117051 = .data:0x0000031C; // type:object size:0x9 scope:local data:string @117052 = .data:0x0000033C; // type:object size:0x9 scope:local data:string -lbl_172_data_345 = .data:0x00000345; // type:object size:0xF +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000350; // type:object size:0x3 data:string diff --git a/config/ShieldD/rels/d_a_e_fbD/symbols.txt b/config/ShieldD/rels/d_a_e_fbD/symbols.txt index 64f5efc8aa..e370f1f253 100644 --- a/config/ShieldD/rels/d_a_e_fbD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_fbD/symbols.txt @@ -81,7 +81,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @117898 = .rodata:0x000000A0; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000A4; // type:object size:0xC scope:global @46916 = .rodata:0x000000B0; // type:object size:0x4 scope:local -lbl_179_rodata_B4 = .rodata:0x000000B4; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000B8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000C8; // type:object size:0x4 align:4 data:float @117003 = .data:0x00000000; // type:object size:0xF scope:local @117004 = .data:0x00000010; // type:object size:0xD scope:local @117007 = .data:0x00000020; // type:object size:0x13 scope:local @@ -142,8 +144,16 @@ lbl_179_data_320 = .data:0x00000320; // type:object size:0x24 @118009 = .data:0x00000508; // type:object size:0xC scope:local @118010 = .data:0x0000052C; // type:object size:0x11 scope:local data:string @118011 = .data:0x00000554; // type:object size:0xD scope:local data:string -lbl_179_data_561 = .data:0x00000561; // type:object size:0x93 +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000570; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000578; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000588; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x0000059C; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x000005AC; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x000005B4; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x000005C8; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x000005DC; // type:object size:0x14 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000005F0; // type:object size:0x3 scope:local data:string hio_set = .bss:0x00000000; // type:object size:0x1 scope:local data:byte l_HIO = .bss:0x00000004; // type:object size:0x24 scope:global data:byte mFireTimer = .bss:0x00000028; // type:object size:0x4 scope:global data:4byte -lbl_179_bss_2C = .bss:0x0000002C; // type:object size:0x1 data:byte +lbl_188_bss_7C = .bss:0x0000002C; // type:object size:0x1 data:byte diff --git a/config/ShieldD/rels/d_a_e_gbD/splits.txt b/config/ShieldD/rels/d_a_e_gbD/splits.txt index 6fd046b30a..35e79ce364 100644 --- a/config/ShieldD/rels/d_a_e_gbD/splits.txt +++ b/config/ShieldD/rels/d_a_e_gbD/splits.txt @@ -14,4 +14,4 @@ d/actor/d_a_e_gb.cpp: .ctors start:0x00000000 end:0x00000004 .rodata start:0x00000000 end:0x000001D4 .data start:0x00000000 end:0x00000644 - .bss start:0x00000008 end:0x00000028 + .bss start:0x00000000 end:0x00000028 diff --git a/config/ShieldD/rels/d_a_e_gbD/symbols.txt b/config/ShieldD/rels/d_a_e_gbD/symbols.txt index d1d4b707f4..271c35ffed 100644 --- a/config/ShieldD/rels/d_a_e_gbD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_gbD/symbols.txt @@ -156,7 +156,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @120500 = .rodata:0x000001A8; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x000001AC; // type:object size:0xC scope:global @46916 = .rodata:0x000001B8; // type:object size:0x4 scope:local -lbl_183_rodata_1BC = .rodata:0x000001BC; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000001C0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000001C8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000001D0; // type:object size:0x4 align:4 data:float @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_prim = .data:0x00000000; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_env@0 = .data:0x00000008; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@eff_id@1 = .data:0x00000010; // type:object size:0x6 scope:local @@ -219,6 +221,6 @@ lbl_183_data_3D0 = .data:0x000003D0; // type:object size:0x24 @120617 = .data:0x000005D8; // type:object size:0xC scope:local @120618 = .data:0x000005FC; // type:object size:0x11 scope:local data:string @120619 = .data:0x00000624; // type:object size:0xD scope:local data:string -lbl_183_data_631 = .data:0x00000631; // type:object size:0x13 -lbl_183_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000640; // type:object size:0x3 data:string +data_806C7928 = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000008; // type:object size:0x20 scope:global data:byte diff --git a/config/ShieldD/rels/d_a_e_hzD/symbols.txt b/config/ShieldD/rels/d_a_e_hzD/symbols.txt index bf20797347..575edf3c1e 100644 --- a/config/ShieldD/rels/d_a_e_hzD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_hzD/symbols.txt @@ -133,7 +133,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @122055 = .rodata:0x000000F0; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000F4; // type:object size:0xC scope:global @46916 = .rodata:0x00000100; // type:object size:0x4 scope:local -lbl_192_rodata_104 = .rodata:0x00000104; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000108; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000110; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000118; // type:object size:0x4 align:4 data:float @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_prim = .data:0x00000000; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@e_env@0 = .data:0x00000008; // type:object size:0x8 scope:local @LOCAL@setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz@eff_id@1 = .data:0x00000010; // type:object size:0x6 scope:local @@ -193,11 +195,20 @@ lbl_192_data_308 = .data:0x00000308; // type:object size:0x24 @122166 = .data:0x000004E0; // type:object size:0xE scope:local data:string @122167 = .data:0x000004F0; // type:object size:0xC scope:local @122168 = .data:0x00000514; // type:object size:0x11 scope:local data:string -lbl_192_data_525 = .data:0x00000525; // type:object size:0x8F +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000530; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000538; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000548; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x0000055C; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x0000056C; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000574; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000588; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x0000059C; // type:object size:0x14 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000005B0; // type:object size:0x3 scope:local data:string ...bss.0 = .bss:0x00000000; // type:label scope:local +hio_set = .bss:0x00000000; // type:object size:0x1 scope:global data:byte l_HIO = .bss:0x00000004; // type:object size:0x3C scope:global data:byte m_near_bomb = .bss:0x00000040; // type:object size:0x4 scope:global m_near_carry = .bss:0x00000044; // type:object size:0x4 scope:global m_near_weapon = .bss:0x00000048; // type:object size:0x4 scope:global -lbl_192_bss_4C = .bss:0x0000004C; // type:object size:0x1 data:byte +@GUARD@setWaterEffect__8daE_HZ_cFv@sc = .bss:0x0000004C; // type:object size:0x1 data:byte @LOCAL@setWaterEffect__8daE_HZ_cFv@sc = .bss:0x00000050; // type:object size:0xC scope:local diff --git a/config/ShieldD/rels/d_a_e_mdD/symbols.txt b/config/ShieldD/rels/d_a_e_mdD/symbols.txt index 6928f5195d..de79b5d906 100644 --- a/config/ShieldD/rels/d_a_e_mdD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_mdD/symbols.txt @@ -53,7 +53,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @118886 = .rodata:0x00000090; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000094; // type:object size:0xC scope:global @46916 = .rodata:0x000000A0; // type:object size:0x4 scope:local -lbl_199_rodata_A4 = .rodata:0x000000A4; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000A8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000B0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000B8; // type:object size:0x4 align:4 data:float @118502 = .data:0x00000000; // type:object size:0x5 scope:local data:string l_daE_MD_Method = .data:0x00000008; // type:object size:0x20 scope:global g_profile_E_MD = .data:0x00000028; // type:object size:0x30 scope:global diff --git a/config/ShieldD/rels/d_a_e_wbD/symbols.txt b/config/ShieldD/rels/d_a_e_wbD/symbols.txt index 9e69f4c5cf..9374e2f8d1 100644 --- a/config/ShieldD/rels/d_a_e_wbD/symbols.txt +++ b/config/ShieldD/rels/d_a_e_wbD/symbols.txt @@ -437,7 +437,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @138571 = .rodata:0x00000554; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000558; // type:object size:0xC scope:global @46916 = .rodata:0x00000564; // type:object size:0x4 scope:local -lbl_235_rodata_568 = .rodata:0x00000568; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000568; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000570; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000578; // type:object size:0x4 align:4 data:float @134436 = .data:0x00000000; // type:object size:0xB scope:local @134437 = .data:0x0000000C; // type:object size:0xB scope:local @134440 = .data:0x00000018; // type:object size:0x11 scope:local @@ -538,30 +540,37 @@ __vt__18mDoExt_3DlineMat_c = .data:0x00000958; // type:object size:0x14 scope:gl @138563 = .data:0x00000AA0; // type:object size:0xE scope:local data:string @138564 = .data:0x00000AB0; // type:object size:0xC scope:local @138565 = .data:0x00000AD4; // type:object size:0x11 scope:local data:string -lbl_235_data_AE5 = .data:0x00000AE5; // type:object size:0x4B +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000AF0; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000AF8; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000B08; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000B1C; // type:object size:0xF scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000B2C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local data:byte -lbl_235_bss_9 = .bss:0x00000009; // type:object size:0x1 data:byte -lbl_235_bss_A = .bss:0x0000000A; // type:object size:0x1 data:byte -lbl_235_bss_B = .bss:0x0000000B; // type:object size:0x1 data:byte +lbl_244_bss_45 = .bss:0x00000008; // type:object size:0x1 data:byte +lbl_244_bss_46 = .bss:0x00000009; // type:object size:0x1 data:byte +lbl_244_bss_47 = .bss:0x0000000A; // type:object size:0x1 data:byte +hio_set = .bss:0x0000000B; // type:object size:0x1 data:byte l_HIO = .bss:0x0000000C; // type:object size:0x5C scope:global data:byte @134689 = .bss:0x00000068; // type:object size:0xC scope:local b_path = .bss:0x00000078; // type:object size:0x60 scope:global @135400 = .bss:0x000000D8; // type:object size:0xC scope:local b_path2 = .bss:0x000000E8; // type:object size:0x60 scope:global -lbl_235_bss_148 = .bss:0x00000148; // type:object size:0x1 data:byte +@GUARD@arrow_rd_set__FP10e_wb_class@arrow_rd_pos = .bss:0x00000148; // type:object size:0x1 data:byte @LOCAL@arrow_rd_set__FP10e_wb_class@arrow_rd_pos = .bss:0x0000014C; // type:object size:0xC scope:local saku_p = .bss:0x00000158; // type:object size:0xC scope:global saku_p2 = .bss:0x00000164; // type:object size:0xC scope:global +@GUARD@e_wb_b_ikki__FP10e_wb_class@ikki_pos = .bss:0x00000170; // type:object size:0x1 scope:local data:byte @LOCAL@e_wb_b_ikki__FP10e_wb_class@ikki_pos = .bss:0x00000178; // type:object size:0x18 scope:local +@GUARD@e_wb_b_ikki__FP10e_wb_class@f_pos@0 = .bss:0x00000190; // type:object size:0x1 scope:local data:byte @LOCAL@e_wb_b_ikki__FP10e_wb_class@f_pos@0 = .bss:0x00000198; // type:object size:0x18 scope:local -lbl_235_bss_1B0 = .bss:0x000001B0; // type:object size:0x8 data:byte +@GUARD@e_wb_b_ikki2__FP10e_wb_class@ikki2_pos = .bss:0x000001B0; // type:object size:0x1 scope:local data:byte @LOCAL@e_wb_b_ikki2__FP10e_wb_class@ikki2_pos = .bss:0x000001B8; // type:object size:0x18 scope:local align:4 data:float -lbl_235_bss_1D0 = .bss:0x000001D0; // type:object size:0x1 data:byte -@LOCAL@effect_set__FP10e_wb_class@sc@3 = .bss:0x000001D4; // type:object size:0xC scope:local +@GUARD@effect_set__FP10e_wb_class@sc@3 = .bss:0x000001D0; // type:object size:0x1 scope:local data:byte +@LOCAL@effect_set__FP10e_wb_class@sc@3 = .bss:0x000001D4; // type:object size:0xC scope:local data:byte rd_count = .bss:0x000001E0; // type:object size:0x4 scope:global data:4byte -lbl_235_bss_1E4 = .bss:0x000001E4; // type:object size:0x1 data:byte +@GUARD@e_wb_c_run__FP10e_wb_class@sh_pos = .bss:0x000001E4; // type:object size:0x1 scope:local data:byte @LOCAL@e_wb_c_run__FP10e_wb_class@sh_pos = .bss:0x000001E8; // type:object size:0x24 scope:local -lbl_235_bss_20C = .bss:0x0000020C; // type:object size:0x1 data:byte +@GUARD@e_wb_c_run__FP10e_wb_class@sh_posH@0 = .bss:0x0000020C; // type:object size:0x1 scope:local data:byte @LOCAL@e_wb_c_run__FP10e_wb_class@sh_posH@0 = .bss:0x00000210; // type:object size:0x24 scope:local c_start = .bss:0x00000234; // type:object size:0x4 scope:global data:4byte diff --git a/config/ShieldD/rels/d_a_npc_groD/symbols.txt b/config/ShieldD/rels/d_a_npc_groD/symbols.txt index 75463eb86c..153f550230 100644 --- a/config/ShieldD/rels/d_a_npc_groD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_groD/symbols.txt @@ -142,7 +142,9 @@ m__17daNpc_grO_Param_c = .rodata:0x00000000; // type:object size:0x6C scope:glob @125834 = .rodata:0x0000025C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000260; // type:object size:0xC scope:global @46916 = .rodata:0x0000026C; // type:object size:0x4 scope:local -lbl_303_rodata_270 = .rodata:0x00000270; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000270; // type:object size:0x8 scope:local data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000278; // type:object size:0x8 scope:local data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000280; // type:object size:0x4 scope:local data:float @124426 = .data:0x00000000; // type:object size:0xC scope:local l_bmdGetParamList = .data:0x00000010; // type:object size:0x18 scope:global l_bckGetParamList = .data:0x00000028; // type:object size:0xB8 scope:global @@ -233,9 +235,21 @@ lbl_303_data_5E7 = .data:0x000005E7; // type:object size:0x2D @126214 = .data:0x00000838; // type:object size:0x11 scope:local data:string @126215 = .data:0x00000864; // type:object size:0xC scope:local data:string @126216 = .data:0x00000884; // type:object size:0xD scope:local data:string -lbl_303_data_891 = .data:0x00000891; // type:object size:0xDB +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x000008A0; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x000008A8; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x000008B8; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x000008CC; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x000008DC; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x000008E4; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x000008F8; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x0000090C; // type:object size:0x14 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@2 = .data:0x00000920; // type:object size:0x5 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@1 = .data:0x00000928; // type:object size:0x11 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@0 = .data:0x0000093C; // type:object size:0x16 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs = .data:0x00000954; // type:object size:0x11 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000968; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @124480 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x74 scope:global -lbl_303_bss_88 = .bss:0x00000088; // type:object size:0x1 data:byte +@GUARD@setAttnPos__11daNpc_grO_cFv@eyeOffset = .bss:0x00000088; // type:object size:0x1 data:byte @LOCAL@setAttnPos__11daNpc_grO_cFv@eyeOffset = .bss:0x0000008C; // type:object size:0xC scope:local align:4 data:float diff --git a/config/ShieldD/rels/d_a_npc_inkoD/symbols.txt b/config/ShieldD/rels/d_a_npc_inkoD/symbols.txt index 6b1e682b1d..b0b39b1cc3 100644 --- a/config/ShieldD/rels/d_a_npc_inkoD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_inkoD/symbols.txt @@ -57,7 +57,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @119073 = .rodata:0x0000009C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000A0; // type:object size:0xC scope:global @46916 = .rodata:0x000000AC; // type:object size:0x4 scope:local -lbl_313_rodata_B0 = .rodata:0x000000B0; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000B0; // type:object size:0x8 +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000B8; // type:object size:0x8 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000C0; // type:object size:0x4 @118624 = .data:0x00000000; // type:object size:0x9 scope:local data:string @LOCAL@daNpc_Inko_Execute__FP14npc_inko_class@mes_0 = .data:0x00000010; // type:object size:0x10 scope:local @LOCAL@daNpc_Inko_Execute__FP14npc_inko_class@mes_1@0 = .data:0x00000020; // type:object size:0x10 scope:local @@ -68,4 +70,8 @@ lbl_313_rodata_B0 = .rodata:0x000000B0; // type:object size:0x14 @119071 = .data:0x000000B0; // type:object size:0x21 scope:local data:string l_daNpc_Inko_Method = .data:0x000000D8; // type:object size:0x20 scope:global g_profile_NPC_INKO = .data:0x000000F8; // type:object size:0x30 scope:global -lbl_313_data_128 = .data:0x00000128; // type:object size:0x40 +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000128; // type:object size:0x5 data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000130; // type:object size:0xF data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000140; // type:object size:0x14 data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000154; // type:object size:0xF data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000164; // type:object size:0x3 data:string diff --git a/config/ShieldD/rels/d_a_npc_ksD/symbols.txt b/config/ShieldD/rels/d_a_npc_ksD/symbols.txt index bccced5094..c574c4637e 100644 --- a/config/ShieldD/rels/d_a_npc_ksD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_ksD/symbols.txt @@ -432,7 +432,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @129036 = .rodata:0x00000514; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x00000518; // type:object size:0xC scope:global @46916 = .rodata:0x00000524; // type:object size:0x4 scope:local -lbl_323_rodata_528 = .rodata:0x00000528; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000528; // type:object size:0x8 scope:local data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000530; // type:object size:0x8 scope:local data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000538; // type:object size:0x4 scope:local data:float @124084 = .data:0x00000000; // type:object size:0x9 scope:local @124085 = .data:0x0000000C; // type:object size:0xA scope:local @124086 = .data:0x00000018; // type:object size:0x20 scope:local @@ -526,18 +528,22 @@ lbl_323_data_1C78 = .data:0x00001C78; // type:object size:0x24 @129144 = .data:0x00001E60; // type:object size:0xC scope:local @129145 = .data:0x00001E84; // type:object size:0x11 scope:local data:string @129146 = .data:0x00001EAC; // type:object size:0xD scope:local data:string -lbl_323_data_1EB9 = .data:0x00001EB9; // type:object size:0x4F +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00001EC8; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00001ED0; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00001EE0; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00001EF4; // type:object size:0xF scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00001F04; // type:object size:0x3 scope:local data:string ...bss.0 = .bss:0x00000000; // type:label scope:local obj_pos = .bss:0x00000000; // type:object size:0xC scope:global leader = .bss:0x0000000C; // type:object size:0x4 scope:global data:4byte call_pt = .bss:0x00000010; // type:object size:0x4 scope:global data:4byte -lbl_323_bss_14 = .bss:0x00000014; // type:object size:0x1 data:byte +hio_set = .bss:0x00000014; // type:object size:0x1 data:byte l_HIO = .bss:0x00000018; // type:object size:0x38 scope:global data:byte saru_p = .bss:0x00000050; // type:object size:0x20 scope:global data:4byte target_info = .bss:0x00000070; // type:object size:0x28 scope:global target_info_count = .bss:0x00000098; // type:object size:0x4 scope:global data:4byte target_bgc = .bss:0x000000A0; // type:object size:0x28 scope:global @LOCAL@npc_ks_hang__FP12npc_ks_class@start_pya = .bss:0x000000C8; // type:object size:0x2 scope:local data:2byte -lbl_323_bss_CA = .bss:0x000000CA; // type:object size:0x1 data:byte +@GUARD@npc_ks_option__FP12npc_ks_class@sc = .bss:0x000000CA; // type:object size:0x1 data:byte @LOCAL@npc_ks_option__FP12npc_ks_class@sc = .bss:0x000000CC; // type:object size:0xC scope:local c_start = .bss:0x000000D8; // type:object size:0x4 scope:global data:4byte diff --git a/config/ShieldD/rels/d_a_npc_pachi_maroD/symbols.txt b/config/ShieldD/rels/d_a_npc_pachi_maroD/symbols.txt index 9cdb65f1e2..a92c62336f 100644 --- a/config/ShieldD/rels/d_a_npc_pachi_maroD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_pachi_maroD/symbols.txt @@ -152,7 +152,9 @@ m__24daNpc_Pachi_Maro_Param_c = .rodata:0x00000000; // type:object size:0x90 sco @122402 = .rodata:0x000000F4; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000F8; // type:object size:0xC scope:global @46916 = .rodata:0x00000104; // type:object size:0x4 scope:local -lbl_335_rodata_108 = .rodata:0x00000108; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000108; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000110; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000118; // type:object size:0x4 align:4 data:float @121352 = .data:0x00000000; // type:object size:0x1B scope:local @121353 = .data:0x0000001C; // type:object size:0x1C scope:local data:string @121354 = .data:0x00000038; // type:object size:0x17 scope:local data:string @@ -255,7 +257,20 @@ lbl_335_data_9A0 = .data:0x000009A0; // type:object size:0x24 @122736 = .data:0x00000C34; // type:object size:0xD scope:local data:string @STRING@__ct__18daNpc_Pachi_Maro_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00000C50; // type:object size:0x2F scope:local @STRING@__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00000C80; // type:object size:0x25 scope:local -lbl_335_data_CA5 = .data:0x00000CA5; // type:object size:0xF3 +@STRING@__dt__8daNpcT_cFv = .data:0x00000CA8; // type:object size:0x23 +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000CCC; // type:object size:0x5 data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000CD4; // type:object size:0xF data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000CE4; // type:object size:0x14 data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000CF8; // type:object size:0xF data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x00000D08; // type:object size:0x5 data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000D10; // type:object size:0x14 data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000D24; // type:object size:0x14 data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x00000D38; // type:object size:0x14 data:string +@STRING@calc__11J3DTexNoAnmCFPUs@2 = .data:0x00000D4C; // type:object size:0x5 data:string +@STRING@calc__11J3DTexNoAnmCFPUs@1 = .data:0x00000D54; // type:object size:0x11 data:string +@STRING@calc__11J3DTexNoAnmCFPUs@0 = .data:0x00000D68; // type:object size:0x16 data:string +@STRING@calc__11J3DTexNoAnmCFPUs = .data:0x00000D80; // type:object size:0x11 data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000D94; // type:object size:0x3 data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @121396 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x98 scope:global diff --git a/config/ShieldD/rels/d_a_npc_pachi_taroD/symbols.txt b/config/ShieldD/rels/d_a_npc_pachi_taroD/symbols.txt index 41842f1cde..3fa487a312 100644 --- a/config/ShieldD/rels/d_a_npc_pachi_taroD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_pachi_taroD/symbols.txt @@ -201,7 +201,9 @@ m__24daNpc_Pachi_Taro_Param_c = .rodata:0x00000000; // type:object size:0x8C sco @LOCAL@_cut1stHit_KakasiBody_Init__18daNpc_Pachi_Taro_cFRCi@sHitMsg = .rodata:0x00000168; // type:object size:0xC scope:local cNullVec__6Z2Calc = .rodata:0x00000174; // type:object size:0xC scope:global @46916 = .rodata:0x00000180; // type:object size:0x4 scope:local -lbl_336_rodata_184 = .rodata:0x00000184; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000188; // type:object size:0x8 scope:local align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000190; // type:object size:0x8 scope:local align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000198; // type:object size:0x4 scope:local align:4 data:float @121602 = .data:0x00000000; // type:object size:0x1B scope:local @121603 = .data:0x0000001C; // type:object size:0x1C scope:local data:string @121604 = .data:0x00000038; // type:object size:0x17 scope:local data:string @@ -321,7 +323,20 @@ lbl_336_data_1598 = .data:0x00001598; // type:object size:0x24 @123586 = .data:0x0000182C; // type:object size:0xD scope:local data:string @STRING@__ct__18daNpc_Pachi_Taro_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00001848; // type:object size:0x2F scope:local @STRING@__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00001878; // type:object size:0x25 scope:local -lbl_336_data_189D = .data:0x0000189D; // type:object size:0xF3 +@STRING@__dt__8daNpcT_cFv = .data:0x000018A0; // type:object size:0x23 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x000018C4; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x000018CC; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x000018DC; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x000018F0; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x00001900; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00001908; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x0000191C; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x00001930; // type:object size:0x14 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@2 = .data:0x00001944; // type:object size:0x5 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@1 = .data:0x0000194C; // type:object size:0x11 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@0 = .data:0x00001960; // type:object size:0x16 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs = .data:0x00001978; // type:object size:0x11 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000198C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @121647 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x94 scope:global diff --git a/config/ShieldD/rels/d_a_npc_passerD/symbols.txt b/config/ShieldD/rels/d_a_npc_passerD/symbols.txt index 439b44315b..23567e5d90 100644 --- a/config/ShieldD/rels/d_a_npc_passerD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_passerD/symbols.txt @@ -116,7 +116,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @120694 = .rodata:0x00000060; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000064; // type:object size:0xC scope:global @46916 = .rodata:0x00000070; // type:object size:0x4 scope:local -lbl_337_rodata_74 = .rodata:0x00000074; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000078; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000080; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000088; // type:object size:0x4 align:4 data:float ActionTable__13daNpcPasser_c = .data:0x00000000; // type:object size:0x78 scope:global @120137 = .data:0x00000078; // type:object size:0x3A scope:local @120138 = .data:0x000000B4; // type:object size:0x3C scope:local @@ -187,4 +189,4 @@ lbl_337_data_780 = .data:0x00000780; // type:object size:0x24 @121030 = .data:0x00000938; // type:object size:0x10 scope:local data:string @121031 = .data:0x0000095C; // type:object size:0x9 scope:local data:string @121032 = .data:0x0000097C; // type:object size:0x9 scope:local data:string -lbl_337_data_985 = .data:0x00000985; // type:object size:0xF +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000990; // type:object size:0x3 data:string diff --git a/config/ShieldD/rels/d_a_npc_postD/symbols.txt b/config/ShieldD/rels/d_a_npc_postD/symbols.txt index 9e181c5d55..ac647e5293 100644 --- a/config/ShieldD/rels/d_a_npc_postD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_postD/symbols.txt @@ -145,7 +145,9 @@ m__18daNpc_Post_Param_c = .rodata:0x00000000; // type:object size:0x94 scope:glo @122364 = .rodata:0x00000164; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000168; // type:object size:0xC scope:global @46916 = .rodata:0x00000174; // type:object size:0x4 scope:local -lbl_339_rodata_178 = .rodata:0x00000178; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000178; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000180; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000188; // type:object size:0x4 align:4 data:float @121142 = .data:0x00000000; // type:object size:0x1B scope:local @121143 = .data:0x0000001C; // type:object size:0x15 scope:local @121144 = .data:0x00000034; // type:object size:0x15 scope:local @@ -247,9 +249,22 @@ lbl_339_data_AE8 = .data:0x00000AE8; // type:object size:0x24 @122487 = .data:0x00000D7C; // type:object size:0xD scope:local data:string @STRING@__ct__12daNpc_Post_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00000D98; // type:object size:0x29 scope:local @STRING@__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc = .data:0x00000DC4; // type:object size:0x25 scope:local -lbl_339_data_DE9 = .data:0x00000DE9; // type:object size:0xF3 +@STRING@__dt__8daNpcT_cFv = .data:0x00000DEC; // type:object size:0x23 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000E10; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000E18; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000E28; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000E3C; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x00000E4C; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000E54; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000E68; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x00000E7C; // type:object size:0x14 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@2 = .data:0x00000E90; // type:object size:0x5 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@1 = .data:0x00000E98; // type:object size:0x11 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@0 = .data:0x00000EAC; // type:object size:0x16 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs = .data:0x00000EC4; // type:object size:0x11 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000ED8; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @121184 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x9C scope:global -lbl_339_bss_B0 = .bss:0x000000B0; // type:object size:0x1 data:byte +@GUARD@setAttnPos__12daNpc_Post_cFv@prtclScl = .bss:0x000000B0; // type:object size:0x1 data:byte @LOCAL@setAttnPos__12daNpc_Post_cFv@prtclScl = .bss:0x000000B4; // type:object size:0xC scope:local diff --git a/config/ShieldD/rels/d_a_npc_rafrelD/symbols.txt b/config/ShieldD/rels/d_a_npc_rafrelD/symbols.txt index a01b4777f6..c5e2712d1c 100644 --- a/config/ShieldD/rels/d_a_npc_rafrelD/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_rafrelD/symbols.txt @@ -160,7 +160,9 @@ m__19daNpcRafrel_Param_c = .rodata:0x00000000; // type:object size:0x74 scope:gl @121605 = .rodata:0x000002B4; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000002B8; // type:object size:0xC scope:global @46916 = .rodata:0x000002C4; // type:object size:0x4 scope:local -lbl_343_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000002C8; // type:object size:0x8 +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000002D0; // type:object size:0x8 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000002D8; // type:object size:0x4 l_bckGetParamList = .data:0x00000000; // type:object size:0x15C scope:global l_btpGetParamList = .data:0x00000160; // type:object size:0x30 scope:global l_btkGetParamList = .data:0x00000190; // type:object size:0x3C scope:global data:4byte @@ -298,7 +300,19 @@ lbl_343_data_627 = .data:0x00000627; // type:object size:0x2D @STRING@setExpressionAnm__13daNpcRafrel_cFib@0 = .data:0x00000B5C; // type:object size:0x13 scope:local data:string @STRING@setExpressionAnm__13daNpcRafrel_cFib = .data:0x00000B70; // type:object size:0x31 scope:local @STRING@main__13daNpcRafrel_cFv = .data:0x00000BA8; // type:object size:0x10 scope:local data:string -lbl_343_data_BB8 = .data:0x00000BB8; // type:object size:0xCC +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000BB8; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000BC0; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000BD0; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000BE4; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x00000BF4; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000BFC; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000C10; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x00000C24; // type:object size:0x14 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@2 = .data:0x00000C38; // type:object size:0x5 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@1 = .data:0x00000C40; // type:object size:0x11 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs@0 = .data:0x00000C54; // type:object size:0x16 scope:local data:string +@STRING@calc__11J3DTexNoAnmCFPUs = .data:0x00000C6C; // type:object size:0x11 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000C80; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @119738 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x7C scope:global diff --git a/config/ShieldD/rels/d_a_obj_bemosD/symbols.txt b/config/ShieldD/rels/d_a_obj_bemosD/symbols.txt index 51262a1182..2adc712b00 100644 --- a/config/ShieldD/rels/d_a_obj_bemosD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_bemosD/symbols.txt @@ -154,7 +154,9 @@ M_lin20__Q29daObjBm_c5Bgc_c = .rodata:0x00000170; // type:object size:0x170 scop @LOCAL@PPCallBack__9daObjBm_cFP10fopAc_ac_cP10fopAc_ac_csQ29dBgW_Base13PushPullLabel@pp_field = .rodata:0x0000033C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000340; // type:object size:0xC scope:global @46916 = .rodata:0x0000034C; // type:object size:0x4 scope:local -lbl_394_rodata_350 = .rodata:0x00000350; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000350; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000358; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000360; // type:object size:0x4 align:4 data:float @118420 = .data:0x00000000; // type:object size:0x7 scope:local data:string l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte @118421 = .data:0x0000000C; // type:object size:0x6 scope:local data:string @@ -250,13 +252,29 @@ lbl_394_data_7C1 = .data:0x000007C1; // type:object size:0x3F @120144 = .data:0x000008C0; // type:object size:0xC scope:local data:string @120145 = .data:0x000008CC; // type:object size:0x14 scope:local @120146 = .data:0x000008E8; // type:object size:0xE scope:local data:string -lbl_394_data_8F6 = .data:0x000008F6; // type:object size:0xFA +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000900; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000908; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000918; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x0000092C; // type:object size:0xF scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x0000093C; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000944; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000958; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x0000096C; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000980; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000988; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000994; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x000009AC; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x000009B8; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x000009C0; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x000009CC; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000009E0; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000009EC; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local l_joint_table = .bss:0x00000008; // type:object size:0x14 scope:global data:4byte @118435 = .bss:0x0000001C; // type:object size:0xC scope:local l_HIO = .bss:0x00000028; // type:object size:0x40 scope:global data:2byte -lbl_394_bss_68 = .bss:0x00000068; // type:object size:0x8 data:byte +@GUARD@mode_walk__9daObjBm_cFv@dir_vec = .bss:0x00000068; // type:object size:0x1 scope:local data:byte @LOCAL@mode_walk__9daObjBm_cFv@dir_vec = .bss:0x00000070; // type:object size:0x30 scope:local @119374 = .bss:0x000000A0; // type:object size:0xC scope:local M_gnd_work__Q29daObjBm_c5Bgc_c = .bss:0x000000AC; // type:object size:0x78C scope:global @@ -264,5 +282,6 @@ M_gnd_work__Q29daObjBm_c5Bgc_c = .bss:0x000000AC; // type:object size:0x78C scop M_wrt_work__Q29daObjBm_c5Bgc_c = .bss:0x00000844; // type:object size:0x54 scope:global @119377 = .bss:0x00000898; // type:object size:0xC scope:local M_wall_work__Q29daObjBm_c5Bgc_c = .bss:0x000008A8; // type:object size:0xA10 scope:global +@GUARD@chk_wall_touch__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cs@touch_work = .bss:0x000012B8; // type:object size:0x1 scope:local data:byte @119489 = .bss:0x000012BC; // type:object size:0xC scope:local @LOCAL@chk_wall_touch__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cs@touch_work = .bss:0x000012C8; // type:object size:0x70 scope:local diff --git a/config/ShieldD/rels/d_a_obj_dustD/symbols.txt b/config/ShieldD/rels/d_a_obj_dustD/symbols.txt index ad0f2c1d00..e1a0eb0141 100644 --- a/config/ShieldD/rels/d_a_obj_dustD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_dustD/symbols.txt @@ -57,7 +57,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @117182 = .rodata:0x00000084; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000088; // type:object size:0xC scope:global @46916 = .rodata:0x00000094; // type:object size:0x4 scope:local -lbl_428_rodata_98 = .rodata:0x00000098; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000098; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000A0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000A8; // type:object size:0x4 align:4 data:float @116816 = .data:0x00000000; // type:object size:0x7 scope:local data:string l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte l_daObjDust_Method = .data:0x00000010; // type:object size:0x20 scope:global diff --git a/config/ShieldD/rels/d_a_obj_fallobjD/symbols.txt b/config/ShieldD/rels/d_a_obj_fallobjD/symbols.txt index 2d5a44ffc0..31711f548e 100644 --- a/config/ShieldD/rels/d_a_obj_fallobjD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_fallobjD/symbols.txt @@ -62,7 +62,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @117180 = .rodata:0x00000054; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000058; // type:object size:0xC scope:local @46916 = .rodata:0x00000064; // type:object size:0x4 scope:local -lbl_430_rodata_68 = .rodata:0x00000068; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000068; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000070; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000078; // type:object size:0x4 align:4 data:float @116786 = .data:0x00000000; // type:object size:0xA scope:local data:string l_arcName = .data:0x0000000C; // type:object size:0x4 scope:local data:4byte l_cull_box = .data:0x00000010; // type:object size:0x18 scope:local align:4 data:float @@ -95,7 +97,15 @@ __RTTI__14daObjFallObj_c = .data:0x000001B8; // type:object size:0x8 scope:globa @117272 = .data:0x00000230; // type:object size:0xE scope:local data:string @117273 = .data:0x00000240; // type:object size:0xC scope:local @117274 = .data:0x00000258; // type:object size:0x11 scope:local data:string -lbl_430_data_269 = .data:0x00000269; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000278; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000280; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x0000028C; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x000002A4; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x000002B0; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x000002B8; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x000002C4; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000002D8; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000002E4; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @116795 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x10 scope:local data:byte diff --git a/config/ShieldD/rels/d_a_obj_itamatoD/symbols.txt b/config/ShieldD/rels/d_a_obj_itamatoD/symbols.txt index 7a906cef10..284be91a8d 100644 --- a/config/ShieldD/rels/d_a_obj_itamatoD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_itamatoD/symbols.txt @@ -69,7 +69,9 @@ l_ccDObjData = .rodata:0x00000030; // type:object size:0x30 scope:global data:4b @LOCAL@setPrtcls__15daObj_ItaMato_cFv@id = .rodata:0x000000B8; // type:object size:0x6 scope:local cNullVec__6Z2Calc = .rodata:0x000000C0; // type:object size:0xC scope:global @46916 = .rodata:0x000000CC; // type:object size:0x4 scope:local -lbl_474_rodata_D0 = .rodata:0x000000D0; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000D0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000E0; // type:object size:0x4 align:4 data:float @119776 = .data:0x00000000; // type:object size:0x1B scope:local @119777 = .data:0x0000001C; // type:object size:0x1B scope:local @119778 = .data:0x00000038; // type:object size:0x11 scope:local @@ -126,7 +128,11 @@ lbl_474_data_2F0 = .data:0x000002F0; // type:object size:0x24 @120313 = .data:0x00000530; // type:object size:0xE scope:local data:string @120314 = .data:0x00000540; // type:object size:0xC scope:local @120315 = .data:0x00000558; // type:object size:0x11 scope:local data:string -lbl_474_data_569 = .data:0x00000569; // type:object size:0x57 +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@2 = .data:0x00000578; // type:object size:0x5 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@1 = .data:0x00000580; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs@0 = .data:0x00000594; // type:object size:0x14 scope:local data:string +@STRING@getMaterialNodePointer__16J3DMaterialTableCFUs = .data:0x000005A8; // type:object size:0x14 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000005BC; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local l_ccDSph = .bss:0x00000008; // type:object size:0x40 scope:global data:4byte diff --git a/config/ShieldD/rels/d_a_obj_katatsumuriD/splits.txt b/config/ShieldD/rels/d_a_obj_katatsumuriD/splits.txt index 45a9d60ffc..ce30df462b 100644 --- a/config/ShieldD/rels/d_a_obj_katatsumuriD/splits.txt +++ b/config/ShieldD/rels/d_a_obj_katatsumuriD/splits.txt @@ -14,4 +14,4 @@ d/actor/d_a_obj_katatsumuri.cpp: .ctors start:0x00000000 end:0x00000004 .rodata start:0x00000000 end:0x000000FC .data start:0x00000000 end:0x000004DC - .bss start:0x00000008 end:0x00000018 + .bss start:0x00000000 end:0x00000018 diff --git a/config/ShieldD/rels/d_a_obj_katatsumuriD/symbols.txt b/config/ShieldD/rels/d_a_obj_katatsumuriD/symbols.txt index fee0f48ce0..02db687e44 100644 --- a/config/ShieldD/rels/d_a_obj_katatsumuriD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_katatsumuriD/symbols.txt @@ -80,7 +80,9 @@ l_musiya_num = .rodata:0x000000C8; // type:object size:0x4 scope:global data:2by @119184 = .rodata:0x000000D4; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000D8; // type:object size:0xC scope:global @46916 = .rodata:0x000000E4; // type:object size:0x4 scope:local -lbl_482_rodata_E8 = .rodata:0x000000E8; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000E8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000F0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000F8; // type:object size:0x4 align:8 data:float @118433 = .data:0x00000000; // type:object size:0x13 scope:local @118434 = .data:0x00000014; // type:object size:0x15 scope:local @118437 = .data:0x0000002C; // type:object size:0x15 scope:local @@ -136,6 +138,10 @@ lbl_482_data_178 = .data:0x00000178; // type:object size:0x2C @STRING@CreateHeap__10daObjKAT_cFv@1 = .data:0x00000470; // type:object size:0xF scope:local data:string @STRING@CreateHeap__10daObjKAT_cFv@0 = .data:0x00000480; // type:object size:0x18 scope:local data:string @STRING@CreateHeap__10daObjKAT_cFv = .data:0x00000498; // type:object size:0x4 scope:local data:string -lbl_482_data_49C = .data:0x0000049C; // type:object size:0x40 -lbl_482_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x0000049C; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x000004A4; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x000004B4; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x000004C8; // type:object size:0xF scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000004D8; // type:object size:0x3 scope:local data:string +hio_set = .bss:0x00000000; // type:object size:0x1 data:byte l_HIO = .bss:0x00000008; // type:object size:0x10 scope:global align:4 data:float diff --git a/config/ShieldD/rels/d_a_obj_kwheel01D/symbols.txt b/config/ShieldD/rels/d_a_obj_kwheel01D/symbols.txt index 5f46cc0aa1..2fa721fb4b 100644 --- a/config/ShieldD/rels/d_a_obj_kwheel01D/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_kwheel01D/symbols.txt @@ -79,7 +79,15 @@ __RTTI__30request_of_phase_process_class = .data:0x000002C0; // type:object size @114652 = .data:0x000002C8; // type:object size:0xE scope:local data:string @114653 = .data:0x000002D8; // type:object size:0xC scope:local @114654 = .data:0x000002F0; // type:object size:0x11 scope:local data:string -lbl_497_data_301 = .data:0x00000301; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000310; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000318; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000324; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x0000033C; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000348; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000350; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x0000035C; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000370; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000037C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @114291 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:2byte diff --git a/config/ShieldD/rels/d_a_obj_lv6SwGateD/symbols.txt b/config/ShieldD/rels/d_a_obj_lv6SwGateD/symbols.txt index 93a6f114bd..e317938a97 100644 --- a/config/ShieldD/rels/d_a_obj_lv6SwGateD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_lv6SwGateD/symbols.txt @@ -53,7 +53,9 @@ mCcDObjInfo__13daLv6SwGate_c = .rodata:0x00000018; // type:object size:0x30 scop @114481 = .rodata:0x000000A0; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000A4; // type:object size:0xC scope:global @46916 = .rodata:0x000000B0; // type:object size:0x4 scope:local -lbl_540_rodata_B4 = .rodata:0x000000B4; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000B8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000C8; // type:object size:0x4 align:4 data:float @114216 = .data:0x00000000; // type:object size:0xD scope:local @114217 = .data:0x00000010; // type:object size:0x5 scope:local @114220 = .data:0x00000018; // type:object size:0x10 scope:local @@ -92,7 +94,15 @@ __RTTI__13daLv6SwGate_c = .data:0x00000208; // type:object size:0x8 scope:global @114627 = .data:0x00000318; // type:object size:0xE scope:local data:string @114628 = .data:0x00000328; // type:object size:0xC scope:local @114629 = .data:0x00000340; // type:object size:0x11 scope:local data:string -lbl_540_data_351 = .data:0x00000351; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000360; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000368; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000374; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x0000038C; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000398; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x000003A0; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x000003AC; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000003C0; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000003CC; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local @114194 = .bss:0x00000008; // type:object size:0xC scope:local data:4byte diff --git a/config/ShieldD/rels/d_a_obj_lv6TenbinD/symbols.txt b/config/ShieldD/rels/d_a_obj_lv6TenbinD/symbols.txt index a760849cf0..545ffdd7e6 100644 --- a/config/ShieldD/rels/d_a_obj_lv6TenbinD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_lv6TenbinD/symbols.txt @@ -97,7 +97,15 @@ __RTTI__10daTenbin_c = .data:0x00000240; // type:object size:0x8 scope:global @117454 = .data:0x000002B8; // type:object size:0xE scope:local data:string @117455 = .data:0x000002C8; // type:object size:0xC scope:local @117456 = .data:0x000002E0; // type:object size:0x11 scope:local data:string -lbl_543_data_2F1 = .data:0x000002F1; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000300; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000308; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000314; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x0000032C; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000338; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000340; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x0000034C; // type:object size:0x14 scope:local data:float +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000360; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000036C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @117072 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x48 scope:global align:4 data:float diff --git a/config/ShieldD/rels/d_a_obj_lv6egateD/symbols.txt b/config/ShieldD/rels/d_a_obj_lv6egateD/symbols.txt index 58bffdd5c6..935be10cf8 100644 --- a/config/ShieldD/rels/d_a_obj_lv6egateD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_lv6egateD/symbols.txt @@ -34,7 +34,9 @@ l_cull_box = .rodata:0x00000008; // type:object size:0x18 scope:global align:4 d @114401 = .rodata:0x0000003C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000040; // type:object size:0xC scope:global @46916 = .rodata:0x0000004C; // type:object size:0x4 scope:local -lbl_536_rodata_50 = .rodata:0x00000050; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000050; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000060; // type:object size:0x4 align:4 data:float @114241 = .data:0x00000000; // type:object size:0x9 scope:local data:string l_arcName = .data:0x0000000C; // type:object size:0x4 scope:global data:4byte l_cc_cyl_src = .data:0x00000010; // type:object size:0x44 scope:global @@ -56,4 +58,4 @@ __RTTI__15daObjLv6EGate_c = .data:0x00000190; // type:object size:0x8 scope:glob __RTTI__30request_of_phase_process_class = .data:0x000001F8; // type:object size:0x8 scope:global @114518 = .data:0x0000020C; // type:object size:0x9 scope:local data:string @114519 = .data:0x0000022C; // type:object size:0x9 scope:local data:string -lbl_536_data_235 = .data:0x00000235; // type:object size:0xF +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000240; // type:object size:0x3 scope:local data:string diff --git a/config/ShieldD/rels/d_a_obj_lv6swturnD/symbols.txt b/config/ShieldD/rels/d_a_obj_lv6swturnD/symbols.txt index 411c09e85b..83c047a370 100644 --- a/config/ShieldD/rels/d_a_obj_lv6swturnD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_lv6swturnD/symbols.txt @@ -48,7 +48,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @LOCAL@PPCallBack__FP10fopAc_ac_cP10fopAc_ac_csQ29dBgW_Base13PushPullLabel@pp_field = .rodata:0x0000001C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000020; // type:object size:0xC scope:global @46916 = .rodata:0x0000002C; // type:object size:0x4 scope:local -lbl_541_rodata_30 = .rodata:0x00000030; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000030; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000038; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000040; // type:object size:0x4 align:4 data:float @116783 = .data:0x00000000; // type:object size:0xA scope:local data:string l_arcName = .data:0x0000000C; // type:object size:0x4 scope:global data:4byte @116805 = .data:0x00000010; // type:object size:0x13 scope:local @@ -79,7 +81,15 @@ __RTTI__16daObjLv6SwTurn_c = .data:0x000001E0; // type:object size:0x8 scope:glo @117203 = .data:0x00000258; // type:object size:0xE scope:local data:string @117204 = .data:0x00000268; // type:object size:0xC scope:local @117205 = .data:0x00000280; // type:object size:0x11 scope:local data:string -lbl_541_data_291 = .data:0x00000291; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x000002A0; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x000002A8; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x000002B4; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x000002CC; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x000002D8; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x000002E0; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x000002EC; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000300; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000030C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @116792 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:byte diff --git a/config/ShieldD/rels/d_a_obj_mirror_6poleD/symbols.txt b/config/ShieldD/rels/d_a_obj_mirror_6poleD/symbols.txt index da62224b05..22b1681016 100644 --- a/config/ShieldD/rels/d_a_obj_mirror_6poleD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_mirror_6poleD/symbols.txt @@ -54,4 +54,16 @@ g_profile_Obj_Mirror6Pole = .data:0x000000B8; // type:object size:0x30 scope:glo @STRING@setAction__18daObjMirror6Pole_cFQ218daObjMirror6Pole_c6Mode_e@1 = .data:0x000001B8; // type:object size:0x19 scope:local data:string @STRING@setAction__18daObjMirror6Pole_cFQ218daObjMirror6Pole_c6Mode_e@0 = .data:0x000001D4; // type:object size:0x16 scope:local data:string @STRING@setAction__18daObjMirror6Pole_cFQ218daObjMirror6Pole_c6Mode_e = .data:0x000001EC; // type:object size:0x19 scope:local data:string -lbl_561_data_205 = .data:0x00000205; // type:object size:0xAF +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000208; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000210; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000220; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x00000234; // type:object size:0xF scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000244; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x0000024C; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000258; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x00000270; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x0000027C; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000284; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x00000290; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000002A4; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000002B0; // type:object size:0x3 scope:local data:string diff --git a/config/ShieldD/rels/d_a_obj_pdwallD/symbols.txt b/config/ShieldD/rels/d_a_obj_pdwallD/symbols.txt index c6de292110..001832fc4d 100644 --- a/config/ShieldD/rels/d_a_obj_pdwallD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_pdwallD/symbols.txt @@ -32,7 +32,9 @@ l_cull_box = .rodata:0x00000008; // type:object size:0x18 scope:global @114392 = .rodata:0x00000040; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000044; // type:object size:0xC scope:global @46916 = .rodata:0x00000050; // type:object size:0x4 scope:local -lbl_580_rodata_54 = .rodata:0x00000054; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000060; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000068; // type:object size:0x4 align:4 data:float @114233 = .data:0x00000000; // type:object size:0x8 scope:local data:string l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte @114315 = .data:0x0000000C; // type:object size:0x13 scope:local data:string @@ -49,4 +51,12 @@ __RTTI__13daObjPDwall_c = .data:0x000000E0; // type:object size:0x8 scope:global @114501 = .data:0x00000110; // type:object size:0xB scope:local data:string @114502 = .data:0x00000128; // type:object size:0x1F scope:local data:string __RTTI__30request_of_phase_process_class = .data:0x00000148; // type:object size:0x8 scope:global -lbl_580_data_150 = .data:0x00000150; // type:object size:0x70 +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000150; // type:object size:0x5 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000158; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000164; // type:object size:0x16 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x0000017C; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000188; // type:object size:0x5 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000190; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x0000019C; // type:object size:0x14 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000001B0; // type:object size:0x9 data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000001BC; // type:object size:0x3 data:string diff --git a/config/ShieldD/rels/d_a_obj_pictureD/symbols.txt b/config/ShieldD/rels/d_a_obj_pictureD/symbols.txt index 53e0b6be24..43801cff3e 100644 --- a/config/ShieldD/rels/d_a_obj_pictureD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_pictureD/symbols.txt @@ -73,7 +73,9 @@ s_CcDCps__14daObjPicture_c = .rodata:0x000000A8; // type:object size:0x4C scope: s_CcDCyl_pic_at__14daObjPicture_c = .rodata:0x000000F4; // type:object size:0x44 scope:global cNullVec__6Z2Calc = .rodata:0x00000138; // type:object size:0xC scope:global @46916 = .rodata:0x00000144; // type:object size:0x4 scope:local -lbl_581_rodata_148 = .rodata:0x00000148; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000148; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000150; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000158; // type:object size:0x4 align:4 data:float @114141 = .data:0x00000000; // type:object size:0xA scope:local data:string l_arcName = .data:0x0000000C; // type:object size:0x4 scope:global data:4byte l_LINE_OFFSET_POS = .data:0x00000010; // type:object size:0x18 scope:global @@ -96,4 +98,12 @@ __vt__18mDoExt_3DlineMat_c = .data:0x00000158; // type:object size:0x14 scope:gl __RTTI__30request_of_phase_process_class = .data:0x000001C0; // type:object size:0x8 scope:global @114732 = .data:0x000001D4; // type:object size:0x9 scope:local data:string @114733 = .data:0x000001F4; // type:object size:0x9 scope:local data:string -lbl_581_data_1FD = .data:0x000001FD; // type:object size:0x7B +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000208; // type:object size:0x5 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000210; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x0000021C; // type:object size:0x16 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x00000234; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000240; // type:object size:0x5 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000248; // type:object size:0x9 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x00000254; // type:object size:0x14 data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000268; // type:object size:0x9 data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000274; // type:object size:0x3 data:string diff --git a/config/ShieldD/rels/d_a_obj_poFireD/symbols.txt b/config/ShieldD/rels/d_a_obj_poFireD/symbols.txt index 1213d9d70f..b8ab8cf217 100644 --- a/config/ShieldD/rels/d_a_obj_poFireD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_poFireD/symbols.txt @@ -86,7 +86,9 @@ itemNo = .rodata:0x0000002C; // type:object size:0x4 scope:global @117287 = .rodata:0x000000C0; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x000000C4; // type:object size:0xC scope:global @46916 = .rodata:0x000000D0; // type:object size:0x4 scope:local -lbl_585_rodata_D4 = .rodata:0x000000D4; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_2_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000E0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000E8; // type:object size:0x4 align:4 data:float @116931 = .data:0x00000000; // type:object size:0xB scope:local @116934 = .data:0x0000000C; // type:object size:0x2 scope:local data:string @116935 = .data:0x00000010; // type:object size:0x5 scope:local diff --git a/config/ShieldD/rels/d_a_obj_scannon_tenD/symbols.txt b/config/ShieldD/rels/d_a_obj_scannon_tenD/symbols.txt index 12c73424de..7de9903341 100644 --- a/config/ShieldD/rels/d_a_obj_scannon_tenD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_scannon_tenD/symbols.txt @@ -69,7 +69,9 @@ s_demoExeProc__17daObjSCannonTen_c = .rodata:0x00000048; // type:object size:0x9 @LOCAL@changeScene__17daObjSCannonTen_cFv@a_exit_id = .rodata:0x00000108; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x0000010C; // type:object size:0xC scope:global @46916 = .rodata:0x00000118; // type:object size:0x4 scope:local -lbl_604_rodata_11C = .rodata:0x0000011C; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000120; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000128; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000130; // type:object size:0x4 align:4 data:float @118208 = .data:0x00000000; // type:object size:0x8 scope:local data:string l_arcName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte l_staffName = .data:0x0000000C; // type:object size:0x4 scope:global data:4byte @@ -115,4 +117,16 @@ __RTTI__30request_of_phase_process_class = .data:0x000003A0; // type:object size @118855 = .data:0x000003C0; // type:object size:0x11 scope:local data:string @118856 = .data:0x000003E0; // type:object size:0x10 scope:local data:string @118857 = .data:0x00000404; // type:object size:0xD scope:local data:string -lbl_604_data_411 = .data:0x00000411; // type:object size:0xBB +@STRING@getJointNodePointer__12J3DJointTreeCFUs@2 = .data:0x00000420; // type:object size:0x5 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@1 = .data:0x00000428; // type:object size:0xF scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs@0 = .data:0x00000438; // type:object size:0x14 scope:local data:string +@STRING@getJointNodePointer__12J3DJointTreeCFUs = .data:0x0000044C; // type:object size:0xF scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x0000045C; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000464; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x00000470; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x00000488; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000494; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x0000049C; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x000004A8; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x000004BC; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000004C8; // type:object size:0x3 scope:local data:string diff --git a/config/ShieldD/rels/d_a_obj_spinLiftD/symbols.txt b/config/ShieldD/rels/d_a_obj_spinLiftD/symbols.txt index d4b700fffc..146ff49140 100644 --- a/config/ShieldD/rels/d_a_obj_spinLiftD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_spinLiftD/symbols.txt @@ -52,7 +52,9 @@ l_dzbIdx = .rodata:0x0000002C; // type:object size:0x24 scope:global @114440 = .rodata:0x000000A8; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x000000AC; // type:object size:0xC scope:global @46916 = .rodata:0x000000B8; // type:object size:0x4 scope:local -lbl_618_rodata_BC = .rodata:0x000000BC; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000C8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000D0; // type:object size:0x4 align:4 data:float @114220 = .data:0x00000000; // type:object size:0xE scope:local @114221 = .data:0x00000010; // type:object size:0x5 scope:local @114223 = .data:0x00000018; // type:object size:0x5 scope:local @@ -98,7 +100,15 @@ __RTTI__12daSpinLift_c = .data:0x00000268; // type:object size:0x8 scope:global @114540 = .data:0x000002E0; // type:object size:0xE scope:local data:string @114541 = .data:0x000002F0; // type:object size:0xC scope:local @114542 = .data:0x00000308; // type:object size:0x11 scope:local data:string -lbl_618_data_319 = .data:0x00000319; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x00000328; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x00000330; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x0000033C; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x00000354; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x00000360; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000368; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x00000374; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000388; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000394; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @114206 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x10 scope:global data:byte diff --git a/config/ShieldD/rels/d_a_obj_ss_drinkD/symbols.txt b/config/ShieldD/rels/d_a_obj_ss_drinkD/symbols.txt index 9987e10528..98988463c6 100644 --- a/config/ShieldD/rels/d_a_obj_ss_drinkD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_ss_drinkD/symbols.txt @@ -68,7 +68,9 @@ mCcDObjInfo__15daObj_SSDrink_c = .rodata:0x00000000; // type:object size:0x30 sc @120036 = .rodata:0x00000058; // type:object size:0x8 scope:local align:8 data:double cNullVec__6Z2Calc = .rodata:0x00000060; // type:object size:0xC scope:global @46916 = .rodata:0x0000006C; // type:object size:0x4 scope:local -lbl_619_rodata_70 = .rodata:0x00000070; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000070; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000078; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000080; // type:object size:0x4 align:4 data:float @119562 = .data:0x00000000; // type:object size:0x8 scope:local data:string l_resFileName = .data:0x00000008; // type:object size:0x4 scope:global data:4byte @119563 = .data:0x0000000C; // type:object size:0xE scope:local data:string @@ -117,5 +119,5 @@ lbl_619_data_1B4 = .data:0x000001B4; // type:object size:0x30 @120251 = .data:0x0000039C; // type:object size:0x9 scope:local data:string @120252 = .data:0x000003BC; // type:object size:0x9 scope:local data:string @120253 = .data:0x000003DC; // type:object size:0xD scope:local data:string -lbl_619_data_3E9 = .data:0x000003E9; // type:object size:0x13 +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x000003F8; // type:object size:0x3 data:string mCcDCyl__15daObj_SSDrink_c = .bss:0x00000000; // type:object size:0x44 scope:global diff --git a/config/ShieldD/rels/d_a_obj_syRockD/symbols.txt b/config/ShieldD/rels/d_a_obj_syRockD/symbols.txt index 9d1434cfac..b571371065 100644 --- a/config/ShieldD/rels/d_a_obj_syRockD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_syRockD/symbols.txt @@ -91,7 +91,9 @@ mCcDObjInfo__10daSyRock_c = .rodata:0x00000048; // type:object size:0x30 scope:g @117450 = .rodata:0x000000E4; // type:object size:0x4 scope:local align:4 data:float cNullVec__6Z2Calc = .rodata:0x000000E8; // type:object size:0xC scope:global @46916 = .rodata:0x000000F4; // type:object size:0x4 scope:local -lbl_637_rodata_F8 = .rodata:0x000000F8; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000F8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000100; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000108; // type:object size:0x4 align:4 data:float @116978 = .data:0x00000000; // type:object size:0x10 scope:local @116979 = .data:0x00000010; // type:object size:0xA scope:local data:string @116980 = .data:0x0000001C; // type:object size:0x9 scope:local @@ -164,7 +166,15 @@ __RTTI__30request_of_phase_process_class = .data:0x000004E0; // type:object size @117576 = .data:0x00000578; // type:object size:0xE scope:local data:string @117577 = .data:0x00000588; // type:object size:0xC scope:local @117578 = .data:0x000005A0; // type:object size:0x11 scope:local data:string -lbl_637_data_5B1 = .data:0x000005B1; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x000005C0; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x000005C8; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x000005D4; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x000005EC; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x000005F8; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000600; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x0000060C; // type:object size:0x14 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000620; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000062C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local @116955 = .bss:0x00000008; // type:object size:0xC scope:local data:4byte diff --git a/config/ShieldD/rels/d_a_obj_twGateD/symbols.txt b/config/ShieldD/rels/d_a_obj_twGateD/symbols.txt index bc25a2170b..ed053eaabe 100644 --- a/config/ShieldD/rels/d_a_obj_twGateD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_twGateD/symbols.txt @@ -37,7 +37,9 @@ l_cheeckPos1 = .rodata:0x000001AC; // type:object size:0x9C scope:local @114294 = .rodata:0x0000024C; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000250; // type:object size:0xC scope:global @46916 = .rodata:0x0000025C; // type:object size:0x4 scope:local -lbl_662_rodata_260 = .rodata:0x00000260; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000260; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000268; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000270; // type:object size:0x4 align:4 data:float @114210 = .data:0x00000000; // type:object size:0x5 scope:local @114215 = .data:0x00000008; // type:object size:0x9 scope:local data:string @114216 = .data:0x00000014; // type:object size:0xA scope:local data:string @@ -80,7 +82,15 @@ __RTTI__10daTwGate_c = .data:0x00000260; // type:object size:0x8 scope:global @114473 = .data:0x00000360; // type:object size:0xC scope:local @114474 = .data:0x00000378; // type:object size:0x11 scope:local data:string @114475 = .data:0x000003A4; // type:object size:0xD scope:local data:string -lbl_662_data_3B1 = .data:0x000003B1; // type:object size:0x7F +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@6 = .data:0x000003C0; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@5 = .data:0x000003C8; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@4 = .data:0x000003D4; // type:object size:0x16 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@3 = .data:0x000003EC; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@2 = .data:0x000003F8; // type:object size:0x5 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@1 = .data:0x00000400; // type:object size:0x9 scope:local data:string +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi@0 = .data:0x0000040C; // type:object size:0x14 scope:local data:float +@STRING@setDrawBuffer__6J3DSysFP13J3DDrawBufferi = .data:0x00000420; // type:object size:0x9 scope:local data:string +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x0000042C; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @114190 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0xC scope:local align:4 data:float diff --git a/config/ShieldD/rels/d_a_obj_wood_statueD/symbols.txt b/config/ShieldD/rels/d_a_obj_wood_statueD/symbols.txt index 3a5ba0b070..52ad45d507 100644 --- a/config/ShieldD/rels/d_a_obj_wood_statueD/symbols.txt +++ b/config/ShieldD/rels/d_a_obj_wood_statueD/symbols.txt @@ -67,7 +67,9 @@ l_cyl_src = .rodata:0x00000000; // type:object size:0x44 scope:global @LOCAL@execute__14daObjWStatue_cFv@l_demoFunc = .rodata:0x00000084; // type:object size:0x3C scope:local cNullVec__6Z2Calc = .rodata:0x000000C0; // type:object size:0xC scope:global @46916 = .rodata:0x000000CC; // type:object size:0x4 scope:local -lbl_682_rodata_D0 = .rodata:0x000000D0; // type:object size:0x14 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000D0; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x000000E0; // type:object size:0x4 align:4 data:float @118603 = .data:0x00000000; // type:object size:0x7 scope:local data:string l_arcName = .data:0x00000008; // type:object size:0x4 scope:global @118604 = .data:0x00000010; // type:object size:0x10 scope:local data:string @@ -131,7 +133,7 @@ lbl_682_data_330 = .data:0x00000330; // type:object size:0x2C @119236 = .data:0x000005E8; // type:object size:0xE scope:local data:string @119237 = .data:0x000005F8; // type:object size:0xC scope:local @119238 = .data:0x00000610; // type:object size:0x11 scope:local data:string -lbl_682_data_621 = .data:0x00000621; // type:object size:0x13 +@STRING@showAssert__12JUTAssertionFUlPCciPCc = .data:0x00000630; // type:object size:0x3 scope:local data:string __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @118617 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000018; // type:object size:0x8 scope:global data:byte diff --git a/config/ShieldD/rels/d_a_tag_qsD/symbols.txt b/config/ShieldD/rels/d_a_tag_qsD/symbols.txt index c7bee9eadd..c1226f7ac5 100644 --- a/config/ShieldD/rels/d_a_tag_qsD/symbols.txt +++ b/config/ShieldD/rels/d_a_tag_qsD/symbols.txt @@ -49,7 +49,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global @117348 = .rodata:0x00000040; // type:object size:0x4 scope:local cNullVec__6Z2Calc = .rodata:0x00000044; // type:object size:0xC scope:global @46916 = .rodata:0x00000050; // type:object size:0x4 scope:local -lbl_725_rodata_54 = .rodata:0x00000054; // type:object size:0x18 +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN_2__Q23std17numeric_limitsFv@x = .rodata:0x00000060; // type:object size:0x8 align:8 data:float +@LOCAL@signaling_NaN__Q23std17numeric_limitsFv@x = .rodata:0x00000068; // type:object size:0x4 align:4 data:float @117050 = .data:0x00000000; // type:object size:0x5 scope:local @117051 = .data:0x00000008; // type:object size:0x13 scope:local @117054 = .data:0x0000001C; // type:object size:0xD scope:local diff --git a/include/d/actor/d_a_e_md.h b/include/d/actor/d_a_e_md.h index 440b22b477..0c52030a77 100644 --- a/include/d/actor/d_a_e_md.h +++ b/include/d/actor/d_a_e_md.h @@ -23,7 +23,7 @@ public: void CheckHit(); void WaitAction(); void HalfBreakAction(); - bool VibAction(); + u8 VibAction(); void DummyAction(); void RealAction(); void Action(); diff --git a/include/d/actor/d_a_itembase.h b/include/d/actor/d_a_itembase.h index ccac214e45..fa4d246062 100644 --- a/include/d/actor/d_a_itembase.h +++ b/include/d/actor/d_a_itembase.h @@ -6,6 +6,7 @@ #include "d/d_a_itembase_static.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_ext.h" +#include "SSystem/SComponent/c_phase.h" struct daItemBase_data { /* 0x00 */ f32 mGravity; diff --git a/include/d/actor/d_a_obj_itamato.h b/include/d/actor/d_a_obj_itamato.h index cb358289eb..0aece512cd 100644 --- a/include/d/actor/d_a_obj_itamato.h +++ b/include/d/actor/d_a_obj_itamato.h @@ -15,11 +15,39 @@ * */ -class daObj_ItaMato_HIO_c; +struct daObj_ItaMato_HIOParam { + /* 0x00 */ f32 attn_offset; + /* 0x04 */ f32 gravity; + /* 0x08 */ f32 scale; + /* 0x0C */ f32 real_shadow_size; + /* 0x10 */ f32 shake_pow; +}; + +class daObj_ItaMato_Param_c { +public: + virtual ~daObj_ItaMato_Param_c() {} + + static daObj_ItaMato_HIOParam const m; +}; + +#if DEBUG +#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_HIO_c + +class daObj_ItaMato_HIO_c : public mDoHIO_entry_c { +public: + daObj_ItaMato_HIO_c(); + void genMessage(JORMContext* ctx); + void listenPropertyEvent(const JORPropertyEvent*); + + /* 0x8 */ daObj_ItaMato_HIOParam m; +}; +#else +#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_Param_c +#endif class daObj_ItaMato_c : public fopAc_ac_c { private: - /* 0x568 */ daObj_ItaMato_HIO_c* mHIO; + /* 0x568 */ OBJ_ITAMATO_HIO_CLASS* mHIO; /* 0x56C */ request_of_phase_process_class mPhase; /* 0x574 */ J3DModel* mpModels[2]; /* 0x57C */ dBgS_ObjAcch mBgc; diff --git a/include/d/actor/d_a_obj_katatsumuri.h b/include/d/actor/d_a_obj_katatsumuri.h index 9a49e04a0c..e481d3eb3a 100644 --- a/include/d/actor/d_a_obj_katatsumuri.h +++ b/include/d/actor/d_a_obj_katatsumuri.h @@ -93,23 +93,4 @@ private: STATIC_ASSERT(sizeof(daObjKAT_c) == 0xa74); -class daObj_KatHIO_c : public JORReflexible { -public: - daObj_KatHIO_c(); - virtual ~daObj_KatHIO_c() {} - - void genMessage(JORMContext* ctx) { - // Golden Snail - ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001); - // Model scale (male) - ctx->genSlider("モデルスケール(オス)", &this->mScaleMale, 0.1f, 4.0f); - // Model scale (female) - ctx->genSlider("モデルスケール(メス)", &this->mScaleFemale, 0.1f, 4.0f); - } - - s8 field_0x4; - f32 mScaleFemale; - f32 mScaleMale; -}; - #endif /* D_A_OBJ_KATATSUMURI_H */ diff --git a/include/d/actor/d_a_obj_mirror_6pole.h b/include/d/actor/d_a_obj_mirror_6pole.h index 99ccd3f82f..702b1cb66b 100644 --- a/include/d/actor/d_a_obj_mirror_6pole.h +++ b/include/d/actor/d_a_obj_mirror_6pole.h @@ -43,11 +43,11 @@ public: void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); } bool isSwitch() { - return fopAcM_isSwitch(this, getSwitchNo()) || - /* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */ - dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) || - /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ - dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]); + return (fopAcM_isSwitch(this, getSwitchNo()) || + /* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */ + dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) || + /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ + dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) != false; } inline void setAction(Mode_e i_action); diff --git a/include/d/actor/d_a_obj_scannon_ten.h b/include/d/actor/d_a_obj_scannon_ten.h index 6847257840..503a1e0522 100644 --- a/include/d/actor/d_a_obj_scannon_ten.h +++ b/include/d/actor/d_a_obj_scannon_ten.h @@ -13,6 +13,8 @@ */ class daObjSCannonTen_c : public fopAc_ac_c, public request_of_phase_process_class { public: + typedef void (daObjSCannonTen_c::*ExeProc)(void); + enum daSCannonTen_exeMode { MODE_WAIT, MODE_ORDER_EVT, @@ -55,8 +57,8 @@ public: void exeEmtLine(); void delEmtAll(); - static void (daObjSCannonTen_c::*s_exeProc[])(); - static void (daObjSCannonTen_c::*s_demoExeProc[][2])(); + static const ExeProc s_exeProc[]; + static const ExeProc s_demoExeProc[][2]; private: /* 0x574 */ J3DModel* mpModel; diff --git a/include/d/actor/d_a_obj_twGate.h b/include/d/actor/d_a_obj_twGate.h index 5ba018a2e0..683a7f18fb 100644 --- a/include/d/actor/d_a_obj_twGate.h +++ b/include/d/actor/d_a_obj_twGate.h @@ -34,14 +34,4 @@ private: STATIC_ASSERT(sizeof(daTwGate_c) == 0x5fc); -class daTwGate_HIO_c : public fOpAcm_HIO_entry_c { -public: - daTwGate_HIO_c(); - ~daTwGate_HIO_c() {} - - void genMessage(JORMContext* ctx); - - /* 0x4 */ f32 mRange; -}; - #endif /* D_A_OBJ_TWGATE_H */ diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 61b640d4ff..455516e54f 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -271,10 +271,10 @@ public: } fopAc_ac_c* getCatghTarget() { return mCatghTarget.getCatghTarget(); } u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); } - void CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist, + int CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist, f32 i_downDist, s16 i_angle, int param_5) { - mCatghTarget.request(param_0, param_1, i_horizontalDist, i_upDist, i_downDist, i_angle, - param_5); + return mCatghTarget.request(param_0, param_1, i_horizontalDist, i_upDist, i_downDist, + i_angle, param_5); } fopAc_ac_c* getLookTarget() { return mLookTarget.getLookTarget(); diff --git a/include/d/d_bg_w.h b/include/d/d_bg_w.h index f7f38688f7..bf65baccdf 100644 --- a/include/d/d_bg_w.h +++ b/include/d/d_bg_w.h @@ -220,7 +220,7 @@ public: bool ChkNoCalcVtx() { return mFlags & NO_CALC_VTX_e; } bool ChkFlush() { return field_0x91 & 8; } void SetLock() { mFlags |= (u8)LOCK_e; } - void OffRoofRegist() { field_0x91 |= 0x4; } + void OffRoofRegist() { field_0x91 |= (u8)0x4; } void OnRoofRegist() { field_0x91 &= ~0x04; } bool ChkRoofRegist() { return field_0x91 & 4;} cBgD_Vtx_t* GetVtxTbl() const { return pm_vtx_tbl; } diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index c4278cb3cb..20101bc074 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -2761,10 +2761,10 @@ inline u8 dComIfGp_att_getCatchChgItem() { return dComIfGp_getAttention()->getCatchChgItem(); } -inline void dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, +inline int dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist, f32 i_downDist, s16 i_angle, int param_5) { - dComIfGp_getAttention()->CatchRequest(param_0, param_1, i_horizontalDist, i_upDist, i_downDist, - i_angle, param_5); + return dComIfGp_getAttention()->CatchRequest(param_0, param_1, i_horizontalDist, i_upDist, + i_downDist, i_angle, param_5); } inline fopAc_ac_c* dComIfGp_att_getLookTarget() { diff --git a/include/d/d_s_play.h b/include/d/d_s_play.h index 6698a628e9..7181cf0b60 100644 --- a/include/d/d_s_play.h +++ b/include/d/d_s_play.h @@ -4,6 +4,7 @@ #include "d/d_s_play_env.h" #include "f_op/f_op_scene.h" #include "m_Do/m_Do_hostIO.h" +#include "SSystem/SComponent/c_phase.h" class mDoDvdThd_mountXArchive_c; class mDoDvdThd_toMainRam_c; diff --git a/include/d/dolzel_base.pch b/include/d/dolzel_base.pch index f360763e7c..ac45474890 100644 --- a/include/d/dolzel_base.pch +++ b/include/d/dolzel_base.pch @@ -36,6 +36,7 @@ #include "SSystem/SComponent/c_bg_s_poly_info.h" // IWYU pragma: export #include "SSystem/SComponent/c_bg_s_gnd_chk.h" // IWYU pragma: export #include "SSystem/SComponent/c_m3d_g_cyl.h" // IWYU pragma: export +#include "SSystem/SComponent/c_phase.h" // IWYU pragma: export #include "m_Do/m_Do_hostIO.h" // IWYU pragma: export #include "f_op/f_op_actor.h" // IWYU pragma: export #include "JSystem/JParticle/JPAEmitter.h" // IWYU pragma: export diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 868671d2d8..83f009a41e 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -11,6 +11,7 @@ #include "f_op/f_op_draw_tag.h" #include "f_pc/f_pc_manager.h" #include "m_Do/m_Do_hostIO.h" +#include "SSystem/SComponent/c_phase.h" #define fopAcM_ct(ptr, ClassName) \ if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \ diff --git a/include/f_op/f_op_scene_tag.h b/include/f_op/f_op_scene_tag.h index f96ab41f48..ad26ab3564 100644 --- a/include/f_op/f_op_scene_tag.h +++ b/include/f_op/f_op_scene_tag.h @@ -2,7 +2,6 @@ #define F_F_OP_SCENE_TAG_H_ #include "f_pc/f_pc_node.h" -#include "SSystem/SComponent/c_phase.h" class scene_tag_class { public: diff --git a/include/f_pc/f_pc_create_req.h b/include/f_pc/f_pc_create_req.h index fa8dd1b6ae..eaff9ed3a6 100644 --- a/include/f_pc/f_pc_create_req.h +++ b/include/f_pc/f_pc_create_req.h @@ -2,7 +2,6 @@ #ifndef F_PC_CREATE_REQ_H_ #define F_PC_CREATE_REQ_H_ -#include "SSystem/SComponent/c_phase.h" #include "f_pc/f_pc_create_tag.h" #include "f_pc/f_pc_method.h" #include "f_pc/f_pc_method_tag.h" @@ -11,8 +10,12 @@ typedef struct base_process_class base_process_class; typedef struct layer_class layer_class; +// declare our own typedef instead of cPhs__Handler to avoid pulling in c_phase.h +// (which causes RTTI ordering issues in relation to cM3dGCyl) +typedef int (*fpcCtRq_phase_handler)(void*); + typedef struct create_request_method_class { - /* 0x0 */ cPhs__Handler phase_handler; + /* 0x0 */ fpcCtRq_phase_handler phase_handler; /* 0x4 */ process_method_func cancel_method; /* 0x8 */ process_method_func delete_method; } create_request_method_class; diff --git a/include/f_pc/f_pc_stdcreate_req.h b/include/f_pc/f_pc_stdcreate_req.h index 5c561f8bdc..8037f1bfcd 100644 --- a/include/f_pc/f_pc_stdcreate_req.h +++ b/include/f_pc/f_pc_stdcreate_req.h @@ -7,26 +7,6 @@ typedef struct layer_class layer_class; typedef int (*stdCreateFunc)(void*, void*); -typedef struct standard_create_request_class { - /* 0x00 */ create_request base; - /* 0x48 */ request_of_phase_process_class phase_request; - /* 0x50 */ s16 process_name; - /* 0x54 */ void* process_append; - /* 0x58 */ stdCreateFunc create_post_method; - /* 0x5C */ void* unk_0x5C; -#if DEBUG - /* 0x60 */ int unk_0x60; -#endif -} standard_create_request_class; - -int fpcSCtRq_phase_CreateProcess(standard_create_request_class* i_request); -int fpcSCtRq_phase_SubCreateProcess(standard_create_request_class* i_request); -int fpcSCtRq_phase_IsComplete(standard_create_request_class* i_request); -int fpcSCtRq_phase_PostMethod(standard_create_request_class* i_request); -int fpcSCtRq_phase_Done(standard_create_request_class* i_request); -int fpcSCtRq_Handler(standard_create_request_class* i_request); -int fpcSCtRq_Delete(standard_create_request_class* i_request); -int fpcSCtRq_Cancel(standard_create_request_class* i_request); fpc_ProcID fpcSCtRq_Request(layer_class* i_layer, s16 i_procName, stdCreateFunc i_createFunc, void* param_4, void* i_append); diff --git a/src/d/actor/d_a_b_mgn.cpp b/src/d/actor/d_a_b_mgn.cpp index 077ac211aa..f08b4bc9a6 100644 --- a/src/d/actor/d_a_b_mgn.cpp +++ b/src/d/actor/d_a_b_mgn.cpp @@ -251,8 +251,8 @@ static u8 body_front_sph[15] = { } // namespace int daB_MGN_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { - u16 jntNo = i_joint->getJntNo(); - int jointNo = jntNo; + J3DJoint* joint = i_joint; + int jointNo = joint->getJntNo(); mDoMtx_stack_c::copy(i_model->getAnmMtx(jointNo)); if (jointNo == JNT_BACKBONE1) { @@ -2488,6 +2488,7 @@ void daB_MGN_c::executeFall() { } void daB_MGN_c::demo_skip(int param_1) { + UNUSED(param_1); camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); daPy_py_c* player = daPy_getPlayerActorClass(); mBlurRate = 0.0f; diff --git a/src/d/actor/d_a_e_cr_egg.cpp b/src/d/actor/d_a_e_cr_egg.cpp index ebb18c0874..1ef1231f62 100644 --- a/src/d/actor/d_a_e_cr_egg.cpp +++ b/src/d/actor/d_a_e_cr_egg.cpp @@ -29,7 +29,7 @@ static void e_cr_egg_move(e_cr_egg_class* a_this) { a_this->mode = 1; a_this->timers[0] = 150; actor->speedF = 5.0f + cM_rndF(3.0f); - actor->current.angle.y += (int)cM_rndFX(10000.0f); + actor->current.angle.y += (s16)cM_rndFX(10000.0f); case 1: case 2: case 3: @@ -43,7 +43,7 @@ static void e_cr_egg_move(e_cr_egg_class* a_this) { if (a_this->mode < 4) { static f32 spy[] = {17.0f, 8.0f, 5.0f}; actor->speed.y = spy[a_this->mode - 1]; - actor->current.angle.y += (int)cM_rndFX(8000.0f); + actor->current.angle.y += (s16)cM_rndFX(8000.0f); int sp28[3] = {40, 20, 10}; Z2GetAudioMgr()->seStart(Z2SE_EN_CR_EGG_BOUND, &actor->current.pos, sp28[a_this->mode], 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); @@ -79,7 +79,7 @@ static void action(e_cr_egg_class* a_this) { break; } - actor->current.angle.x += (int)(actor->speedF * (700.0f + TREG_F(9))); + actor->current.angle.x += (s16)(actor->speedF * (700.0f + TREG_F(9))); cMtx_YrotS(*calc_mtx, actor->current.angle.y); mae.x = 0.0f; @@ -140,7 +140,7 @@ static int daE_CR_EGG_IsDelete(e_cr_egg_class* a_this) { static int daE_CR_EGG_Delete(e_cr_egg_class* a_this) { fopAc_ac_c* actor = &a_this->enemy; - fopAcM_RegisterDeleteID(actor, "E_CR_EGG"); + fopAcM_RegisterDeleteID(a_this, "E_CR_EGG"); dComIfG_resDelete(&a_this->phase, "E_CR"); a_this->sound.stopAnime(); return 1; diff --git a/src/d/actor/d_a_e_fb.cpp b/src/d/actor/d_a_e_fb.cpp index 1fbbbc2410..6f5c2343df 100644 --- a/src/d/actor/d_a_e_fb.cpp +++ b/src/d/actor/d_a_e_fb.cpp @@ -22,10 +22,10 @@ daE_FB_HIO_c::daE_FB_HIO_c() { maximum_rotation_width = 0x300; minimum_turning_range = 0x10; rotation_width_stairs = 120; - color_register_1r = 0x87; - color_register_1g = 0x96; - color_register_1b = 0x91; - color_register_1a = 0xB6; + color_register_1r = 135; + color_register_1g = 150; + color_register_1b = 145; + color_register_1a = 182; maximum_rotation_width_2 = 120; } @@ -159,18 +159,18 @@ int daE_FB_c::draw() { cStack_44.set(player->current.pos); cStack_44.y += 100.0f; GXColor local_48; - local_48.r = 0x82; - local_48.g = 0xff; - local_48.b = 0x82; - local_48.a = 0xfa; + local_48.r = 130; + local_48.g = 255; + local_48.b = 130; + local_48.a = 250; dDbVw_drawLineXlu(attention_info.position, cStack_44, local_48, 1, 0xc); } #endif - GXTexObj* tex_obj = dDlst_shadowControl_c::getSimpleTex(); mShadowKey = dComIfGd_setShadow(mShadowKey, 1, model, &my_vec, BREG_F(19) + 1300.0f, 0.0f, current.pos.y, - mObjAcch.GetGroundH(), mObjAcch.m_gnd, &tevStr, 0, 1.0f, tex_obj); + mObjAcch.GetGroundH(), mObjAcch.m_gnd, &tevStr, 0, 1.0f, + dDlst_shadowControl_c::getSimpleTex()); return 1; } @@ -293,14 +293,14 @@ bool daE_FB_c::search_check() { if (fopAcM_searchPlayerDistance(this) <= l_HIO.player_detection_range) { if (!field_0x69c) { mRotation = fopAcM_searchPlayerAngleY(this); - field_0x69c = 0x1E; + field_0x69c = 30; field_0x696 = 0; } retval = true; } else if (mActionMode != 1 && !field_0x69c) { mRotation = home.angle.y; - field_0x69c = 0x1E; + field_0x69c = 30; field_0x696 = 0; } diff --git a/src/d/actor/d_a_e_gb.cpp b/src/d/actor/d_a_e_gb.cpp index 47215b9690..bb1305d96e 100644 --- a/src/d/actor/d_a_e_gb.cpp +++ b/src/d/actor/d_a_e_gb.cpp @@ -394,35 +394,37 @@ static void e_gb_damage(e_gb_class* i_this) { i_this->invulnerabilityTimer = 35; switch (i_this->mode) { - case 0: - i_this->mode = 1; - if ((s16)(i_this->angleYTarget - actor->current.angle.y) < 0) { - ANGLE_ADD(actor->current.angle.y, KREG_S(6) + 0x2000); - } else { - ANGLE_SUB(actor->current.angle.y, KREG_S(6) + 0x2000); - } + case 0: + i_this->mode = 1; + s16 angleDiff = i_this->angleYTarget - actor->current.angle.y; + if (angleDiff < 0) { + ANGLE_ADD(actor->current.angle.y, KREG_S(6) + 0x2000); + } else { + ANGLE_SUB(actor->current.angle.y, KREG_S(6) + 0x2000); + } - cMtx_YrotS(*calc_mtx, actor->current.angle.y); - work.x = 0.0f; - work.y = AREG_F(2) + 50.0f; - work.z = AREG_F(1) + 800.0f; - MtxPosition(&work, &i_this->currentPosTarget); - i_this->currentPosTarget += actor->home.pos; - actor->speed.x = fabsf(actor->current.pos.x - i_this->currentPosTarget.x) * 0.2f; - actor->speed.y = fabsf(actor->current.pos.y - i_this->currentPosTarget.y) * 0.2f; - actor->speed.z = fabsf(actor->current.pos.z - i_this->currentPosTarget.z) * 0.2f; - i_this->timer[0] = KREG_S(7) + 15; - // fallthrough - case 1: - if (i_this->timer[0] == 0) { - if (actor->health <= 0) { - i_this->headAction = HEAD_ACTION_END; - i_this->mode = 0; - } else { - i_this->headAction = HEAD_ACTION_WAIT; - i_this->mode = -2; - } + cMtx_YrotS(*calc_mtx, actor->current.angle.y); + work.x = 0.0f; + work.y = AREG_F(2) + 50.0f; + work.z = AREG_F(1) + 800.0f; + MtxPosition(&work, &i_this->currentPosTarget); + i_this->currentPosTarget += actor->home.pos; + actor->speed.x = fabsf(actor->current.pos.x - i_this->currentPosTarget.x) * 0.2f; + actor->speed.y = fabsf(actor->current.pos.y - i_this->currentPosTarget.y) * 0.2f; + actor->speed.z = fabsf(actor->current.pos.z - i_this->currentPosTarget.z) * 0.2f; + i_this->timer[0] = KREG_S(7) + 15; + // fallthrough + case 1: + if (i_this->timer[0] == 0) { + if (actor->health <= 0) { + i_this->headAction = HEAD_ACTION_END; + i_this->mode = 0; + } else { + i_this->headAction = HEAD_ACTION_WAIT; + i_this->mode = -2; } + } + break; } cLib_addCalc2(&actor->current.pos.x, i_this->currentPosTarget.x, 0.1f, actor->speed.x); @@ -1107,183 +1109,183 @@ static void demo_camera(e_gb_class* i_this) { camera_class* camera2 = dComIfGp_getCamera(0); fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); cXyz work, pos, sp34, sp40; - int swBit; switch (i_this->demoMode) { - case 1: - if (!actor->eventInfo.checkCommandDemoAccrpt()) { - fopAcM_orderPotentialEvent(actor, 2, 0xFFFF, 0); - actor->eventInfo.onCondition(dEvtCnd_CANDEMO_e); - return; - } + case 1: { + if (!actor->eventInfo.checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(actor, 2, 0xFFFF, 0); + actor->eventInfo.onCondition(dEvtCnd_CANDEMO_e); + return; + } - camera->mCamera.Stop(); - i_this->demoMode = 2; - i_this->demoCamFovy = 55.0f; - i_this->demoCounter = 0; - camera->mCamera.SetTrimSize(3); - daPy_getPlayerActorClass()->changeOriginalDemo(); - i_this->keyPos.set(-5750.0f, 4410.0f, 10684.0f); - i_this->keyYRot = KREG_S(4) + 0x5000; - i_this->demoCamCenter.set(-5689.0f, 4747.0f, 15000.0f); - i_this->demoCamEye.set(-5700.0f, 4740.0f, 14644.0f); - i_this->demoCamCenterTarget.set(-5689.0f, 4740.0f, 14643.0f); - i_this->demoCamEyeTarget.set(-5723.0f, 4733.0f, 14293.0f); - i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); - i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); - i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); - i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); - i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); - i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); - i_this->demoCamStepScale = 0.0; + camera->mCamera.Stop(); + i_this->demoMode = 2; + i_this->demoCamFovy = 55.0f; + i_this->demoCounter = 0; + camera->mCamera.SetTrimSize(3); + daPy_getPlayerActorClass()->changeOriginalDemo(); + i_this->keyPos.set(-5750.0f, 4410.0f, 10684.0f); + i_this->keyYRot = KREG_S(4) + 0x5000; + i_this->demoCamCenter.set(-5689.0f, 4747.0f, 15000.0f); + i_this->demoCamEye.set(-5700.0f, 4740.0f, 14644.0f); + i_this->demoCamCenterTarget.set(-5689.0f, 4740.0f, 14643.0f); + i_this->demoCamEyeTarget.set(-5723.0f, 4733.0f, 14293.0f); + i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); + i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); + i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); + i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); + i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); + i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); + i_this->demoCamStepScale = 0.0; - Z2GetAudioMgr()->setBattleBgmOff(true); - dComIfGp_getEvent()->startCheckSkipEdge(actor); - swBit = (fopAcM_GetParam(actor) & 0xFF00) >> 8; - dComIfGs_onSwitch(swBit, fopAcM_GetRoomNo(actor)); - // fallthrough - case 2: - pos.set(-5700.0f, 4350.0f, 9670.0f); - daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, 0, 0); - if (i_this->demoCounter > 50) { - cam_3d_morf(i_this, 0.1f); - cLib_addCalc2(&i_this->demoCamStepScale, 0.02f, 1.0f, 0.0005f); - } + Z2GetAudioMgr()->setBattleBgmOff(true); + dComIfGp_getEvent()->startCheckSkipEdge(actor); + int swBit = (fopAcM_GetParam(actor) & 0xFF00) >> 8; + dComIfGs_onSwitch(swBit, fopAcM_GetRoomNo(actor)); + // fallthrough + } + case 2: + pos.set(-5700.0f, 4350.0f, 9670.0f); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, 0, 0); + if (i_this->demoCounter > 50) { + cam_3d_morf(i_this, 0.1f); + cLib_addCalc2(&i_this->demoCamStepScale, 0.02f, 1.0f, 0.0005f); + } - if (i_this->demoCounter != 170) break; - i_this->demoCamCenter.set(-5690.0f, 4432.0f, 9610.0f); - i_this->demoCamEye.set(-5709.0f, 4445.0f, 9961.0f); - i_this->demoCamCenterTarget.set(-5741.0f, 4432.0f, 10530.0f); - i_this->demoCamEyeTarget.set(-5760.0f, 4496.0f, 10896.0f); - i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); - i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); - i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); - i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); - i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); - i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); - i_this->demoCamStepScale = 0.0f; - i_this->demoMode = 3; - i_this->demoCamFovy = 55.0f; - i_this->demoCounter = 0; - // fallthrough - case 3: - if (i_this->demoCounter > 30) { - cam_3d_morf(i_this, 0.1f); - cLib_addCalc2(&i_this->demoCamStepScale, 0.02f, 1.0f, 0.0005f); - } + if (i_this->demoCounter != 170) break; + i_this->demoCamCenter.set(-5690.0f, 4432.0f, 9610.0f); + i_this->demoCamEye.set(-5709.0f, 4445.0f, 9961.0f); + i_this->demoCamCenterTarget.set(-5741.0f, 4432.0f, 10530.0f); + i_this->demoCamEyeTarget.set(-5760.0f, 4496.0f, 10896.0f); + i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); + i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); + i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); + i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); + i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); + i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); + i_this->demoCamStepScale = 0.0f; + i_this->demoMode = 3; + i_this->demoCamFovy = 55.0f; + i_this->demoCounter = 0; + // fallthrough + case 3: + if (i_this->demoCounter > 30) { + cam_3d_morf(i_this, 0.1f); + cLib_addCalc2(&i_this->demoCamStepScale, 0.02f, 1.0f, 0.0005f); + } - if (i_this->demoCounter == 130) { - i_this->mode++; - } - - if (i_this->demoCounter == 135) { - i_this->sound.startCreatureSound(Z2SE_EN_GB_SWINGHEAD, 0, -1); - } - - if (i_this->demoCounter == 143) { - i_this->field_0x670 = 2; - } - - if (i_this->demoCounter == 162) { - daPy_getPlayerActorClass()->changeDemoMode(23, 1, 2, 0); - } - - if (i_this->demoCounter != 190) break; + if (i_this->demoCounter == 130) { i_this->mode++; - i_this->demoMode = 4; - i_this->demoCounter = 0; - body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_OPEN_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); - mDoAud_seStart(Z2SE_EN_GF_OPEN, &actor->home.pos, 0, 0); - i_this->demoCamCenter.set(-5706.0f, 4526.0f, 11379.0f); - i_this->demoCamEye.set(-5687.0f, 4505.0f, 11008.0f); - i_this->demoCamCenterTarget.set(-5624.0f, 4439.0f, 9818.0f); - i_this->demoCamEyeTarget.set(-5604.0f, 4418.0f, 9447.0f); - i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); - i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); - i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); - i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); - i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); - i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); - i_this->demoCamStepScale = 0.0f; - i_this->demoCamCenter.y = 4584.0f; - // fallthrough - case 4: - if (i_this->demoCounter == (s16)(NREG_S(5) + 48)) { - head_anm_init(i_this, dRes_ID_E_GB_BCK_GB_DEMO_DROPKEY_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); - i_this->sound.startCreatureSound(Z2SE_EN_GB_DROPKEY, 0, -1); - } + } - if (i_this->demoCounter == (s16)(NREG_S(6) + 54)) { - head_anm_init(i_this, dRes_ID_E_GB_BCK_GB_DEMO_DROPKEY_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); - i_this->keyPos = actor->home.pos; - i_this->keyPos.y += NREG_F(9) + 400.0f; - i_this->field_0x670 = 1; - } + if (i_this->demoCounter == 135) { + i_this->sound.startCreatureSound(Z2SE_EN_GB_SWINGHEAD, 0, -1); + } - if (i_this->demoCounter == (s16)(NREG_S(7) + 68)) { - body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_CLOSE_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); - mDoAud_seStart(Z2SE_EN_GF_CLOSE, &actor->home.pos, 0, 0); - i_this->keyStatus = 0; - } + if (i_this->demoCounter == 143) { + i_this->field_0x670 = 2; + } - if (i_this->demoCounter > 150) { - cam_3d_morf(i_this, 0.2f); - cLib_addCalc2(&i_this->demoCamStepScale, 0.04f, 1.0f, 0.002f); - } else if (i_this->demoCounter >= 80) { - cLib_addCalc2(&i_this->demoCamCenter.y, 4526.0f, 0.05f, 1.0f); - } + if (i_this->demoCounter == 162) { + daPy_getPlayerActorClass()->changeDemoMode(23, 1, 2, 0); + } - if (i_this->bodyAnmNo == dRes_ID_E_GB_BCK_GF_CLOSE_e && i_this->flowerAnmP->isStop()) { - body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_WAIT_CLOSE_e, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); - } + if (i_this->demoCounter != 190) break; + i_this->mode++; + i_this->demoMode = 4; + i_this->demoCounter = 0; + body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_OPEN_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); + mDoAud_seStart(Z2SE_EN_GF_OPEN, &actor->home.pos, 0, 0); + i_this->demoCamCenter.set(-5706.0f, 4526.0f, 11379.0f); + i_this->demoCamEye.set(-5687.0f, 4505.0f, 11008.0f); + i_this->demoCamCenterTarget.set(-5624.0f, 4439.0f, 9818.0f); + i_this->demoCamEyeTarget.set(-5604.0f, 4418.0f, 9447.0f); + i_this->demoCamEyeTargetDist.x = fabsf(i_this->demoCamEyeTarget.x - i_this->demoCamEye.x); + i_this->demoCamEyeTargetDist.y = fabsf(i_this->demoCamEyeTarget.y - i_this->demoCamEye.y); + i_this->demoCamEyeTargetDist.z = fabsf(i_this->demoCamEyeTarget.z - i_this->demoCamEye.z); + i_this->demoCamCenterTargetDist.x = fabsf(i_this->demoCamCenterTarget.x - i_this->demoCamCenter.x); + i_this->demoCamCenterTargetDist.y = fabsf(i_this->demoCamCenterTarget.y - i_this->demoCamCenter.y); + i_this->demoCamCenterTargetDist.z = fabsf(i_this->demoCamCenterTarget.z - i_this->demoCamCenter.z); + i_this->demoCamStepScale = 0.0f; + i_this->demoCamCenter.y = 4584.0f; + // fallthrough + case 4: + if (i_this->demoCounter == (s16)(NREG_S(5) + 48)) { + head_anm_init(i_this, dRes_ID_E_GB_BCK_GB_DEMO_DROPKEY_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); + i_this->sound.startCreatureSound(Z2SE_EN_GB_DROPKEY, 0, -1); + } - if (i_this->demoCounter == 220) { - i_this->demoMode = 100; - i_this->headAction = HEAD_ACTION_WAIT; - i_this->mode = 0; - i_this->flowerAction = FLOWER_ACTION_WAIT; - i_this->flowerMode = 0; - Z2GetAudioMgr()->setBattleBgmOff(false); - } - break; + if (i_this->demoCounter == (s16)(NREG_S(6) + 54)) { + head_anm_init(i_this, dRes_ID_E_GB_BCK_GB_DEMO_DROPKEY_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); + i_this->keyPos = actor->home.pos; + i_this->keyPos.y += NREG_F(9) + 400.0f; + i_this->field_0x670 = 1; + } - case 10: - if (!actor->eventInfo.checkCommandDemoAccrpt()) { - fopAcM_orderPotentialEvent(actor, 2, 0xFFFF, 0); - actor->eventInfo.onCondition(dEvtCnd_CANDEMO_e); - return; - } + if (i_this->demoCounter == (s16)(NREG_S(7) + 68)) { + body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_CLOSE_e, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); + mDoAud_seStart(Z2SE_EN_GF_CLOSE, &actor->home.pos, 0, 0); + i_this->keyStatus = 0; + } - camera->mCamera.Stop(); - i_this->demoMode = 11; - i_this->demoCamFovy = 55.0; - i_this->demoCounter = 0; - camera->mCamera.SetTrimSize(3); - // fallthrough - case 11: - i_this->demoCamCenter = actor->home.pos; - i_this->demoCamCenter.y += YREG_F(12) + 100.0f; - i_this->demoCamEye = actor->home.pos; - i_this->demoCamEye.x += YREG_F(13); - i_this->demoCamEye.y += YREG_F(14) + 300.0f; - i_this->demoCamEye.z += YREG_F(15) + -600.0f; + if (i_this->demoCounter > 150) { + cam_3d_morf(i_this, 0.2f); + cLib_addCalc2(&i_this->demoCamStepScale, 0.04f, 1.0f, 0.002f); + } else if (i_this->demoCounter >= 80) { + cLib_addCalc2(&i_this->demoCamCenter.y, 4526.0f, 0.05f, 1.0f); + } - if (i_this->demoCounter == 100) { - i_this->demoMode = 100; - } - break; + if (i_this->bodyAnmNo == dRes_ID_E_GB_BCK_GF_CLOSE_e && i_this->flowerAnmP->isStop()) { + body_anm_init(i_this, dRes_ID_E_GB_BCK_GF_WAIT_CLOSE_e, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); + } - case 100: - camera->mCamera.Reset(i_this->demoCamCenter, i_this->demoCamEye); - camera->mCamera.Start(); - camera->mCamera.SetTrimSize(0); - dComIfGp_event_reset(); - daPy_getPlayerActorClass()->cancelOriginalDemo(); - i_this->demoMode = 0; - break; + if (i_this->demoCounter == 220) { + i_this->demoMode = 100; + i_this->headAction = HEAD_ACTION_WAIT; + i_this->mode = 0; + i_this->flowerAction = FLOWER_ACTION_WAIT; + i_this->flowerMode = 0; + Z2GetAudioMgr()->setBattleBgmOff(false); + } + break; - case 0: - break; + case 10: + if (!actor->eventInfo.checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(actor, 2, 0xFFFF, 0); + actor->eventInfo.onCondition(dEvtCnd_CANDEMO_e); + return; + } + + camera->mCamera.Stop(); + i_this->demoMode = 11; + i_this->demoCamFovy = 55.0; + i_this->demoCounter = 0; + camera->mCamera.SetTrimSize(3); + // fallthrough + case 11: + i_this->demoCamCenter = actor->home.pos; + i_this->demoCamCenter.y += YREG_F(12) + 100.0f; + i_this->demoCamEye = actor->home.pos; + i_this->demoCamEye.x += YREG_F(13); + i_this->demoCamEye.y += YREG_F(14) + 300.0f; + i_this->demoCamEye.z += YREG_F(15) + -600.0f; + + if (i_this->demoCounter == 100) { + i_this->demoMode = 100; + } + break; + + case 100: + camera->mCamera.Reset(i_this->demoCamCenter, i_this->demoCamEye); + camera->mCamera.Start(); + camera->mCamera.SetTrimSize(0); + dComIfGp_event_reset(); + daPy_getPlayerActorClass()->cancelOriginalDemo(); + i_this->demoMode = 0; + break; + + case 0: + break; } if (i_this->demoMode != 0) { @@ -1291,7 +1293,7 @@ static void demo_camera(e_gb_class* i_this) { i_this->demoCounter++; if (i_this->demoMode < 10) { - dComIfGp_getEvent()->setSkipProc(i_this, dEv_defaultSkipProc, 0); + dComIfGp_getEvent()->setSkipProc(actor, dEv_defaultSkipProc, 0); if (dComIfGp_getEvent()->checkSkipEdge()) { i_this->demoMode = 100; cMtx_YrotS(*calc_mtx, player->shape_angle.y); @@ -1324,6 +1326,7 @@ static int daE_GB_Execute(e_gb_class* i_this) { fopEn_enemy_c* actor = &i_this->actor; cXyz work, pos; + J3DModel* model; i_this->frameCounter++; @@ -1358,7 +1361,7 @@ static int daE_GB_Execute(e_gb_class* i_this) { f32 scale = l_HIO.face_size; mDoMtx_stack_c::scaleM(scale, scale, scale); - J3DModel* model = i_this->anmP->getModel(); + model = i_this->anmP->getModel(); model->setBaseTRMtx(mDoMtx_stack_c::get()); i_this->anmP->play(NULL, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)), 0); i_this->anmP->modelCalc(); diff --git a/src/d/actor/d_a_e_hz.cpp b/src/d/actor/d_a_e_hz.cpp index 258b7fb7cf..5d926a4d57 100644 --- a/src/d/actor/d_a_e_hz.cpp +++ b/src/d/actor/d_a_e_hz.cpp @@ -169,10 +169,14 @@ static fopAc_ac_c* m_near_carry; static fopAc_ac_c* m_near_weapon; static void* s_obj_sub(void* i_actor, void* i_data) { + f32 actor_dist; + + UNUSED(i_data); + if (fopAcM_IsActor(i_actor)) { if (!fpcM_IsCreating(fopAcM_GetID(i_actor)) && !fopAcM_checkCarryNow((fopAc_ac_c*)i_actor)) { - f32 actor_dist = fopAcM_searchActorDistance((fopAc_ac_c*)i_actor, (fopAc_ac_c*)i_data); + actor_dist = fopAcM_searchActorDistance((fopAc_ac_c*)i_actor, (fopAc_ac_c*)i_data); if (actor_dist < 100.0f && !fopAcM_GetSpeedF((fopAc_ac_c*)i_actor) && !fopAcM_GetSpeed((fopAc_ac_c*)i_actor).y) @@ -713,8 +717,12 @@ void daE_HZ_c::initBackWalk() { linChk.Set(&start, &end, NULL); if (dComIfG_Bgsp().LineCross(&linChk)) { - cLib_offsetPos(&field_0x678, &home.pos, modifiedTargetAngleY & 0x4000 ? (s16)((targetAngleY + 0x4000) & 0x8000) : - (s16)((targetAngleY & 0x8000) + 0x4000), &position); + if (modifiedTargetAngleY & 0x4000) { + targetAngleY = (s16)(targetAngleY + 0x4000 & 0x8000); + } else { + targetAngleY = (s16)((targetAngleY & 0x8000) + 0x4000); + } + cLib_offsetPos(&field_0x678, &home.pos, targetAngleY, &position); } } } @@ -863,6 +871,7 @@ void daE_HZ_c::executeWind() { dBgS_GndChk gndChk; dBgS_LinChk linChk; BOOL bVar = false; + f32 deltaY; f32 frame = mpMorfSO->getFrame(); f32 playerDist; f32 groundCross; @@ -890,12 +899,12 @@ void daE_HZ_c::executeWind() { field_0x6cc = (s16)((playerDist * 15.0f) / 1000.0f); /* fallthrough */ case 1: - frame = 6.0f - frame / 3.0f; - if (frame < 0.0f) { - frame = 0.0f; + deltaY = 6.0f - frame / 3.0f; + if (deltaY < 0.0f) { + deltaY = 0.0f; } - current.pos.y += frame; + current.pos.y += deltaY; ANGLE_SUB(shape_angle.y, 0x7D0); if (mpMorfSO->checkFrame(field_0x6cc) || mpBoomerangActor == NULL || @@ -1345,15 +1354,14 @@ void daE_HZ_c::executeWindWalk() { } void daE_HZ_c::setWaterEffect() { + cXyz position(current.pos.x, mGroundCross, current.pos.z); + static cXyz sc(2.0f, 2.0f, 2.0f); static u16 w_eff_id[4] = { ID_ZI_J_DOWNWTRA_A, ID_ZI_J_DOWNWTRA_B, ID_ZI_J_DOWNWTRA_C, ID_ZI_J_DOWNWTRA_D, }; - - cXyz position(current.pos.x, mGroundCross, current.pos.z); - static cXyz sc(2.0f, 2.0f, 2.0f); for (int i = 0; i < 4; i++) { mWaterEffects[i] = dComIfGp_particle_set(mWaterEffects[i], w_eff_id[i], &position, &tevStr, @@ -1453,7 +1461,7 @@ void daE_HZ_c::executeDeathWait() { } void daE_HZ_c::damage_check() { - s16 angle; + s16 targetAngleY; if (mAction != 1 || mMode < 4) { if (mSpheres[0].ChkTgHit() && mSpheres[0].GetTgHitObj()->ChkAtType(AT_TYPE_BOOMERANG)) { @@ -1533,68 +1541,68 @@ void daE_HZ_c::damage_check() { } setActionMode(ACTION_DEATH); - return; - } + } else { + if (mAction == ACTION_AWAY) { + if (bVar) { + field_0x6cc = 1; + setActionMode(ACTION_DAMAGE); + return; + } - if (mAction == ACTION_AWAY) { - if (bVar) { - field_0x6cc = 1; - setActionMode(ACTION_DAMAGE); + targetAngleY = cLib_targetAngleY(&mSpheres[1].GetCoCP(), &player_pos); + targetAngleY = (s16)(targetAngleY - shape_angle.y); + if (i == 1) { + if (abs(targetAngleY) >= 0x4000) { + if (bVar) { + mBackbone1YZRot.z = 0x5000; + mBackbone2YZRot.z = -0x4000; + mBackbone3YZRot.z = 0; + } else { + mBackbone1YZRot.z = 0x3000; + } + + } else if (bVar) { + mBackbone1YZRot.z = -0x3000; + mBackbone2YZRot.z = -0x2000; + mBackbone3YZRot.z = -0x1000; + } else { + mBackbone1YZRot.z = -0x2000; + mBackbone2YZRot.z = -0x1000; + mBackbone3YZRot.z = -0x800; + } + speedF = 0.0f; + } else if (bVar) { + mBackbone1YZRot.z = 0x5000; + mBackbone2YZRot.z = -0x4000; + mBackbone3YZRot.z = 0; + } else { + mBackbone1YZRot.z = 0x3000; + } + + if (targetAngleY < -0x2800) { + targetAngleY = -0x2800; + } + + if (targetAngleY > 0x2800) { + targetAngleY = 0x2800; + } + + mBackbone1YZRot.y = targetAngleY; + mSound.startCreatureVoice(Z2SE_EN_HZ_V_DAMAGE, -1); return; } - angle = cLib_targetAngleY(&mSpheres[1].GetCoCP(), &player_pos) - shape_angle.y; - if (i == 1) { - if (abs(angle) >= 0x4000) { - if (bVar) { - mBackbone1YZRot.z = 0x5000; - mBackbone2YZRot.z = -0x4000; - mBackbone3YZRot.z = 0; - } else { - mBackbone1YZRot.z = 0x3000; - } - - } else if (bVar) { - mBackbone1YZRot.z = -0x3000; - mBackbone2YZRot.z = -0x2000; - mBackbone3YZRot.z = -0x1000; - } else { - mBackbone1YZRot.z = -0x2000; - mBackbone2YZRot.z = -0x1000; - mBackbone3YZRot.z = -0x800; - } - speedF = 0.0f; - } else if (bVar) { - mBackbone1YZRot.z = 0x5000; - mBackbone2YZRot.z = -0x4000; - mBackbone3YZRot.z = 0; + if (bVar) { + field_0x6cc = 1; } else { - mBackbone1YZRot.z = 0x3000; + field_0x6cc = 0; + if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) { + field_0x6cc = 2; + } } - if (angle < -0x2800) { - angle = -0x2800; - } - - if (angle > 0x2800) { - angle = 0x2800; - } - - mBackbone1YZRot.y = angle; - mSound.startCreatureVoice(Z2SE_EN_HZ_V_DAMAGE, -1); - return; + setActionMode(ACTION_DAMAGE); } - - if (bVar) { - field_0x6cc = 1; - } else { - field_0x6cc = 0; - if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) { - field_0x6cc = 2; - } - } - - setActionMode(ACTION_DAMAGE); return; } } @@ -1605,13 +1613,8 @@ void daE_HZ_c::damage_check() { bool daE_HZ_c::checkWaterSurface() { dBgS_ObjGndChk_Spl spline; - Vec modified_pos /* = current.pos; */; - // this might not match in debug since it's not calling - // Vec::operator_= in debug - // For retail, it's no problem since it gets optimized out - modified_pos.x = current.pos.x; - modified_pos.y = current.pos.y; - modified_pos.z = current.pos.z; + Vec modified_pos; + modified_pos = current.pos; modified_pos.y += 500.0f; spline.SetPos(&modified_pos); mGroundCross = dComIfG_Bgsp().GroundCross(&spline); @@ -1722,59 +1725,64 @@ void daE_HZ_c::action() { void daE_HZ_c::mtx_set() { mDoMtx_stack_c::transS(home.pos.x, home.pos.y - 13.0f, home.pos.z); mpModel2->setBaseTRMtx(mDoMtx_stack_c::get()); - if (field_0x6e8 == 0) { - mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); - mDoMtx_stack_c::ZXYrotM(shape_angle); - mDoMtx_stack_c::scaleM(l_HIO.basic_size, l_HIO.basic_size, l_HIO.basic_size); - J3DModel* morfModel = mpMorfSO->getModel(); - morfModel->setBaseTRMtx(mDoMtx_stack_c::get()); - mpMorfSO->modelCalc(); - MtxP anmMtx = morfModel->getAnmMtx(7); - mpModel->setBaseTRMtx(anmMtx); - mSmokeEffectPosition.set(anmMtx[0][3], anmMtx[1][3], anmMtx[2][3]); - if (mSetModelAnmMtx) { - mSetModelAnmMtx = false; - mDoMtx_stack_c::copy(anmMtx); - mDoMtx_stack_c::ZrotM(-0x4000); - mDoMtx_stack_c::transM(0.0f, 14.0f, 0.0f); - MTXCopy(mDoMtx_stack_c::get(), mMtx); - } else { - mDoMtx_stack_c::transS(home.pos); - MTXCopy(mDoMtx_stack_c::get(), mMtx); - } - if (mpBgW != NULL) { - mpBgW->Move(); - } + if (field_0x6e8 != 0) { + return; + } + + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(l_HIO.basic_size, l_HIO.basic_size, l_HIO.basic_size); + J3DModel* morfModel = mpMorfSO->getModel(); + morfModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mpMorfSO->modelCalc(); + MtxP anmMtx = morfModel->getAnmMtx(7); + mpModel->setBaseTRMtx(anmMtx); + mSmokeEffectPosition.set(anmMtx[0][3], anmMtx[1][3], anmMtx[2][3]); + if (mSetModelAnmMtx) { + mSetModelAnmMtx = false; + mDoMtx_stack_c::copy(anmMtx); + mDoMtx_stack_c::ZrotM(-0x4000); + mDoMtx_stack_c::transM(0.0f, 14.0f, 0.0f); + cMtx_copy(mDoMtx_stack_c::get(), mMtx); + } else { + mDoMtx_stack_c::transS(home.pos); + cMtx_copy(mDoMtx_stack_c::get(), mMtx); + } + + if (mpBgW != NULL) { + mpBgW->Move(); } } void daE_HZ_c::cc_set() { - if (field_0x6e8 == 0) { - cXyz pos; - J3DModel* morfModel = mpMorfSO->getModel(); - - attention_info.position = eyePos = mSmokeEffectPosition; - attention_info.position.y += 30.0f; - - MTXCopy(morfModel->getAnmMtx(7), mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVecZero(&pos); - mSpheres[0].SetC(pos); - mSpheres[0].SetR(80.0f); - dComIfG_Ccsp()->Set(&mSpheres[0]); - - MTXCopy(morfModel->getAnmMtx(1), mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVecZero(&pos); - mSpheres[1].SetC(pos); - mSpheres[1].SetR(80.0f); - dComIfG_Ccsp()->Set(&mSpheres[1]); - - MTXCopy(morfModel->getAnmMtx(0x12), mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVecZero(&pos); - mSpheres[2].SetC(pos); - mSpheres[2].SetR(80.0f); - dComIfG_Ccsp()->Set(&mSpheres[2]); + if (field_0x6e8 != 0) { + return; } + + cXyz pos; + J3DModel* morfModel = mpMorfSO->getModel(); + + attention_info.position = eyePos = mSmokeEffectPosition; + attention_info.position.y += 30.0f; + + MTXCopy(morfModel->getAnmMtx(7), mDoMtx_stack_c::get()); + mDoMtx_stack_c::multVecZero(&pos); + mSpheres[0].SetC(pos); + mSpheres[0].SetR(80.0f); + dComIfG_Ccsp()->Set(&mSpheres[0]); + + MTXCopy(morfModel->getAnmMtx(1), mDoMtx_stack_c::get()); + mDoMtx_stack_c::multVecZero(&pos); + mSpheres[1].SetC(pos); + mSpheres[1].SetR(80.0f); + dComIfG_Ccsp()->Set(&mSpheres[1]); + + MTXCopy(morfModel->getAnmMtx(0x12), mDoMtx_stack_c::get()); + mDoMtx_stack_c::multVecZero(&pos); + mSpheres[2].SetC(pos); + mSpheres[2].SetR(80.0f); + dComIfG_Ccsp()->Set(&mSpheres[2]); } int daE_HZ_c::execute() { @@ -1875,7 +1883,8 @@ static int daE_HZ_Delete(daE_HZ_c* i_this) { } int daE_HZ_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { - int joint_no = i_joint->getJntNo(); + J3DJoint* joint = i_joint; + int joint_no = joint->getJntNo(); mDoMtx_stack_c::copy(i_model->getAnmMtx(joint_no)); @@ -1897,7 +1906,7 @@ int daE_HZ_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { } i_model->setAnmMtx(joint_no, mDoMtx_stack_c::get()); - MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); return 1; } @@ -2007,11 +2016,11 @@ int daE_HZ_c::create() { static dCcD_SrcSph cc_sph_src2 = { { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x0}, {0xd8fafdff, 0x3}, 0x75}}, // mObj - {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x0}, {(s32)0xd8fafdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf { {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph } // mSphAttr @@ -2026,7 +2035,10 @@ int daE_HZ_c::create() { return phase; } - if ((fopAcM_GetParam(this) >> 8 & 0xFF) == 1) { + u8 param = (fopAcM_GetParam(this) >> 8) & 0xFF; + if (param == 1) { + int dummy; // force debug to use r31 as stack pointer + mpName = "E_hzp2"; } else { mpName = "E_hzp"; @@ -2035,7 +2047,7 @@ int daE_HZ_c::create() { phase = dComIfG_resLoad(&mPhaseReq2, mpName); if (phase == cPhs_COMPLEATE_e) { OS_REPORT("E_HZ PARAM %x\n", fopAcM_GetParam(this)); - + if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x2C20)) { return cPhs_ERROR_e; } @@ -2046,7 +2058,7 @@ int daE_HZ_c::create() { if (!hio_set) { mHIOInit = true; hio_set = true; - l_HIO.enemy_sample = mDoHIO_CREATE_CHILD("Hajiki-san", &l_HIO); + l_HIO.enemy_sample = mDoHIO_CREATE_CHILD("ハジキさん", &l_HIO); } fopAcM_SetMtx(this, mpMorfSO->getModel()->getBaseTRMtx()); diff --git a/src/d/actor/d_a_e_md.cpp b/src/d/actor/d_a_e_md.cpp index dbc3cdf3ff..30e5b5422b 100644 --- a/src/d/actor/d_a_e_md.cpp +++ b/src/d/actor/d_a_e_md.cpp @@ -57,13 +57,13 @@ void daE_MD_c::setCcCylinder(f32 i_height) { } int daE_MD_c::CreateHeap() { - void* modelData; + J3DModelData* modelData; if (mType != TYPE_LV9) { - modelData = dComIfG_getObjectRes("E_MD", 0xB); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xB); } else if (mType == TYPE_LV9) { - modelData = dComIfG_getObjectRes("E_MD", 9); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 9); } else { - modelData = dComIfG_getObjectRes("E_MD", 9); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 9); } JUT_ASSERT(180, modelData != NULL); @@ -74,19 +74,20 @@ int daE_MD_c::CreateHeap() { } if (mType == TYPE_DUMMY) { - modelData = dComIfG_getObjectRes("E_MD", 0xD); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xD); mpYariModelMorf = new mDoExt_McaMorfSO((J3DModelData*)modelData, NULL, NULL, NULL, 2, 1.0f, 0, -1, NULL, 0x80000, 0x11000084); if (mpYariModelMorf == NULL || mpYariModelMorf->getModel() == NULL) { return 0; } } else if (mType == TYPE_LV9) { - modelData = dComIfG_getObjectRes("E_MD", 0xA); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xA); mpYariModelMorf = new mDoExt_McaMorfSO((J3DModelData*)modelData, NULL, NULL, NULL, 2, 1.0f, 0, -1, NULL, 0x80000, 0x11000084); if (mpYariModelMorf == NULL || mpYariModelMorf->getModel() == NULL) { return 0; } } else { - mpTbModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes("E_MD", 0xC), 0x80000, 0x11000084); + modelData = (J3DModelData*)dComIfG_getObjectRes("E_MD", 0xC); + mpTbModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); if (mpTbModel == NULL) { return 0; } @@ -126,8 +127,9 @@ void daE_MD_c::At_Check() { if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { mAtInfo.mAttackPower = 0; } - - u8 at_se = ((dCcD_GObjInf*)mAtInfo.mpCollider)->GetAtSe(); + + dCcD_GObjInf* collider = (dCcD_GObjInf*)mAtInfo.mpCollider; + int at_se = collider->GetAtSe(); if (mAtInfo.mpSound != NULL && mAtInfo.field_0x18 != 0) { mAtInfo.mpSound->startCollisionSE(dCcD_GObjInf::getHitSeID(at_se, 0), mAtInfo.field_0x18); } @@ -148,6 +150,10 @@ void daE_MD_c::CheckHit() { cCcD_Obj* hit_obj = mCyl.GetTgHitObj(); fopAc_ac_c* hit_actor = dCc_GetAc(hit_obj->GetAc()); + //TODO: probably a fakematch (debug) + UNUSED(hit_obj); + UNUSED(hit_actor); + if ((hit_obj->ChkAtType(AT_TYPE_IRON_BALL) || fopAcM_GetName(hit_actor) == PROC_E_TH_BALL || fopAcM_GetName(hit_actor) == PROC_B_TN) && (mType == TYPE_DUMMY || mType == TYPE_LV9)) { if (mAction == ACTION_WAIT) { mCyl.OffTgIronBallRebound(); @@ -164,8 +170,8 @@ void daE_MD_c::CheckHit() { mBreakTimer = 10; Z2GetAudioMgr()->seStart(Z2SE_OBJ_ARMOR_HIT, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); - - u32 bu_params = (mSwbit << 0x18) | 0xFF0000 | 0x2FFF; + + u32 bu_params = (mSwbit << 0x18) | 0xFF2FFF; if (mCanCreateBu && mType == TYPE_DUMMY) { fopAcM_create(PROC_E_BU, bu_params, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } @@ -223,7 +229,7 @@ void daE_MD_c::HalfBreakAction() { } } -bool daE_MD_c::VibAction() { +u8 daE_MD_c::VibAction() { shape_angle.x = field_0x5ca * cM_ssin(field_0x5ce); cLib_addCalcAngleS(&field_0x5cc, 0x10, 3.0f + nREG_F(3), 0x100, 0); field_0x5ce += field_0x5cc; @@ -313,7 +319,7 @@ int daE_MD_c::Execute() { return 1; } -int daE_MD_c::Delete() { +inline int daE_MD_c::Delete() { dComIfG_resDelete(&mPhase, "E_MD"); if (heap != NULL) { mpModelMorf->stopZelAnime(); @@ -384,7 +390,7 @@ static int daE_MD_Execute(daE_MD_c* i_this) { return i_this->Execute(); } -int daE_MD_c::create() { +inline int daE_MD_c::create() { fopAcM_ct(this, daE_MD_c); int phase_state = dComIfG_resLoad(&mPhase, "E_MD"); @@ -396,7 +402,7 @@ int daE_MD_c::create() { mSwbit = (fopAcM_GetParam(this) & 0xFF00) >> 8; - u8 type = fopAcM_GetParam(this) & 0xFF; + u8 type = fopAcM_GetParam(this) & 0x0FFFFFFF; if (type == 1) { mType = TYPE_DUMMY; mCanCreateBu = TRUE; @@ -428,7 +434,7 @@ int daE_MD_c::create() { mAcchCir.SetWall(100.0f, 10.0f); fopAcM_setCullSizeBox(this, -1500.0f, 0.0f, -1500.0f, 1000.0f, 1500.0f, 1500.0f); mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL); - + cXyz sp1C(current.pos.x, 100.0f + current.pos.y, current.pos.z); if (fopAcM_gc_c::gndCheck(&sp1C)) { field_0x5bc = fopAcM_gc_c::getGroundY(); @@ -458,18 +464,18 @@ static actor_method_class l_daE_MD_Method = { }; actor_process_profile_definition g_profile_E_MD = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_E_MD, // mProcName - &g_fpcLf_Method.base, // sub_method - sizeof(daE_MD_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 132, // mPriority - &l_daE_MD_Method, // sub_method - 0x00044100, // mStatus - fopAc_ENV_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MD, // mProcName + &g_fpcLf_Method.base, // sub_method + sizeof(daE_MD_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 132, // mPriority + &l_daE_MD_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENV_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType + }; diff --git a/src/d/actor/d_a_e_wb.cpp b/src/d/actor/d_a_e_wb.cpp index 70a9b87e56..e1a404ed1d 100644 --- a/src/d/actor/d_a_e_wb.cpp +++ b/src/d/actor/d_a_e_wb.cpp @@ -1658,7 +1658,7 @@ static void e_wb_b_run(e_wb_class* i_this) { i_this->mMovementType = 1; break; - case 3: + case 3: i_this->mPursuitFlag = 1; target_speed = l_HIO.max_speed; acceleration = 3.0f; @@ -2461,7 +2461,7 @@ static int e_wb_damage(e_wb_class* i_this) { ANGLE_ADD(a_this->current.angle.y, cM_rndFX(3000.0f)); i_this->mStatusFlags |= (u16)0x40; break; - + case 1: if (i_this->mAcch.ChkGroundHit()) { i_this->mActionMode = 2; @@ -2471,7 +2471,7 @@ static int e_wb_damage(e_wb_class* i_this) { i_this->field_0x6b4.y = (s16)cM_rndFX(2000.0f + YREG_F(4)); } break; - + case 2: if (i_this->mpModelMorf->isStop()) { i_this->mActionMode = 3; @@ -2485,7 +2485,7 @@ static int e_wb_damage(e_wb_class* i_this) { i_this->field_0x698[0] = (s16)(cM_rndF(40.0f) + 70.0f); } break; - + case 3: local_48 = TRUE; if (i_this->mpModelMorf->isStop()) { @@ -2495,12 +2495,12 @@ static int e_wb_damage(e_wb_class* i_this) { anm_init(i_this, 0x13, 3.0f, 2, 1.0f); } } - + if (i_this->mAcch.ChkGroundHit()) { a_this->speedF = 0.0f; cLib_addCalcAngleS2(&i_this->field_0x6b4.y, 0, 1, 0x96 + YREG_S(3)); } - + if (i_this->field_0x698[0] == 0 && i_this->field_0x6ae.x > -0x200) { if (i_this->field_0x6e4 == 0) { anm_init(i_this, 0x10, 2.0f, 0, 1.0f); @@ -2510,7 +2510,7 @@ static int e_wb_damage(e_wb_class* i_this) { i_this->mActionMode = 4; } break; - + case 4: if (i_this->mpModelMorf->isStop()) { i_this->mActionID = ACT_WAIT; @@ -2538,9 +2538,9 @@ static int e_wb_bg_damage(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; cXyz local_30, unused; BOOL return_value = FALSE; - + i_this->field_0x6a0 = 10; - + switch (i_this->mActionMode) { case 0: dKy_Sound_set(a_this->current.pos, 100, fopAcM_GetID(&i_this->mEnemy), 5); @@ -2550,7 +2550,7 @@ static int e_wb_bg_damage(e_wb_class* i_this) { i_this->mStatusFlags |= (u16)0x80; i_this->field_0x1432 = 0; break; - + case 1: if (i_this->mpModelMorf->isStop()) { i_this->mActionMode = 2; @@ -2558,7 +2558,7 @@ static int e_wb_bg_damage(e_wb_class* i_this) { i_this->field_0x698[0] = (s16)(cM_rndF(60.0f) + 150.0f); } break; - + case 2: return_value = TRUE; if (i_this->field_0x698[0] == 0) { @@ -2566,7 +2566,7 @@ static int e_wb_bg_damage(e_wb_class* i_this) { i_this->mActionMode = 3; } break; - + case 3: if (i_this->mpModelMorf->isStop()) { i_this->mActionID = ACT_WAIT; @@ -2574,7 +2574,7 @@ static int e_wb_bg_damage(e_wb_class* i_this) { } break; } - + return return_value; } @@ -2583,9 +2583,9 @@ static int e_wb_lr_damage(e_wb_class* i_this) { cXyz local_2c; cXyz local_38; BOOL return_value = FALSE; - + i_this->field_0x6a0 = 10; - + switch (i_this->mActionMode) { case 0: { if (cM_rndF(1.0f) < 0.5f || i_this->field_0x1720 != 0) { @@ -2683,7 +2683,7 @@ static int e_wb_lr_damage(e_wb_class* i_this) { cLib_addCalc0(&a_this->speedF, 1.0f, 1.5f + YREG_F(11)); i_this->field_0x6ae.y += i_this->field_0x6b4.y; - + return return_value; } @@ -2701,15 +2701,15 @@ static void e_wb_kiba_start(e_wb_class* i_this) { default: break; } - + cLib_addCalc2(&a_this->speedF, target, 1.0f, 5.0f); } static void e_wb_kiba_end(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; - + i_this->field_0x6a0 = 10; - + switch (i_this->mActionMode) { case 0: if (i_this->mAnmID != 0x20) { @@ -2718,7 +2718,7 @@ static void e_wb_kiba_end(e_wb_class* i_this) { i_this->mActionMode = 1; i_this->field_0x169e = 1; break; - + case 1: i_this->mMovementType = 1; i_this->mAnimDuration = 60.0f + YREG_F(10); @@ -2734,14 +2734,14 @@ static void e_wb_kiba_end(e_wb_class* i_this) { i_this->mStatusFlags |= (u16)0x100; } break; - + case 2: if (a_this->speed.y < 10.0f) { anm_init(i_this, 0x19, 10.0f, 0, 1.0f); i_this->mActionMode = 3; } break; - + case 3: if (i_this->mAnmID == 0x19) { if (a_this->speed.y < -30.0f + JREG_F(9) || i_this->mAcch.ChkGroundHit()) { @@ -2758,25 +2758,25 @@ static void e_wb_kiba_end(e_wb_class* i_this) { case 4: break; } - + cLib_addCalc2(&a_this->speedF, 40.0f, 1.0f, 5.0f); } static void damage_check(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; fopAc_ac_c* player = dComIfGp_getPlayer(0); - + a_this->health = 100; - + if (i_this->field_0x6ba != 0) { i_this->field_0x6ba--; } - + for (int i = 0; i <= 2; i++) { if (i_this->field_0xa00[i].ChkCoHit()) { fopAc_ac_c* hit_actor = dCc_GetAc(i_this->field_0xa00[i].GetCoHitObj()->GetAc()); - if (!daAlink_getAlinkActorClass()->checkBoarRideOwn(a_this) && + if (!daAlink_getAlinkActorClass()->checkBoarRideOwn(a_this) && i_this->field_0x6a0 == 0 && a_this->speedF < 1.0f && fopAcM_GetName(hit_actor) == PROC_ALINK) { ANGLE_ADD(i_this->field_0x6ba, 2); @@ -2806,7 +2806,7 @@ static void damage_check(e_wb_class* i_this) { if (i_this->field_0x79d >= 2 && a_this->speedF >= 30.0f) { i_this->mZ2Ride.startCreatureVoice(Z2SE_EN_RDB_V_RUNDOWN, -1); i_this->mZ2Ride.startCreatureSound(Z2SE_EN_BB_RUNDOWN, 0, -1); - + e_rd_class* rider = (e_rd_class*)fopAcM_SearchByID(i_this->field_0x1434); rider->field_0x998 = 20; } else { @@ -2821,7 +2821,7 @@ static void damage_check(e_wb_class* i_this) { { cXyz pos_diff = hit_actor->current.pos - a_this->current.pos; s16 angle = cM_atan2s(pos_diff.x, pos_diff.z) - a_this->shape_angle.y; - + if (angle < 0) { i_this->field_0x5de = 0x1000; ANGLE_ADD(a_this->current.angle.y, 0x800); @@ -2835,16 +2835,16 @@ static void damage_check(e_wb_class* i_this) { } } } - + i_this->mStts.Move(); - + if (i_this->field_0x6a0 == 0) { dCcU_AtInfo at_info; - + for (int i = 0; i <= 6; i++) { if (i_this->field_0xa00[i].ChkTgHit()) { i_this->field_0x13c0.mpCollider = i_this->field_0xa00[i].GetTgHitObj(); - + if (i_this->field_0x79d != 0 || (daPy_getPlayerActorClass()->checkHorseRide() && (i_this->mStatusFlags & 3) != 0)) { if (i_this->field_0x79d != 0) { @@ -2853,7 +2853,7 @@ static void damage_check(e_wb_class* i_this) { } else { at_power_check(&i_this->field_0x13c0); cc_at_check(a_this, &i_this->field_0x13c0); - + if ((i_this->mStatusFlags & 3) != 0) { if (i_this->field_0x13c0.mAttackPower < 30) { i_this->field_0x692 = i_this->mActionID; @@ -2867,13 +2867,13 @@ static void damage_check(e_wb_class* i_this) { i_this->mActionMode = 0; } } - + if (i_this->field_0x13c0.mpCollider->ChkAtType(AT_TYPE_UNK)) { i_this->field_0x6a0 = 20; } else { i_this->field_0x6a0 = 10; } - + i_this->mAnimDuration = 30.0f; return; } @@ -2887,19 +2887,19 @@ static void effect_set(e_wb_class* i_this) { cXyz effect_pos; dBgS_GndChk gnd_chk; dBgS_ObjGndChk_Spl obj_gnd_chk; - + pos = a_this->current.pos; pos.y += 100.0f; gnd_chk.SetPos(&pos); obj_gnd_chk.SetPos(&pos); - + s8 is_water = false; s8 in_water = false; f32 ground_y = dComIfG_Bgsp().GroundCross(&gnd_chk); if (dComIfG_Bgsp().GroundCross(&obj_gnd_chk) - ground_y > 0.0f) { is_water = true; } - + if (i_this->mMovementType == 1) { if (i_this->mpModelMorf->checkFrame(11.0f)) { i_this->mCollisionFlags |= (u8)4; @@ -2910,7 +2910,7 @@ static void effect_set(e_wb_class* i_this) { pos.set(0.0f, 0.0f, 0.0f); J3DModel* model = i_this->mpModelMorf->getModel(); int foot_idx = (i_this->field_0x68e & 2) >> 1; - + static int footd[2] = { 6, 10, @@ -2927,49 +2927,49 @@ static void effect_set(e_wb_class* i_this) { MTXCopy(model->getAnmMtx(footd[foot_idx]), *calc_mtx); } MtxPosition(&pos, &effect_pos); - + if (is_water) { in_water = true; } else if ((i_this->field_0x68e & 1) == 0) { - fopAcM_effSmokeSet2(&i_this->field_0x13e8[foot_idx], + fopAcM_effSmokeSet2(&i_this->field_0x13e8[foot_idx], &i_this->field_0x1408[foot_idx], &effect_pos, &a_this->shape_angle, a_this->scale.z * 2.0f, &a_this->tevStr); } } - + if (i_this->mCollisionFlags != 0) { J3DModel* model = i_this->mpModelMorf->getModel(); pos.set(0.0f, 0.0f, 0.0f); - + if ((i_this->mCollisionFlags & 1) != 0) { MTXCopy(model->getAnmMtx(10), *calc_mtx); MtxPosition(&pos, &effect_pos); if (is_water) { in_water = true; } else { - fopAcM_effSmokeSet2(i_this->field_0x13e8 + 1, + fopAcM_effSmokeSet2(i_this->field_0x13e8 + 1, i_this->field_0x1408 + 1, &effect_pos, &a_this->shape_angle, a_this->scale.z * 2.0f, &a_this->tevStr); if (i_this->mMovementType != 0) { - i_this->field_0x13fc = dComIfGp_particle_set(i_this->field_0x13fc, dPa_RM(ID_ZI_S_WBCLOD_A), + i_this->field_0x13fc = dComIfGp_particle_set(i_this->field_0x13fc, dPa_RM(ID_ZI_S_WBCLOD_A), &effect_pos, &a_this->shape_angle, 0); } } } - + if ((i_this->mCollisionFlags & 2) != 0) { MTXCopy(model->getAnmMtx(6), *calc_mtx); MtxPosition(&pos, &effect_pos); if (is_water) { in_water = true; } else { - fopAcM_effSmokeSet2(i_this->field_0x13e8, + fopAcM_effSmokeSet2(i_this->field_0x13e8, i_this->field_0x1408, &effect_pos, &a_this->shape_angle, a_this->scale.z * 2.0f, &a_this->tevStr); if (i_this->mMovementType != 0) { - i_this->field_0x13f8 = dComIfGp_particle_set(i_this->field_0x13f8, dPa_RM(ID_ZI_S_WBCLOD_A), + i_this->field_0x13f8 = dComIfGp_particle_set(i_this->field_0x13f8, dPa_RM(ID_ZI_S_WBCLOD_A), &effect_pos, &a_this->shape_angle, 0); } } } - + if ((i_this->mCollisionFlags & 4) != 0) { if (i_this->field_0x79d != 0) { MTXCopy(model->getAnmMtx(29), *calc_mtx); @@ -2980,15 +2980,15 @@ static void effect_set(e_wb_class* i_this) { if (is_water) { in_water = true; } else { - fopAcM_effSmokeSet2(&i_this->field_0x13f0, + fopAcM_effSmokeSet2(&i_this->field_0x13f0, &i_this->field_0x1410, &effect_pos, &a_this->shape_angle, a_this->scale.z * 2.0f, &a_this->tevStr); if (i_this->mMovementType != 0) { - i_this->field_0x1400 = dComIfGp_particle_set(i_this->field_0x1400, dPa_RM(ID_ZI_S_WBCLOD_A), + i_this->field_0x1400 = dComIfGp_particle_set(i_this->field_0x1400, dPa_RM(ID_ZI_S_WBCLOD_A), &effect_pos, &a_this->shape_angle, 0); } } } - + if ((i_this->mCollisionFlags & 8) != 0) { if (i_this->field_0x79d != 0) { MTXCopy(model->getAnmMtx(24), *calc_mtx); @@ -2999,16 +2999,16 @@ static void effect_set(e_wb_class* i_this) { if (is_water) { in_water = true; } else { - fopAcM_effSmokeSet2(&i_this->field_0x13f4, + fopAcM_effSmokeSet2(&i_this->field_0x13f4, &i_this->field_0x1414, &effect_pos, &a_this->shape_angle, a_this->scale.z * 2.0f, &a_this->tevStr); if (i_this->mMovementType != 0) { - i_this->field_0x1404 = dComIfGp_particle_set(i_this->field_0x1404, dPa_RM(ID_ZI_S_WBCLOD_A), + i_this->field_0x1404 = dComIfGp_particle_set(i_this->field_0x1404, dPa_RM(ID_ZI_S_WBCLOD_A), &effect_pos, &a_this->shape_angle, 0); } } } } - + if (i_this->mLandingFlag != 0) { if (is_water) { in_water = true; @@ -3017,11 +3017,11 @@ static void effect_set(e_wb_class* i_this) { MTXCopy(i_this->mpModelMorf->getModel()->getAnmMtx(i_this->field_0x688 + 0xb), *calc_mtx); MtxPosition(&pos, &effect_pos); - fopAcM_effSmokeSet1(&i_this->field_0x1418, + fopAcM_effSmokeSet1(&i_this->field_0x1418, &i_this->field_0x141c, &effect_pos, NULL, a_this->scale.z * 2.0f, &a_this->tevStr, 1); } } - + if (in_water) { f32 v = 2.0f; cXyz scale(v, v, v); @@ -3038,21 +3038,21 @@ static void effect_set(e_wb_class* i_this) { dPa_RM(ID_ZI_S_ENEMY_DOWNWTRA_B), dPa_RM(ID_ZI_S_ENEMY_DOWNWTRA_C), }; - + for (int i = 0; i < 3; i++) { if (i_this->mMovementType == 2) { - i_this->field_0x1420[i] = dComIfGp_particle_set(i_this->field_0x1420[i], + i_this->field_0x1420[i] = dComIfGp_particle_set(i_this->field_0x1420[i], w_eff_name2[i], &effect_pos, &a_this->tevStr, &angle, &scale, 0xff, 0, -1, 0, 0, 0); } else { - i_this->field_0x1420[i] = dComIfGp_particle_set(i_this->field_0x1420[i], + i_this->field_0x1420[i] = dComIfGp_particle_set(i_this->field_0x1420[i], w_eff_name[i], &effect_pos, &a_this->tevStr, &angle, &scale, 0xff, 0, -1, 0, 0, 0); } } } - + if (is_water && i_this->field_0x1721 != 0) { static cXyz sc(4.0f, 4.0f, 4.0f); - + for (int i = 0; i < 4; i++) { static u16 w_eff_id[4] = { ID_ZI_J_DOWNWTRA_A, @@ -3061,13 +3061,13 @@ static void effect_set(e_wb_class* i_this) { ID_ZI_J_DOWNWTRA_D, }; - i_this->field_0x17d0[i] = dComIfGp_particle_set(i_this->field_0x17d0[i], + i_this->field_0x17d0[i] = dComIfGp_particle_set(i_this->field_0x17d0[i], w_eff_id[i], &a_this->current.pos, &a_this->tevStr, &a_this->shape_angle, &sc, 0xff, 0, -1, 0, 0, 0); } i_this->field_0x1721 = 0; } - + i_this->mMovementType = 0; i_this->mCollisionFlags = 0; i_this->mLandingFlag = 0; @@ -3077,7 +3077,7 @@ static void wb_rd_reset(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; fopAc_ac_c* player = dComIfGp_getPlayer(0); cXyz pos = a_this->current.pos; - + if (i_this->mParam2 == 1 || i_this->mParam2 == 2) { fopAcM_create(PROC_E_RD, 0xff010301, &pos, fopAcM_GetRoomNo(a_this), &player->shape_angle, 0, -1); fopAcM_create(PROC_E_RD, 0xff010302, &pos, fopAcM_GetRoomNo(a_this), &player->shape_angle, 0, -1); @@ -3229,7 +3229,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) { i_this->field_0x17e1 = 1; } } break; - + case 2: { if (i_this->field_0x7a6 == 0) { anm_init(i_this, 0x1b, 3.0f, 0, 1.0f); @@ -3288,7 +3288,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) { i_this->field_0x5d0 = sp88; } - + if (!behind_obstacle) { static cXyz sh_pos[3] = { cXyz(400.0f, 200.0f, 200.0f), @@ -3324,7 +3324,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) { sp94 = i_this->field_0x5c4 - a_this->current.pos; f32 dist = JMAFastSqrt(sp94.x * sp94.x + sp94.z * sp94.z); - + if (dist < 500.0f) { target_speed = l_HIO.normal_speed_vi; } else if (dist > 3000.0f && i_this->field_0x5bf) { @@ -3718,7 +3718,7 @@ static void demo_camera(e_wb_class* i_this) { rdb = (e_rdb_class*)fopAcM_SearchByName(PROC_E_RDB); } cXyz local_3c, cStack_48, cStack_54, cStack_60; - + switch (i_this->field_0x169e) { case 1: { if (!a_this->eventInfo.checkCommandDemoAccrpt()) { @@ -3740,7 +3740,7 @@ static void demo_camera(e_wb_class* i_this) { i_this->field_0x1704 = 0x2000 + XREG_S(0); daPy_getPlayerActorClass()->changeOriginalDemo(); horse->changeOriginalDemo(); - fpcM_Search(s_wbdel_sub, a_this); + fpcM_Search(s_wbdel_sub, i_this); dComIfGp_getEvent()->startCheckSkipEdge(a_this); } // fallthrough @@ -3999,7 +3999,8 @@ static void demo_camera(e_wb_class* i_this) { dComIfGp_event_reset(); i_this->field_0x169e = 0; } - } break; + break; + } case 0x19: { if (!a_this->eventInfo.checkCommandDemoAccrpt()) { fopAcM_orderPotentialEvent(a_this, 2, 0xffff, 0); @@ -4454,7 +4455,7 @@ static void demo_camera(e_wb_class* i_this) { } else { break; } - } + } // fallthrough case 0x34: { cLib_addCalc0(&rdb->field_0x6e0, 1.0f, 0.3f + KREG_F(3)); @@ -4993,7 +4994,7 @@ static void demo_camera(e_wb_class* i_this) { static void anm_se_eff_set(e_wb_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; J3DModel* model = i_this->mpModelMorf->getModel(); - + if (i_this->mAnmID == 12 || i_this->mAnmID == 13) { if (i_this->mpModelMorf->checkFrame(9.0f)) { i_this->mZ2Ride.startCreatureSound(Z2SE_CM_BODYFALL_L, 0, -1); @@ -5001,19 +5002,19 @@ static void anm_se_eff_set(e_wb_class* i_this) { } } else if (i_this->mAnmID == 38) { i_this->field_0x17c4 = dComIfGp_particle_set( - i_this->field_0x17c4, dPa_RM(ID_ZI_S_BB_STARTHANAIKI), + i_this->field_0x17c4, dPa_RM(ID_ZI_S_BB_STARTHANAIKI), &a_this->current.pos, &a_this->tevStr); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(i_this->field_0x17c4); if (emitter != NULL) { emitter->setGlobalSRTMatrix(model->getAnmMtx(15)); } - + if (i_this->mpModelMorf->checkFrame(1.0f)) { cXyz scale(a_this->scale.z, a_this->scale.z, a_this->scale.z); - dComIfGp_particle_set(dPa_RM(ID_ZI_S_BB_STARTCLOD), &a_this->current.pos, + dComIfGp_particle_set(dPa_RM(ID_ZI_S_BB_STARTCLOD), &a_this->current.pos, &a_this->tevStr, &a_this->shape_angle, &scale); - dComIfGp_particle_set(dPa_RM(ID_ZI_S_BB_STARTFOOTMARK), &a_this->current.pos, + dComIfGp_particle_set(dPa_RM(ID_ZI_S_BB_STARTFOOTMARK), &a_this->current.pos, &a_this->tevStr, &a_this->shape_angle, &scale); } } else if (i_this->mAnmID == 5) { @@ -5084,7 +5085,7 @@ static void anm_se_eff_set(e_wb_class* i_this) { i_this->mZ2Ride.startCreatureVoice(Z2SE_EN_WB_V_BREATH, -1); } } - + // Special sound effects for the leader Bulblin if (i_this->field_0x79d != 0) { if (i_this->mAnmID == 0x20 || i_this->mAnmID == 0x21) { @@ -5113,7 +5114,7 @@ static int c_start; static f32 dummy(){return 35.f;} #endif -static int daE_WB_Execute(e_wb_class* i_this) { +static int daE_WB_Execute(e_wb_class* i_this) { if (c_start == 0) { if (dComIfGp_event_runCheck()) { if (lbl_244_bss_46 != 0 || cDmrNowMidnaTalk()) { @@ -5121,7 +5122,7 @@ static int daE_WB_Execute(e_wb_class* i_this) { } } } - + if (i_this->field_0x169e == 1000) { return 1; } @@ -5130,47 +5131,47 @@ static int daE_WB_Execute(e_wb_class* i_this) { cXyz local_130; cXyz local_13c; - + a_this->scale.z = l_HIO.base_size; - + if (fopAcM_CheckCondition(a_this, fopAcCnd_NODRAW_e)) { i_this->field_0x5bf = 1; } else { i_this->field_0x5bf = 0; } - + if (i_this->field_0x79d != 0) { a_this->scale.z = a_this->scale.z * l_HIO.leader_size_ratio; } - + i_this->field_0x68e++; - + if (i_this->field_0x1430 == 0) { fopAcM_OffStatus(a_this, 0); a_this->attention_info.flags = 0; i_this->mStatusFlags &= (u16)3; - + for (int i = 0; i < 4; i++) { if (i_this->field_0x698[i] != 0) { i_this->field_0x698[i]--; } } - + if (i_this->field_0x6a0 != 0) { i_this->field_0x6a0--; } - + if (i_this->field_0x1432 != 0) { i_this->field_0x1432--; } - + action(i_this); } - + if (i_this->field_0x79d != 0 || i_this->field_0x169e != 0) { demo_camera(i_this); } - + if (i_this->field_0x1430 != 0) { a_this->eyePos = a_this->current.pos; return 1; @@ -5185,7 +5186,7 @@ static int daE_WB_Execute(e_wb_class* i_this) { a_this->current.pos.z += move_p->z * move_scale; } } - + if ((i_this->field_0x5bf == 0) && !dComIfGp_event_runCheck()) { s16 wall_check = e_wb_wall_check(i_this); if (wall_check != 0 && wall_check > -0x2000 && wall_check < 0x2000) { @@ -5211,18 +5212,18 @@ static int daE_WB_Execute(e_wb_class* i_this) { i_this->mActionMode = 0; } } - + if (i_this->mActionID != ACT_PL_RIDE2) { a_this->current.pos = a_this->old.pos; } } - + dBgS_LinChk linChk; cXyz pos1; pos1 = a_this->current.pos; pos1.y += 100.0f; linChk.Set(&pos1, &a_this->eyePos, a_this); - + if (dComIfG_Bgsp().LineCross(&linChk)) { cMtx_YrotS(*calc_mtx, a_this->shape_angle.y); local_130.x = 0.0f; @@ -5230,29 +5231,29 @@ static int daE_WB_Execute(e_wb_class* i_this) { local_130.z = KREG_F(11) + -20.0f; MtxPosition(&local_130, &local_13c); a_this->current.pos += local_13c; - + if (i_this->mActionID != ACT_PL_RIDE2) { a_this->speedF = 0.0f; } } } } - + i_this->mAcch.CrrPos(dComIfG_Bgsp()); cLib_addCalcAngleS2(&a_this->shape_angle.y, a_this->current.angle.y, 4, 0x2000); - + if (i_this->mAcch.ChkGroundHit()) { dBgS_GndChk gndChk; Vec local_154; cXyz pos2; - + cMtx_YrotS(*calc_mtx, a_this->shape_angle.y); local_130.x = 0.0f; local_130.y = 200.0f; local_130.z = 100.0f; MtxPosition(&local_130, &local_13c); local_13c += a_this->current.pos; - + local_130.z = -100.0f; MtxPosition(&local_130, &pos2); pos2 += a_this->current.pos; @@ -5263,14 +5264,14 @@ static int daE_WB_Execute(e_wb_class* i_this) { gndChk.SetPos(&local_154); local_13c.y = dComIfG_Bgsp().GroundCross(&gndChk); - + local_154.x = pos2.x; local_154.y = pos2.y; local_154.z = pos2.z; gndChk.SetPos(&local_154); pos2.y = dComIfG_Bgsp().GroundCross(&gndChk); - + if (fabsf(local_13c.y - pos2.y) <= 200.0f) { a_this->current.angle.x = -cM_atan2s(local_13c.y - pos2.y, 200.0f); } diff --git a/src/d/actor/d_a_npc_gro.cpp b/src/d/actor/d_a_npc_gro.cpp index afe283c125..e76709c58c 100644 --- a/src/d/actor/d_a_npc_gro.cpp +++ b/src/d/actor/d_a_npc_gro.cpp @@ -409,6 +409,8 @@ cPhs_Step daNpc_grO_c::create() { cPhs_Step phase; int res = 0; int i = 0; + J3DModelData* mdlData_p; + int sp10 = i; for (; l_loadRes_list[mType][i] >= 0; i++) { phase = dComIfG_resLoad(&mPhases[i], l_resNames[l_loadRes_list[mType][i]]); if (phase == cPhs_ERROR_e || phase == cPhs_UNK3_e) { @@ -429,7 +431,7 @@ cPhs_Step daNpc_grO_c::create() { return cPhs_ERROR_e; } - J3DModelData* mdlData_p = mAnm_p->getModel()->getModelData(); + mdlData_p = mAnm_p->getModel()->getModelData(); fopAcM_SetMtx(this, mAnm_p->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 450.0f, 300.0f); mSound.init(¤t.pos, &eyePos, 3, 1); @@ -535,7 +537,8 @@ int daNpc_grO_c::Draw() { } int daNpc_grO_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { - int jntNo = i_joint->getJntNo(); + J3DJoint* joint = i_joint; + int jntNo = joint->getJntNo(); int i_jointList[3] = {JNT_BACKBONE1, JNT_NECK, JNT_HEAD}; if (jntNo == JNT_CENTER) { @@ -566,7 +569,7 @@ int daNpc_grO_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { } i_model->setAnmMtx(jntNo, mDoMtx_stack_c::get()); - MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); if ((jntNo == JNT_HEAD || jntNo == JNT_MOUTH) && (mAnmFlags & ANM_PLAY_BCK) != 0) { J3DAnmTransform* anm = mBckAnm.getBckAnm(); @@ -632,6 +635,8 @@ void daNpc_grO_c::setParam() { } BOOL daNpc_grO_c::main() { + u16 mapToolId = 0xFFFF; + if (!doEvent()) { doNormalAction(1); } @@ -640,12 +645,14 @@ BOOL daNpc_grO_c::main() { attention_info.flags = 0; } - if (!mpHIO->m.common.debug_mode_ON && (!dComIfGp_event_runCheck() || (mOrderNewEvt && dComIfGp_getEvent()->isOrderOK()))) { + if (!mpHIO->m.common.debug_mode_ON && + (!dComIfGp_event_runCheck() || (mOrderNewEvt && dComIfGp_getEvent()->isOrderOK()))) { if (mOrderEvtNo != EVT_NONE) { eventInfo.setArchiveName(l_resNames[l_evtGetParamList[mOrderEvtNo].arcIdx]); } - orderEvent(mUnkFlag, l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], 0xFFFF, 40, 0xFF, 1); + orderEvent(mUnkFlag, l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], mapToolId, 40, + 0xFF, 1); } if (field_0x9ee) { @@ -1287,11 +1294,12 @@ void daNpc_grO_c::doNormalAction(int param_1) { } BOOL daNpc_grO_c::doEvent() { - int evtCutNo = 0; + dEvent_manager_c* eventManager = NULL; + int evtCutNo; BOOL rv = FALSE; if (dComIfGp_event_runCheck()) { - dEvent_manager_c& eventManager = dComIfGp_getEventManager(); + eventManager = &dComIfGp_getEventManager(); if ((eventInfo.checkCommandTalk() || eventInfo.checkCommandDemoAccrpt()) && !mUnkFlag) { mOrderNewEvt = false; @@ -1311,22 +1319,22 @@ BOOL daNpc_grO_c::doEvent() { mItemID = fpcM_ERROR_PROCESS_ID_e; } - int staffId = eventManager.getMyStaffId(l_myName, NULL, 0); + int staffId = eventManager->getMyStaffId(l_myName, NULL, 0); if (staffId != -1) { mStaffID = staffId; - evtCutNo = eventManager.getMyActIdx(staffId, mEvtCutNameList, 3, 0, 0); + evtCutNo = eventManager->getMyActIdx(staffId, mEvtCutNameList, 3, 0, 0); JUT_ASSERT(1844, (0 <= evtCutNo) && (evtCutNo < NUM_EVT_CUTS_e)); JUT_ASSERT(1845, NULL != mEvtCutList[evtCutNo]); if ((this->*mEvtCutList[evtCutNo])(staffId)) { - eventManager.cutEnd(staffId); + eventManager->cutEnd(staffId); } rv = TRUE; } - if (eventInfo.checkCommandDemoAccrpt() && mEventIdx != -1 && eventManager.endCheck(mEventIdx) != 0) { + if (eventInfo.checkCommandDemoAccrpt() && mEventIdx != -1 && eventManager->endCheck(mEventIdx) != 0) { switch (mOrderEvtNo) { default: break; diff --git a/src/d/actor/d_a_npc_inko.cpp b/src/d/actor/d_a_npc_inko.cpp index b5e812256a..c977ba8b74 100644 --- a/src/d/actor/d_a_npc_inko.cpp +++ b/src/d/actor/d_a_npc_inko.cpp @@ -14,9 +14,11 @@ static int nodeCallBack(J3DJoint* i_joint, int param_1) { if (param_1 == 0) { - int jnt_no = i_joint->getJntNo(); + J3DJoint* joint = i_joint; + int jnt_no = joint->getJntNo(); J3DModel* model = j3dSys.getModel(); npc_inko_class* i_this = (npc_inko_class*)model->getUserArea(); + npc_inko_class* sp10 = i_this; if (i_this != NULL) { MTXCopy(model->getAnmMtx(jnt_no), *calc_mtx); @@ -54,16 +56,22 @@ static int nodeCallBack(J3DJoint* i_joint, int param_1) { static int daNpc_Inko_Draw(npc_inko_class* i_this) { fopAc_ac_c* actor = &i_this->actor; g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr); - g_env_light.setLightTevColorType_MAJI(i_this->anm_p->getModel(), &actor->tevStr); + J3DModel* model = i_this->anm_p->getModel(); + g_env_light.setLightTevColorType_MAJI(model, &actor->tevStr); i_this->anm_p->entryDL(); return 1; } static void anm_init(npc_inko_class* i_this, int i_anmId, f32 i_morf, u8 i_mode, f32 i_speed) { - i_this->anm_p->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("Npc_inko", i_anmId), i_mode, i_morf, i_speed, 0.0f, -1.0f, NULL); + i_this->anm_p->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("Npc_inko", i_anmId), i_mode, + i_morf, i_speed, 0.0f, -1.0f, NULL); i_this->anmId = i_anmId; } +// DEBUG NONMATCHING +// Two indirect branches (b/bne -> b) need to be direct somehow. +// This can be matched by wrapping the relevant section with do...while(0) +// and adding break statements, but this is almost certainly a fakematch. static int daNpc_Inko_Execute(npc_inko_class* i_this) { fopAc_ac_c* actor = (fopAc_ac_c*)i_this; cXyz sp78; @@ -96,7 +104,8 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { mDoMtx_stack_c::YrotM(i_this->field_0x59a); mDoMtx_stack_c::transM(0.0f, i_this->field_0x5e8, 40.0f + JREG_F(2)); mDoMtx_stack_c::multVecZero(&i_this->field_0x5b4); - cLib_addCalcAngleS2(&actor->shape_angle.y, (i_this->field_0x5c0.y + i_this->field_0x59a), 1, 0xA00); + cLib_addCalcAngleS2(&actor->shape_angle.y, (i_this->field_0x5c0.y + i_this->field_0x59a), + 1, 0xA00); cLib_addCalcAngleS2(&actor->shape_angle.x, i_this->field_0x5ec, 1, 0xA00); } @@ -156,7 +165,8 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { i_this->field_0x59a = (sp14 - i_this->field_0x5c0.y) + (s16)cM_rndFX(7000.0f); u16 sp10 = i_this->field_0x59a; - if (cM_rndF(1.0f) < 0.5f && ((sp10 < 0x5000 && sp10 > 0xA000) || sp10 < 0x3000 || sp10 > 0xD000)) { + if (cM_rndF(1.0f) < 0.5f && + ((sp10 < 0x5000 && sp10 > 0xA000) || sp10 < 0x3000 || sp10 > 0xD000)) { i_this->field_0x5e8 = -(70.0f + cM_rndF(8.0f)); i_this->field_0x5ec = -8000; } else { @@ -294,7 +304,8 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { cLib_addCalcAngleS2(&i_this->field_0x5d4[i], i_this->field_0x5d8[i], 2, 0x1F4); } - mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y + var_f31, actor->current.pos.z); + mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y + var_f31, + actor->current.pos.z); mDoMtx_stack_c::YrotM(BREG_S(0) + (actor->shape_angle.y + sp18)); mDoMtx_stack_c::XrotM(BREG_S(1) + (actor->shape_angle.x + sp1A)); mDoMtx_stack_c::ZrotM(actor->shape_angle.z); @@ -317,7 +328,7 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { npc_henna_class* henna = (npc_henna_class*)fopAcM_SearchByName(PROC_NPC_HENNA); if (henna != NULL) { henna->field_0x7b5 = 40; - data_80450C9D |= 0x40; + data_80450C9D |= (u8)0x40; } } @@ -329,7 +340,9 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { return 1; } - if (dComIfGp_event_runCheck() && actor->eventInfo.checkCommandTalk() && i_this->field_0x5f4 == 0) { + if (dComIfGp_event_runCheck() && + actor->eventInfo.checkCommandTalk() && + i_this->field_0x5f4 == 0) { int flowId; if (cM_rndF(1.0f) < 0.1f) { flowId = 0x361; @@ -364,14 +377,15 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { i_this->field_0x5f4 = 1; data_80450C9D++; - data_80450C9D &= 0xC3; + data_80450C9D &= (u8)0xC3; } fopAc_ac_c* player = dComIfGp_getPlayer(0); f32 temp_f28 = kage->actor.current.pos.x - player->current.pos.x; f32 temp_f27 = kage->actor.current.pos.z - player->current.pos.z; - if ((data_80450C9D & 0x80) && i_this->field_0x59c[3] < 15 && (SQUARE(temp_f28) + SQUARE(temp_f27)) < 23000.0f) { + if ((data_80450C9D & 0x80) && i_this->field_0x59c[3] < 15 && + (SQUARE(temp_f28) + SQUARE(temp_f27)) < 23000.0f) { s16 spC = fopAcM_searchPlayerAngleY(actor); spC = (spC - player->shape_angle.y) + 0x8000; if (spC < 0x1800 && spC > -0x1800) { @@ -391,11 +405,13 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) { actor->attention_info.position = actor->eyePos; actor->attention_info.position.y += 20.0f; fopAcM_OnStatus(actor, 0); - cLib_onBit(actor->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); + cLib_onBit(actor->attention_info.flags, + fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); actor->eventInfo.onCondition(1); } else { fopAcM_OffStatus(actor, 0); - cLib_offBit(actor->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); + cLib_offBit(actor->attention_info.flags, + fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e); } return 1; @@ -419,7 +435,8 @@ static int daNpc_Inko_Delete(npc_inko_class* i_this) { static int useHeapInit(fopAc_ac_c* actor) { npc_inko_class* i_this = (npc_inko_class*)actor; - i_this->anm_p = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("Npc_inko", 8), NULL, NULL, NULL, 0, 1.0f, 0, -1, 1, 0, 0x80000, 0x11000084); + i_this->anm_p = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("Npc_inko", 8), NULL, + NULL, NULL, 0, 1.0f, 0, -1, 1, 0, 0x80000, 0x11000084); if (i_this->anm_p == NULL || i_this->anm_p->getModel() == NULL) { return 0; } @@ -438,7 +455,7 @@ static int useHeapInit(fopAc_ac_c* actor) { static int daNpc_Inko_Create(fopAc_ac_c* actor) { npc_inko_class* i_this = (npc_inko_class*)actor; - fopAcM_ct(actor, npc_inko_class); + fopAcM_ct(&i_this->actor, npc_inko_class); int phase_state = dComIfG_resLoad(&i_this->phase, "Npc_inko"); if (phase_state == cPhs_COMPLEATE_e) { diff --git a/src/d/actor/d_a_npc_ks.cpp b/src/d/actor/d_a_npc_ks.cpp index 0633f52680..851fe491ae 100644 --- a/src/d/actor/d_a_npc_ks.cpp +++ b/src/d/actor/d_a_npc_ks.cpp @@ -1875,7 +1875,6 @@ static void npc_ks_hang(npc_ks_class* i_this) { start_pya = i_this->target_angle; } - s16 sVar1; switch (i_this->mode) { case 0: i_this->timer[0] = 0; @@ -1926,11 +1925,13 @@ static void npc_ks_hang(npc_ks_class* i_this) { anm_init(i_this, 24, 3.0f, 2, 1.0f); } - sVar1 = start_pya - sw_p->actor.current.angle.y; - if (sVar1 < 0x4000 && sVar1 > -0x4000) { - actor->home.angle.y = sw_p->actor.current.angle.y + 0x8000; - } else { - actor->home.angle.y = sw_p->actor.current.angle.y; + { + s16 sVar1 = start_pya - sw_p->actor.current.angle.y; + if (sVar1 < 0x4000 && sVar1 > -0x4000) { + actor->home.angle.y = sw_p->actor.current.angle.y + 0x8000; + } else { + actor->home.angle.y = sw_p->actor.current.angle.y; + } } break; @@ -2060,7 +2061,6 @@ static void npc_ks_hang_s(npc_ks_class* i_this) { cXyz mae, ato; cLib_addCalcAngleS2(&actor->current.angle.y, actor->home.angle.y + 0x4000, 2, 0x800); - s16 sVar1; switch (i_this->mode) { case 0: int asdf; @@ -2109,11 +2109,13 @@ static void npc_ks_hang_s(npc_ks_class* i_this) { anm_init(i_this, 24, 3.0f, 2, 1.0f); } - sVar1 = i_this->target_angle - sw_p->actor.current.angle.y; - if (sVar1 < 0x4000 && sVar1 > -0x4000) { - actor->home.angle.y = sw_p->actor.current.angle.y + 0x8000; - } else { - actor->home.angle.y = sw_p->actor.current.angle.y; + { + s16 sVar1 = i_this->target_angle - sw_p->actor.current.angle.y; + if (sVar1 < 0x4000 && sVar1 > -0x4000) { + actor->home.angle.y = sw_p->actor.current.angle.y + 0x8000; + } else { + actor->home.angle.y = sw_p->actor.current.angle.y; + } } break; @@ -2212,7 +2214,7 @@ static void npc_ks_e_hang(npc_ks_class* i_this) { break; case 3: - if (i_this->field_0x5fa == s16(YREG_S(7) - 0x3800)) { + if (i_this->field_0x5fa == s16(YREG_S(7) + 0xC800)) { actor->health = 10; i_this->mode = 20; i_this->timer[0] = 0; diff --git a/src/d/actor/d_a_npc_pachi_maro.cpp b/src/d/actor/d_a_npc_pachi_maro.cpp index 161f563c5c..8566c2b03c 100644 --- a/src/d/actor/d_a_npc_pachi_maro.cpp +++ b/src/d/actor/d_a_npc_pachi_maro.cpp @@ -752,8 +752,11 @@ void daNpc_Pachi_Maro_c::setParam() { u32 flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; s16 talk_distance = mpHIO->m.common.talk_distance; s16 talk_angle = mpHIO->m.common.talk_angle; + s16 attn_dist = mpHIO->m.common.attention_distance; + s16 attn_angle = mpHIO->m.common.attention_angle; - attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); + attention_info.distances[fopAc_attn_LOCK_e] = + daNpcT_getDistTableIdx(attn_dist, attn_angle); attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_distance, talk_angle); attention_info.flags = flags; @@ -1093,11 +1096,9 @@ int daNpc_Pachi_Maro_c::wait(void* param_1) { srchPlayerActor(); } } - - switch (mJntAnm.getMode()) { - case 0: - default: - break; + + if (mJntAnm.getMode() == 0) { + (s32)mType; } } break; @@ -1198,18 +1199,26 @@ BOOL daNpc_Pachi_Maro_c::cutTutrialBegin(int i_staffId) { BOOL daNpc_Pachi_Maro_c::_cutTutrialBegin_Init(int const& i_cutId) { switch (i_cutId) { - default: - return TRUE; + case 10: + break; + default: + break; } + + return TRUE; } BOOL daNpc_Pachi_Maro_c::_cutTutrialBegin_Main(int const& i_cutId) { BOOL rv = FALSE; switch (i_cutId) { - default: - return rv;; + case 10: + break; + default: + break; } + + return rv; } BOOL daNpc_Pachi_Maro_c::cutTutrialBegin_Skip(int i_staffId) { @@ -1230,18 +1239,26 @@ BOOL daNpc_Pachi_Maro_c::cutTutrialBegin_Skip(int i_staffId) { BOOL daNpc_Pachi_Maro_c::_cutTutrialBegin_Skip_Init(int const& i_cutId) { switch (i_cutId) { - default: - return TRUE; + case 10: + break; + default: + break; } + + return TRUE; } BOOL daNpc_Pachi_Maro_c::_cutTutrialBegin_Skip_Main(int const& i_cutId) { BOOL rv = FALSE; switch (i_cutId) { - default: - return rv; + case 10: + break; + default: + break; } + + return rv; } BOOL daNpc_Pachi_Maro_c::cutTutrialClear(int i_staffId) { @@ -1565,9 +1582,12 @@ BOOL daNpc_Pachi_Maro_c::cutTutrialContinue(int i_staffId) { BOOL daNpc_Pachi_Maro_c::_cutTutrialContinue_Init(int const& i_cutId) { switch (i_cutId) { - default: - return TRUE; + case 10: + break; + default: + break; } + return TRUE; } BOOL daNpc_Pachi_Maro_c::_cutTutrialContinue_Main(int const& i_cutId) { diff --git a/src/d/actor/d_a_npc_pachi_taro.cpp b/src/d/actor/d_a_npc_pachi_taro.cpp index d7f674810f..04740912c5 100644 --- a/src/d/actor/d_a_npc_pachi_taro.cpp +++ b/src/d/actor/d_a_npc_pachi_taro.cpp @@ -844,7 +844,9 @@ int daNpc_Pachi_Taro_c::CreateHeap() { J3DModel* model = NULL; int bmdIdx = mTwilight == true ? TARO0 : NONE; - modelData = static_cast(dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdIdx][1]], l_bmdData[bmdIdx][0])); + int resNameIdx = l_bmdData[bmdIdx][1]; + int resIdx = l_bmdData[bmdIdx][0]; + modelData = static_cast(dComIfG_getObjectRes(l_resNameList[resNameIdx], resIdx)); if (modelData == NULL) { return 1; } @@ -1011,9 +1013,12 @@ void daNpc_Pachi_Taro_c::setParam() { s16 talk_distance = mpHIO->m.common.talk_distance; s16 talk_angle = mpHIO->m.common.talk_angle; - attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(mpHIO->m.common.attention_distance, mpHIO->m.common.attention_angle); + s16 attnDist = mpHIO->m.common.attention_distance; + s16 attnAngle = mpHIO->m.common.attention_angle; + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attnDist, attnAngle); attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; - attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_distance, talk_angle); + attention_info.distances[fopAc_attn_SPEAK_e] = + daNpcT_getDistTableIdx(talk_distance, talk_angle); attention_info.flags = flags; scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale, mpHIO->m.common.scale); @@ -1031,10 +1036,12 @@ void daNpc_Pachi_Taro_c::setParam() { BOOL daNpc_Pachi_Taro_c::checkChangeEvt() { switch (mType) { - default: - break; + case 0: + break; + default: + break; } - + return FALSE; } @@ -1113,21 +1120,21 @@ fopAc_ac_c* daNpc_Pachi_Taro_c::srchDistTag1() { } void* daNpc_Pachi_Taro_c::_srch_DistTag1_main(void* i_actor, void* i_data) { - daTagPati_c* actor = (daTagPati_c*)i_actor; - - if (!fopAcM_IsActor(actor)) { - return NULL; - } - - if (fopAcM_GetName(actor) != PROC_TAG_PATI) { - return NULL; - } - - if (!actor->isDistChkTag1()) { + UNUSED(i_data); + + if (!fopAcM_IsActor(i_actor)) { return NULL; } - return actor; + if (fopAcM_GetName(i_actor) != PROC_TAG_PATI) { + return NULL; + } + + if (!((daTagPati_c*)i_actor)->isDistChkTag1()) { + return NULL; + } + + return i_actor; } fopAc_ac_c* daNpc_Pachi_Taro_c::srchDistTag2() { @@ -1135,21 +1142,21 @@ fopAc_ac_c* daNpc_Pachi_Taro_c::srchDistTag2() { } void* daNpc_Pachi_Taro_c::_srch_DistTag2_main(void* i_actor, void* i_data) { - daTagPati_c* actor = (daTagPati_c*)i_actor; - - if (!fopAcM_IsActor(actor)) { - return NULL; - } - - if (fopAcM_GetName(actor) != PROC_TAG_PATI) { - return NULL; - } - - if (!actor->isDistChkTag2()) { + UNUSED(i_data); + + if (!fopAcM_IsActor(i_actor)) { return NULL; } - return actor; + if (fopAcM_GetName(i_actor) != PROC_TAG_PATI) { + return NULL; + } + + if (!((daTagPati_c*)i_actor)->isDistChkTag2()) { + return NULL; + } + + return i_actor; } fopAc_ac_c* daNpc_Pachi_Taro_c::srchEscapeTag1() { @@ -1157,21 +1164,21 @@ fopAc_ac_c* daNpc_Pachi_Taro_c::srchEscapeTag1() { } void* daNpc_Pachi_Taro_c::_srch_EscapeTag1_main(void* i_actor, void* i_data) { - daTagPati_c* actor = (daTagPati_c*)i_actor; - - if (!fopAcM_IsActor(actor)) { - return NULL; - } - - if (fopAcM_GetName(actor) != PROC_TAG_PATI) { - return NULL; - } - - if (!actor->isEscapeChkTag1()) { + UNUSED(i_data); + + if (!fopAcM_IsActor(i_actor)) { return NULL; } - return actor; + if (fopAcM_GetName(i_actor) != PROC_TAG_PATI) { + return NULL; + } + + if (!((daTagPati_c*)i_actor)->isEscapeChkTag1()) { + return NULL; + } + + return i_actor; } fopAc_ac_c* daNpc_Pachi_Taro_c::srchEscapeTag2() { @@ -1179,21 +1186,21 @@ fopAc_ac_c* daNpc_Pachi_Taro_c::srchEscapeTag2() { } void* daNpc_Pachi_Taro_c::_srch_EscapeTag2_main(void* i_actor, void* i_data) { - daTagPati_c* actor = (daTagPati_c*)i_actor; - - if (!fopAcM_IsActor(actor)) { - return NULL; - } - - if (fopAcM_GetName(actor) != PROC_TAG_PATI) { - return NULL; - } - - if (!actor->isEscapeChkTag2()) { + UNUSED(i_data); + + if (!fopAcM_IsActor(i_actor)) { return NULL; } - return actor; + if (fopAcM_GetName(i_actor) != PROC_TAG_PATI) { + return NULL; + } + + if (!((daTagPati_c*)i_actor)->isEscapeChkTag2()) { + return NULL; + } + + return i_actor; } BOOL daNpc_Pachi_Taro_c::evtTalk() { @@ -1355,7 +1362,7 @@ void daNpc_Pachi_Taro_c::drawOtherMdl() { g_env_light.setLightTevColorType_MAJI(mpModels[i], &tevStr); mDoMtx_stack_c::copy(model->getAnmMtx(jointNo[i])); Mtx mtx; - MTXCopy(mDoMtx_stack_c::get(), mtx); + cMtx_copy(mDoMtx_stack_c::get(), mtx); mpModels[i]->setBaseTRMtx(mtx); mDoExt_modelUpdateDL(mpModels[i]); dComIfGd_addRealShadow(mShadowKey, mpModels[i]); @@ -1409,7 +1416,7 @@ BOOL daNpc_Pachi_Taro_c::setAction(actionFunc action) { int daNpc_Pachi_Taro_c::wait(void* param_1) { int unused = 0; - + switch (mMode) { case MODE_ENTER: case MODE_INIT: @@ -1454,11 +1461,10 @@ int daNpc_Pachi_Taro_c::wait(void* param_1) { srchPlayerActor(); } } - - switch (mJntAnm.getMode()) { - case 0: - default: - break; + + // ??? + if (mJntAnm.getMode() == 0) { + (int)mType; } if (field_0x1004 == 0) { @@ -1509,7 +1515,8 @@ BOOL daNpc_Pachi_Taro_c::_turn_to_link(s16 i_step) { } BOOL daNpc_Pachi_Taro_c::_turn_pos(cXyz const& i_pos, s16 i_step) { - BOOL rv = cLib_chaseAngleS(&mCurAngle.y, cLib_targetAngleY(¤t.pos, &i_pos), i_step); + s16 targetAngleY = cLib_targetAngleY(¤t.pos, &i_pos); + BOOL rv = cLib_chaseAngleS(&mCurAngle.y, targetAngleY, i_step); current.angle.y = mCurAngle.y; shape_angle.y = mCurAngle.y; return rv; @@ -1975,8 +1982,9 @@ BOOL daNpc_Pachi_Taro_c::cutTalk(int i_staffId) { setMesPat(); } + int* piVar2 = NULL; int mesNo = 0; - int* piVar2 = dComIfGp_evmng_getMyIntegerP(i_staffId, mesNos[mMesPat]); + piVar2 = dComIfGp_evmng_getMyIntegerP(i_staffId, mesNos[mMesPat]); if (piVar2 != NULL) { mesNo = *piVar2; } @@ -2499,23 +2507,24 @@ BOOL daNpc_Pachi_Taro_c::_cutTutrialContinue_Main(int const& i_cutId) { BOOL rv = FALSE; switch (i_cutId) { - case 10: - if (_turn_pos(mTagPos, 0x1000)) { - field_0xfe2 = 1; - rv = TRUE; - } - break; - - case 20: - BOOL chaseAngleFlag = cLib_chaseAngleS(&mCurAngle.y, (s16)home.angle.y, 0x800); - current.angle.y = mCurAngle.y; - shape_angle.y = mCurAngle.y; + case 10: + if (_turn_pos(mTagPos, 0x1000)) { + field_0xfe2 = 1; + rv = TRUE; + } + break; - if (chaseAngleFlag) { - daNpc_Pachi_Maro_c* maro_p = (daNpc_Pachi_Maro_c*)mActorMngrs[0].getActorP(); - maro_p->setFMotion_LookNone(); - rv = TRUE; - } + case 20: + s16 homeAngleY = home.angle.y; + BOOL chaseAngleFlag = cLib_chaseAngleS(&mCurAngle.y, homeAngleY, 0x800); + current.angle.y = mCurAngle.y; + shape_angle.y = mCurAngle.y; + + if (chaseAngleFlag) { + daNpc_Pachi_Maro_c* maro_p = (daNpc_Pachi_Maro_c*)mActorMngrs[0].getActorP(); + maro_p->setFMotion_LookNone(); + rv = TRUE; + } } return rv; diff --git a/src/d/actor/d_a_npc_passer.cpp b/src/d/actor/d_a_npc_passer.cpp index 91b5baebac..4f4462ef82 100644 --- a/src/d/actor/d_a_npc_passer.cpp +++ b/src/d/actor/d_a_npc_passer.cpp @@ -8,6 +8,14 @@ #include "d/actor/d_a_npc_passer.h" #include "d/d_s_play.h" +daNpcPasser_c::actionFunc daNpcPasser_c::ActionTable[5][2] = { + {&daNpcPasser_c::initPath, &daNpcPasser_c::executePath}, + {&daNpcPasser_c::initEscape, &daNpcPasser_c::executeEscape}, + {&daNpcPasser_c::initFear, &daNpcPasser_c::executeFear}, + {&daNpcPasser_c::initFight, &daNpcPasser_c::executeFight}, + {&daNpcPasser_c::initRelief, &daNpcPasser_c::executeRelief}, +}; + daNpcPasser_c::~daNpcPasser_c() { removeResrc(m_type, m_objNum); @@ -473,14 +481,6 @@ void daNpcPasser_c::create_init() { setBaseMtx(); } -daNpcPasser_c::actionFunc daNpcPasser_c::ActionTable[5][2] = { - {&daNpcPasser_c::initPath, &daNpcPasser_c::executePath}, - {&daNpcPasser_c::initEscape, &daNpcPasser_c::executeEscape}, - {&daNpcPasser_c::initFear, &daNpcPasser_c::executeFear}, - {&daNpcPasser_c::initFight, &daNpcPasser_c::executeFight}, - {&daNpcPasser_c::initRelief, &daNpcPasser_c::executeRelief}, -}; - daNpcPasser_c::seqFunc* daNpcPasser_c::m_funcTbl[28] = { daNpcPasser_c::m_seq00_funcTbl, daNpcPasser_c::m_seq01_funcTbl, daNpcPasser_c::m_seq02_funcTbl, daNpcPasser_c::m_seq03_funcTbl, @@ -703,29 +703,29 @@ void daNpcPasser_c::setSpeed(f32 param_1, f32 param_2, f32* i_speed, int param_4 } void daNpcPasser_c::pathMoveF() { - f32 fVar1 = 0.0f; - f32 speed = 0.0f; - f32 fVar2 = 0.0f; + f32 maxSpeed = 0.0f; + f32 anmPlaySpeed = 0.0f; + f32 actualSpeed = 0.0f; cXyz* ccMoveP = mStts.GetCCMoveP(); if (field_0xb1c == 2) { - fVar1 = Cd2_HIO_walkMaxSpeed(m_type); - fVar2 = Cd2_HIO_walkAnmPlaySpeed(m_type); + maxSpeed = Cd2_HIO_walkMaxSpeed(m_type); + anmPlaySpeed = Cd2_HIO_walkAnmPlaySpeed(m_type); cLib_chaseF(&field_0xb10, 0.8f, 0.05f); - setSpeed(MREG_F(0) + 0.7f, fVar1, &field_0xb14, 0); - setSpeed(MREG_F(0) + 0.7f, fVar1, &speedF, 1); + setSpeed(MREG_F(0) + 0.7f, maxSpeed, &field_0xb14, 0); + setSpeed(MREG_F(0) + 0.7f, maxSpeed, &speedF, 1); } else if (field_0xb1c == 1) { - fVar1 = Cd2_HIO_maxSpeed(m_type); - fVar2 = Cd2_HIO_anmPlaySpeed(m_type); + maxSpeed = Cd2_HIO_maxSpeed(m_type); + anmPlaySpeed = Cd2_HIO_anmPlaySpeed(m_type); if (mActionIdx == 1) { - fVar1 *= 1.5f; - fVar2 *= 1.5f; + maxSpeed *= 1.5f; + anmPlaySpeed *= 1.5f; } cLib_chaseF(&field_0xb10, 1.0f, 0.05f); - setSpeed(MREG_F(0) + 0.7f, fVar1, &field_0xb14, 0); - setSpeed(MREG_F(0) + 0.7f, fVar1, &speedF, 1); + setSpeed(MREG_F(0) + 0.7f, maxSpeed, &field_0xb14, 0); + setSpeed(MREG_F(0) + 0.7f, maxSpeed, &speedF, 1); } else if (field_0xb1c == 0) { cLib_chaseF(&field_0xb10, 0.0f, 0.05f); cLib_chaseF(&field_0xb14, 0.0f, 1.5f); @@ -745,17 +745,17 @@ void daNpcPasser_c::pathMoveF() { fopAcM_posMoveF(this, ccMoveP); if (field_0xb1c != 0) { - fVar1 = field_0xb14 / fVar1; - if (fVar1 > 1.0f) { - fVar1 = 1.0f; + actualSpeed = field_0xb14 / maxSpeed; + if (actualSpeed > 1.0f) { + actualSpeed = 1.0f; } - speed = fVar2 * fVar1; - if (speed < 0.6f) { - speed = 0.6f; + actualSpeed = anmPlaySpeed * actualSpeed; + if (actualSpeed < 0.6f) { + actualSpeed = 0.6f; } - mpMorf->setPlaySpeed(speed); + mpMorf->setPlaySpeed(actualSpeed); } } diff --git a/src/d/actor/d_a_npc_post.cpp b/src/d/actor/d_a_npc_post.cpp index cd04616d26..b7bfe44042 100644 --- a/src/d/actor/d_a_npc_post.cpp +++ b/src/d/actor/d_a_npc_post.cpp @@ -159,6 +159,52 @@ enum Type { /* 0x3 */ TYPE_DEFAULT, }; +daNpc_Post_HIOParam const daNpc_Post_Param_c::m = { + 190.0f, + -3.0f, + 1.0f, + 700.0f, + 255.0f, + 180.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 45.0f, + -45.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + false, + false, + 4.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 16.0f, + 60, +}; + #if DEBUG daNpc_Post_HIO_c::daNpc_Post_HIO_c() { m = daNpc_Post_Param_c::m; @@ -173,7 +219,7 @@ void daNpc_Post_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { switch ((u32)evt->id) { case 0x40000002: - if (jorFile.open(6, "", NULL, NULL, NULL)) { + if (jorFile.open(6, "すべてのファイル(*.*)\0*.*\0", NULL, NULL, NULL)) { memset(&buffer, 0, sizeof(buffer)); len = 0; daNpcT_cmnListenPropertyEvent(buffer, &len, &m.common); @@ -321,7 +367,7 @@ daNpc_Post_c::cutFunc daNpc_Post_c::mCutList[2] = { static NPC_POST_HIO_CLASS l_HIO; daNpc_Post_c::~daNpc_Post_c() { - OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); + OS_REPORT("|%06d:%x|daNpc_Post_c -> デストラクト\n", g_Counter.mCounter0, this); if (mpMorf[0] != NULL) { mpMorf[0]->stopZelAnime(); @@ -340,52 +386,6 @@ daNpc_Post_c::~daNpc_Post_c() { deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); } -daNpc_Post_HIOParam const daNpc_Post_Param_c::m = { - 190.0f, - -3.0f, - 1.0f, - 700.0f, - 255.0f, - 180.0f, - 35.0f, - 30.0f, - 0.0f, - 0.0f, - 10.0f, - -10.0f, - 30.0f, - -10.0f, - 45.0f, - -45.0f, - 0.6f, - 12.0f, - 3, - 6, - 5, - 6, - 110.0f, - 0.0f, - 0.0f, - 0.0f, - 60, - 8, - 0, - 0, - 0, - false, - false, - 4.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 0.0f, - 16.0f, - 60, -}; - cPhs_Step daNpc_Post_c::create() { daNpcT_ct(this, daNpc_Post_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); @@ -414,7 +414,7 @@ cPhs_Step daNpc_Post_c::create() { return cPhs_ERROR_e; } - J3DModel* model = mpMorf[0]->getModel(); + J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f); @@ -454,21 +454,24 @@ cPhs_Step daNpc_Post_c::create() { } int daNpc_Post_c::CreateHeap() { + J3DModelData* modelData = NULL; + J3DModel* model = NULL; int bmdIdx = 0; int resIdx = l_bmdData[bmdIdx][1]; int idx = l_bmdData[bmdIdx][0]; - J3DModelData* modelData = static_cast(dComIfG_getObjectRes(l_resNameList[resIdx], idx)); + modelData = static_cast(dComIfG_getObjectRes(l_resNameList[resIdx], idx)); if (modelData == NULL) { return 0; } - u32 uVar1 = 0x11020284; - mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, uVar1); + u32 sp28 = 0x11020284; + mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, + sp28); if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { return 0; } - J3DModel* model = mpMorf[0]->getModel(); + model = mpMorf[0]->getModel(); for (u16 i = 0; i < modelData->getJointNum(); i++) { modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); } @@ -488,8 +491,9 @@ int daNpc_Post_c::CreateHeap() { } if (mType != TYPE_BAR) { - u32 uVar2 = 0x11000084; - mpFlagModelMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL, J3DMdlFlag_DifferedDLBuffer, uVar2); + sp28 = 0x11000084; + mpFlagModelMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL, + J3DMdlFlag_DifferedDLBuffer, sp28); if (mpFlagModelMorf == NULL || mpFlagModelMorf->getModel() == NULL) { return 0; } @@ -501,13 +505,16 @@ int daNpc_Post_c::CreateHeap() { for (int i = 0; i < 2; i++) { if (l_bmdData[bmdTypeList[i]][0] >= 0) { - modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]); + modelData = + (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], + l_bmdData[bmdTypeList[i]][0]); } else { modelData = NULL; } if (modelData != NULL) { - mpLetterModels[i] = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); + mpLetterModels[i] = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, + 0x11000084); } else { mpLetterModels[i] = NULL; } @@ -521,7 +528,7 @@ int daNpc_Post_c::CreateHeap() { } int daNpc_Post_c::Delete() { - OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); + OS_REPORT("|%06d:%x|daNpc_Post_c -> Delete\n", g_Counter.mCounter0, this); fopAcM_RegisterDeleteID(this, "NPC_POST"); this->~daNpc_Post_c(); return 1; @@ -688,6 +695,8 @@ BOOL daNpc_Post_c::checkChangeEvt() { return TRUE; } + + (int)mType; } return FALSE; @@ -854,7 +863,7 @@ void daNpc_Post_c::setAttnPos() { mpFlagModelMorf->play(0, 0); mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_BACKBONE2)); Mtx mtx; - MTXCopy(mDoMtx_stack_c::get(), mtx); + cMtx_copy(mDoMtx_stack_c::get(), mtx); mpFlagModelMorf->getModel()->setBaseTRMtx(mtx); mpFlagModelMorf->modelCalc(); } @@ -970,7 +979,7 @@ void daNpc_Post_c::drawOtherMdl() { mDoMtx_stack_c::copy(model->getAnmMtx(jointNo[i])); Mtx mtx; - MTXCopy(mDoMtx_stack_c::get(), mtx); + cMtx_copy(mDoMtx_stack_c::get(), mtx); mpLetterModels[i]->setBaseTRMtx(mtx); mDoExt_modelUpdateDL(mpLetterModels[i]); dComIfGd_addRealShadow(mShadowKey, mpLetterModels[i]); @@ -996,9 +1005,10 @@ bool daNpc_Post_c::setFlagAnm(int i_idx, int i_attr, f32 i_morf) { }; J3DAnmTransform* anm = NULL; + int idx = i_idx; if (mpFlagModelMorf != NULL) { - if (flagAnmData[i_idx].fileIdx > 0) { - anm = getTrnsfrmKeyAnmP(l_resNameList[flagAnmData[i_idx].arcIdx], flagAnmData[i_idx].fileIdx); + if (flagAnmData[idx].fileIdx > 0) { + anm = getTrnsfrmKeyAnmP(l_resNameList[flagAnmData[idx].arcIdx], flagAnmData[idx].fileIdx); } if (anm != NULL) { @@ -1093,10 +1103,6 @@ void daNpc_Post_c::pullOutLetter() { } } -static int const dummy[2] = { - -1, -1, -}; - int daNpc_Post_c::cutDeliver(int i_staffId) { cXyz work; csXyz angle; @@ -1255,6 +1261,8 @@ int daNpc_Post_c::cutDeliver(int i_staffId) { } } + int arr[2] = {-1, -1}; + switch (prm) { case 0: mJntAnm.lookPlayer(0); @@ -1360,6 +1368,7 @@ int daNpc_Post_c::cutDeliver(int i_staffId) { } int daNpc_Post_c::wait(void* param_1) { + daTag_EvtArea_c* actor_p = NULL; daPy_py_c* player = daPy_getPlayerActorClass(); f32 fVar1 = mHIO->m.nod_interval; @@ -1388,7 +1397,7 @@ int daNpc_Post_c::wait(void* param_1) { ) ) { for (int i = 0; i < 4; i++) { - daTag_EvtArea_c* actor_p = (daTag_EvtArea_c*)mActorMngrs[i].getActorP(); + actor_p = (daTag_EvtArea_c*)mActorMngrs[i].getActorP(); if (actor_p != NULL) { if (actor_p->chkPointInArea(player->current.pos)) { if (daPy_getPlayerActorClass()->checkBoarRide()) { @@ -1397,7 +1406,8 @@ int daNpc_Post_c::wait(void* param_1) { mActorPos = actor_p->current.pos; f32 fVar2 = player->current.pos.absXZ(actor_p->current.pos); - if (actor_p->scale.x - 700.0f <= fVar2) { + f32 adjustedScale = actor_p->scale.x - 700.0f; + if (adjustedScale <= fVar2) { if (daPy_getPlayerActorClass()->checkHorseRide()) { mEvtNo = EVT_DELIVERTO_PLAYER_ON_HORSE; } else if (daPy_py_c::checkNowWolf()) { diff --git a/src/d/actor/d_a_npc_rafrel.cpp b/src/d/actor/d_a_npc_rafrel.cpp index 71d6ec6e74..1b897adfaa 100644 --- a/src/d/actor/d_a_npc_rafrel.cpp +++ b/src/d/actor/d_a_npc_rafrel.cpp @@ -378,8 +378,8 @@ int daNpcRafrel_c::Draw() { } int daNpcRafrel_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { - int jnt_no = i_joint->getJntNo(); - u16 jointNo = jnt_no; + J3DJoint* joint = i_joint; + int jnt_no = joint->getJntNo(); int spC[] = {1, 3, 4}; if (jnt_no == 0) { diff --git a/src/d/actor/d_a_obj_bemos.cpp b/src/d/actor/d_a_obj_bemos.cpp index 4503e9435c..3db66c6352 100644 --- a/src/d/actor/d_a_obj_bemos.cpp +++ b/src/d/actor/d_a_obj_bemos.cpp @@ -191,6 +191,7 @@ void daObjBm_HIO_c::genMessage(JORMContext* ctx) { ctx->genSlider("ビームYスケール", &beam_scale.y, 0.1f, 10.0f); ctx->genCheckBox("チェック描画", &check_draw, 0x1); } + #define BEAM_SCALE_X l_HIO.beam_scale.x #define BEAM_SCALE_Y l_HIO.beam_scale.y #define BEAM_SCALE_Z l_HIO.beam_scale.z @@ -230,9 +231,11 @@ void daObjBm_HIO_c::genMessage(JORMContext* ctx) { #define CHECK_DRAW 0 #endif -fopAc_ac_c* daObjBm_c::PPCallBack(fopAc_ac_c* i_bgActor, fopAc_ac_c* i_actorP, s16 param_2, dBgW_Base::PushPullLabel pp_field) { +fopAc_ac_c* daObjBm_c::PPCallBack(fopAc_ac_c* i_bgActor, fopAc_ac_c* i_actorP, s16 param_2, + dBgW_Base::PushPullLabel i_ppLabel) { + UNUSED(i_actorP); + dBgW::PushPullLabel pp_label = cLib_checkBit(i_ppLabel, dBgW::PPLABEL_3); daObjBm_c* actor_p = (daObjBm_c*)i_bgActor; - dBgW::PushPullLabel pp_label = cLib_checkBit(pp_field, dBgW::PPLABEL_3); u8 l_swNo3 = actor_p->getSwNo3(); u8 l_moveType = actor_p->getMoveType(); @@ -241,23 +244,26 @@ fopAc_ac_c* daObjBm_c::PPCallBack(fopAc_ac_c* i_bgActor, fopAc_ac_c* i_actorP, s (s16)param_2 - 0x8000 : (s16)param_2; s16 angle = spE - actor_p->home.angle.y; + // not sure if this is correct + const dBgW::PushPullLabel pp_field = dBgW::PPLABEL_3; JUT_ASSERT(513, pp_label != pp_field); - actor_p->mPPLabel = pp_field; + actor_p->mPPLabel = i_ppLabel; + dBgW::PushPullLabel pp_label_2; if (angle >= -0x2000 && angle < 0x2000) { - pp_label = dBgW::PPLABEL_NONE; + pp_label_2 = dBgW::PPLABEL_NONE; } else if (angle >= 0x2000 && angle < 0x6000) { - pp_label = dBgW::PPLABEL_PUSH; + pp_label_2 = dBgW::PPLABEL_PUSH; } else if (angle >= 0x6000 || angle < -0x6000) { - pp_label = dBgW::PPLABEL_PULL; + pp_label_2 = dBgW::PPLABEL_PULL; } else { - pp_label = dBgW::PPLABEL_3; + pp_label_2 = dBgW::PPLABEL_3; } - if (l_moveType != 0 || (l_moveType == 0 && pp_label == dBgW::PPLABEL_NONE)) { + if (l_moveType != 0 || (l_moveType == 0 && pp_label_2 == dBgW::PPLABEL_NONE)) { for (int i = 0; i < 4; i++) { - if (i == pp_label) { + if (i == pp_label_2) { actor_p->mMomentCnt[i]++; } else { actor_p->mMomentCnt[i] = 0; @@ -273,12 +279,13 @@ fopAc_ac_c* daObjBm_c::PPCallBack(fopAc_ac_c* i_bgActor, fopAc_ac_c* i_actorP, s static int nodeCallBack(J3DJoint* i_joint, int param_2) { if (param_2 == 0) { - int jnt_no = i_joint->getJntNo(); + J3DJoint* joint = i_joint; + int jnt_no = joint->getJntNo(); J3DModel* model = j3dSys.getModel(); daObjBm_c* i_this = (daObjBm_c*)model->getUserArea(); cMtx_copy(model->getAnmMtx(jnt_no), mDoMtx_stack_c::get()); - s16 sVar1 = i_this->field_0x1000 * cM_scos(i_this->field_0xff0 * 0x2CEC + KREG_S(6)); + s16 sVar1 = i_this->field_0x1000 * cM_scos(i_this->field_0xff0 * (11500 + KREG_S(6))); if (jnt_no == i_this->getHeadJoint()) { mDoMtx_stack_c::XrotM(i_this->field_0xf96 + sVar1); @@ -342,10 +349,10 @@ int daObjBm_c::Create() { fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); - JUTNameTab* joint_name = mpModel->getModelData()->getJointTree().getJointName(); + JUTNameTab* name = mpModel->getModelData()->getJointTree().getJointName(); for (int i = 0; i < 5; i++) { for (u16 j = 0; j < mpModel->getModelData()->getJointNum(); j++) { - if (strcmp(joint_name->getName(j), l_joint_table[i]) == 0) { + if (strcmp(name->getName(j), l_joint_table[i]) == 0) { mJoints[i] = j; mpModel->getModelData()->getJointNodePointer(j)->setCallBack(nodeCallBack); } @@ -353,9 +360,9 @@ int daObjBm_c::Create() { } mpModel->setUserArea((uintptr_t)this); - JUTNameTab* material_name = mpModel->getModelData()->getMaterialTable().getMaterialName(); + name = mpModel->getModelData()->getMaterialTable().getMaterialName(); for (u16 i = 0; i < mpModel->getModelData()->getMaterialNum(); i++) { - if (strcmp(material_name->getName(i), l_eye_matName) == 0) { + if (strcmp(name->getName(i), l_eye_matName) == 0) { mpMaterial = mpModel->getModelData()->getMaterialNodePointer(i); } } @@ -399,84 +406,101 @@ int daObjBm_c::Create() { return 1; } -// FAKEMATCH int daObjBm_c::CreateHeap() { - J3DModelData* modelData; - - modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_BM_e); - JUT_ASSERT(767, modelData != NULL); - mpModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); - if (mpModel == NULL) { - return 0; + J3DModelData* modelData = + (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_BM_e); + + { + JUT_ASSERT(767, modelData != NULL); + mpModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); + if (mpModel == NULL) { + return 0; + } } - J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BRK_SERCH_e); - JUT_ASSERT(780, pbrk != NULL); - mSerchBrk = new mDoExt_brkAnm(); - if (mSerchBrk == NULL || mSerchBrk->init(modelData, pbrk, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1) == 0) { - return 0; - } + { + J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BRK_SERCH_e); + JUT_ASSERT(780, pbrk != NULL); + mSerchBrk = new mDoExt_brkAnm(); + if (mSerchBrk == NULL || mSerchBrk->init(modelData, pbrk, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1) == 0) { + return 0; + } #if DEBUG - pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BRK_TURN_e); - JUT_ASSERT(791, pbrk != NULL); + pbrk = + (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BRK_TURN_e); + JUT_ASSERT(791, pbrk != NULL); #endif - - J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_BM_UP_e); - JUT_ASSERT(798, pbck != NULL); - mBeamosBck = new mDoExt_bckAnm(); - if (mBeamosBck == NULL || mBeamosBck->init(pbck, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) { - return 0; } - modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_EF_BIMOBEAM_e); - JUT_ASSERT(813, modelData != NULL); - mBeamModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000284); - if (mBeamModel == NULL) { - return 0; + { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_BM_UP_e); + JUT_ASSERT(798, pbck != NULL); + mBeamosBck = new mDoExt_bckAnm(); + if (mBeamosBck == NULL || mBeamosBck->init(pbck, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) { + return 0; + } } - J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAMB_OFF_e); - JUT_ASSERT(827, pbtk != NULL); - mBeamBtk = new mDoExt_btkAnm(); - if (mBeamBtk == NULL || mBeamBtk->init(modelData, pbtk, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1) == 0) { - return 0; + { + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_EF_BIMOBEAM_e); + JUT_ASSERT(813, modelData != NULL); + mBeamModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000284); + if (mBeamModel == NULL) { + return 0; + } } - mBeamBtk->setFrame(mBeamBtk->getEndFrame()); + + { + J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAMB_OFF_e); + JUT_ASSERT(827, pbtk != NULL); + mBeamBtk = new mDoExt_btkAnm(); + if (mBeamBtk == NULL || mBeamBtk->init(modelData, pbtk, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1) == 0) { + return 0; + } + mBeamBtk->setFrame(mBeamBtk->getEndFrame()); #if DEBUG - J3DAnmTextureSRTKey* pbtk2 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAM_ON_e); - JUT_ASSERT(840, pbtk != NULL); + pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAM_ON_e); + JUT_ASSERT(840, pbtk != NULL); #endif - pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAM_e); - JUT_ASSERT(846, pbtk != NULL); - mBeamEffBtk = new mDoExt_btkAnm(); - if (mBeamEffBtk == NULL || mBeamEffBtk->init(modelData, pbtk, 1, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1) == 0) { - return 0; + pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes( + l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAM_e); + JUT_ASSERT(846, pbtk != NULL); + mBeamEffBtk = new mDoExt_btkAnm(); + if (mBeamEffBtk == NULL || mBeamEffBtk->init(modelData, pbtk, 1, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1) == 0) { + return 0; + } } - J3DAnmTransform* pbck2 = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_EF_BIMOBEAM_e); - JUT_ASSERT(858, pbck != NULL); - mBeamEffBck = new mDoExt_bckAnm(); - if (mBeamEffBck == NULL || mBeamEffBck->init(pbck2, 1, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false) == 0) { - return 0; + { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_EF_BIMOBEAM_e); + JUT_ASSERT(858, pbck != NULL); + mBeamEffBck = new mDoExt_bckAnm(); + if (mBeamEffBck == NULL || mBeamEffBck->init(pbck, 1, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false) == 0) { + return 0; + } } - modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_P_BMF_e); - JUT_ASSERT(873, modelData != NULL); - mBmfModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); - if (mBmfModel == NULL) { - return 0; + { + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BMD_P_BMF_e); + JUT_ASSERT(873, modelData != NULL); + mBmfModel = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); + if (mBmfModel == NULL) { + return 0; + } } - J3DAnmTransform* pbck3 = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_BMF_OFF_e); - JUT_ASSERT(885, pbck != NULL); - mBmfOffBck = new mDoExt_bckAnm(); - if (mBmfOffBck == NULL || mBmfOffBck->init(pbck3, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) { - return 0; + { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BCK_BMF_OFF_e); + JUT_ASSERT(885, pbck != NULL); + mBmfOffBck = new mDoExt_bckAnm(); + if (mBmfOffBck == NULL || mBmfOffBck->init(pbck, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) { + return 0; + } + mBmfOffBck->setPlaySpeed(0.0f); } - mBmfOffBck->setPlaySpeed(0.0f); return 1; } @@ -513,9 +537,10 @@ int daObjBm_c::Execute(Mtx** i_mtx) { #if DEBUG scale.setall(BODY_SCALE); mpModel->setBaseScale(scale); - daPy_py_c* player = daPy_getPlayerActorClass(); #endif + daPy_py_c* player = daPy_getPlayerActorClass(); + field_0xff0++; if (field_0xf96 != field_0xf98 && field_0xfaa == 0) { @@ -714,11 +739,19 @@ void daObjBm_c::calcBeamLenAndAt() { work.normalizeZP(); end += work * 1200.0f; int frame = mBeamBtk->getFrame() + 0.5f; - f32 fVar1 = 360.0f; + f32 var_f31 = (f32)frame * 360.0f; + if (var_f31 > 1200.0f) { + var_f31 = 1200.0f; + } + f32 absVal = 1200.0f; if (fopAcM_lc_c::lineCheck(&field_0xfb8, &end, this) && fopAcM_lc_c::checkGroundHit()) { - f32 absVal = field_0xfb8.abs(fopAcM_lc_c::getCross()); + absVal = field_0xfb8.abs(fopAcM_lc_c::getCross()); mBeamScale.z = absVal / 1200.0f; + + if (1200.0f * mBeamScale.z < var_f31) { + var_f31 = 1200.0f * mBeamScale.z; + } } else { mBeamScale.z = 1.0f; } @@ -923,6 +956,8 @@ void daObjBm_c::effectSet1() {} void daObjBm_c::effectEnd() {} int daObjBm_c::check_to_walk() { + const int src_num = 5; + int ret = -1; bool flag = true; @@ -1046,8 +1081,9 @@ void daObjBm_c::mode_walk() { eyePos = current.pos; if (flag) { - const daObjBm_c::BgcSrc_c* bgcSrc = mBgc.M_lin5; - mBgc.chk_wall_pre(this, bgcSrc, 5, M_dir_base[field_0x10bc]); + const int src_num = 5; + const daObjBm_c::BgcSrc_c* bgcSrc = Bgc_c::M_lin5; + mBgc.chk_wall_pre(this, bgcSrc, src_num, M_dir_base[field_0x10bc]); } current.pos.x = local_58.x; @@ -1171,6 +1207,8 @@ void daObjBm_c::Bgc_c::wall_pos(fopAc_ac_c const* i_actor, daObjBm_c::BgcSrc_c c if (absVal < field_0x17c) { field_0x17c = absVal; field_0x178 = i; + } else { + continue; } } else { field_0x64[i] = cXyz::Zero; @@ -1347,11 +1385,7 @@ void daObjBm_c::initActionAttack() { dPa_RM(ID_ZF_S_BM_NESSENSRC01), }; - #if DEBUG mPlayerDist = fopAcM_searchPlayerDistanceXZ(this) - TARGET_OFFSET_DIST; - #else - mPlayerDist = fopAcM_searchPlayerDistanceXZ(this); - #endif daPy_py_c* player = daPy_getPlayerActorClass(); mBeamBtk->init(mBeamModel->getModelData(), @@ -1593,11 +1627,15 @@ void daObjBm_c::initActionDead() { field_0xfac = field_0xfaa = 0; - mBeamosBck->init((J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, dRes_ID_OBJ_BM_BCK_OC_DOWN_e), 1, - J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1, true); - if (mBeamBtk->getBtkAnm() == (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_ID_OBJ_BM_BTK_EF_BIMOBEAM_ON_e)) { + mBeamosBck->init((J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, + dRes_ID_OBJ_BM_BCK_OC_DOWN_e), 1, + J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1, true); + J3DAnmTextureSRTKey* anmTexSRTKey = + (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_ID_OBJ_BM_BTK_EF_BIMOBEAM_ON_e); + if (mBeamBtk->getBtkAnm() == anmTexSRTKey) { mBeamBtk->init(mBeamModel->getModelData(), - (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAMB_OFF_e), + (J3DAnmTextureSRTKey*)dComIfG_getObjectRes( + l_arcName, dRes_INDEX_OBJ_BM_BTK_EF_BIMOBEAMB_OFF_e), 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); } diff --git a/src/d/actor/d_a_obj_dust.cpp b/src/d/actor/d_a_obj_dust.cpp index 7cab7b9fa5..58429b9774 100644 --- a/src/d/actor/d_a_obj_dust.cpp +++ b/src/d/actor/d_a_obj_dust.cpp @@ -104,6 +104,8 @@ void daObjDust_c::setBaseMtx() { } static void rideCallBack(dBgW* i_bgw, fopAc_ac_c* i_bgActor, fopAc_ac_c* i_rideActor) { + UNUSED(i_bgw); + UNUSED(i_bgActor); fopAc_ac_c* ride_actor = (fopAc_ac_c*)i_rideActor; daObjDust_c* a_this = (daObjDust_c*)i_bgActor; @@ -130,6 +132,18 @@ static int daObjDust_Delete(daObjDust_c* i_this) { return 1; } +int daObjDust_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "M_FloatingDust01.bmd"); + JUT_ASSERT(86, modelData != NULL); + + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + if (mpModel == NULL) { + return 0; + } + + return 1; +} + int daObjDust_c::create() { fopAcM_ct(this, daObjDust_c); @@ -168,18 +182,6 @@ static int daObjDust_Create(fopAc_ac_c* i_this) { return a_this->create(); } -int daObjDust_c::CreateHeap() { - J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "M_FloatingDust01.bmd"); - JUT_ASSERT(86, modelData != NULL); - - mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - if (mpModel == NULL) { - return 0; - } - - return 1; -} - int daObjDust_c::Create() { initBaseMtx(); mpBgW->SetRideCallback(rideCallBack); diff --git a/src/d/actor/d_a_obj_fallobj.cpp b/src/d/actor/d_a_obj_fallobj.cpp index 6900391d26..f386a649cc 100644 --- a/src/d/actor/d_a_obj_fallobj.cpp +++ b/src/d/actor/d_a_obj_fallobj.cpp @@ -125,7 +125,7 @@ int daObjFallObj_c::create1st() { if (phase == cPhs_ERROR_e) { return phase; } - + #if DEBUG // Falling obj l_HIO.entryHIO("落下OBJ"); @@ -134,7 +134,6 @@ int daObjFallObj_c::create1st() { return phase; } -// TODO: Debug Nonmatching / Fakematch (bVar1) int daObjFallObj_c::Execute(Mtx** i_mtx) { cXyz cStack_d8(0.0f, 150.0f, 160.0f + KREG_F(0)); @@ -147,38 +146,32 @@ int daObjFallObj_c::Execute(Mtx** i_mtx) { daPy_py_c* player = daPy_getPlayerActorClass(); - f32 dVar12 = std::fabs(player->current.pos.y - cStack_d8.y); - f32 dVar13 = cStack_d8.absXZ(player->current.pos); - f32 dVar14 = player->current.pos.abs(cStack_d8); + f32 var_f31 = std::fabs(player->current.pos.y - cStack_d8.y); + f32 var_f30 = cStack_d8.absXZ(player->current.pos); + f32 var_f29 = player->current.pos.abs(cStack_d8); dBgS_LinChk linChk; linChk.Set(&player->eyePos, &attention_info.position, this); - bool bVar1 = false; - + //TODO: fakematch #if DEBUG - int check3 = 0; - int check2 = 0; - int check1 = 0; - if (!dComIfG_Bgsp().LineCross(&linChk) && !checkHang2()) { - check1 = 1; - } - if (check1 && dVar12 - KREG_F(4) < dVar13) { - check2 = 1; - } - if (check2 && dVar14 < 2150.0f - KREG_F(5)) { - check3 = 1; - } - if (check3 && mAction == ACTION_WAIT) { - bVar1 = true; - } + bool temp = !dComIfG_Bgsp().LineCross(&linChk) && + !checkHang2() && + var_f31 - KREG_F(4) < var_f30 && + var_f29 < 2150.0f - KREG_F(5) && + mAction == ACTION_WAIT; #else - if (!dComIfG_Bgsp().LineCross(&linChk) && !checkHang2() && dVar12 - KREG_F(4) < dVar13 && dVar14 < 2150.0f - KREG_F(5) && mAction == ACTION_WAIT) { - bVar1 = true; + bool temp = false; + if (!dComIfG_Bgsp().LineCross(&linChk) && + !checkHang2() && + var_f31 - KREG_F(4) < var_f30 && + var_f29 < 2150.0f - KREG_F(5) && + mAction == ACTION_WAIT) { + temp = true; } #endif - if (((bool) bVar1) != 0) { + if (temp) { attention_info.distances[fopAc_attn_BATTLE_e] = 0x22; attention_info.flags |= fopAc_AttnFlag_BATTLE_e; } else { @@ -217,7 +210,7 @@ void daObjFallObj_c::action() { action_follow_fall(); break; } - + if (mVibrationOn && !field_0x5e4) { dComIfGp_getVibration().StopQuake(0x1f); mVibrationOn = false; @@ -344,7 +337,7 @@ void daObjFallObj_c::action_follow_fall() { bool daObjFallObj_c::checkHang() { bool rv = false; daPy_py_c* player = daPy_getPlayerActorClass(); - + u32 status = dComIfGp_checkPlayerStatus1(0, 0x2000000); if (status && fopAcM_searchPlayerDistanceXZ(this) < 250.0f && player->current.pos.y > current.pos.y - 100.0f && @@ -395,7 +388,7 @@ bool daObjFallObj_c::checkHang2() { return false; } } - + return false; } diff --git a/src/d/actor/d_a_obj_itamato.cpp b/src/d/actor/d_a_obj_itamato.cpp index d577fda4f3..35f846698e 100644 --- a/src/d/actor/d_a_obj_itamato.cpp +++ b/src/d/actor/d_a_obj_itamato.cpp @@ -11,38 +11,6 @@ #include "JSystem/JHostIO/JORFile.h" #include -struct daObj_ItaMato_HIOParam { - /* 0x00 */ f32 attn_offset; - /* 0x04 */ f32 gravity; - /* 0x08 */ f32 scale; - /* 0x0C */ f32 real_shadow_size; - /* 0x10 */ f32 shake_pow; -}; - -class daObj_ItaMato_Param_c { -public: - virtual ~daObj_ItaMato_Param_c() {} - - static daObj_ItaMato_HIOParam const m; -}; - -#if DEBUG -#define PARAM mHIO->mAttr -#define PARAM_CLASS daObj_ItaMato_HIO_c - -class daObj_ItaMato_HIO_c : public mDoHIO_entry_c { -public: - daObj_ItaMato_HIO_c(); - void genMessage(JORMContext* ctx); - void listenPropertyEvent(const JORPropertyEvent*); - - /* 0x8 */ daObj_ItaMato_HIOParam mAttr; -}; -#else -#define PARAM daObj_ItaMato_Param_c::m -#define PARAM_CLASS daObj_ItaMato_Param_c -#endif - daObj_ItaMato_HIOParam const daObj_ItaMato_Param_c::m = { 110.0f, -3.0f, @@ -53,7 +21,7 @@ daObj_ItaMato_HIOParam const daObj_ItaMato_Param_c::m = { #if DEBUG daObj_ItaMato_HIO_c::daObj_ItaMato_HIO_c() { - mAttr = daObj_ItaMato_Param_c::m; + m = daObj_ItaMato_Param_c::m; } void daObj_ItaMato_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { @@ -64,18 +32,18 @@ void daObj_ItaMato_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { switch ((u32)i_event->id) { case 0x40000002: - if (jorFile.open(6, "すべてのファイル(*.*)", NULL, NULL, NULL)) { + if (jorFile.open(6, "すべてのファイル(*.*)\0*.*", NULL, NULL, NULL)) { memset(buffer, 0, sizeof(buffer)); len = 0; - sprintf(buffer + len, "%.3ff,\t// 注目オフセット\n", mAttr.attn_offset); + sprintf(buffer + len, "%.3ff,\t// 注目オフセット\n", m.attn_offset); len = strlen(buffer); - sprintf(buffer + len, "%.3ff,\t// 重力\n", mAttr.gravity); + sprintf(buffer + len, "%.3ff,\t// 重力\n", m.gravity); len = strlen(buffer); - sprintf(buffer + len, "%.3ff,\t// スケ−ル\n", mAttr.scale); + sprintf(buffer + len, "%.3ff,\t// スケ−ル\n", m.scale); len = strlen(buffer); - sprintf(buffer + len, "%.3ff,\t// リアル影サイズ\n", mAttr.real_shadow_size); + sprintf(buffer + len, "%.3ff,\t// リアル影サイズ\n", m.real_shadow_size); len = strlen(buffer); - sprintf(buffer + len, "%.3ff,\t// 揺れパワ−\n", mAttr.shake_pow); + sprintf(buffer + len, "%.3ff,\t// 揺れパワ−\n", m.shake_pow); len = strlen(buffer); jorFile.writeData(buffer, len); jorFile.close(); @@ -88,11 +56,11 @@ void daObj_ItaMato_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { } void daObj_ItaMato_HIO_c::genMessage(JORMContext* ctx) { - ctx->genSlider("注目オフセット ", &mAttr.attn_offset, 0.0f, 1000.0f); - ctx->genSlider("重力      ", &mAttr.gravity, -100.0f, 100.0f); - ctx->genSlider("スケ−ル    ", &mAttr.scale, 0.0f, 100.0f); - ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f); - ctx->genSlider("揺れパワ−   ", &mAttr.shake_pow, 0.0f, 90.0f); + ctx->genSlider("注目オフセット ", &m.attn_offset, 0.0f, 1000.0f); + ctx->genSlider("重力      ", &m.gravity, -100.0f, 100.0f); + ctx->genSlider("スケ−ル    ", &m.scale, 0.0f, 100.0f); + ctx->genSlider("リアル影サイズ ", &m.real_shadow_size, 0.0f, 10000.0f); + ctx->genSlider("揺れパワ−   ", &m.shake_pow, 0.0f, 90.0f); ctx->genButton("ファイル書き出し", 0x40000002); } #endif @@ -111,7 +79,7 @@ static dCcD_SrcSph l_ccDSph = { } // mSphAttr }; -static PARAM_CLASS l_HIO; +static OBJ_ITAMATO_HIO_CLASS l_HIO; static char* l_resName = "H_ItaMato"; @@ -255,7 +223,9 @@ int daObj_ItaMato_c::Execute() { } } - dComIfGs_setTmpReg(0xF4FF, dComIfGs_getTmpReg(0xF4FF) + 1); + u8 curRegVal = dComIfGs_getTmpReg(0xF4FF); + curRegVal++; + dComIfGs_setTmpReg(0xF4FF, curRegVal); if (dComIfGp_getAttention()->GetLockonList(0) != NULL) { if (dComIfGp_getAttention()->LockonTruth()) { if (this == dComIfGp_getAttention()->GetLockonList(0)->getActor()) { @@ -311,7 +281,7 @@ int daObj_ItaMato_c::Execute() { cLib_addCalc2(&field_0x9f0[2], 0.0f, 0.125f, 125.0f); setMtx(); attention_info.position = current.pos; - attention_info.position.y += PARAM.attn_offset; + attention_info.position.y += mHIO->m.attn_offset; eyePos = attention_info.position; if (field_0xa16 == 0) { @@ -399,7 +369,7 @@ const char* daObj_ItaMato_c::getResName() { void daObj_ItaMato_c::setSwayParam(fopAc_ac_c* i_actor) { f32 fVar1 = 1.0f; - f32 fVar2[3] = {0.0f, 0.0f, PARAM.shake_pow}; + f32 fVar2[3] = {0.0f, 0.0f, mHIO->m.shake_pow}; field_0xa02 = fopAcM_searchActorAngleY(this, i_actor) - shape_angle.y + 0x8000; field_0x9e8 = 8; diff --git a/src/d/actor/d_a_obj_katatsumuri.cpp b/src/d/actor/d_a_obj_katatsumuri.cpp index 9f1e3a555f..6cb86dc3e4 100644 --- a/src/d/actor/d_a_obj_katatsumuri.cpp +++ b/src/d/actor/d_a_obj_katatsumuri.cpp @@ -15,6 +15,18 @@ #include "m_Do/m_Do_lib.h" #include +class daObj_KatHIO_c : public JORReflexible { +public: + daObj_KatHIO_c(); + virtual ~daObj_KatHIO_c() {} + + void genMessage(JORMContext* ctx); + + s8 field_0x4; + f32 mScaleFemale; + f32 mScaleMale; +}; + static u8 hio_set; static daObj_KatHIO_c l_HIO; @@ -25,6 +37,17 @@ daObj_KatHIO_c::daObj_KatHIO_c() { mScaleFemale = 1.0f; } +#if DEBUG +void daObj_KatHIO_c::genMessage(JORMContext* ctx) { + // Golden Snail + ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001); + // Model scale (male) + ctx->genSlider("モデルスケール(オス)", &mScaleMale, 0.1f, 4.0f); + // Model scale (female) + ctx->genSlider("モデルスケール(メス)", &mScaleFemale, 0.1f, 4.0f); +} +#endif + static u8 const l_kat_itemno[2] = { fpcNm_ITEM_M_SNAIL, fpcNm_ITEM_F_SNAIL, @@ -84,7 +107,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return kat->CreateHeap(); } -int daObjKAT_c::CreateHeap() { +inline int daObjKAT_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Kat", 9); JUT_ASSERT(0x136, modelData != NULL); mpMorfSO = @@ -140,12 +163,12 @@ int daObjKAT_c::CreateHeap() { static int daObjKAT_Create(fopAc_ac_c* i_this) { daObjKAT_c* kat = (daObjKAT_c*)i_this; - fpc_ProcID unused = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "Obj_KAT"); return kat->create(); } static int daObjKAT_Delete(daObjKAT_c* i_this) { - fpc_ProcID unused = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "Obj_KAT"); i_this->Delete(); return 1; } @@ -623,7 +646,7 @@ void daObjKAT_c::Z_BufferChk() { field_0x800 = ((near + far * near / projected.z) / (far - near) + 1.0f) * 16777215.0f; } -int daObjKAT_c::Delete() { +inline int daObjKAT_c::Delete() { dComIfG_resDelete(&mPhase, "Kat"); if (field_0xa70 != 0) { hio_set = 0; @@ -694,12 +717,12 @@ bool daObjKAT_c::CreateChk() { return true; } -int daObjKAT_c::create() { +inline int daObjKAT_c::create() { fopAcM_ct(this, daObjKAT_c); s32 loadResult = dComIfG_resLoad(&mPhase, "Kat"); if (loadResult == cPhs_COMPLEATE_e) { - OS_REPORT("KAT PARAM: %x", fopAcM_GetParam(this)); + OS_REPORT("KAT PARAM %x\n", fopAcM_GetParam(this)); field_0x808 = fopAcM_GetParam(this) & 0xf; if (field_0x808 == 2) { field_0x56c = 0; diff --git a/src/d/actor/d_a_obj_kwheel01.cpp b/src/d/actor/d_a_obj_kwheel01.cpp index b861f43bab..f75d7398c4 100644 --- a/src/d/actor/d_a_obj_kwheel01.cpp +++ b/src/d/actor/d_a_obj_kwheel01.cpp @@ -22,7 +22,6 @@ static const u32 l_dzbidx[3] = {9, 8, 10}; static const int l_bmdidx[2] = {4, 5}; - static const char* l_arcName = "K_Wheel01"; // Likely to have been a macro; matches for loop at beginning of create1st for both debug and retail, despite retail only calling getArg4567() @@ -57,17 +56,17 @@ cPhs_Step daObjKWheel01_c::create1st() { bool atLeastOneKLiftExists = false; s8 debugStackVar; - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i)) { + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i)) { atLeastOneKLiftExists = true; } } - if(!mCreatedKLifts) { + if (!mCreatedKLifts) { setMtx(); u32 createLiftParameters = (getArg2() & 0x3F) | daObjKLift00_c::LOCK_e | daObjKLift00_c::NO_BASE_DISP; - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i)) { + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i)) { cXyz kLiftPos; MTXMultVec(mNewBgMtx, &l_pos[i], &kLiftPos); m_klift_pid[i] = fopAcM_create(PROC_Obj_KLift00, createLiftParameters, &kLiftPos, fopAcM_GetHomeRoomNo(this), 0, 0, -1); @@ -79,25 +78,32 @@ cPhs_Step daObjKWheel01_c::create1st() { } cPhs_Step phase = static_cast(dComIfG_resLoad(this, l_arcName)); - if(phase == cPhs_COMPLEATE_e) { + if (phase == cPhs_COMPLEATE_e) { mYAngularVelocity = 0; setMtx(); - - phase = static_cast(MoveBGCreate(l_arcName, (getOut() ? l_dzbidx[2] : l_dzbidx[0]), dBgS_MoveBGProc_TypicalRotY, 0x5D98, &mNewBgMtx)); - if(phase == cPhs_ERROR_e) - return phase; - - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i) && dComIfG_Bgsp().Regist(mKLiftCollisions[i], this)) - return cPhs_ERROR_e; + u32 dzbId; + if (getOut()) { + dzbId = l_dzbidx[2]; + } else { + dzbId = l_dzbidx[0]; + } + phase = static_cast(MoveBGCreate(l_arcName, dzbId, dBgS_MoveBGProc_TypicalRotY, 0x5D98, &mNewBgMtx)); + if (phase == cPhs_ERROR_e) { + return phase; } - } - #if DEBUG - // "Pulley(Lv3)" - l_HIO.entryHIO("滑車(Lv3)"); - #endif + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i) && dComIfG_Bgsp().Regist(mKLiftCollisions[i], this)) { + return cPhs_ERROR_e; + } + } + + #if DEBUG + // "Pulley(Lv3)" + l_HIO.entryHIO("滑車(Lv3)"); + #endif + } return phase; } @@ -114,14 +120,14 @@ void daObjKWheel01_c::setMtx() { MTXCopy(mDoMtx_stack_c::get(), mTransformMtx); MTXCopy(mDoMtx_stack_c::get(), mNewBgMtx); - if(mYAngularVelocity) { + if (mYAngularVelocity) { mDoMtx_stack_c::copy(mTransformMtx); mDoMtx_stack_c::transM(cM_rndFX(1.0f), cM_rndFX(1.0f), cM_rndFX(1.0f)); MTXCopy(mDoMtx_stack_c::get(), mTransformMtx); } - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i)) { + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i)) { Vec kLiftPos; MTXMultVec(mNewBgMtx, &l_pos[i], &kLiftPos); mDoMtx_stack_c::transS(kLiftPos.x, kLiftPos.y, kLiftPos.z); @@ -135,20 +141,21 @@ int daObjKWheel01_c::CreateHeap() { JUT_ASSERT(229, model_data != NULL); mpModel = mDoExt_J3DModel__create(model_data, (1 << 19), 0x11000084); - if(!mpModel) + if (!mpModel) { return 0; + } - for(int i = 0; i < 4; i++) { - if(!CHECK_KLIFT_EXISTS(i)) { + for (int i = 0; i < 4; i++) { + if (!CHECK_KLIFT_EXISTS(i)) { mKLiftCollisions[i] = NULL; - } - else { + } else { mKLiftCollisions[i] = new (dBgW); - if(!mKLiftCollisions[i]) + if (!mKLiftCollisions[i]) { return 0; + } - if(mKLiftCollisions[i]->Set(static_cast(dComIfG_getObjectRes(l_arcName, l_dzbidx[1])), 1, &mKLiftBaseMatrices[i])) { + if (mKLiftCollisions[i]->Set(static_cast(dComIfG_getObjectRes(l_arcName, l_dzbidx[1])), 1, &mKLiftBaseMatrices[i])) { mKLiftCollisions[i] = NULL; return 0; } @@ -162,19 +169,20 @@ int daObjKWheel01_c::Create() { mpModel->setBaseTRMtx(mTransformMtx); fopAcM_SetMtx(this, mTransformMtx); - if(getSwNo() != 0xFF && fopAcM_isSwitch(this, getSwNo())) { + if (getSwNo() != 0xFF && fopAcM_isSwitch(this, getSwNo())) { #if DEBUG - if(getArg0()) { + if (getArg0()) { mYAngularVelocity = l_HIO.mTargetYAngularSpeed; - } - else + } else { mYAngularVelocity = -l_HIO.mTargetYAngularSpeed; - #else - if(getArg0()) + } +#else + if (getArg0()) { mYAngularVelocity = 64; - else + } else { mYAngularVelocity = -64; - #endif + } +#endif } fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); @@ -184,9 +192,9 @@ int daObjKWheel01_c::Create() { static void* searchKWheel00(void* param_0, void* i_this) { UNUSED(i_this); - if(param_0 && fopAcM_IsActor(param_0) && fopAcM_GetProfName(param_0) == PROC_Obj_KWheel00) { + if (param_0 && fopAcM_IsActor(param_0) && fopAcM_GetProfName(param_0) == PROC_Obj_KWheel00) { daObjKWheel00_c* const kWheel00 = static_cast(param_0); - if(kWheel00->getType() == daObjKWheel00_c::TYPE_LARGE_GOLD) { + if (kWheel00->getType() == daObjKWheel00_c::TYPE_LARGE_GOLD) { return param_0; } } @@ -197,17 +205,18 @@ static void* searchKWheel00(void* param_0, void* i_this) { int daObjKWheel01_c::Execute(Mtx** i_mtx) { eventUpdate(); - if(getSwNo() == 0xFF) { + if (getSwNo() == 0xFF) { daObjKWheel00_c* const foundKWheel00 = static_cast(fopAcM_Search(searchKWheel00, this)); - if(foundKWheel00) { - if(getArg0()) - current.angle.y += foundKWheel00->current.angle.z - foundKWheel00->old.angle.z; - else - current.angle.y -= foundKWheel00->current.angle.z - foundKWheel00->old.angle.z; + if (foundKWheel00) { + if (getArg0()) { + ANGLE_ADD_2(current.angle.y, foundKWheel00->current.angle.z - foundKWheel00->old.angle.z); + } else { + ANGLE_SUB_2(current.angle.y, foundKWheel00->current.angle.z - foundKWheel00->old.angle.z); + } shape_angle.y = current.angle.y; - if(current.angle.y != old.angle.y) { + if (current.angle.y != old.angle.y) { #if DEBUG mYAngularVelocity = l_HIO.mTargetYAngularSpeed; #else @@ -215,35 +224,32 @@ int daObjKWheel01_c::Execute(Mtx** i_mtx) { #endif } } - } - else { - if(mYAngularVelocity == 0) { - if(fopAcM_isSwitch(this, getSwNo())) { - if(getEvent() != 0xFF) { - const s32 eventIndex = dComIfGp_getEventManager().getEventIdx(this, getEvent()); - setEvent(eventIndex, getEvent(), 1); - } - else { + } else { + if (mYAngularVelocity == 0) { + if (fopAcM_isSwitch(this, getSwNo())) { + if (getEvent() != 0xFF) { + s16 eventIndex = (s16)dComIfGp_getEventManager().getEventIdx(this, getEvent()); + setEvent(eventIndex, (u8)getEvent(), 1); + } else { eventStart(); } } } - if(mYAngularVelocity != 0) { + if (mYAngularVelocity != 0) { #if DEBUG - if(mYAngularVelocity > 0) { - if(mYAngularVelocity < l_HIO.mTargetYAngularSpeed) + if (mYAngularVelocity > 0) { + if (mYAngularVelocity < l_HIO.mTargetYAngularSpeed) { mYAngularVelocity += l_HIO.mYAngularAcceleration; - } - else if(mYAngularVelocity > -l_HIO.mTargetYAngularSpeed) { + } + } else if (mYAngularVelocity > -l_HIO.mTargetYAngularSpeed) { mYAngularVelocity -= l_HIO.mYAngularAcceleration; } #else - if(mYAngularVelocity > 0) { - if(mYAngularVelocity < 64) + if (mYAngularVelocity > 0) { + if (mYAngularVelocity < 64) mYAngularVelocity += 2; - } - else if(mYAngularVelocity > -64) { + } else if (mYAngularVelocity > -64) { mYAngularVelocity -= 2; } #endif @@ -257,11 +263,11 @@ int daObjKWheel01_c::Execute(Mtx** i_mtx) { mpModel->setBaseTRMtx(mTransformMtx); *i_mtx = &mNewBgMtx; - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i)) { + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i)) { daObjKLift00_c* const foundKLift = static_cast(fopAcM_SearchByID(m_klift_pid[i])); - if(foundKLift) { + if (foundKLift) { cXyz kLiftOffset; MTXMultVec(mNewBgMtx, &l_pos[i], &kLiftOffset); @@ -273,14 +279,17 @@ int daObjKWheel01_c::Execute(Mtx** i_mtx) { } - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i)) + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i)) { mKLiftCollisions[i]->Move(); + } } // Stack ordering issues arise if mDoAud_seStartLevel is used - if(mYAngularVelocity) - Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_GEAR_LV, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + if (mYAngularVelocity) { + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_GEAR_LV, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + } return 1; } @@ -303,9 +312,10 @@ int daObjKWheel01_c::Delete() { l_HIO.removeHIO(); #endif - for(int i = 0; i < 4; i++) { - if(CHECK_KLIFT_EXISTS(i) && mKLiftCollisions[i] && mKLiftCollisions[i]->ChkUsed()) + for (int i = 0; i < 4; i++) { + if (CHECK_KLIFT_EXISTS(i) && mKLiftCollisions[i] && mKLiftCollisions[i]->ChkUsed()) { dComIfG_Bgsp().Release(mKLiftCollisions[i]); + } } return 1; @@ -313,15 +323,17 @@ int daObjKWheel01_c::Delete() { bool daObjKWheel01_c::eventStart() { #if DEBUG - if(getArg0()) + if (getArg0()) { mYAngularVelocity = l_HIO.mYAngularAcceleration; - else + } else { mYAngularVelocity = -l_HIO.mYAngularAcceleration; + } #else - if(getArg0()) + if (getArg0()) { mYAngularVelocity = 2; - else + } else { mYAngularVelocity = -2; + } #endif return true; diff --git a/src/d/actor/d_a_obj_lv6SwGate.cpp b/src/d/actor/d_a_obj_lv6SwGate.cpp index e0e966a8df..c90472918b 100644 --- a/src/d/actor/d_a_obj_lv6SwGate.cpp +++ b/src/d/actor/d_a_obj_lv6SwGate.cpp @@ -259,7 +259,7 @@ void daLv6SwGate_c::modeBreak() { dComIfGp_particle_set(0x8B7D, &p, &shape_angle, 0); p.set(-150.0f - mMovementAmount, 0.0f, 0.0f); csXyz shapeAngle(shape_angle); - shapeAngle.y += 0x8000; + ANGLE_ADD_2(shapeAngle.y, 0x8000); mDoMtx_stack_c::ZXYrotS(shapeAngle.x, shapeAngle.y, shapeAngle.z); mDoMtx_stack_c::multVec(&p, &p); p += current.pos; @@ -304,14 +304,14 @@ static int daLv6SwGate_Execute(daLv6SwGate_c* i_this) { } static int daLv6SwGate_Delete(daLv6SwGate_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "daLv6SwGate"); return i_this->MoveBGDelete(); } static int daLv6SwGate_Create(fopAc_ac_c* i_this) { - daLv6SwGate_c* this_gate = (daLv6SwGate_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); - return this_gate->create(); + daLv6SwGate_c* gate = (daLv6SwGate_c*)i_this; + fopAcM_RegisterCreateID(i_this, "daLv6SwGate"); + return gate->create(); } static actor_method_class l_daLv6SwGate_Method = { diff --git a/src/d/actor/d_a_obj_lv6Tenbin.cpp b/src/d/actor/d_a_obj_lv6Tenbin.cpp index 578feaecf6..0e04c362bf 100644 --- a/src/d/actor/d_a_obj_lv6Tenbin.cpp +++ b/src/d/actor/d_a_obj_lv6Tenbin.cpp @@ -159,13 +159,13 @@ void daTenbin_c::rideCallBackRight(dBgW* i_dBgW, fopAc_ac_c* i_act1, fopAc_ac_c* daPy_py_c* player = dComIfGp_getLinkPlayer(); if (fopAcM_GetName(i_act2) == PROC_SPINNER) { if (player->checkSpinnerRide()) { - i_tenbin->field_0x5B2 += 2; + i_tenbin->field_0x5B2 += (u16)2; } } if (fopAcM_GetName(i_act2) == PROC_ALINK && dComIfGp_checkPlayerStatus0(0, 0x100) == 0) { - i_tenbin->field_0x5B2 += 2; + i_tenbin->field_0x5B2 += (u16)2; if (player->checkBootsOrArmorHeavy()) { - i_tenbin->field_0x5B2 += 60000; + i_tenbin->field_0x5B2 += (u16)60000; } if (player->getGrabActorID() != -1) { fopAc_ac_c* found = fopAcM_SearchByID(player->getGrabActorID()); @@ -178,7 +178,7 @@ void daTenbin_c::rideCallBackRight(dBgW* i_dBgW, fopAc_ac_c* i_act1, fopAc_ac_c* if (fopAcM_GetName(i_act2) == PROC_CSTATUE) { daCstatue_c* i_statue = (daCstatue_c*)i_act2; if (i_statue->checkNormalType()) { - i_tenbin->field_0x5B2 += 4; + i_tenbin->field_0x5B2 += (u16)4; } else if (fopAcM_GetID(i_statue) != i_tenbin->field_0x650) { i_tenbin->field_0x5B2++; } @@ -191,13 +191,13 @@ void daTenbin_c::rideCallBackLeft(dBgW* i_dBgW, fopAc_ac_c* i_act1, fopAc_ac_c* daPy_py_c* player = dComIfGp_getLinkPlayer(); if (fopAcM_GetName(i_act2) == PROC_SPINNER) { if (player->checkSpinnerRide()) { - i_tenbin->field_0x5B4 += 2; + i_tenbin->field_0x5B4 += (u16)2; } } if (fopAcM_GetName(i_act2) == PROC_ALINK && dComIfGp_checkPlayerStatus0(0, 0x100) == 0) { - i_tenbin->field_0x5B4 += 2; + i_tenbin->field_0x5B4 += (u16)2; if (player->checkEquipHeavyBoots()) { - i_tenbin->field_0x5B4 += 60000; + i_tenbin->field_0x5B4 += (u16)60000; } if (player->getGrabActorID() != -1) { fopAc_ac_c* found = fopAcM_SearchByID(player->getGrabActorID()); @@ -210,7 +210,7 @@ void daTenbin_c::rideCallBackLeft(dBgW* i_dBgW, fopAc_ac_c* i_act1, fopAc_ac_c* if (fopAcM_GetName(i_act2) == PROC_CSTATUE) { daCstatue_c* i_statue = (daCstatue_c*)i_act2; if (i_statue->checkNormalType()) { - i_tenbin->field_0x5B4 += 4; + i_tenbin->field_0x5B4 += (u16)4; } else if (fopAcM_GetID(i_statue) != i_tenbin->field_0x650) { i_tenbin->field_0x5B4++; } @@ -336,13 +336,13 @@ static int daTenbin_Execute(daTenbin_c* i_this) { } static int daTenbin_Delete(daTenbin_c* i_this) { - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this, "daTenbin"); return i_this->MoveBGDelete(); } static int daTenbin_Create(fopAc_ac_c* i_this) { daTenbin_c* this_tenbin = (daTenbin_c*)i_this; - fpc_ProcID id = fopAcM_GetID(i_this); + fopAcM_RegisterCreateID(i_this, "daTenbin"); return this_tenbin->create(); } diff --git a/src/d/actor/d_a_obj_lv6egate.cpp b/src/d/actor/d_a_obj_lv6egate.cpp index 0b9e4b3d93..c123578767 100644 --- a/src/d/actor/d_a_obj_lv6egate.cpp +++ b/src/d/actor/d_a_obj_lv6egate.cpp @@ -9,7 +9,7 @@ static char* l_arcName = "LV6EGATE"; -static const int l_dzbidx = 3; +const int l_dzbidx = 3; int daObjLv6EGate_c::create1st() { int phase_state = dComIfG_resLoad(this, l_arcName); @@ -40,6 +40,22 @@ static const cull_box l_cull_box = { {500.0f, 300.0f, 50.0f}, }; +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{0x0, 0x2, 0x0}, {0x400, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 300.0f // mHeight + } // mCyl + } +}; + static dCcD_SrcCyl l_at_cyl_src = { { {0x0, {{0x100, 0x2, 0xd}, {0x400, 0x0}, 0x11}}, // mObj @@ -56,6 +72,12 @@ static dCcD_SrcCyl l_at_cyl_src = { } }; +static u8 l_local_cyl[] = { + 0xC3, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x43, 0x91, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + int daObjLv6EGate_c::Create() { fopAcM_SetMtx(this, field_0x5d8); fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z, l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z); @@ -151,7 +173,7 @@ int daObjLv6EGate_c::Execute(Mtx** param_0) { cXyz cyl_pos; f32 var_f31 = -280.0f; - f32 temp_f30 = (330.0f - var_f31) * 0.125f; + f32 temp_f30 = (330.0f - var_f31) / 8.0f; for (int i = 0; i < 8; i++) { cXyz local_pos; local_pos.x = var_f31; diff --git a/src/d/actor/d_a_obj_lv6swturn.cpp b/src/d/actor/d_a_obj_lv6swturn.cpp index f037e8aff4..c3fec295ae 100644 --- a/src/d/actor/d_a_obj_lv6swturn.cpp +++ b/src/d/actor/d_a_obj_lv6swturn.cpp @@ -10,6 +10,8 @@ #include "d/actor/d_a_obj_lv6swturn.h" #include "d/actor/d_a_player.h" +static char* l_arcName = "Obj_l6tsw"; + #if DEBUG daObjLv6SwTurn_HIO_c::daObjLv6SwTurn_HIO_c() { mWaitTime = 0x2f; @@ -30,6 +32,7 @@ void daObjLv6SwTurn_HIO_c::genMessage(JORMContext* context) { static fopAc_ac_c* PPCallBack(fopAc_ac_c* actor1, fopAc_ac_c* actor2, s16 param_2, dBgW_Base::PushPullLabel pushPull) { + static const int pp_field = 3; UNUSED(param_2); dBgW_Base::PushPullLabel pushPull_3 = cLib_checkBit(pushPull, dBgW_Base::PPLABEL_3); daObjLv6SwTurn_c* swTurnActor1 = (daObjLv6SwTurn_c*)actor1; @@ -57,8 +60,6 @@ static fopAc_ac_c* PPCallBack(fopAc_ac_c* actor1, fopAc_ac_c* actor2, s16 param_ return actor1; } -static char* l_arcName = "Obj_l6tsw"; - void daObjLv6SwTurn_c::initBaseMtx() { unk5A8->setBaseScale(scale); setBaseMtx(); @@ -135,20 +136,11 @@ enum daObjLv6SwTurn_c_mode{ void daObjLv6SwTurn_c::mode_proc_call() { typedef void (daObjLv6SwTurn_c::*func_type)(); - // naming difference between debug and release -#if DEBUG - static func_type mode_proc_call[] = { - &daObjLv6SwTurn_c::modeWait, - &daObjLv6SwTurn_c::modeRotate - }; - (this->*mode_proc_call[mMode])(); -#else static func_type l_func[] = { &daObjLv6SwTurn_c::modeWait, &daObjLv6SwTurn_c::modeRotate }; (this->*l_func[mMode])(); -#endif } void daObjLv6SwTurn_c::init_modeWait() { @@ -312,7 +304,7 @@ int daObjLv6SwTurn_c::Draw() { dComIfGd_setList(); #if DEBUG if (l_HIO.mDrawFlag) { - mpBgW->GetAttackThrough(0); + mpBgW->DebugDraw(); } #endif return TRUE; diff --git a/src/d/actor/d_a_obj_pdwall.cpp b/src/d/actor/d_a_obj_pdwall.cpp index 6132e10d7c..444b1e0f1d 100644 --- a/src/d/actor/d_a_obj_pdwall.cpp +++ b/src/d/actor/d_a_obj_pdwall.cpp @@ -7,7 +7,14 @@ #include "d/actor/d_a_obj_pdwall.h" +// these are arrays to force them to not be inlined, not sure if this is fake static const int l_dzbidx = 7; +static const int l_bmdidx = 4; + +static const cull_box l_cull_box = { + {-100.0f, -800.0f, -300.0f}, + {750.0f, 500.0f, 300.0f}, +}; static char* l_arcName = "P_Dwall"; @@ -15,7 +22,7 @@ int daObjPDwall_c::create1st() { int phase_state = dComIfG_resLoad(this, l_arcName); if (phase_state == cPhs_COMPLEATE_e) { setMtx(); - + phase_state = MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0xB1C0, &field_0x5a8); if (phase_state == cPhs_ERROR_e) { return phase_state; @@ -31,11 +38,6 @@ int daObjPDwall_c::create1st() { return phase_state; } -static const cull_box l_cull_box = { - {-100.0f, -800.0f, -300.0f}, - {750.0f, 500.0f, 300.0f}, -}; - void daObjPDwall_c::setMtx() { for (int i = 0; i < 10; i++) { mDoMtx_stack_c::transS(current.pos.x, current.pos.y + field_0x808[i], current.pos.z); @@ -54,7 +56,7 @@ void daObjPDwall_c::setMtx() { } int daObjPDwall_c::CreateHeap() { - J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, l_bmdidx); JUT_ASSERT(175, model_data != NULL); for (int i = 0; i < 10; i++) { diff --git a/src/d/actor/d_a_obj_picture.cpp b/src/d/actor/d_a_obj_picture.cpp index 69e508971d..12d8f54e3c 100644 --- a/src/d/actor/d_a_obj_picture.cpp +++ b/src/d/actor/d_a_obj_picture.cpp @@ -295,7 +295,7 @@ int daObjPicture_c::execute() { cXyz sp8(current.pos); fopAcM_gc_c::gndCheck(&sp8); - shape_angle.x += 0x400; + ANGLE_ADD_2(shape_angle.x, 0x400); if (shape_angle.x > 0x4000) { shape_angle.x = 0x4000; } @@ -309,7 +309,6 @@ int daObjPicture_c::execute() { cLib_chaseF(¤t.pos.x, field_0xca0.x, 1.0f); cLib_chaseF(¤t.pos.z, field_0xca0.z, 1.0f); setPicAtCol(); - break; } case 3: break; diff --git a/src/d/actor/d_a_obj_poFire.cpp b/src/d/actor/d_a_obj_poFire.cpp index 16af5cb3ae..c4ad41b2fd 100644 --- a/src/d/actor/d_a_obj_poFire.cpp +++ b/src/d/actor/d_a_obj_poFire.cpp @@ -221,8 +221,8 @@ void daPoFire_c::modeWait() { if (eventInfo.checkCommandCatch()) { init_modeWaitSetEffect(); } else { - dComIfGp_att_CatchRequest(this, itemNo[mActorID], l_HIO.mPickupRange, 70.0f, -70.0f, 0x5000, - 1); + int result = dComIfGp_att_CatchRequest(this, itemNo[mActorID], l_HIO.mPickupRange, 70.0f, + -70.0f, 0x5000, 1); eventInfo.onCondition(dEvtCnd_40_e); } current.pos.y = unk5D4 + l_HIO.mWaitVertRange * cM_ssin(cM_deg2s(unk5D8 * l_HIO.mWaitPeriod)); diff --git a/src/d/actor/d_a_obj_scannon_ten.cpp b/src/d/actor/d_a_obj_scannon_ten.cpp index 233e442b06..fe265afb00 100644 --- a/src/d/actor/d_a_obj_scannon_ten.cpp +++ b/src/d/actor/d_a_obj_scannon_ten.cpp @@ -18,8 +18,9 @@ static char* l_staffName = "SCanTen"; static char* l_eventName = "SKY_CANNON_TEN_FIRE"; static int eventCallBack(void* i_proc, int param_1) { - if (i_proc != NULL) { - ((daObjSCannonTen_c*)i_proc)->changeScene(); + daObjSCannonTen_c* proc = (daObjSCannonTen_c*)i_proc; + if (proc != NULL) { + proc->changeScene(); } return 1; @@ -147,6 +148,22 @@ int daObjSCannonTen_c::execute() { return 1; } +const daObjSCannonTen_c::ExeProc daObjSCannonTen_c::s_exeProc[] = { + &daObjSCannonTen_c::exeModeWait, + &daObjSCannonTen_c::exeModeOrderEvt, + &daObjSCannonTen_c::exeModeActionEvt, + &daObjSCannonTen_c::exeModeEnd, +}; + +const daObjSCannonTen_c::ExeProc daObjSCannonTen_c::s_demoExeProc[][2] = { + {&daObjSCannonTen_c::demoInitLinkIn, &daObjSCannonTen_c::demoExeLinkIn}, + {&daObjSCannonTen_c::demoInitSet, &daObjSCannonTen_c::demoExeSet}, + {&daObjSCannonTen_c::demoInitMove, &daObjSCannonTen_c::demoExeMove}, + {&daObjSCannonTen_c::demoInitFire, &daObjSCannonTen_c::demoExeFire}, + {&daObjSCannonTen_c::demoInitFireEnd, &daObjSCannonTen_c::demoExeFireEnd}, + {&daObjSCannonTen_c::demoInitFinish, &daObjSCannonTen_c::demoExeFinish}, +}; + void daObjSCannonTen_c::middleExe() { if (s_exeProc[mMode] != NULL) { (this->*s_exeProc[mMode])(); @@ -158,10 +175,10 @@ void daObjSCannonTen_c::middleExe() { } void daObjSCannonTen_c::exeModeWait() { - if (!(DEBUG && aREG_F(0) != 0.0f) && fopAcM_checkHookCarryNow(this) && + if (!(DEBUG && aREG_F(0)) && fopAcM_checkHookCarryNow(this) && dComIfGp_checkPlayerStatus1(0, 0x10)) { eventInfo.setArchiveName(l_arcName); - mEvtIdx = dComIfGp_getEventManager().getEventIdx(this, l_eventName, 0xFF); + mEvtIdx = (s16)dComIfGp_getEventManager().getEventIdx(this, l_eventName, 0xFF); #if DEBUG if (mEvtIdx == -1) { // "××××××××××××× Sky Cannon (City in the Sky) d_a_obj_scannon_ten.cpp: Failed to get event\n" @@ -187,22 +204,6 @@ void daObjSCannonTen_c::exeModeOrderEvt() { } } -void (daObjSCannonTen_c::*daObjSCannonTen_c::s_exeProc[])() = { - &daObjSCannonTen_c::exeModeWait, - &daObjSCannonTen_c::exeModeOrderEvt, - &daObjSCannonTen_c::exeModeActionEvt, - &daObjSCannonTen_c::exeModeEnd, -}; - -void (daObjSCannonTen_c::*daObjSCannonTen_c::s_demoExeProc[][2])() = { - {&daObjSCannonTen_c::demoInitLinkIn, &daObjSCannonTen_c::demoExeLinkIn}, - {&daObjSCannonTen_c::demoInitSet, &daObjSCannonTen_c::demoExeSet}, - {&daObjSCannonTen_c::demoInitMove, &daObjSCannonTen_c::demoExeMove}, - {&daObjSCannonTen_c::demoInitFire, &daObjSCannonTen_c::demoExeFire}, - {&daObjSCannonTen_c::demoInitFireEnd, &daObjSCannonTen_c::demoExeFireEnd}, - {&daObjSCannonTen_c::demoInitFinish, &daObjSCannonTen_c::demoExeFinish}, -}; - void daObjSCannonTen_c::exeModeActionEvt() { if (dComIfGp_evmng_endCheck(mEvtIdx) != 0) { dComIfGp_event_reset(); @@ -323,7 +324,7 @@ void daObjSCannonTen_c::demoInitFinish() { if (joint_p == NULL) { // "××××××Sky Cannon—The head joint is missing!!!! ××××××" OS_REPORT("______________________××××××天空砲台 頭部分のジョイントがありません!!!! ××××××____________\n"); - JUT_ASSERT(1351, FALSE); + JUT_ASSERT(867, FALSE); } #endif @@ -368,7 +369,8 @@ void daObjSCannonTen_c::changeScene() { fopAcM_OnStatus(this, fopAcM_STATUS_UNK_0x80); - dStage_changeScene(1, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); + const int a_exit_id = 1; + dStage_changeScene(a_exit_id, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); } void daObjSCannonTen_c::initEmtSmoke() { diff --git a/src/d/actor/d_a_obj_spinLift.cpp b/src/d/actor/d_a_obj_spinLift.cpp index 0feb173312..5802b0b8d6 100644 --- a/src/d/actor/d_a_obj_spinLift.cpp +++ b/src/d/actor/d_a_obj_spinLift.cpp @@ -61,8 +61,8 @@ void daSpinLift_c::setBaseMtx() { mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } +static u32 const l_bmdIdx[] = {4, 4, 4, 4, 4, 4, 4, 4, 4}; int daSpinLift_c::CreateHeap() { - static u32 const l_bmdIdx[] = {4, 4, 4, 4, 4, 4, 4, 4, 4}; J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mModelType], l_bmdIdx[mModelType]); JUT_ASSERT(222, modelData != NULL); @@ -73,8 +73,8 @@ int daSpinLift_c::CreateHeap() { return 1; } +static const int l_dzbIdx[] = {7, 7, 7, 7, 7, 7, 7, 7, 7}; int daSpinLift_c::create() { - static const int l_dzbIdx[] = {7, 7, 7, 7, 7, 7, 7, 7, 7}; fopAcM_ct(this, daSpinLift_c); mModelType = getModelType(); int phase = dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]); @@ -123,7 +123,7 @@ int daSpinLift_c::Execute(Mtx** param_0) { } void daSpinLift_c::moveLift() { - static daSpinLift_c::modeFunc mode_proc[] = { + static const daSpinLift_c::modeFunc mode_proc[] = { &daSpinLift_c::modeWait, &daSpinLift_c::modeUpMove, &daSpinLift_c::modeDownMove, diff --git a/src/d/actor/d_a_obj_ss_drink.cpp b/src/d/actor/d_a_obj_ss_drink.cpp index 601e09e3ca..bc9deedc78 100644 --- a/src/d/actor/d_a_obj_ss_drink.cpp +++ b/src/d/actor/d_a_obj_ss_drink.cpp @@ -305,18 +305,10 @@ void daObj_SSDrink_c::setParam() { gravity = -5.0f; -#if DEBUG - bool bVar1 = false; - bool bVar2 = false; -#endif - - if (daPy_getPlayerActorClass()->getGrabActorID() != fpcM_ERROR_PROCESS_ID_e) { - if (!checkProcess(&daObj_SSDrink_c::drink)) { - if (field_0xb0c != 0x60) { - fopAcM_offSwitch(this, getSwitchFromParam()); - return; - } - } + if (daPy_getPlayerActorClass()->getGrabActorID() != fpcM_ERROR_PROCESS_ID_e && + !checkProcess(&daObj_SSDrink_c::drink) && field_0xb0c != 0x60) { + fopAcM_offSwitch(this, getSwitchFromParam()); + return; } fopAcM_onSwitch(this, getSwitchFromParam()); @@ -367,13 +359,12 @@ int daObj_SSDrink_c::chkEvent() { int ret = 1; if (checkProcess(&daObj_SSDrink_c::drink)) { - return 1; + return ret; } if (dComIfGp_getEvent()->isOrderOK() == 0) { if (getParentPtr() != NULL) { - fopAc_ac_c* parent = (fopAc_ac_c*)getParentPtr(); - attention_info.position.set(parent->attention_info.position); + attention_info.position.set(((fopAc_ac_c*)getParentPtr())->attention_info.position); } ret = 0; diff --git a/src/d/actor/d_a_obj_syRock.cpp b/src/d/actor/d_a_obj_syRock.cpp index 4dbcc13b9f..296ebc42d1 100644 --- a/src/d/actor/d_a_obj_syRock.cpp +++ b/src/d/actor/d_a_obj_syRock.cpp @@ -129,19 +129,21 @@ int daSyRock_c::CreateHeap() { JUT_ASSERT(271, modelData != NULL); mpModels[0] = mDoExt_J3DModel__create(modelData, 1 << 19, 0x11000084); - if(!mpModels[0]) + if (!mpModels[0]) { return 0; + } modelData = static_cast(dComIfG_getObjectRes("syourock", 5)); JUT_ASSERT(282, modelData != NULL); mpModels[1] = mDoExt_J3DModel__create(modelData, 1 << 19, 0x11000084); - if(!mpModels[1]) + if (!mpModels[1]) { return 0; + } mpBrokenCollision = new dBgW; - if(!mpBrokenCollision || mpBrokenCollision->Set(static_cast(dComIfG_getObjectRes("syourock", 9)), 1, &mBgMtx)) { + if (!mpBrokenCollision || mpBrokenCollision->Set(static_cast(dComIfG_getObjectRes("syourock", 9)), 1, &mBgMtx)) { mpBrokenCollision = NULL; return 0; } @@ -160,18 +162,21 @@ cPhs_Step daSyRock_c::create() { fopAcM_ct(this, daSyRock_c); // Check if an associated water pillar should be searched for - if(getArg0() == TRUE) { + if (getArg0() == TRUE) { mpWaterPillar = static_cast(fopAcM_Search(searchWaterPillar, this)); - if(!mpWaterPillar) + if (!mpWaterPillar) { return cPhs_INIT_e; + } } + cPhs_Step bgCreatePhaseProcess; + const cPhs_Step requestedPhaseProcess = static_cast(dComIfG_resLoad(&mPhase, "syourock")); - if(requestedPhaseProcess == cPhs_COMPLEATE_e) { - const cPhs_Step bgCreatePhaseProcess = static_cast(MoveBGCreate("syourock", 0x8, dBgS_MoveBGProc_TypicalRotY, 0x2100, NULL)); - if(bgCreatePhaseProcess == cPhs_ERROR_e) + if (requestedPhaseProcess == cPhs_COMPLEATE_e) { + if (MoveBGCreate("syourock", 0x8, dBgS_MoveBGProc_TypicalRotY, 0x2100, NULL) == cPhs_ERROR_e) { return cPhs_ERROR_e; + } mAcchCir.SetWall(150.0f, 150.0f); mAcch.Set(fopAcM_GetPosition_p(this), @@ -204,24 +209,23 @@ cPhs_Step daSyRock_c::create() { mUnbrokenCollider.SetStts(&mStts); mUnbrokenCollider.OffAtSetBit(); - if(fopAcM_isSwitch(this, getSwBit1())) { + if (fopAcM_isSwitch(this, getSwBit1())) { mIsUnbroken = false; mUnbrokenCollider.OffCoSetBit(); - if(mpBrokenCollision && mpBrokenCollision->ChkUsed()) { + if (mpBrokenCollision && mpBrokenCollision->ChkUsed()) { dComIfG_Bgsp().Release(mpBrokenCollision); mpBrokenCollision->Move(); } // Snap already broken stalactite to its appropriate location and set its mode accordingly setFallStat(); - } - else { + } else { mIsUnbroken = true; - if(mpBgW) + if (mpBgW) dComIfG_Bgsp().Release(mpBgW); - if(mpBrokenCollision) { + if (mpBrokenCollision) { dComIfG_Bgsp().Regist(mpBrokenCollision, this); mpBrokenCollision->Move(); } @@ -246,25 +250,23 @@ cPhs_Step daSyRock_c::create() { void daSyRock_c::setFallStat() { mpWaterPillar = static_cast(fopAcM_Search(searchWaterPillar, this)); - if(mpWaterPillar) { + if (mpWaterPillar) { OS_REPORT("== 下に水柱あり ==\n"); // "== Water pillar below ==" mpWaterPillar->onRockFlag(); mMode = MODE_MOVE; - } - else { + } else { OS_REPORT("== 下に水柱無し ==\n"); // "== No water pillar below ==" mAcch.CrrPos(dComIfG_Bgsp()); - if(mAcch.ChkWaterHit()) { - if(mAcch.m_wtr.GetHeight() - mAcch.GetGroundH() >= 200.0f) { + if (mAcch.ChkWaterHit()) { + if (mAcch.m_wtr.GetHeight() - mAcch.GetGroundH() >= 200.0f) { mUnderwaterOffset.x = 150.0f; shape_angle.z = 0x4000; } current.pos.y = mAcch.GetGroundH(); - } - else { + } else { current.pos.y = mAcch.GetGroundH(); } @@ -317,9 +319,9 @@ void daSyRock_c::init_modeWait() { } void daSyRock_c::modeWait() { - if(mAutoDropSwNo != 0xFF && fopAcM_isSwitch(this, mAutoDropSwNo)) { + if (mAutoDropSwNo != 0xFF && fopAcM_isSwitch(this, mAutoDropSwNo)) { field_0x779 = 0; - if(getEvetID() != 0xFF) { + if (getEvetID() != 0xFF) { orderEvent(getEvetID(), 0xFF, 1); } else { eventStart(); @@ -327,13 +329,13 @@ void daSyRock_c::modeWait() { return; } - if(mUnbrokenCollider.ChkTgHit()) { + if (mUnbrokenCollider.ChkTgHit()) { dCcD_GObjInf* tgHitGObj = mUnbrokenCollider.GetTgHitGObj(); - if(tgHitGObj->GetAtType() == AT_TYPE_BOMB) { + if (tgHitGObj->GetAtType() == AT_TYPE_BOMB) { field_0x779 = 0; - if(getEvetID() != 0xFF) + if (getEvetID() != 0xFF) { orderEvent(getEvetID(), 0xFF, 1); - else { + } else { eventStart(); } } @@ -343,8 +345,9 @@ void daSyRock_c::modeWait() { bool daSyRock_c::eventStart() { // field_0x779 is always 0 when eventStart() is called (see modeWait()) - if(!field_0x779) + if (!field_0x779) { init_modeDropInit(); + } return true; } @@ -364,24 +367,26 @@ void daSyRock_c::init_modeDropInit() { } void daSyRock_c::modeDropInit() { - if(mWaitFrames) + if (mWaitFrames) { mWaitFrames--; - else + } else { init_modeDrop(); + } } void* daSyRock_c::searchWaterPillar(void* i_proc, void* i_this) { daSyRock_c* const syRock = static_cast(i_this); daWtPillar_c* const wtPillar = static_cast(i_proc); - if(wtPillar && fopAcM_IsActor(wtPillar) && fopAcM_GetProfName(wtPillar) == PROC_Obj_WaterPillar) { + if (wtPillar && fopAcM_IsActor(wtPillar) && fopAcM_GetProfName(wtPillar) == PROC_Obj_WaterPillar) { const cXyz vectorFromWaterPillar = syRock->current.pos - wtPillar->current.pos; const f32 horizontalDistanceToWaterPillar = vectorFromWaterPillar.absXZ(); - if(horizontalDistanceToWaterPillar <= l_HIO.mRange) + if (horizontalDistanceToWaterPillar <= l_HIO.mRange) { return wtPillar; - else + } else { return NULL; + } } return NULL; } @@ -391,7 +396,7 @@ void daSyRock_c::init_modeDrop() { fopAcM_SetMaxFallSpeed(this, -l_HIO.mMaxFallSpeed); fopAcM_SetSpeedF(this, 0.0f); - if(mpBrokenCollision) { + if (mpBrokenCollision) { dComIfG_Bgsp().Release(mpBrokenCollision); mpBrokenCollision->Move(); } @@ -416,15 +421,17 @@ void daSyRock_c::init_modeSink() { fopAcM_SetGravity(this, -l_HIO.mFallAcceleration + l_HIO.mFallWaterBouyancy); speed.y = cLib_minMaxLimit(speed.y, -15.0f - oREG_F(7), 13.0f + oREG_F(8)); - if(!mpWaterPillar) + if (!mpWaterPillar) { mUnderwaterOffset.x = 150.0f; + } mMode = MODE_SINK; } void daSyRock_c::modeSink() { - if(!mpWaterPillar) + if (!mpWaterPillar) { cLib_addCalcAngleS(&shape_angle.z, 0x4000, 1, 0x444, 1); + } speed.y = cLib_minMaxLimit(speed.y, -15.0f - oREG_F(7), 13.0f + oREG_F(8)); @@ -438,8 +445,9 @@ void daSyRock_c::init_modeMove() { mDoAud_seStart(Z2SE_OBJ_STALAC_LAND_WATER, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); - if(mpBgW) + if (mpBgW) { dComIfG_Bgsp().Regist(mpBgW, this); + } mpWaterPillar->onRockFlag(); @@ -463,7 +471,7 @@ void daSyRock_c::modeMove() { current.pos = mpWaterPillar->getPos(); current.pos.y -= 50.0f; - if(mpWaterPillar->isRockYure()) { + if (mpWaterPillar->isRockYure()) { mShakeAmplitude = l_HIO.mShakeAmplitude; mShakeZOscAngQuantum = l_HIO.mShakeZOscAngQuantum; mShakeXOscAngQuantum = l_HIO.mShakeXOscAngQuantum; @@ -486,57 +494,63 @@ void daSyRock_c::bgCheck() { const bool inWater = mAcch.ChkWaterIn(); bool inWaterPillar = false; - if(mMode == MODE_DROP) { - if(mpWaterPillar) { + if (mMode == MODE_DROP) { + if (mpWaterPillar) { const f32 pillarTop = mpWaterPillar->getPillarHeight() + mpWaterPillar->current.pos.y - 50.0f; - if(pillarTop >= current.pos.y) + if (pillarTop >= current.pos.y) { inWaterPillar = true; + } } const f32 waterHeight = mAcch.m_wtr.GetHeight(); - if(hitWater) { + if (hitWater) { const f32 verticalSpeed = speed.y; - if(chkWaterLineIn()) + if (chkWaterLineIn()) { init_modeSink(); + } - if(inWater && !mInWaterPrevFrame) { + if (inWater && !mInWaterPrevFrame) { cXyz currentRockPos(current.pos); currentRockPos.y = waterHeight; fopKyM_createWpillar(¤tRockPos, l_HIO.mEffScale, 3); - if(verticalSpeed < -15.0f) + if (verticalSpeed < -15.0f) { fopAcM_seStart(this, Z2SE_OBJ_FALL_WATER_M, 0); - else + } else { mDoAud_seStart(Z2SE_OBJ_STALAC_LAND_WATER, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + } } } - if(inWaterPillar) + if (inWaterPillar) { init_modeMove(); + } } - if(hitGround) { - if(!hitWater && !mpWaterPillar) { + if (hitGround) { + if (!hitWater && !mpWaterPillar) { mDoAud_seStart(Z2SE_OBJ_STALAC_LAND, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); daObjEff::Act_c::make_land_smoke(¤t.pos, l_HIO.mEffScale); } - if(mpWaterPillar) + if (mpWaterPillar) { init_modeMove(); - else + } else { init_modeDropEnd(); + } } } void daSyRock_c::init_modeDropEnd() { - if(!mAcch.ChkWaterIn()) { + if (!mAcch.ChkWaterIn()) { dComIfGp_getVibration().StartShock(l_HIO.mVibModePower, 0xF, cXyz(0.0f, 1.0f, 0.0f)); } - if(mpBgW) + if (mpBgW) { dComIfG_Bgsp().Regist(mpBgW, this); + } mUnbrokenCollider.OffAtSetBit(); @@ -563,10 +577,11 @@ int daSyRock_c::Draw() { int daSyRock_c::Delete() { dComIfG_resDelete(&mPhase, "syourock"); - if(mpBrokenCollision && mpBrokenCollision->ChkUsed()) + if (mpBrokenCollision && mpBrokenCollision->ChkUsed()) { dComIfG_Bgsp().Release(mpBrokenCollision); + } - #if DEBUG +#if DEBUG l_HIO.removeHIO(); #endif @@ -575,7 +590,6 @@ int daSyRock_c::Delete() { static int daSyRock_Draw(daSyRock_c* i_this) { return i_this->MoveBGDraw(); - return 1; } static int daSyRock_Execute(daSyRock_c* i_this) { diff --git a/src/d/actor/d_a_obj_twGate.cpp b/src/d/actor/d_a_obj_twGate.cpp index 82053130a6..11eeecaccc 100644 --- a/src/d/actor/d_a_obj_twGate.cpp +++ b/src/d/actor/d_a_obj_twGate.cpp @@ -8,6 +8,27 @@ #include "d/actor/d_a_obj_twGate.h" #include "d/d_com_inf_game.h" +class daTwGate_HIO_c : public fOpAcm_HIO_entry_c { +public: + daTwGate_HIO_c(); + ~daTwGate_HIO_c() {} + + void genMessage(JORMContext* ctx); + + /* 0x4 */ f32 mRange; +}; + +daTwGate_HIO_c::daTwGate_HIO_c() { + mRange = 1900.0f; +} + +#if DEBUG +void daTwGate_HIO_c::genMessage(JORMContext* ctx) { + // Range + ctx->genSlider("範囲", &mRange, 0.0f, 500000.0f); +} +#endif + static char* l_resNameIdx[13] = { "twGtFiro", "twGtK0102", @@ -24,17 +45,6 @@ static char* l_resNameIdx[13] = { "", }; -daTwGate_HIO_c::daTwGate_HIO_c() { - mRange = 1900.0f; -} - -#if DEBUG -void daTwGate_HIO_c::genMessage(JORMContext* ctx) { - // Range - ctx->genSlider("範囲", &mRange, 0.0f, 500000.0f); -} -#endif - void daTwGate_c::setBaseMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z); diff --git a/src/d/actor/d_a_obj_wood_statue.cpp b/src/d/actor/d_a_obj_wood_statue.cpp index 9880530c81..bcbf449891 100644 --- a/src/d/actor/d_a_obj_wood_statue.cpp +++ b/src/d/actor/d_a_obj_wood_statue.cpp @@ -12,43 +12,19 @@ #include "d/d_item_data.h" #include "d/d_s_play.h" -#if DEBUG - -class daObjWStatue_HIO_c : public fOpAcm_HIO_entry_c { -public: - daObjWStatue_HIO_c() { - mRespawnTimer = 30; - } - - void genMessage(JORMContext* context) { - // Wooden Statue - context->genLabel("木彫りの像", 0); - - // Respawn timer - context->genSlider("全滅後の出現タイマー", &mRespawnTimer, 0, 200); - } - - u8 mRespawnTimer; -}; - -daObjWStatue_HIO_c l_HIO; - -#endif - - const static dCcD_SrcCyl l_cyl_src = { { - {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {0x0, {{0x0, 0x0, 0x0}, {-1, 0x11}, 0x59}}, // mObj {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg {0x0}, // mGObjCo }, // mObjInf { - { - {0.0f, 0.0f, 0.0f}, // mCenter - 20.0f, // mRadius - 40.0f // mHeight - } // mCyl + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl } }; @@ -56,6 +32,31 @@ static char* l_arcName = "O_wood"; static char* l_eventName = "GET_WOOD_STATUE"; +class daObjWStatue_HIO_c : public fOpAcm_HIO_entry_c { +public: + daObjWStatue_HIO_c(); + + void genMessage(JORMContext* context); + + u8 mRespawnTimer; +}; + +#if DEBUG +daObjWStatue_HIO_c l_HIO; + +daObjWStatue_HIO_c::daObjWStatue_HIO_c() { + mRespawnTimer = 30; +} + +void daObjWStatue_HIO_c::genMessage(JORMContext* context) { + // Wooden Statue + context->genLabel("木彫りの像", 0); + + // Respawn timer + context->genSlider("全滅後の出現タイマー", &mRespawnTimer, 0, 200); +} +#endif + static f32 Reflect(cXyz* param_1, cBgS_PolyInfo const& param_2, f32 param_3) { cM3dGPla acStack_3c; bool isTriPla = dComIfG_Bgsp().GetTriPla(param_2, &acStack_3c); @@ -72,24 +73,36 @@ static f32 Reflect(cXyz* param_1, cBgS_PolyInfo const& param_2, f32 param_3) { static void lifeGetTgCallBack(fopAc_ac_c* i_this, dCcD_GObjInf* param_2, fopAc_ac_c* param_3, dCcD_GObjInf* param_4) { - if (i_this != NULL && + UNUSED(param_2); + UNUSED(param_3); + + daObjWStatue_c* statue = static_cast(i_this); + + if (statue != NULL && (param_4->ChkAtType(AT_TYPE_40) || param_4->ChkAtType(AT_TYPE_BOOMERANG)) && !dComIfGp_event_runCheck() && - !((daObjWStatue_c*)i_this)->chkStatus(daObjWStatue_c::STATUS_BOOMERANG_CARRY)) + !statue->chkStatus(daObjWStatue_c::STATUS_BOOMERANG_CARRY)) { - ((daObjWStatue_c*)i_this)->actionInitBoomerangCarry(); + statue->actionInitBoomerangCarry(); } return; } static void lifeGetCoCallBack(fopAc_ac_c* i_this, dCcD_GObjInf* param_2, fopAc_ac_c* param_3, dCcD_GObjInf* param_4) { - if (i_this != NULL && param_3 != NULL && param_3 == dComIfGp_getLinkPlayer()) { - ((daObjWStatue_c*)i_this)->initActionOrderGetDemo(); + UNUSED(param_2); + UNUSED(param_4); + + daObjWStatue_c* statue = static_cast(i_this); + + if (statue != NULL && param_3 != NULL && param_3 == dComIfGp_getLinkPlayer()) { + statue->initActionOrderGetDemo(); } } static void* s_sh_sub(void* param_1, void* param_2) { + UNUSED(param_2); + if (fopAcM_IsActor(param_1) && fopAcM_GetName(param_1) == PROC_E_SH) { return param_1; } @@ -409,7 +422,7 @@ void daObjWStatue_c::effectStop() { } int daObjWStatue_c::execute() { - static daObjWStatue_c::demoFunc l_demoFunc[5] = { + static const daObjWStatue_c::demoFunc l_demoFunc[5] = { &daObjWStatue_c::actionWait, &daObjWStatue_c::actionOrderGetDemo, &daObjWStatue_c::actionGetDemo, &daObjWStatue_c::actionSwOnWait, &daObjWStatue_c::actionBoomerangCarry, diff --git a/src/f_pc/f_pc_create_req.cpp b/src/f_pc/f_pc_create_req.cpp index 5e54f21ea4..207a20d68f 100644 --- a/src/f_pc/f_pc_create_req.cpp +++ b/src/f_pc/f_pc_create_req.cpp @@ -5,6 +5,7 @@ #include "f_pc/f_pc_create_req.h" #include "SSystem/SComponent/c_malloc.h" +#include "SSystem/SComponent/c_phase.h" #include "f_pc/f_pc_base.h" #include "f_pc/f_pc_create_iter.h" #include "f_pc/f_pc_deletor.h" diff --git a/src/f_pc/f_pc_fstcreate_req.cpp b/src/f_pc/f_pc_fstcreate_req.cpp index 08ff536ec7..8722b96f06 100644 --- a/src/f_pc/f_pc_fstcreate_req.cpp +++ b/src/f_pc/f_pc_fstcreate_req.cpp @@ -7,6 +7,7 @@ #include "f_pc/f_pc_base.h" #include "f_pc/f_pc_layer.h" #include "f_pc/f_pc_load.h" +#include "SSystem/SComponent/c_phase.h" int fpcFCtRq_Do(fast_create_request* i_createReq) { if (i_createReq->create_func != NULL && diff --git a/src/f_pc/f_pc_stdcreate_req.cpp b/src/f_pc/f_pc_stdcreate_req.cpp index 9f56391dd2..4d4c7784ae 100644 --- a/src/f_pc/f_pc_stdcreate_req.cpp +++ b/src/f_pc/f_pc_stdcreate_req.cpp @@ -8,8 +8,21 @@ #include "f_pc/f_pc_node.h" #include "f_pc/f_pc_manager.h" #include "f_pc/f_pc_debug_sv.h" +#include "SSystem/SComponent/c_phase.h" #include +typedef struct standard_create_request_class { + /* 0x00 */ create_request base; + /* 0x48 */ request_of_phase_process_class phase_request; + /* 0x50 */ s16 process_name; + /* 0x54 */ void* process_append; + /* 0x58 */ stdCreateFunc create_post_method; + /* 0x5C */ void* unk_0x5C; +#if DEBUG + /* 0x60 */ int unk_0x60; +#endif +} standard_create_request_class; + int fpcSCtRq_phase_Load(standard_create_request_class* i_request) { int ret = fpcLd_Load(i_request->process_name);