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_*)
This commit is contained in:
Max Roncace
2026-02-28 15:13:57 -05:00
committed by GitHub
parent 29c96f5c65
commit a290c2d52c
92 changed files with 1767 additions and 1295 deletions
+1 -1
View File
@@ -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
+12 -2
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000298; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000002A0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000050; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+13 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x000000B8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+1 -1
View File
@@ -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
+5 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x000001C0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000001C8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+14 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000108; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000110; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+3 -1
View File
@@ -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_limits<d>Fv@x = .rodata:0x000000A8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000B0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+20 -11
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000568; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000570; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+17 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000270; // type:object size:0x8 scope:local data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000278; // type:object size:0x8 scope:local data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000B0; // type:object size:0x8
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000B8; // type:object size:0x8
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+10 -4
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000528; // type:object size:0x8 scope:local data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000530; // type:object size:0x8 scope:local data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000108; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000110; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000188; // type:object size:0x8 scope:local align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000190; // type:object size:0x8 scope:local align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000078; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000080; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+18 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000178; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000180; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000002C8; // type:object size:0x8
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000002D0; // type:object size:0x8
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+22 -3
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000350; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000358; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000098; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000A0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000068; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000070; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000D0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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
@@ -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_limits<d>Fv@x = .rodata:0x000000E8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000F0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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
@@ -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_limits<d>Fv@x = .rodata:0x000000B8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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
@@ -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_limits<d>Fv@x = .rodata:0x00000050; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000030; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000038; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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
@@ -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_limits<d>Fv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000060; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000148; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000150; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_2_NaN__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000E0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000120; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000128; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000C0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000C8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000070; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000078; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000F8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000100; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x00000260; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000268; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
@@ -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_limits<d>Fv@x = .rodata:0x000000D0; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x000000D8; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+3 -1
View File
@@ -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_limits<d>Fv@x = .rodata:0x00000058; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN_2__Q23std17numeric_limits<d>Fv@x = .rodata:0x00000060; // type:object size:0x8 align:8 data:float
@LOCAL@signaling_NaN__Q23std17numeric_limits<f>Fv@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
+1 -1
View File
@@ -23,7 +23,7 @@ public:
void CheckHit();
void WaitAction();
void HalfBreakAction();
bool VibAction();
u8 VibAction();
void DummyAction();
void RealAction();
void Action();
+1
View File
@@ -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;
+30 -2
View File
@@ -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;
-19
View File
@@ -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 */
+5 -5
View File
@@ -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);
+4 -2
View File
@@ -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;
-10
View File
@@ -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 */
+3 -3
View File
@@ -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();
+1 -1
View File
@@ -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; }
+3 -3
View File
@@ -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() {
+1
View File
@@ -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;
+1
View File
@@ -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
+1
View File
@@ -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)) { \
-1
View File
@@ -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:
+5 -2
View File
@@ -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;
-20
View File
@@ -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);
+3 -2
View File
@@ -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;
+4 -4
View File
@@ -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;
+12 -12
View File
@@ -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;
}
+192 -189
View File
@@ -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();
+141 -129
View File
@@ -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());
+37 -31
View File
@@ -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, &current.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, &current.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
};
+104 -103
View File
@@ -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);
}
+19 -11
View File
@@ -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(&current.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;
+31 -14
View File
@@ -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<u32>(actor->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
cLib_onBit<u32>(actor->attention_info.flags,
fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
actor->eventInfo.onCondition(1);
} else {
fopAcM_OffStatus(actor, 0);
cLib_offBit<u32>(actor->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
cLib_offBit<u32>(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) {
+15 -13
View File
@@ -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;
+36 -16
View File
@@ -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) {
+88 -79
View File
@@ -844,7 +844,9 @@ int daNpc_Pachi_Taro_c::CreateHeap() {
J3DModel* model = NULL;
int bmdIdx = mTwilight == true ? TARO0 : NONE;
modelData = static_cast<J3DModelData*>(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<J3DModelData*>(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(&current.pos, &i_pos), i_step);
s16 targetAngleY = cLib_targetAngleY(&current.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;
+28 -28
View File
@@ -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);
}
}
+78 -68
View File
@@ -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<J3DModelData*>(dComIfG_getObjectRes(l_resNameList[resIdx], idx));
modelData = static_cast<J3DModelData*>(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()) {
+2 -2
View File
@@ -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) {
+122 -84
View File
@@ -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<dBgW::PushPullLabel>(i_ppLabel, dBgW::PPLABEL_3);
daObjBm_c* actor_p = (daObjBm_c*)i_bgActor;
dBgW::PushPullLabel pp_label = cLib_checkBit<dBgW::PushPullLabel>(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);
}
+14 -12
View File
@@ -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);
+21 -28
View File
@@ -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;
}
+18 -48
View File
@@ -11,38 +11,6 @@
#include "JSystem/JHostIO/JORFile.h"
#include <cstring>
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;
+29 -6
View File
@@ -15,6 +15,18 @@
#include "m_Do/m_Do_lib.h"
#include <cstring>
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;
+90 -78
View File
@@ -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<cPhs_Step>(dComIfG_resLoad(this, l_arcName));
if(phase == cPhs_COMPLEATE_e) {
if (phase == cPhs_COMPLEATE_e) {
mYAngularVelocity = 0;
setMtx();
phase = static_cast<cPhs_Step>(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<cPhs_Step>(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<cBgD_t*>(dComIfG_getObjectRes(l_arcName, l_dzbidx[1])), 1, &mKLiftBaseMatrices[i])) {
if (mKLiftCollisions[i]->Set(static_cast<cBgD_t*>(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<daObjKWheel00_c*>(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<daObjKWheel00_c*>(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<daObjKLift00_c*>(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, &current.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
if (mYAngularVelocity) {
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_GEAR_LV, &current.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;
+5 -5
View File
@@ -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 = {
+10 -10
View File
@@ -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();
}
+24 -2
View File
@@ -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;
+4 -12
View File
@@ -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;
+9 -7
View File
@@ -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++) {
+1 -2
View File
@@ -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(&current.pos.x, field_0xca0.x, 1.0f);
cLib_chaseF(&current.pos.z, field_0xca0.z, 1.0f);
setPicAtCol();
break;
}
case 3:
break;
+2 -2
View File
@@ -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));
+24 -22
View File
@@ -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() {
+3 -3
View File
@@ -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,
+6 -15
View File
@@ -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;
+70 -56
View File
@@ -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<J3DModelData*>(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<cBgD_t*>(dComIfG_getObjectRes("syourock", 9)), 1, &mBgMtx)) {
if (!mpBrokenCollision || mpBrokenCollision->Set(static_cast<cBgD_t*>(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<daWtPillar_c*>(fopAcM_Search(searchWaterPillar, this));
if(!mpWaterPillar)
if (!mpWaterPillar) {
return cPhs_INIT_e;
}
}
cPhs_Step bgCreatePhaseProcess;
const cPhs_Step requestedPhaseProcess = static_cast<cPhs_Step>(dComIfG_resLoad(&mPhase, "syourock"));
if(requestedPhaseProcess == cPhs_COMPLEATE_e) {
const cPhs_Step bgCreatePhaseProcess = static_cast<cPhs_Step>(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<daWtPillar_c*>(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<daSyRock_c*>(i_this);
daWtPillar_c* const wtPillar = static_cast<daWtPillar_c*>(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, &current.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(&currentRockPos, 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, &current.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, &current.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
daObjEff::Act_c::make_land_smoke(&current.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) {
+21 -11
View File
@@ -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);
+49 -36
View File
@@ -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<daObjWStatue_c*>(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<daObjWStatue_c*>(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,
+1
View File
@@ -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"
+1
View File
@@ -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 &&
+13
View File
@@ -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 <dolphin/dolphin.h>
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);