d_a_obj_wsStick, d_a_obj_onsenTaru OK (#2268)

* d_a_obj_wsStick, d_a_obj_onsenTaru OK

* d_a_obj_pdtile OK

* d_a_obj_stone equivalent

* d_a_npc_lf OK

* Z2SoundMgr OK

* Remove fixed nonmatching comment

* d_a_obj_kantera OK

* Remove unneeded header

* daMyna_c::deleteItem matching

* d_a_obj_crvsteel OK
This commit is contained in:
hatal175
2024-12-24 12:36:01 +02:00
committed by GitHub
parent e3842d6d39
commit 87f3899f11
30 changed files with 1964 additions and 3000 deletions
+10 -10
View File
@@ -4,15 +4,15 @@ _unresolved = .text:0x00000058; // type:function size:0x20 scope:global
__register_global_object = .text:0x00000078; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
__ct__14daNPC_LF_HIO_cFv = .text:0x000000EC; // type:function size:0x48 scope:global
nodeCallBack__FP8J3DJointi = .text:0x00000134; // type:function size:0x124 scope:global
daNPC_LF_Draw__FP12npc_lf_class = .text:0x00000258; // type:function size:0xB8 scope:global
nodeCallBack__FP8J3DJointi = .text:0x00000134; // type:function size:0x124 scope:local
daNPC_LF_Draw__FP12npc_lf_class = .text:0x00000258; // type:function size:0xB8 scope:local
npc_lf_move__FP10fopAc_ac_cP4lf_s = .text:0x00000310; // type:function size:0x428 scope:global
action__FP10fopAc_ac_cP4lf_s = .text:0x00000738; // type:function size:0x268 scope:global
daNPC_LF_Execute__FP12npc_lf_class = .text:0x000009A0; // type:function size:0xF4 scope:global
daNPC_LF_IsDelete__FP12npc_lf_class = .text:0x00000A94; // type:function size:0x8 scope:global
daNPC_LF_Delete__FP12npc_lf_class = .text:0x00000A9C; // type:function size:0x54 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00000AF0; // type:function size:0xE0 scope:global
daNPC_LF_Create__FP10fopAc_ac_c = .text:0x00000BD0; // type:function size:0x254 scope:global
daNPC_LF_Execute__FP12npc_lf_class = .text:0x000009A0; // type:function size:0xF4 scope:local
daNPC_LF_IsDelete__FP12npc_lf_class = .text:0x00000A94; // type:function size:0x8 scope:local
daNPC_LF_Delete__FP12npc_lf_class = .text:0x00000A9C; // type:function size:0x54 scope:local
useHeapInit__FP10fopAc_ac_c = .text:0x00000AF0; // type:function size:0xE0 scope:local
daNPC_LF_Create__FP10fopAc_ac_c = .text:0x00000BD0; // type:function size:0x254 scope:local
__dt__4lf_sFv = .text:0x00000E24; // type:function size:0x3C scope:global
__ct__4lf_sFv = .text:0x00000E60; // type:function size:0x4 scope:global
__dt__14daNPC_LF_HIO_cFv = .text:0x00000E64; // type:function size:0x48 scope:global
@@ -56,10 +56,10 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4176 = .rodata:0x00000094; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000098; // type:object size:0x7 scope:local data:string_table
wp$3976 = .data:0x00000000; // type:object size:0xC scope:local
l_daNPC_LF_Method = .data:0x0000000C; // type:object size:0x20 scope:global
l_daNPC_LF_Method = .data:0x0000000C; // type:object size:0x20 scope:local
g_profile_NPC_LF = .data:0x0000002C; // type:object size:0x30 scope:global
__vt__14daNPC_LF_HIO_c = .data:0x0000005C; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_333_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
lbl_333_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
@3764 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global data:byte
l_HIO = .bss:0x00000018; // type:object size:0x1C scope:local data:byte
@@ -1,20 +1,20 @@
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
daObjCRVSTEEL_Create__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global
daObjCRVSTEEL_Delete__FP15daObjCRVSTEEL_c = .text:0x00000098; // type:function size:0x24 scope:global
daObjCRVSTEEL_Create__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local
daObjCRVSTEEL_Delete__FP15daObjCRVSTEEL_c = .text:0x00000098; // type:function size:0x24 scope:local
OpenSet__15daObjCRVSTEEL_cFff = .text:0x000000BC; // type:function size:0x1C scope:global
CloseSet__15daObjCRVSTEEL_cFf = .text:0x000000D8; // type:function size:0x10 scope:global
CloseExecute__15daObjCRVSTEEL_cFv = .text:0x000000E8; // type:function size:0x78 scope:global
OpenExecute__15daObjCRVSTEEL_cFv = .text:0x00000160; // type:function size:0x28 scope:global
Action__15daObjCRVSTEEL_cFv = .text:0x00000188; // type:function size:0x48 scope:global
setBaseMtx__15daObjCRVSTEEL_cFv = .text:0x000001D0; // type:function size:0x5C scope:global
daObjCRVSTEEL_Draw__FP15daObjCRVSTEEL_c = .text:0x0000022C; // type:function size:0x2C scope:global
daObjCRVSTEEL_Execute__FP15daObjCRVSTEEL_c = .text:0x00000258; // type:function size:0x20 scope:global
daObjCRVSTEEL_Draw__FP15daObjCRVSTEEL_c = .text:0x0000022C; // type:function size:0x2C scope:local
daObjCRVSTEEL_Execute__FP15daObjCRVSTEEL_c = .text:0x00000258; // type:function size:0x20 scope:local
CreateHeap__15daObjCRVSTEEL_cFv = .text:0x00000278; // type:function size:0x78 scope:global
create__15daObjCRVSTEEL_cFv = .text:0x000002F0; // type:function size:0x200 scope:global
__dt__12dBgS_ObjAcchFv = .text:0x000004F0; // type:function size:0x70 scope:global
daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c = .text:0x00000560; // type:function size:0x8 scope:global
daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c = .text:0x00000560; // type:function size:0x8 scope:local
Create__15daObjCRVSTEEL_cFv = .text:0x00000568; // type:function size:0x44 scope:global
Execute__15daObjCRVSTEEL_cFPPA3_A4_f = .text:0x000005AC; // type:function size:0x4C scope:global
Draw__15daObjCRVSTEEL_cFv = .text:0x000005F8; // type:function size:0x84 scope:global
@@ -38,8 +38,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@3949 = .rodata:0x0000002C; // type:object size:0x4 scope:local
@3950 = .rodata:0x00000030; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000034; // type:object size:0x2F scope:local data:string_table
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
l_daObjCRVSTEEL_Method = .data:0x00000004; // type:object size:0x20 scope:global
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
l_daObjCRVSTEEL_Method = .data:0x00000004; // type:object size:0x20 scope:local
g_profile_Obj_CRVSTEEL = .data:0x00000024; // type:object size:0x30 scope:global
__vt__12dBgS_ObjAcch = .data:0x00000054; // type:object size:0x24 scope:global
__vt__15daObjCRVSTEEL_c = .data:0x00000078; // type:object size:0x28 scope:global
@@ -23,17 +23,17 @@ actionGetDemo__15daItemKantera_cFv = .text:0x00000D4C; // type:function size:0x6
execute__15daItemKantera_cFv = .text:0x00000DB0; // type:function size:0x12C scope:global
draw__15daItemKantera_cFv = .text:0x00000EDC; // type:function size:0x54 scope:global
_delete__15daItemKantera_cFv = .text:0x00000F30; // type:function size:0x38 scope:global
daItemKantera_Draw__FP15daItemKantera_c = .text:0x00000F68; // type:function size:0x20 scope:global
daItemKantera_Execute__FP15daItemKantera_c = .text:0x00000F88; // type:function size:0x20 scope:global
daItemKantera_Delete__FP15daItemKantera_c = .text:0x00000FA8; // type:function size:0x20 scope:global
daItemKantera_Create__FP10fopAc_ac_c = .text:0x00000FC8; // type:function size:0x20 scope:global
daItemKantera_Draw__FP15daItemKantera_c = .text:0x00000F68; // type:function size:0x20 scope:local
daItemKantera_Execute__FP15daItemKantera_c = .text:0x00000F88; // type:function size:0x20 scope:local
daItemKantera_Delete__FP15daItemKantera_c = .text:0x00000FA8; // type:function size:0x20 scope:local
daItemKantera_Create__FP10fopAc_ac_c = .text:0x00000FC8; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00000FE8; // type:function size:0x48 scope:global
@36@__dt__12dBgS_ObjAcchFv = .text:0x00001030; // type:function size:0x8 scope:local
@20@__dt__12dBgS_ObjAcchFv = .text:0x00001038; // type:function size:0x8 scope:local
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
...rodata.0 = .rodata:0x00000000; // type:label scope:local
l_cyl_src = .rodata:0x00000000; // type:object size:0x44 scope:global
l_cyl_src = .rodata:0x00000000; // type:object size:0x44 scope:local
@3855 = .rodata:0x00000044; // type:object size:0x4 scope:local
@3856 = .rodata:0x00000048; // type:object size:0x8 scope:local
@3857 = .rodata:0x00000050; // type:object size:0x8 scope:local
@@ -48,14 +48,14 @@ l_cyl_src = .rodata:0x00000000; // type:object size:0x44 scope:global
@4145 = .rodata:0x00000080; // type:object size:0x4 scope:local data:string
@stringBase0 = .rodata:0x00000084; // type:object size:0x10 scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
@4184 = .data:0x00000020; // type:object size:0xC scope:local
@4185 = .data:0x0000002C; // type:object size:0xC scope:local
@4186 = .data:0x00000038; // type:object size:0xC scope:local
@4187 = .data:0x00000044; // type:object size:0xC scope:local
l_demoFunc$4183 = .data:0x00000050; // type:object size:0x30 scope:local
l_daItemKantera_Method = .data:0x00000080; // type:object size:0x20 scope:global
l_daItemKantera_Method = .data:0x00000080; // type:object size:0x20 scope:local
g_profile_Obj_Kantera = .data:0x000000A0; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x000000D0; // type:object size:0xC scope:global
__vt__10cCcD_GStts = .data:0x000000DC; // type:object size:0xC scope:global
@@ -65,4 +65,4 @@ __vt__8cM3dGAab = .data:0x00000100; // type:object size:0xC scope:global
__vt__12dBgS_ObjAcch = .data:0x0000010C; // type:object size:0x24 scope:global
__vt__15daItemKantera_c = .data:0x00000130; // type:object size:0x44 scope:global
__vt__8cM3dGPla = .data:0x00000174; // type:object size:0xC scope:global
lbl_494_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
lbl_494_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
@@ -33,10 +33,10 @@ mode_proc_sink__11daOnsTaru_cFv = .text:0x00001050; // type:function size:0xF0 s
breakEffSet__11daOnsTaru_cFv = .text:0x00001140; // type:function size:0x298 scope:global
Draw__11daOnsTaru_cFv = .text:0x000013D8; // type:function size:0xA4 scope:global
Delete__11daOnsTaru_cFv = .text:0x0000147C; // type:function size:0x30 scope:global
daOnsTaru_Draw__FP11daOnsTaru_c = .text:0x000014AC; // type:function size:0x2C scope:global
daOnsTaru_Execute__FP11daOnsTaru_c = .text:0x000014D8; // type:function size:0x2C scope:global
daOnsTaru_Delete__FP11daOnsTaru_c = .text:0x00001504; // type:function size:0x2C scope:global
daOnsTaru_Create__FP10fopAc_ac_c = .text:0x00001530; // type:function size:0x20 scope:global
daOnsTaru_Draw__FP11daOnsTaru_c = .text:0x000014AC; // type:function size:0x2C scope:local
daOnsTaru_Execute__FP11daOnsTaru_c = .text:0x000014D8; // type:function size:0x2C scope:local
daOnsTaru_Delete__FP11daOnsTaru_c = .text:0x00001504; // type:function size:0x2C scope:local
daOnsTaru_Create__FP10fopAc_ac_c = .text:0x00001530; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00001550; // type:function size:0x48 scope:global
__dt__15daOnsTaru_HIO_cFv = .text:0x00001598; // type:function size:0x6C scope:global
__sinit_d_a_obj_onsenTaru_cpp = .text:0x00001604; // type:function size:0x70 scope:local
@@ -68,7 +68,7 @@ mCcDObjInfo__11daOnsTaru_c = .rodata:0x00000008; // type:object size:0x30 scope:
@4186 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float
@stringBase0 = .rodata:0x0000007C; // type:object size:0x21 scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
mCcDCyl__11daOnsTaru_c = .data:0x00000020; // type:object size:0x44 scope:global
@4002 = .data:0x00000064; // type:object size:0xC scope:local
@@ -77,7 +77,7 @@ mCcDCyl__11daOnsTaru_c = .data:0x00000020; // type:object size:0x44 scope:global
@4005 = .data:0x00000088; // type:object size:0xC scope:local
@4006 = .data:0x00000094; // type:object size:0xC scope:local
l_mode_func$4001 = .data:0x000000A0; // type:object size:0x3C scope:local
l_daOnsTaru_Method = .data:0x000000DC; // type:object size:0x20 scope:global
l_daOnsTaru_Method = .data:0x000000DC; // type:object size:0x20 scope:local
g_profile_Obj_OnsenTaru = .data:0x000000FC; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x0000012C; // type:object size:0xC scope:global
__vt__10cCcD_GStts = .data:0x00000138; // type:object size:0xC scope:global
@@ -91,5 +91,5 @@ __vt__18fOpAcm_HIO_entry_c = .data:0x000001B0; // type:object size:0xC scope:glo
__vt__14mDoHIO_entry_c = .data:0x000001BC; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3647 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0x10 scope:global data:byte
lbl_588_bss_24 = .bss:0x00000024; // type:object size:0x1 data:byte
l_HIO = .bss:0x00000014; // type:object size:0x10 scope:local data:byte
init$1920 = .bss:0x00000024; // type:object size:0x1 scope:local data:byte
+20 -20
View File
@@ -1,7 +1,7 @@
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000078; // type:function size:0x28 scope:global
rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000078; // type:function size:0x28 scope:local
create1st__13daObjPDtile_cFv = .text:0x000000A0; // type:function size:0x1A0 scope:global
setMtx__13daObjPDtile_cFv = .text:0x00000240; // type:function size:0x110 scope:global
rideActor__13daObjPDtile_cFP10fopAc_ac_c = .text:0x00000350; // type:function size:0x260 scope:global
@@ -11,13 +11,13 @@ Execute__13daObjPDtile_cFPPA3_A4_f = .text:0x00000734; // type:function size:0xB
__dt__14dBgS_ObjGndChkFv = .text:0x00001298; // type:function size:0x78 scope:global
Draw__13daObjPDtile_cFv = .text:0x00001310; // type:function size:0x144 scope:global
Delete__13daObjPDtile_cFv = .text:0x00001454; // type:function size:0x44 scope:global
daObjPDtile_create1st__FP13daObjPDtile_c = .text:0x00001498; // type:function size:0xFC scope:global
daObjPDtile_create1st__FP13daObjPDtile_c = .text:0x00001498; // type:function size:0xFC scope:local
__dt__8cM3dGCylFv = .text:0x00001594; // type:function size:0x48 scope:global
__dt__8cM3dGAabFv = .text:0x000015DC; // type:function size:0x48 scope:global
__dt__10dCcD_GSttsFv = .text:0x00001624; // type:function size:0x5C scope:global
daObjPDtile_MoveBGDelete__FP13daObjPDtile_c = .text:0x00001680; // type:function size:0x20 scope:global
daObjPDtile_MoveBGExecute__FP13daObjPDtile_c = .text:0x000016A0; // type:function size:0x20 scope:global
daObjPDtile_MoveBGDraw__FP13daObjPDtile_c = .text:0x000016C0; // type:function size:0x2C scope:global
daObjPDtile_MoveBGDelete__FP13daObjPDtile_c = .text:0x00001680; // type:function size:0x20 scope:local
daObjPDtile_MoveBGExecute__FP13daObjPDtile_c = .text:0x000016A0; // type:function size:0x20 scope:local
daObjPDtile_MoveBGDraw__FP13daObjPDtile_c = .text:0x000016C0; // type:function size:0x2C scope:local
__dt__10cCcD_GSttsFv = .text:0x000016EC; // type:function size:0x48 scope:global
__dt__13daObjPDtile_cFv = .text:0x00001734; // type:function size:0x178 scope:global
@20@__dt__14dBgS_ObjGndChkFv = .text:0x000018AC; // type:function size:0x8 scope:local
@@ -56,22 +56,22 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4256 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float
@stringBase0 = .rodata:0x00000074; // type:object size:0x1C scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
l_arcName4 = .data:0x00000020; // type:object size:0x4 scope:global
l_dzbidx4 = .data:0x00000024; // type:object size:0x8 scope:global
l_bmdidx4 = .data:0x0000002C; // type:object size:0x8 scope:global
l_cull_box4 = .data:0x00000034; // type:object size:0x30 scope:global
l_arcName7 = .data:0x00000064; // type:object size:0x4 scope:global
l_dzbidx7 = .data:0x00000068; // type:object size:0x4 scope:global
l_bmdidx7 = .data:0x0000006C; // type:object size:0x4 scope:global
l_cull_box7 = .data:0x00000070; // type:object size:0x18 scope:global
l_arcName9 = .data:0x00000088; // type:object size:0x4 scope:global
l_dzbidx9 = .data:0x0000008C; // type:object size:0x4 scope:global
l_bmdidx9 = .data:0x00000090; // type:object size:0x4 scope:global
l_cull_box9 = .data:0x00000094; // type:object size:0x18 scope:global
cc_cyl_src = .data:0x000000AC; // type:object size:0x44 scope:global
daObjPDtile_METHODS = .data:0x000000F0; // type:object size:0x20 scope:global
l_arcName4 = .data:0x00000020; // type:object size:0x4 scope:local
l_dzbidx4 = .data:0x00000024; // type:object size:0x8 scope:local
l_bmdidx4 = .data:0x0000002C; // type:object size:0x8 scope:local
l_cull_box4 = .data:0x00000034; // type:object size:0x30 scope:local
l_arcName7 = .data:0x00000064; // type:object size:0x4 scope:local
l_dzbidx7 = .data:0x00000068; // type:object size:0x4 scope:local
l_bmdidx7 = .data:0x0000006C; // type:object size:0x4 scope:local
l_cull_box7 = .data:0x00000070; // type:object size:0x18 scope:local
l_arcName9 = .data:0x00000088; // type:object size:0x4 scope:local
l_dzbidx9 = .data:0x0000008C; // type:object size:0x4 scope:local
l_bmdidx9 = .data:0x00000090; // type:object size:0x4 scope:local
l_cull_box9 = .data:0x00000094; // type:object size:0x18 scope:local
cc_cyl_src = .data:0x000000AC; // type:object size:0x44 scope:local
daObjPDtile_METHODS = .data:0x000000F0; // type:object size:0x20 scope:local
g_profile_Obj_PDtile = .data:0x00000110; // type:object size:0x30 scope:global
__vt__10cCcD_GStts = .data:0x00000140; // type:object size:0xC scope:global
__vt__10dCcD_GStts = .data:0x0000014C; // type:object size:0xC scope:global
+32 -32
View File
@@ -3,7 +3,7 @@ _epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
bound__FP4cXyzRC13cBgS_PolyInfof = .text:0x00000078; // type:function size:0x2E4 scope:global
__dt__8cM3dGPlaFv = .text:0x0000035C; // type:function size:0x48 scope:global
CheckCreateHeap__FP10fopAc_ac_c = .text:0x000003A4; // type:function size:0x20 scope:global
CheckCreateHeap__FP10fopAc_ac_c = .text:0x000003A4; // type:function size:0x20 scope:local
initBaseMtx__12daObjStone_cFv = .text:0x000003C4; // type:function size:0xA4 scope:global
setBaseMtx__12daObjStone_cFv = .text:0x00000468; // type:function size:0xD8 scope:global
Create__12daObjStone_cFv = .text:0x00000540; // type:function size:0x280 scope:global
@@ -40,10 +40,10 @@ set_carry_eff__12daObjStone_cFv = .text:0x000036D8; // type:function size:0x104
effect_delete__12daObjStone_cFb = .text:0x000037DC; // type:function size:0xAC scope:global
draw__12daObjStone_cFv = .text:0x00003888; // type:function size:0xC0 scope:global
_delete__12daObjStone_cFv = .text:0x00003948; // type:function size:0x74 scope:global
daObjStone_Draw__FP12daObjStone_c = .text:0x000039BC; // type:function size:0x20 scope:global
daObjStone_Execute__FP12daObjStone_c = .text:0x000039DC; // type:function size:0x20 scope:global
daObjStone_Delete__FP12daObjStone_c = .text:0x000039FC; // type:function size:0x20 scope:global
daObjStone_Create__FP10fopAc_ac_c = .text:0x00003A1C; // type:function size:0x20 scope:global
daObjStone_Draw__FP12daObjStone_c = .text:0x000039BC; // type:function size:0x20 scope:local
daObjStone_Execute__FP12daObjStone_c = .text:0x000039DC; // type:function size:0x20 scope:local
daObjStone_Delete__FP12daObjStone_c = .text:0x000039FC; // type:function size:0x20 scope:local
daObjStone_Create__FP10fopAc_ac_c = .text:0x00003A1C; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00003A3C; // type:function size:0x48 scope:global
@36@__dt__12dBgS_ObjAcchFv = .text:0x00003A84; // type:function size:0x8 scope:local
@20@__dt__12dBgS_ObjAcchFv = .text:0x00003A8C; // type:function size:0x8 scope:local
@@ -53,29 +53,29 @@ __dt__10cCcD_GSttsFv = .text:0x00003A3C; // type:function size:0x48 scope:global
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
...rodata.0 = .rodata:0x00000000; // type:label scope:local
l_bmdIdx = .rodata:0x00000000; // type:object size:0x8 scope:global
l_sph_src = .rodata:0x00000008; // type:object size:0x40 scope:global
l_r = .rodata:0x00000048; // type:object size:0x8 scope:global
l_rolling_speedF = .rodata:0x00000050; // type:object size:0x8 scope:global
l_rolling_time = .rodata:0x00000058; // type:object size:0x8 scope:global
l_initial_offsetY = .rodata:0x00000060; // type:object size:0x8 scope:global
l_put_offsetY = .rodata:0x00000068; // type:object size:0x8 scope:global
l_weight = .rodata:0x00000070; // type:object size:0x2 scope:global
l_speedH = .rodata:0x00000074; // type:object size:0x8 scope:global
l_speedV = .rodata:0x0000007C; // type:object size:0x8 scope:global
l_water_speedH = .rodata:0x00000084; // type:object size:0x8 scope:global
l_water_speedV = .rodata:0x0000008C; // type:object size:0x8 scope:global
l_water_resist = .rodata:0x00000094; // type:object size:0x8 scope:global
l_water_walk_resist = .rodata:0x0000009C; // type:object size:0x8 scope:global
l_buoyancy = .rodata:0x000000A4; // type:object size:0x8 scope:global
l_shadow_size = .rodata:0x000000AC; // type:object size:0x8 scope:global
l_wpillar_scl = .rodata:0x000000B4; // type:object size:0x8 scope:global
l_hamon_scl = .rodata:0x000000BC; // type:object size:0x8 scope:global
l_yogan_eff_scl = .rodata:0x000000C4; // type:object size:0x8 scope:global
l_wall_h = .rodata:0x000000CC; // type:object size:0x8 scope:global
l_wall_r = .rodata:0x000000D4; // type:object size:0x8 scope:global
l_rot_angle = .rodata:0x000000DC; // type:object size:0x4 scope:global
l_walk_rot_angle = .rodata:0x000000E0; // type:object size:0x4 scope:global
l_bmdIdx = .rodata:0x00000000; // type:object size:0x8 scope:local
l_sph_src = .rodata:0x00000008; // type:object size:0x40 scope:local
l_r = .rodata:0x00000048; // type:object size:0x8 scope:local
l_rolling_speedF = .rodata:0x00000050; // type:object size:0x8 scope:local
l_rolling_time = .rodata:0x00000058; // type:object size:0x8 scope:local
l_initial_offsetY = .rodata:0x00000060; // type:object size:0x8 scope:local
l_put_offsetY = .rodata:0x00000068; // type:object size:0x8 scope:local
l_weight = .rodata:0x00000070; // type:object size:0x2 scope:local
l_speedH = .rodata:0x00000074; // type:object size:0x8 scope:local
l_speedV = .rodata:0x0000007C; // type:object size:0x8 scope:local
l_water_speedH = .rodata:0x00000084; // type:object size:0x8 scope:local
l_water_speedV = .rodata:0x0000008C; // type:object size:0x8 scope:local
l_water_resist = .rodata:0x00000094; // type:object size:0x8 scope:local
l_water_walk_resist = .rodata:0x0000009C; // type:object size:0x8 scope:local
l_buoyancy = .rodata:0x000000A4; // type:object size:0x8 scope:local
l_shadow_size = .rodata:0x000000AC; // type:object size:0x8 scope:local
l_wpillar_scl = .rodata:0x000000B4; // type:object size:0x8 scope:local
l_hamon_scl = .rodata:0x000000BC; // type:object size:0x8 scope:local
l_yogan_eff_scl = .rodata:0x000000C4; // type:object size:0x8 scope:local
l_wall_h = .rodata:0x000000CC; // type:object size:0x8 scope:local
l_wall_r = .rodata:0x000000D4; // type:object size:0x8 scope:local
l_rot_angle = .rodata:0x000000DC; // type:object size:0x4 scope:local
l_walk_rot_angle = .rodata:0x000000E0; // type:object size:0x4 scope:local
@3746 = .rodata:0x000000E4; // type:object size:0x4 scope:local
@3747 = .rodata:0x000000E8; // type:object size:0x8 scope:local
@3748 = .rodata:0x000000F0; // type:object size:0x8 scope:local
@@ -112,9 +112,9 @@ l_eff_id$5089 = .rodata:0x0000016C; // type:object size:0x6 scope:local
l_carry_eff_id$5307 = .rodata:0x00000180; // type:object size:0x6 scope:local
@stringBase0 = .rodata:0x00000188; // type:object size:0x17 scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
l_arcName = .data:0x00000020; // type:object size:0x8 scope:local
@4015 = .data:0x00000028; // type:object size:0xC scope:local
@4016 = .data:0x00000034; // type:object size:0xC scope:local
@4017 = .data:0x00000040; // type:object size:0xC scope:local
@@ -123,7 +123,7 @@ l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
@4020 = .data:0x00000064; // type:object size:0xC scope:local
@4021 = .data:0x00000070; // type:object size:0xC scope:local
l_func$4014 = .data:0x0000007C; // type:object size:0x54 scope:local
l_daObjStone_Method = .data:0x000000D0; // type:object size:0x20 scope:global
l_daObjStone_Method = .data:0x000000D0; // type:object size:0x20 scope:local
g_profile_Obj_Stone = .data:0x000000F0; // type:object size:0x30 scope:global
__vt__14dBgS_ObjGndChk = .data:0x00000120; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x00000150; // type:object size:0xC scope:global
@@ -133,4 +133,4 @@ __vt__8cM3dGSph = .data:0x00000174; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x00000180; // type:object size:0xC scope:global
__vt__12dBgS_ObjAcch = .data:0x0000018C; // type:object size:0x24 scope:global
__vt__8cM3dGPla = .data:0x000001B0; // type:object size:0xC scope:global
lbl_633_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
lbl_633_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
@@ -37,10 +37,10 @@ mode_init_sink__11daWdStick_cFv = .text:0x00002308; // type:function size:0x24 s
mode_proc_sink__11daWdStick_cFv = .text:0x0000232C; // type:function size:0x124 scope:global
Draw__11daWdStick_cFv = .text:0x00002450; // type:function size:0x64 scope:global
Delete__11daWdStick_cFv = .text:0x000024B4; // type:function size:0x30 scope:global
daWdStick_Draw__FP11daWdStick_c = .text:0x000024E4; // type:function size:0x2C scope:global
daWdStick_Execute__FP11daWdStick_c = .text:0x00002510; // type:function size:0x2C scope:global
daWdStick_Delete__FP11daWdStick_c = .text:0x0000253C; // type:function size:0x2C scope:global
daWdStick_Create__FP10fopAc_ac_c = .text:0x00002568; // type:function size:0x20 scope:global
daWdStick_Draw__FP11daWdStick_c = .text:0x000024E4; // type:function size:0x2C scope:local
daWdStick_Execute__FP11daWdStick_c = .text:0x00002510; // type:function size:0x2C scope:local
daWdStick_Delete__FP11daWdStick_c = .text:0x0000253C; // type:function size:0x2C scope:local
daWdStick_Create__FP10fopAc_ac_c = .text:0x00002568; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00002588; // type:function size:0x48 scope:global
__dt__15daWdStick_HIO_cFv = .text:0x000025D0; // type:function size:0x5C scope:global
__sinit_d_a_obj_wdStick_cpp = .text:0x0000262C; // type:function size:0x70 scope:local
@@ -94,7 +94,7 @@ mCcDObjInfo__11daWdStick_c = .rodata:0x00000000; // type:object size:0x30 scope:
@4780 = .rodata:0x000000D4; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x000000D8; // type:object size:0xA scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
mCcDSph__11daWdStick_c = .data:0x00000020; // type:object size:0x40 scope:global
@4470 = .data:0x00000060; // type:object size:0xC scope:local
@@ -103,7 +103,7 @@ mCcDSph__11daWdStick_c = .data:0x00000020; // type:object size:0x40 scope:global
@4473 = .data:0x00000084; // type:object size:0xC scope:local
@4474 = .data:0x00000090; // type:object size:0xC scope:local
l_mode_func$4469 = .data:0x0000009C; // type:object size:0x3C scope:local
l_daWdStick_Method = .data:0x000000D8; // type:object size:0x20 scope:global
l_daWdStick_Method = .data:0x000000D8; // type:object size:0x20 scope:local
g_profile_Obj_WdStick = .data:0x000000F8; // type:object size:0x30 scope:global
__vt__14dBgS_ObjGndChk = .data:0x00000128; // type:object size:0x30 scope:global
__vt__8cM3dGPla = .data:0x00000158; // type:object size:0xC scope:global
@@ -118,5 +118,5 @@ __vt__15daWdStick_HIO_c = .data:0x000001DC; // type:object size:0xC scope:global
__vt__14mDoHIO_entry_c = .data:0x000001E8; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3643 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:2byte
lbl_683_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte
l_HIO = .bss:0x00000014; // type:object size:0xC scope:local data:2byte
lbl_683_bss_20 = .bss:0x00000020; // type:object size:0x1 scope:local data:byte
+8 -8
View File
@@ -851,7 +851,7 @@ config.libs = [
Object(Matching, "Z2AudioLib/Z2Calc.cpp"),
Object(NonMatching, "Z2AudioLib/Z2AudioArcLoader.cpp"),
Object(Matching, "Z2AudioLib/Z2Param.cpp"),
Object(NonMatching, "Z2AudioLib/Z2SoundMgr.cpp"),
Object(Matching, "Z2AudioLib/Z2SoundMgr.cpp"),
Object(Matching, "Z2AudioLib/Z2SoundStarter.cpp"),
Object(NonMatching, "Z2AudioLib/Z2SoundHandles.cpp"),
Object(NonMatching, "Z2AudioLib/Z2SeMgr.cpp"),
@@ -1698,7 +1698,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_ks"),
ActorRel(NonMatching, "d_a_npc_kyury"),
ActorRel(NonMatching, "d_a_npc_len"),
ActorRel(NonMatching, "d_a_npc_lf"),
ActorRel(Matching, "d_a_npc_lf"),
ActorRel(NonMatching, "d_a_npc_lud"),
ActorRel(NonMatching, "d_a_npc_midp"),
ActorRel(Matching, "d_a_npc_mk"),
@@ -1796,7 +1796,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_crvhahen"),
ActorRel(NonMatching, "d_a_obj_crvlh_down"),
ActorRel(NonMatching, "d_a_obj_crvlh_up"),
ActorRel(NonMatching, "d_a_obj_crvsteel"),
ActorRel(Matching, "d_a_obj_crvsteel"),
ActorRel(Matching, "d_a_obj_crystal"),
ActorRel(NonMatching, "d_a_obj_cwall"),
ActorRel(Matching, "d_a_obj_damCps"),
@@ -1859,7 +1859,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_kago"),
ActorRel(NonMatching, "d_a_obj_kaisou"),
ActorRel(NonMatching, "d_a_obj_kamakiri"),
ActorRel(NonMatching, "d_a_obj_kantera"),
ActorRel(Matching, "d_a_obj_kantera"),
ActorRel(NonMatching, "d_a_obj_katatsumuri"),
ActorRel(Matching, "d_a_obj_kazeneko"),
ActorRel(NonMatching, "d_a_obj_kbox"),
@@ -1953,9 +1953,9 @@ config.libs = [
ActorRel(Matching, "d_a_obj_oiltubo"),
ActorRel(Matching, "d_a_obj_onsen"),
ActorRel(Matching, "d_a_obj_onsenFire"),
ActorRel(NonMatching, "d_a_obj_onsenTaru"),
ActorRel(Matching, "d_a_obj_onsenTaru"),
ActorRel(NonMatching, "d_a_obj_pdoor"),
ActorRel(NonMatching, "d_a_obj_pdtile"),
ActorRel(Matching, "d_a_obj_pdtile"),
ActorRel(NonMatching, "d_a_obj_pdwall"),
ActorRel(NonMatching, "d_a_obj_picture"),
ActorRel(Matching, "d_a_obj_pillar"),
@@ -1998,7 +1998,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_ss_drink"),
ActorRel(Matching, "d_a_obj_ss_item"),
ActorRel(NonMatching, "d_a_obj_stairBlock"),
ActorRel(NonMatching, "d_a_obj_stone"),
ActorRel(Equivalent, "d_a_obj_stone"),
ActorRel(NonMatching, "d_a_obj_stopper"),
ActorRel(NonMatching, "d_a_obj_stopper2"),
ActorRel(Matching, "d_a_obj_suisya"),
@@ -2048,7 +2048,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_waterPillar"),
ActorRel(Matching, "d_a_obj_waterfall"),
ActorRel(NonMatching, "d_a_obj_wchain"),
ActorRel(NonMatching, "d_a_obj_wdStick"),
ActorRel(Matching, "d_a_obj_wdStick"),
ActorRel(NonMatching, "d_a_obj_web0"),
ActorRel(Matching, "d_a_obj_web1"),
ActorRel(Matching, "d_a_obj_well_cover"),
+1 -1
View File
@@ -19,7 +19,7 @@ public:
JAISoundID() {}
bool isAnonymous() { return mId.mFullId == 0xffffffff; }
bool isAnonymous() const { return mId.mFullId == 0xffffffff; }
void setAnonymous() { mId.mFullId = -1; }
union {
+1
View File
@@ -45,6 +45,7 @@ enum cCcD_ObjAtType {
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
/* 0x00008000 */ AT_TYPE_8000 = (1 << 15),
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
/* 0x00020000 */ AT_TYPE_20000 = (1 << 17),
/* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
/* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
/* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
+2 -2
View File
@@ -215,8 +215,8 @@ struct Z2Audience : public JAIAudience, public JASGlobalInstance<Z2Audience> {
/* 802BD71C */ virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int);
Z2SpotMic* getLinkMic() { return mLinkMic; }
JGeometry::TVec3<f32> getAudioCamPos() {
return *mAudioCamera[0].getPos();
JGeometry::TVec3<f32> getAudioCamPos(int idx) {
return *mAudioCamera[idx].getPos();
}
Z2Audience3DSetting* getSetting() { return &mSetting; }
+2 -2
View File
@@ -8,8 +8,8 @@ struct lf_s {
/* 80A6A8E0 */ lf_s();
/* 0x00 */ J3DModel* mpModel;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ csXyz field_0x10;
/* 0x04 */ cXyz mPos;
/* 0x10 */ csXyz mAngle;
/* 0x16 */ s8 field_0x16;
/* 0x17 */ s8 field_0x17;
/* 0x18 */ s16 field_0x18;
+24 -8
View File
@@ -1,6 +1,9 @@
#ifndef D_A_OBJ_CRVSTEEL_H
#define D_A_OBJ_CRVSTEEL_H
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,7 +14,7 @@
* @details
*
*/
class daObjCRVSTEEL_c : public fopAc_ac_c {
class daObjCRVSTEEL_c : public dBgS_MoveBgActor {
public:
/* 80BD5BFC */ void OpenSet(f32, f32);
/* 80BD5C18 */ void CloseSet(f32);
@@ -19,15 +22,28 @@ public:
/* 80BD5CA0 */ void OpenExecute();
/* 80BD5CC8 */ void Action();
/* 80BD5D10 */ void setBaseMtx();
/* 80BD5DB8 */ void CreateHeap();
/* 80BD5E30 */ void create();
/* 80BD60A8 */ void Create();
/* 80BD60EC */ void Execute(f32 (**)[3][4]);
/* 80BD6138 */ void Draw();
/* 80BD61BC */ void Delete();
/* 80BD5DB8 */ int CreateHeap();
/* 80BD5E30 */ int create();
/* 80BD60A8 */ int Create();
/* 80BD60EC */ int Execute(Mtx**);
/* 80BD6138 */ int Draw();
/* 80BD61BC */ int Delete();
private:
/* 0x568 */ u8 field_0x568[0x848 - 0x568];
/* 0x5A0 */ u32 mSmokeParticle1;
/* 0x5A4 */ u32 mSmokeParticle2;
/* 0x5A8 */ s16 mAction;
/* 0x5AC */ f32 mMaxHeight;
/* 0x5B0 */ f32 mMinHeight;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ J3DModel* mModel;
/* 0x5C4 */ request_of_phase_process_class mPhase;
/* 0x5CC */ dBgS_AcchCir mAcchCir;
/* 0x60C */ dBgS_ObjAcch mAcch;
/* 0x7E4 */ dCcD_Stts mStts;
/* 0x820 */ u8 field_0x820[0x848 - 0x820];
};
STATIC_ASSERT(sizeof(daObjCRVSTEEL_c) == 0x848);
+2
View File
@@ -13,6 +13,8 @@
*/
class daItemKantera_c : public daItemBase_c {
public:
typedef int (daItemKantera_c::*actionFunc)();
/* 80C389BC */ void initBaseMtx();
/* 80C389F8 */ void setBaseMtx();
/* 80C38A64 */ int Create();
+48 -9
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_PDTILE_H
#define D_A_OBJ_PDTILE_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,20 +13,57 @@
* @details
*
*/
class daObjPDtile_c : public fopAc_ac_c {
class daObjPDtile_c : public dBgS_MoveBgActor, request_of_phase_process_class {
public:
/* 80CAACE0 */ void create1st();
enum Type {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
TYPE_4,
};
/* 80CAACE0 */ int create1st();
/* 80CAAE80 */ void setMtx();
/* 80CAAF90 */ void rideActor(fopAc_ac_c*);
/* 80CAB1F0 */ void CreateHeap();
/* 80CAB258 */ void Create();
/* 80CAB374 */ void Execute(f32 (**)[3][4]);
/* 80CABF50 */ void Draw();
/* 80CAC094 */ void Delete();
/* 80CAC374 */ ~daObjPDtile_c();
/* 80CAB1F0 */ int CreateHeap();
/* 80CAB258 */ int Create();
/* 80CAB374 */ int Execute(Mtx**);
/* 80CABF50 */ int Draw();
/* 80CAC094 */ int Delete();
/* 80CAC374 */ virtual ~daObjPDtile_c() {}
u8 getType() { return fopAcM_GetParamBit(this, 0, 4); }
private:
/* 0x568 */ u8 field_0x568[0x7fc - 0x568];
/* 0x5A8 */ Mtx mBgMtx;
/* 0x5D8 */ Mtx field_0x5d8;
/* 0x608 */ J3DModel* mModel;
/* 0x60C */ Type mType;
/* 0x610 */ int field_0x610;
/* 0x614 */ u8 field_0x614;
/* 0x618 */ int field_0x618;
/* 0x61C */ f32 field_0x61c;
/* 0x620 */ cXyz field_0x620;
/* 0x62C */ f32 field_0x62c;
/* 0x630 */ u8 field_0x630;
/* 0x634 */ dCcD_Stts mStts;
/* 0x670 */ dCcD_Cyl mCyl;
/* 0x7AC */ int field_0x7ac;
/* 0x7B0 */ s16 field_0x7b0;
/* 0x7B2 */ s16 field_0x7b2;
/* 0x7B4 */ u8 field_0x7b4;
/* 0x7B5 */ u8 field_0x7b5;
/* 0x7B8 */ int field_0x7b8;
/* 0x7BC */ char* mArcName;
/* 0x7C0 */ u32 mDzbId;
/* 0x7C4 */ u32 mBmdId;
/* 0x7C8 */ Vec* mCullBox;
/* 0x7CC */ f32 field_0x7cc;
/* 0x7D0 */ u8 field_0x7d0;
/* 0x7D4 */ int field_0x7d4;
/* 0x7D8 */ int field_0x7d8;
/* 0x7DC */ Z2SoundObjSimple mSoundObj;
};
STATIC_ASSERT(sizeof(daObjPDtile_c) == 0x7fc);
+8 -3
View File
@@ -18,6 +18,8 @@ enum {
*/
class daObjStone_c : public fopAc_ac_c {
public:
typedef void (daObjStone_c::*modeFunc)();
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
u8 getItemType() { return fopAcM_GetParamBit(this,4,2); }
u8 getItemNo() { return fopAcM_GetParamBit(this,8,8); }
@@ -67,7 +69,7 @@ private:
/* 0x0908 */ u8 field_0x0908;
/* 0x090C */ u32 mMode; // maybe a better name for this
/* 0x0910 */ cXyz field_0x0910;
/* 0x091C */ u16 field_0x091c;
/* 0x091C */ s16 field_0x091c;
/* 0x091E */ u8 field_0x091E[0x0920 - 0x091E];
/* 0x0920 */ Quaternion field_0x0920;
/* 0x0930 */ Quaternion field_0x0930;
@@ -75,11 +77,14 @@ private:
/* 0x0944 */ f32 mLastPosY;
/* 0x0948 */ f32 mLastSpeedY; // maybe a better name for this
/* 0x094C */ u8 field_0x094c;
/* 0x094C */ u8 field_0x094d;
/* 0x094D */ u8 field_0x094d;
/* 0x094E */ bool mIsInWater;
/* 0x094F */ u8 field_0x094f;
/* 0x0950 */ u8 field_0x0950;
/* 0x0951 */ u8 field_0x0951[0x0960 - 0x0951];
/* 0x0951 */ u8 field_0x0951;
/* 0x0954 */ u32 field_0x0954;
/* 0x0954 */ u32 field_0x0958;
/* 0x0954 */ u32 field_0x095c;
/* 0x0960 */ u32 field_0x0960;
/* 0x0964 */ JPABaseEmitter* field_0x0964[3];
/* 0x0970 */ Z2SoundObjSimple mSound;
+57 -12
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_WDSTICK_H
#define D_A_OBJ_WDSTICK_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -13,14 +15,24 @@
*/
class daWdStick_c : public fopAc_ac_c {
public:
typedef void (daWdStick_c::*modeFunc)();
enum Mode {
MODE_WAIT,
MODE_CARRY,
MODE_DROP,
MODE_ROLL,
MODE_SINK,
};
/* 80D31BD0 */ void setBaseMtx();
/* 80D31C58 */ void CreateHeap();
/* 80D31CC4 */ void create();
/* 80D32168 */ void createHeapCallBack(fopAc_ac_c*);
/* 80D31C58 */ virtual int CreateHeap();
/* 80D31CC4 */ int create();
/* 80D32168 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80D32194 */ void lightInit();
/* 80D32198 */ void setLight();
/* 80D3219C */ void setFire();
/* 80D3269C */ void Execute();
/* 80D3269C */ virtual int Execute();
/* 80D32DB4 */ void bgCheck();
/* 80D33348 */ void setBoundSe();
/* 80D333F4 */ void mode_proc_call();
@@ -32,25 +44,58 @@ public:
/* 80D33890 */ void mode_proc_drop();
/* 80D338DC */ void mode_init_roll();
/* 80D338F4 */ void mode_proc_roll();
/* 80D33D44 */ void chkWaterLineIn();
/* 80D33D44 */ BOOL chkWaterLineIn();
/* 80D33D68 */ void mode_init_sink();
/* 80D33D8C */ void mode_proc_sink();
/* 80D33EB0 */ void Draw();
/* 80D33F14 */ void Delete();
/* 80D33EB0 */ virtual int Draw();
/* 80D33F14 */ virtual int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDSph[64];
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcSph mCcDSph;
private:
/* 0x568 */ u8 field_0x568[0xaf8 - 0x568];
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ u8 mMode;
/* 0x579 */ bool misCarrying;
/* 0x57C */ cXyz field_0x57c;
/* 0x588 */ u8 field_0x588[0x594 - 0x588];
/* 0x594 */ cXyz field_0x594;
/* 0x5A0 */ dBgS_ObjAcch mAcch;
/* 0x778 */ dBgS_AcchCir mAcchCir;
/* 0x7B8 */ dCcD_Stts mStts;
/* 0x7F4 */ dCcD_Sph mSph1;
/* 0x92C */ dCcD_Sph mSph2;
/* 0xA64 */ cXyz field_0xa64;
/* 0xA70 */ cXyz field_0xa70;
/* 0xA7C */ cXyz field_0xa7c;
/* 0xA88 */ cXyz field_0xa88;
/* 0xA94 */ cXyz field_0xa94;
/* 0xAA0 */ cXyz field_0xaa0;
/* 0xAAC */ u8 field_0xaac;
/* 0xAAD */ u8 field_0xaad;
/* 0xAAE */ u16 field_0xaae;
/* 0xAB0 */ u16 field_0xab0;
/* 0xAB4 */ cXyz field_0xab4;
/* 0xAC0 */ cXyz field_0xac0;
/* 0xACC */ cXyz field_0xacc;
/* 0xAD8 */ cXyz field_0xad8;
/* 0xAE4 */ u32 field_0xae4[2];
/* 0xAEC */ u32 field_0xaec[2];
/* 0xAF4 */ u8 field_0xaf4;
};
STATIC_ASSERT(sizeof(daWdStick_c) == 0xaf8);
class daWdStick_HIO_c {
class daWdStick_HIO_c : public mDoHIO_entry_c {
public:
/* 80D31B4C */ daWdStick_HIO_c();
/* 80D34030 */ ~daWdStick_HIO_c();
/* 80D34030 */ virtual ~daWdStick_HIO_c() {}
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ s16 field_0x06;
/* 0x08 */ u8 field_0x08;
};
+1
View File
@@ -894,6 +894,7 @@ public:
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
bool getHeavyStateAndBoots() { return checkNoResetFlg0(FLG0_HVY_STATE); }
bool checkEnemyAttentionLock() const { return checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); }
bool getGrabUpStart() const { return checkResetFlg0(RFLG0_UNK_8000); }
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
bool checkGoatStopGame() const { return mSpecialMode == 0x2A; }
u8 getCutType() const { return mCutType; }
+11 -8
View File
@@ -119,7 +119,7 @@ void Z2SeMgr::modHeightAtCamera(Vec const** param_0) {
}
}
field_0x340[idx] = **param_0;
Vec cam_pos = Z2GetAudience()->getAudioCamPos();
Vec cam_pos = Z2GetAudience()->getAudioCamPos(0);
if (field_0x340[idx].y > cam_pos.y) {
field_0x340[idx].y = cam_pos.y;
}
@@ -266,19 +266,19 @@ bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_
break;
case Z2SE_SY_TALK_START:
case Z2SE_SY_TALK_END:
if (Z2GetSceneMgr()->getCurrentSceneNum() != 0) {
if (Z2GetStatusMgr()->getDemoStatus() != 0) {
return false;
}
break;
case Z2SE_SY_TALK_NEXT:
if (Z2GetSceneMgr()->isMovieDemo()) {
if (Z2GetStatusMgr()->isMovieDemo()) {
i_soundID = Z2SE_SY_DEMO_MESSAGE_NEXT;
}
break;
case Z2SE_SY_TALK_WIN_CLOSE:
if (Z2GetSceneMgr()->getCurrentSceneNum() == 1) {
if (Z2GetStatusMgr()->getDemoStatus() == 1) {
i_soundID = Z2SE_SY_TALK_END;
} else if (Z2GetSceneMgr()->isMovieDemo()) {
} else if (Z2GetStatusMgr()->isMovieDemo()) {
i_soundID = Z2SE_SY_DEMO_MESSAGE_END;
}
break;
@@ -287,11 +287,13 @@ bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_
return false;
}
break;
case Z2SE_OBJ_CHANDELIER_SWING:
if (i_pos->y > Z2GetAudience()->getAudioCamPos().y) {
case Z2SE_OBJ_CHANDELIER_SWING: {
Vec tmp = Z2GetAudience()->getAudioCamPos(0);
if (i_pos->y > tmp.y) {
return false;
}
break;
}
case Z2SE_OBJ_CHANDLV5_SWING:
i_volume = Z2Calc::getParamByExp(param_2, 35.0f, 261.0f, 0.4f, 0.05f, 1.0f,
Z2Calc::CURVE_SIGN_2);
@@ -313,7 +315,8 @@ bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_
Z2Calc::CURVE_SIGN_2);
break;
case Z2SE_OBJ_L8_B_FOG_FLY:
if (i_pos->y > Z2GetAudience()->getAudioCamPos().y) {
Vec tmp = Z2GetAudience()->getAudioCamPos(0);
if (i_pos->y > tmp.y) {
return false;
}
break;
-4
View File
@@ -1,5 +1,4 @@
//
// Generated By: dol2asm
// Translation Unit: Z2SoundMgr
//
@@ -169,7 +168,6 @@ bool Z2SoundMgr::startSound(JAISoundID i_soundID, JAISoundHandle* i_handle,
/* 802AA1B0-802AA270 2A4AF0 00C0+00 2/2 0/0 0/0 .text calc__10Z2SoundMgrFv */
// NONMATCHING extra load
void Z2SoundMgr::calc() {
mSeMgr.calc();
if (!mSoundID.isAnonymous() && !isPlayingSoundID(mSoundID)) {
@@ -358,7 +356,6 @@ void Z2SoundMgr::initParams() {
/* 802AA9E8-802AAAC4 2A5328 00DC+00 0/0 1/1 0/0 .text
* multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf */
// NONMATCHING extra load
void Z2SoundMgr::multiVolumeSoundID(JAISoundID i_soundID, f32 i_multi) {
if (!i_soundID.isAnonymous() && Z2GetSoundInfo()->getSoundType(i_soundID) == 0) {
JSUList<JAISe>* list =
@@ -373,7 +370,6 @@ void Z2SoundMgr::multiVolumeSoundID(JAISoundID i_soundID, f32 i_multi) {
/* 802AAAC4-802AAB94 2A5404 00D0+00 1/1 0/0 0/0 .text isPlayingSoundID__10Z2SoundMgrF10JAISoundID
*/
// NONMATCHING extra load
bool Z2SoundMgr::isPlayingSoundID(JAISoundID i_soundID) {
if (i_soundID.isAnonymous()) {
return false;
+1 -1
View File
@@ -463,7 +463,7 @@ void Z2WolfHowlMgr::startWindStoneSound(s8 param_0, Vec* param_1) {
if (param_1 == NULL || Z2GetLink() == NULL || Z2GetLink()->getCurrentPos() == NULL) {
return;
}
Vec local_60 = Z2GetAudience()->getAudioCamPos();
Vec local_60 = Z2GetAudience()->getAudioCamPos(0);
f32 dVar13 = sqrtf(VECSquareDistance(param_1, &local_60));
if (dVar13 > 2100.0f && field_0x04) {
field_0x04->stop();
+1 -1
View File
@@ -847,7 +847,7 @@ void daE_OctBg_c::damage_check() {
dScnPly_c::setPauseTimer(0);
field_0x8c0.ClrTgHit();
field_0x5bc.startCreatureVoice(Z2SE_EN_BG_V_DAMAGE, -1);
if (field_0xb30.mpCollider->ChkAtType(0x4000)) {
if (field_0xb30.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
setAction(&daE_OctBg_c::hook);
} else {
setAction(&daE_OctBg_c::damage);
+4 -4
View File
@@ -1362,12 +1362,11 @@ void daMyna_c::deleteItem(int i_itemIndex) {
}
/* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */
// Nonmatching, no clue what's going on here
void daMyna_c::deleteItem(fpc_ProcID i_itemId) {
for (int i = 0; i < mNumShopItems; i++) {
if (i_itemId == mShopItems[i].mTargetActorID) {
mShopItems[i].mTargetActorID = -1;
mShopItems[i].mItemStatus = 4;
mShopItems[i_itemId].mTargetActorID = -1;
mShopItems[i_itemId].mItemStatus = 4;
}
}
}
@@ -1791,7 +1790,7 @@ void daMyna_c::playDefaultWaitAnime() {
setAnimeType(1, 0.0f);
}
break;
case 6:
case 6: {
cXyz local_58;
cXyz local_64;
cXyz stack_70;
@@ -1818,6 +1817,7 @@ void daMyna_c::playDefaultWaitAnime() {
setAnimeType(1, 6.0f);
}
break;
}
case 5:
cXyz local_94;
cXyz stack_a0;
+81 -83
View File
@@ -55,7 +55,7 @@ static int daNPC_LF_Draw(npc_lf_class* i_this) {
for (int i = 0; i < i_this->mIter; i++, fish++) {
if (fish->field_0x17 == 0) {
if (j == 0) {
g_env_light.settingTevStruct(0, &fish->field_0x04, &i_this->tevStr);
g_env_light.settingTevStruct(0, &fish->mPos, &i_this->tevStr);
}
j++;
@@ -77,151 +77,150 @@ static u8 data_80A6AA90;
/* 80A6AAA0-80A6AABC 000018 001C+00 4/4 0/0 0/0 .bss l_HIO */
static daNPC_LF_HIO_c l_HIO;
f32 dummyLiteral1() { return 50.0f; }
f32 dummyLiteral2() { return 0.0f; }
/* 80A69D90-80A6A1B8 000310 0428+00 1/1 0/0 0/0 .text npc_lf_move__FP10fopAc_ac_cP4lf_s
*/
// NONMATCHING - still missing some instructions + float literals
static void npc_lf_move(fopAc_ac_c* param_0, lf_s* param_1) {
static void npc_lf_move(fopAc_ac_c* param_0, lf_s* pFish) {
cXyz pos;
s16 maxStepAngle;
f32 maxStep;
if ((u8)(param_1->field_0x18) == 0) {
param_1->mDistFromPlayer = fopAcM_searchPlayerDistance(param_0);
if ((pFish->field_0x18 & 7) == 0) {
pFish->mDistFromPlayer = fopAcM_searchPlayerDistance(param_0);
}
switch (param_1->field_0x1c) {
switch (pFish->field_0x1c) {
case 0:
if (param_1->field_0x38[0] == 0) {
if (pFish->field_0x38[0] == 0) {
for (int i = 0; i < 100; i++) {
param_1->field_0x20.x = param_0->home.pos.x + cM_rndFX(500.0f);
param_1->field_0x20.y = param_0->home.pos.y + cM_rndFX(100.0f);
param_1->field_0x20.z = param_0->home.pos.z + cM_rndFX(500.0f);
pFish->field_0x20.x = param_0->home.pos.x + cM_rndFX(500.0f);
pFish->field_0x20.y = param_0->home.pos.y + cM_rndFX(100.0f);
pFish->field_0x20.z = param_0->home.pos.z + cM_rndFX(500.0f);
pos = param_1->field_0x20 - param_1->field_0x04;
pos = pFish->field_0x20 - pFish->mPos;
pos.y = 0.0f;
if (pos.abs() > 250.0f) {
param_1->field_0x1c = 1;
param_1->field_0x38[0] = cM_rndF(30.0f) + 30.0f;
pFish->field_0x1c = 1;
pFish->field_0x38[0] = cM_rndF(30.0f) + 30.0f;
break;
}
}
}
param_1->field_0x40 = 0.1f;
maxStepAngle = 0x400;
maxStep = 0.5f;
break;
case 1:
if (param_1->field_0x38[0] != 0) {
param_1->field_0x1c = 0;
param_1->field_0x38[0] = cM_rndF(10.0f);
}
param_1->field_0x40 = l_HIO.field_0x0c;
pFish->field_0x40 = 0.1f;
maxStepAngle = 0;
maxStep = 0.05f;
break;
case 1:
if (pFish->field_0x38[0] == 0) {
pFish->field_0x1c = 0;
pFish->field_0x38[0] = 10.0f + cM_rndF(10.0f);
}
pFish->field_0x40 = l_HIO.field_0x0c;
maxStepAngle = 0x400;
maxStep = 0.5f;
break;
}
if (param_1->field_0x38[1] == 0) {
if (pFish->field_0x38[1] != 0) {
maxStep = 0.5f;
param_1->field_0x40 = l_HIO.field_0x14;
pFish->field_0x40 = l_HIO.field_0x14;
maxStepAngle = 0x600;
} else {
if (param_1->mDistFromPlayer < l_HIO.field_0x18) {
param_1->field_0x38[1] = cM_rndF(20.0f) + 20.0f;
if (pFish->mDistFromPlayer < l_HIO.field_0x18) {
pFish->field_0x38[1] = cM_rndF(20.0f) + 20.0f;
if (param_1->field_0x1c == 1)
param_1->field_0x1c = 0;
if (pFish->field_0x1c == 1)
pFish->field_0x1c = 0;
}
}
pos = param_1->field_0x20 - param_1->field_0x04;
s16 old_pos_y = param_1->field_0x10.y;
pos = pFish->field_0x20 - pFish->mPos;
s16 old_pos_y = pFish->mAngle.y;
cLib_addCalcAngleS2(&param_1->field_0x10.y, cM_atan2s(pos.x,pos.z),4,maxStepAngle);
cLib_addCalcAngleS2(&param_1->field_0x10.x, -cM_atan2s(pos.y,JMAFastSqrt((pos.x * pos.x) + (pos.z * pos.z))),4,maxStepAngle);
cLib_addCalcAngleS2(&pFish->mAngle.y, cM_atan2s(pos.x,pos.z),4,maxStepAngle);
cLib_addCalcAngleS2(&pFish->mAngle.x, -cM_atan2s(pos.y,JMAFastSqrt((pos.x * pos.x) + (pos.z * pos.z))),4,maxStepAngle);
f32 float1 = (old_pos_y - param_1->field_0x10.y);
float1 *= 5.0f;
f32 float2 = 4000.0f;
old_pos_y -= pFish->mAngle.y;
f32 float1 = old_pos_y * 5.0f;
if (float1 > 4000.0f) {
if (float1 < -4000.0f) {
float2 = -4000.0f;
}
float1 = 4000.0f;
} else {
float2 = 4000.0f;
if (float1 < -4000.0f) {
float1 = -4000.0f;
}
}
cLib_addCalc2(&param_1->field_0x58, float2, 0.5f, 1000.0f);
cLib_addCalc2(&param_1->field_0x44, (param_1->field_0x3c * l_HIO.field_0x08), 1.0f, maxStep);
cLib_addCalc2(&pFish->field_0x58, float1, 0.5f, 1000.0f);
cLib_addCalc2(&pFish->field_0x44, (pFish->field_0x3c * l_HIO.field_0x10), 1.0f, maxStep);
}
/* 80A6A1B8-80A6A420 000738 0268+00 1/1 0/0 0/0 .text action__FP10fopAc_ac_cP4lf_s */
// NONMATCHING - second for loop incorrect
static void action(fopAc_ac_c* param_0, lf_s* param_1) {
static void action(fopAc_ac_c* param_0, lf_s* pFish) {
cXyz pos;
param_1->field_0x18++;
pFish->field_0x18++;
for (int i = 0; i < 2; i++) {
if (param_1->field_0x38[i] != 0) {
param_1->field_0x38[i]--;
if (pFish->field_0x38[i] != 0) {
pFish->field_0x38[i]--;
}
}
switch (param_1->mActionMode) {
switch (pFish->mActionMode) {
case npc_lf_class::ACT_MOVE:
npc_lf_move(param_0,param_1);
npc_lf_move(param_0,pFish);
}
cMtx_YrotS(*calc_mtx,param_1->field_0x10.y);
cMtx_XrotM(*calc_mtx,param_1->field_0x10.x);
cMtx_YrotS(*calc_mtx,pFish->mAngle.y);
cMtx_XrotM(*calc_mtx,pFish->mAngle.x);
pos.x = 0.0f;
pos.y = 0.0f;
pos.z = param_1->field_0x44 * l_HIO.field_0x08;
pos.z = pFish->field_0x44 * l_HIO.field_0x08;
MtxPosition(&pos,&pos);
param_1->field_0x04 += pos;
pFish->mPos += pos;
cLib_addCalc2(&param_1->field_0x3c,param_1->field_0x40,1.0f,0.2f);
cLib_addCalc2(&param_1->field_0x5c,(param_1->field_0x3c * 2000.0f + 2000.0f),0.5f,200.0f);
cLib_addCalc2(&pFish->field_0x3c,pFish->field_0x40,1.0f,0.2f);
cLib_addCalc2(&pFish->field_0x5c,(pFish->field_0x3c * 2000.0f + 2000.0f),0.5f,200.0f);
param_1->field_0x4c[1] = param_1->field_0x3c * 13000.0f + 2000.0f;
param_1->field_0x4c[0] += param_1->field_0x4c[1];
pFish->field_0x4c[1] = pFish->field_0x3c * 13000.0f + 2000.0f;
pFish->field_0x4c[0] += pFish->field_0x4c[1];
for (int i = 0, j = 0; i < 3; i++, j++) {
f32 tmp = wp[j] * param_1->field_0x5c;
param_1->field_0x50[i] = tmp * cM_ssin(param_1->field_0x4c[j]);
for (int i = 0; i < 3; i++) {
pFish->field_0x50[i + 1] = cM_ssin(-15000 * i + pFish->field_0x4c[0]) * pFish->field_0x5c * wp[i];
}
param_1->field_0x50[0] = param_1->field_0x5c * cM_ssin((param_1->field_0x4c[0] - 7000)) * 0.3f;
pFish->field_0x50[0] = pFish->field_0x5c * cM_ssin((pFish->field_0x4c[0] - 7000)) * -0.3f;
mDoMtx_stack_c::transS(param_1->field_0x04.x,param_1->field_0x04.y,param_1->field_0x04.z);
mDoMtx_stack_c::YrotM(param_1->field_0x10.y + param_1->field_0x50[0]);
mDoMtx_stack_c::XrotM(param_1->field_0x10.x);
f32 value = param_1->field_0x60 * l_HIO.field_0x08;
mDoMtx_stack_c::transS(pFish->mPos.x,pFish->mPos.y,pFish->mPos.z);
mDoMtx_stack_c::YrotM(pFish->mAngle.y + pFish->field_0x50[0]);
mDoMtx_stack_c::XrotM(pFish->mAngle.x);
f32 value = pFish->field_0x60 * l_HIO.field_0x08;
mDoMtx_stack_c::scaleM(value,value,value);
param_1->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
pFish->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80A6A420-80A6A514 0009A0 00F4+00 2/1 0/0 0/0 .text daNPC_LF_Execute__FP12npc_lf_class
*/
// NONMATCHING - regalloc
static int daNPC_LF_Execute(npc_lf_class* i_this) {
camera_class* camera = dComIfGp_getCamera(0);
lf_s* fish = i_this->mFish;
static int daNPC_LF_Execute(npc_lf_class* i_this2) {
npc_lf_class* i_this = (npc_lf_class*) i_this2;
view_class* camera;
lf_s* fish;
cXyz pos;
cXyz pos2;
camera = dComIfGp_getCamera(0);
fish = i_this->mFish;
for (int i = 0; i < i_this->mIter; i++, fish++) {
cXyz pos;
pos.x = fish->field_0x04.x - camera->lookat.eye.x;
pos.z = fish->field_0x04.z - camera->lookat.eye.z;
pos.x = fish->mPos.x - camera->lookat.eye.x;
pos.z = fish->mPos.z - camera->lookat.eye.z;
f32 res = JMAFastSqrt((pos.x * pos.x) + (pos.z * pos.z));
if (res < 1500.0f) {
if (JMAFastSqrt((pos.x * pos.x) + (pos.z * pos.z)) < 1500.0f) {
fish->field_0x17 = 0;
action(i_this, fish);
} else {
@@ -276,7 +275,6 @@ static int useHeapInit(fopAc_ac_c* i_this) {
}
/* 80A6A650-80A6A8A4 000BD0 0254+00 1/0 0/0 0/0 .text daNPC_LF_Create__FP10fopAc_ac_c */
// NONMATCHING - float literals
static cPhs__Step daNPC_LF_Create(fopAc_ac_c* i_this) {
fopAcM_SetupActor(i_this, npc_lf_class);
npc_lf_class* a_this = static_cast<npc_lf_class*>(i_this);
@@ -319,10 +317,10 @@ static cPhs__Step daNPC_LF_Create(fopAc_ac_c* i_this) {
for (int i = 0; i < a_this->mIter; i++, fish++) {
fish->mActionMode = npc_lf_class::ACT_MOVE;
fish->field_0x04.x = a_this->current.pos.x + cM_rndFX(300.0f);
fish->field_0x04.y = a_this->current.pos.y + cM_rndFX(50.0f);
fish->field_0x04.z = a_this->current.pos.z + cM_rndFX(300.0f);
fish->field_0x10.y = cM_rndF(65536.0f);
fish->mPos.x = a_this->current.pos.x + cM_rndFX(300.0f);
fish->mPos.y = a_this->current.pos.y + cM_rndFX(50.0f);
fish->mPos.z = a_this->current.pos.z + cM_rndFX(300.0f);
fish->mAngle.y = cM_rndF(65536.0f);
fish->field_0x48 = cM_rndFX(0.1f) + 0.6f;
fish->field_0x60 = cM_rndFX(0.1f) + 0.6f;
// fish++;
+112 -274
View File
@@ -4,228 +4,169 @@
*/
#include "d/actor/d_a_obj_crvsteel.h"
#include "d/d_com_inf_game.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" static void daObjCRVSTEEL_Create__FP10fopAc_ac_c();
extern "C" static void daObjCRVSTEEL_Delete__FP15daObjCRVSTEEL_c();
extern "C" void OpenSet__15daObjCRVSTEEL_cFff();
extern "C" void CloseSet__15daObjCRVSTEEL_cFf();
extern "C" void CloseExecute__15daObjCRVSTEEL_cFv();
extern "C" void OpenExecute__15daObjCRVSTEEL_cFv();
extern "C" void Action__15daObjCRVSTEEL_cFv();
extern "C" void setBaseMtx__15daObjCRVSTEEL_cFv();
extern "C" static void daObjCRVSTEEL_Draw__FP15daObjCRVSTEEL_c();
extern "C" static void daObjCRVSTEEL_Execute__FP15daObjCRVSTEEL_c();
extern "C" void CreateHeap__15daObjCRVSTEEL_cFv();
extern "C" void create__15daObjCRVSTEEL_cFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" static bool daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c();
extern "C" void Create__15daObjCRVSTEEL_cFv();
extern "C" void Execute__15daObjCRVSTEEL_cFPPA3_A4_f();
extern "C" void Draw__15daObjCRVSTEEL_cFv();
extern "C" void Delete__15daObjCRVSTEEL_cFv();
extern "C" static void func_80BD61F0();
extern "C" static void func_80BD61F8();
extern "C" extern char const* const d_a_obj_crvsteel__stringBase0;
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci();
extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc();
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __dl__FPv();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" f32 mGroundY__11fopAcM_gc_c;
//
// Declarations:
//
/* 80BD5BB8-80BD5BD8 000078 0020+00 1/0 0/0 0/0 .text daObjCRVSTEEL_Create__FP10fopAc_ac_c */
static void daObjCRVSTEEL_Create(fopAc_ac_c* param_0) {
// NONMATCHING
static int daObjCRVSTEEL_Create(fopAc_ac_c* i_this) {
return static_cast<daObjCRVSTEEL_c*>(i_this)->create();
}
/* 80BD5BD8-80BD5BFC 000098 0024+00 1/0 0/0 0/0 .text daObjCRVSTEEL_Delete__FP15daObjCRVSTEEL_c */
static void daObjCRVSTEEL_Delete(daObjCRVSTEEL_c* param_0) {
// NONMATCHING
static int daObjCRVSTEEL_Delete(daObjCRVSTEEL_c* i_this) {
i_this->MoveBGDelete();
return 1;
}
/* 80BD5BFC-80BD5C18 0000BC 001C+00 0/0 0/0 1/1 .text OpenSet__15daObjCRVSTEEL_cFff */
void daObjCRVSTEEL_c::OpenSet(f32 param_0, f32 param_1) {
// NONMATCHING
void daObjCRVSTEEL_c::OpenSet(f32 param_1, f32 param_2) {
speed.y = param_1;
mMaxHeight = current.pos.y + param_2;
mAction = 1;
}
/* 80BD5C18-80BD5C28 0000D8 0010+00 0/0 0/0 1/1 .text CloseSet__15daObjCRVSTEEL_cFf */
void daObjCRVSTEEL_c::CloseSet(f32 param_0) {
// NONMATCHING
void daObjCRVSTEEL_c::CloseSet(f32 param_1) {
speed.y = param_1;
mAction = 2;
}
/* ############################################################################################## */
/* 80BD6208-80BD620C 000000 0004+00 3/3 0/0 0/0 .rodata @3789 */
SECTION_RODATA static f32 const lit_3789 = 5.0f;
COMPILER_STRIP_GATE(0x80BD6208, &lit_3789);
/* 80BD5C28-80BD5CA0 0000E8 0078+00 1/1 0/0 0/0 .text CloseExecute__15daObjCRVSTEEL_cFv
*/
void daObjCRVSTEEL_c::CloseExecute() {
// NONMATCHING
current.pos.y += speed.y;
if (current.pos.y < mMinHeight) {
current.pos.y = mMinHeight;
fopAcM_effSmokeSet1(&mSmokeParticle1, &mSmokeParticle2, &current.pos, 0, 5.0f, &tevStr, 1);
mAction = 0;
}
}
/* 80BD5CA0-80BD5CC8 000160 0028+00 1/1 0/0 0/0 .text OpenExecute__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::OpenExecute() {
// NONMATCHING
current.pos.y += speed.y;
if (current.pos.y > mMaxHeight) {
current.pos.y = mMaxHeight;
}
}
/* 80BD5CC8-80BD5D10 000188 0048+00 1/1 0/0 0/0 .text Action__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::Action() {
// NONMATCHING
switch(mAction) {
case 0:
break;
case 1:
OpenExecute();
break;
case 2:
CloseExecute();
break;
}
}
/* 80BD5D10-80BD5D6C 0001D0 005C+00 1/1 0/0 0/0 .text setBaseMtx__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::setBaseMtx() {
// NONMATCHING
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
cMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
}
/* 80BD5D6C-80BD5D98 00022C 002C+00 1/0 0/0 0/0 .text daObjCRVSTEEL_Draw__FP15daObjCRVSTEEL_c */
static void daObjCRVSTEEL_Draw(daObjCRVSTEEL_c* param_0) {
// NONMATCHING
static int daObjCRVSTEEL_Draw(daObjCRVSTEEL_c* i_this) {
return i_this->Draw();
}
/* 80BD5D98-80BD5DB8 000258 0020+00 2/1 0/0 0/0 .text daObjCRVSTEEL_Execute__FP15daObjCRVSTEEL_c
*/
static void daObjCRVSTEEL_Execute(daObjCRVSTEEL_c* param_0) {
// NONMATCHING
static int daObjCRVSTEEL_Execute(daObjCRVSTEEL_c* i_this) {
return i_this->MoveBGExecute();
}
/* ############################################################################################## */
/* 80BD623C-80BD623C 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80BD623C = "CrvSteel";
SECTION_DEAD static char const* const stringBase_80BD6245 = "U_CrvSteelGate.bmd";
#pragma pop
/* 80BD626C-80BD6270 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_crvsteel__stringBase0;
static char* l_arcName = "CrvSteel";
/* 80BD5DB8-80BD5E30 000278 0078+00 1/0 0/0 0/0 .text CreateHeap__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::CreateHeap() {
// NONMATCHING
int daObjCRVSTEEL_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "U_CrvSteelGate.bmd");
JUT_ASSERT(86, modelData != 0);
mModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mModel != NULL ? TRUE : FALSE;
}
/* ############################################################################################## */
/* 80BD620C-80BD6210 000004 0004+00 0/1 0/0 0/0 .rodata @3900 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3900 = -9.0f;
COMPILER_STRIP_GATE(0x80BD620C, &lit_3900);
#pragma pop
/* 80BD5E30-80BD6030 0002F0 0200+00 1/1 0/0 0/0 .text create__15daObjCRVSTEEL_cFv */
int daObjCRVSTEEL_c::create() {
fopAcM_SetupActor(this, daObjCRVSTEEL_c);
int rv = dComIfG_resLoad(&mPhase, l_arcName);
if (rv == cPhs_COMPLEATE_e) {
gravity = -9.0f;
int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "U_CrvSteelGate.dzb");
JUT_ASSERT()
if (dzb_id == -1) {
OS_REPORT("dzbデータが見つかりませんでした!<%s>\n\n", l_arcName);
JUT_PANIC(443, dzb_id != -1);
}
rv = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x4000, NULL);
if (rv == cPhs_ERROR_e) {
return rv;
}
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1,
&mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL);
fopAcM_SetMtx(this, mModel->getBaseTRMtx());
cXyz cStack_30(current.pos.x, current.pos.y + 100.0f,
current.pos.z);
if (fopAcM_gc_c::gndCheck(&cStack_30)) {
current.pos.y = fopAcM_gc_c::getGroundY();
mMinHeight = current.pos.y;
}
fopAcM_setCullSizeBox(this, -400.0f, 0.0f, -50.0f, 400.0f, 900.0f, 50.0f);
daObjCRVSTEEL_Execute(this);
}
return rv;
}
/* 80BD6210-80BD6214 000008 0004+00 0/1 0/0 0/0 .rodata @3901 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3901 = 100.0f;
COMPILER_STRIP_GATE(0x80BD6210, &lit_3901);
#pragma pop
/* 80BD60A0-80BD60A8 000560 0008+00 1/0 0/0 0/0 .text daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c
*/
static int daObjCRVSTEEL_IsDelete(daObjCRVSTEEL_c* param_0) {
return 1;
}
/* 80BD6214-80BD6218 00000C 0004+00 0/1 0/0 0/0 .rodata @3902 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3902 = -400.0f;
COMPILER_STRIP_GATE(0x80BD6214, &lit_3902);
#pragma pop
/* 80BD60A8-80BD60EC 000568 0044+00 1/0 0/0 0/0 .text Create__15daObjCRVSTEEL_cFv */
int daObjCRVSTEEL_c::Create() {
fopAcM_setCullSizeBox(this, -1000.0f, -500.0f, -1000.0f, 1000.0f, 500.0, 1000.0f);
return cPhs_COMPLEATE_e;
}
/* 80BD6218-80BD621C 000010 0004+00 0/1 0/0 0/0 .rodata @3903 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3903[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80BD6218, &lit_3903);
#pragma pop
/* 80BD60EC-80BD6138 0005AC 004C+00 1/0 0/0 0/0 .text Execute__15daObjCRVSTEEL_cFPPA3_A4_f */
int daObjCRVSTEEL_c::Execute(Mtx** param_1) {
Action();
*param_1 = &mBgMtx;
setBaseMtx();
return 1;
}
/* 80BD621C-80BD6220 000014 0004+00 0/1 0/0 0/0 .rodata @3904 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3904 = -50.0f;
COMPILER_STRIP_GATE(0x80BD621C, &lit_3904);
#pragma pop
/* 80BD6138-80BD61BC 0005F8 0084+00 1/0 0/0 0/0 .text Draw__15daObjCRVSTEEL_cFv */
int daObjCRVSTEEL_c::Draw() {
g_env_light.settingTevStruct(8, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mModel);
return 1;
}
/* 80BD6220-80BD6224 000018 0004+00 0/1 0/0 0/0 .rodata @3905 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3905 = 400.0f;
COMPILER_STRIP_GATE(0x80BD6220, &lit_3905);
#pragma pop
/* 80BD6224-80BD6228 00001C 0004+00 0/1 0/0 0/0 .rodata @3906 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3906 = 900.0f;
COMPILER_STRIP_GATE(0x80BD6224, &lit_3906);
#pragma pop
/* 80BD6228-80BD622C 000020 0004+00 0/1 0/0 0/0 .rodata @3907 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3907 = 50.0f;
COMPILER_STRIP_GATE(0x80BD6228, &lit_3907);
#pragma pop
/* 80BD623C-80BD623C 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80BD6258 = "U_CrvSteelGate.dzb";
#pragma pop
/* 80BD61BC-80BD61F0 00067C 0034+00 1/0 0/0 0/0 .text Delete__15daObjCRVSTEEL_cFv */
int daObjCRVSTEEL_c::Delete() {
dComIfG_resDelete(&mPhase, l_arcName);
return 1;
}
/* 80BD6270-80BD6290 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCRVSTEEL_Method */
static actor_method_class l_daObjCRVSTEEL_Method = {
(process_method_func)daObjCRVSTEEL_Create__FP10fopAc_ac_c,
(process_method_func)daObjCRVSTEEL_Delete__FP15daObjCRVSTEEL_c,
(process_method_func)daObjCRVSTEEL_Execute__FP15daObjCRVSTEEL_c,
(process_method_func)daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c,
(process_method_func)daObjCRVSTEEL_Draw__FP15daObjCRVSTEEL_c,
(process_method_func)daObjCRVSTEEL_Create,
(process_method_func)daObjCRVSTEEL_Delete,
(process_method_func)daObjCRVSTEEL_Execute,
(process_method_func)daObjCRVSTEEL_IsDelete,
(process_method_func)daObjCRVSTEEL_Draw,
};
/* 80BD6290-80BD62C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_CRVSTEEL */
@@ -246,107 +187,4 @@ extern actor_process_profile_definition g_profile_Obj_CRVSTEEL = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80BD62C0-80BD62E4 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_80BD61F8,
(void*)NULL,
(void*)NULL,
(void*)func_80BD61F0,
};
/* 80BD62E4-80BD630C 000078 0028+00 1/1 0/0 0/0 .data __vt__15daObjCRVSTEEL_c */
SECTION_DATA extern void* __vt__15daObjCRVSTEEL_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__15daObjCRVSTEEL_cFv,
(void*)Create__15daObjCRVSTEEL_cFv,
(void*)Execute__15daObjCRVSTEEL_cFPPA3_A4_f,
(void*)Draw__15daObjCRVSTEEL_cFv,
(void*)Delete__15daObjCRVSTEEL_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 80BD5E30-80BD6030 0002F0 0200+00 1/1 0/0 0/0 .text create__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::create() {
// NONMATCHING
}
/* 80BD6030-80BD60A0 0004F0 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
// dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" void __dt__12dBgS_ObjAcchFv() {
// NONMATCHING
}
/* 80BD60A0-80BD60A8 000560 0008+00 1/0 0/0 0/0 .text daObjCRVSTEEL_IsDelete__FP15daObjCRVSTEEL_c
*/
static bool daObjCRVSTEEL_IsDelete(daObjCRVSTEEL_c* param_0) {
return true;
}
/* ############################################################################################## */
/* 80BD622C-80BD6230 000024 0004+00 0/1 0/0 0/0 .rodata @3947 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3947 = -1000.0f;
COMPILER_STRIP_GATE(0x80BD622C, &lit_3947);
#pragma pop
/* 80BD6230-80BD6234 000028 0004+00 0/1 0/0 0/0 .rodata @3948 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3948 = -500.0f;
COMPILER_STRIP_GATE(0x80BD6230, &lit_3948);
#pragma pop
/* 80BD6234-80BD6238 00002C 0004+00 0/1 0/0 0/0 .rodata @3949 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3949 = 1000.0f;
COMPILER_STRIP_GATE(0x80BD6234, &lit_3949);
#pragma pop
/* 80BD6238-80BD623C 000030 0004+00 0/1 0/0 0/0 .rodata @3950 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3950 = 500.0f;
COMPILER_STRIP_GATE(0x80BD6238, &lit_3950);
#pragma pop
/* 80BD60A8-80BD60EC 000568 0044+00 1/0 0/0 0/0 .text Create__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::Create() {
// NONMATCHING
}
/* 80BD60EC-80BD6138 0005AC 004C+00 1/0 0/0 0/0 .text Execute__15daObjCRVSTEEL_cFPPA3_A4_f */
void daObjCRVSTEEL_c::Execute(f32 (**param_0)[3][4]) {
// NONMATCHING
}
/* 80BD6138-80BD61BC 0005F8 0084+00 1/0 0/0 0/0 .text Draw__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::Draw() {
// NONMATCHING
}
/* 80BD61BC-80BD61F0 00067C 0034+00 1/0 0/0 0/0 .text Delete__15daObjCRVSTEEL_cFv */
void daObjCRVSTEEL_c::Delete() {
// NONMATCHING
}
/* 80BD61F0-80BD61F8 0006B0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
static void func_80BD61F0() {
// NONMATCHING
}
/* 80BD61F8-80BD6200 0006B8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
static void func_80BD61F8() {
// NONMATCHING
}
/* 80BD623C-80BD623C 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+82 -257
View File
@@ -4,124 +4,15 @@
*/
#include "d/actor/d_a_obj_kantera.h"
#include "d/actor/d_a_player.h"
#include "SSystem/SComponent/c_math.h"
#include "d/d_a_itembase_static.h"
#include "d/d_com_inf_game.h"
#include "d/d_item.h"
#include "d/d_item_data.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
//
extern "C" static void Reflect__FP4cXyzRC13cBgS_PolyInfof();
extern "C" void __dt__8cM3dGPlaFv();
extern "C" void initBaseMtx__15daItemKantera_cFv();
extern "C" void setBaseMtx__15daItemKantera_cFv();
extern "C" void Create__15daItemKantera_cFv();
extern "C" bool __CreateHeap__15daItemKantera_cFv();
extern "C" void create__15daItemKantera_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__12dBgS_AcchCirFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" void bg_check__15daItemKantera_cFv();
extern "C" void actionInit__15daItemKantera_cFv();
extern "C" void actionWaitInit__15daItemKantera_cFv();
extern "C" void actionWait__15daItemKantera_cFv();
extern "C" void initActionOrderGetDemo__15daItemKantera_cFv();
extern "C" void actionOrderGetDemo__15daItemKantera_cFv();
extern "C" void actionGetDemo__15daItemKantera_cFv();
extern "C" void execute__15daItemKantera_cFv();
extern "C" void draw__15daItemKantera_cFv();
extern "C" void _delete__15daItemKantera_cFv();
extern "C" static void daItemKantera_Draw__FP15daItemKantera_c();
extern "C" static void daItemKantera_Execute__FP15daItemKantera_c();
extern "C" static void daItemKantera_Delete__FP15daItemKantera_c();
extern "C" static void daItemKantera_Create__FP10fopAc_ac_c();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" static void func_80C39630();
extern "C" static void func_80C39638();
extern "C" extern char const* const d_a_obj_kantera__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz();
extern "C" void fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs();
extern "C" void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz();
extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void hide__12daItemBase_cFv();
extern "C" void show__12daItemBase_cFv();
extern "C" void chkDraw__12daItemBase_cFv();
extern "C" void CheckFieldItemCreateHeap__FP10fopAc_ac_c();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void setPtI_Id__14dEvt_control_cFUi();
extern "C" void endCheckOld__16dEvent_manager_cFPCc();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void SetWall__12dBgS_AcchCirFff();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void checkItemGet__FUci();
extern "C" void DeleteBase__12daItemBase_cFPCc();
extern "C" bool clothCreate__12daItemBase_cFv();
extern "C" void DrawBase__12daItemBase_cFv();
extern "C" void RotateYBase__12daItemBase_cFv();
extern "C" void setListStart__12daItemBase_cFv();
extern "C" void settingBeforeDraw__12daItemBase_cFv();
extern "C" void setTevStr__12daItemBase_cFv();
extern "C" void setShadow__12daItemBase_cFv();
extern "C" void animEntry__12daItemBase_cFv();
extern "C" void chkFlag__12daItemBase_cFi();
extern "C" void getTevFrm__12daItemBase_cFv();
extern "C" void getBtpFrm__12daItemBase_cFv();
extern "C" void getShadowSize__12daItemBase_cFv();
extern "C" void getCollisionH__12daItemBase_cFv();
extern "C" void getCollisionR__12daItemBase_cFv();
extern "C" void __ml__4cXyzCFf();
extern "C" void cM_atan2s__Fff();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void __dt__8cM3dGCirFv();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" void* field_item_res__10dItem_data[1020];
extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */];
extern "C" extern void* __vt__12daItemBase_c[17 + 1 /* padding */];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 data_80C39860[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 80C39648-80C3968C 000000 0044+00 4/4 0/0 0/0 .rodata l_cyl_src */
const static dCcD_SrcCyl l_cyl_src = {
{
@@ -137,144 +28,21 @@ const static dCcD_SrcCyl l_cyl_src = {
} // mCyl
};
/* 80C3968C-80C39690 000044 0004+00 0/3 0/0 0/0 .rodata @3855 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3855[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80C3968C, &lit_3855);
#pragma pop
/* 80C39690-80C39698 000048 0008+00 0/1 0/0 0/0 .rodata @3856 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3856[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C39690, &lit_3856);
#pragma pop
/* 80C39698-80C396A0 000050 0008+00 0/1 0/0 0/0 .rodata @3857 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3857[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C39698, &lit_3857);
#pragma pop
/* 80C396A0-80C396A8 000058 0008+00 0/1 0/0 0/0 .rodata @3858 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3858[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C396A0, &lit_3858);
#pragma pop
/* 80C396DC-80C396E8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C396E8-80C396FC 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80C396FC-80C39708 -00001 000C+00 0/1 0/0 0/0 .data @4184 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_4184[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionInit__15daItemKantera_cFv,
};
#pragma pop
/* 80C39708-80C39714 -00001 000C+00 0/1 0/0 0/0 .data @4185 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_4185[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionWait__15daItemKantera_cFv,
};
#pragma pop
/* 80C39714-80C39720 -00001 000C+00 0/1 0/0 0/0 .data @4186 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_4186[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionOrderGetDemo__15daItemKantera_cFv,
};
#pragma pop
/* 80C39720-80C3972C -00001 000C+00 0/1 0/0 0/0 .data @4187 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_4187[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionGetDemo__15daItemKantera_cFv,
};
#pragma pop
/* 80C3972C-80C3975C 000050 0030+00 0/1 0/0 0/0 .data l_demoFunc$4183 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_demoFunc[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 80C3975C-80C3977C -00001 0020+00 1/0 0/0 0/0 .data l_daItemKantera_Method */
static actor_method_class l_daItemKantera_Method = {
(process_method_func)daItemKantera_Create__FP10fopAc_ac_c,
(process_method_func)daItemKantera_Delete__FP15daItemKantera_c,
(process_method_func)daItemKantera_Execute__FP15daItemKantera_c,
0,
(process_method_func)daItemKantera_Draw__FP15daItemKantera_c,
};
/* 80C3977C-80C397AC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Kantera */
extern actor_process_profile_definition g_profile_Obj_Kantera = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Kantera, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daItemKantera_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
238, // mPriority
&l_daItemKantera_Method, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
UNK_REL_DATA
/* 80C38678-80C38974 000078 02FC+00 1/1 0/0 0/0 .text Reflect__FP4cXyzRC13cBgS_PolyInfof
*/
static f32 Reflect(cXyz* i_xyz, cBgS_PolyInfo const& param_1, f32 param_2) {
// NONMATCHING
static f32 Reflect(cXyz* i_xyz, cBgS_PolyInfo const& param_2, f32 param_3) {
cM3dGPla acStack_3c;
if (dComIfG_Bgsp().GetTriPla(param_2, &acStack_3c) != 0) {
cXyz cStack_48;
f32 dVar5 = i_xyz->absXZ();
C_VECReflect(i_xyz, &acStack_3c.mNormal, &cStack_48);
*i_xyz = (cStack_48 * dVar5) * param_3;
return i_xyz->absXZ();
}
return 0.0f;
}
/* 80C389BC-80C389F8 0003BC 003C+00 1/1 0/0 0/0 .text initBaseMtx__15daItemKantera_cFv */
@@ -347,8 +115,8 @@ int daItemKantera_c::create() {
}
/* 80C38F78-80C39068 000978 00F0+00 1/1 0/0 0/0 .text bg_check__15daItemKantera_cFv */
// NONMATCHING lfs not correct
void daItemKantera_c::bg_check() {
f32 dVar6 = 0.7f;
if (mAcch.ChkWallHit()) {
if (speedF > 5.0f) {
Reflect(&speed, mAcchCir, 1.0f);
@@ -360,7 +128,9 @@ void daItemKantera_c::bg_check() {
if (speedF > 5.0f) {
Reflect(&l_speed, mAcchCir, 0.7f);
}
speed.y = -field_0x93c.y * 0.7f;
f32 tmp = field_0x93c.y;
tmp = -tmp;
speed.y = tmp * dVar6;
if (speed.y < 3.0f) {
fopAcM_SetSpeedF(this, 0.0f);
}
@@ -388,17 +158,32 @@ int daItemKantera_c::actionWaitInit() {
return 1;
}
/* ############################################################################################## */
/* 80C396C8-80C396CC 000080 0004+00 0/1 0/0 0/0 .rodata @4145 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4145 = 9.0f / 10.0f;
COMPILER_STRIP_GATE(0x80C396C8, &lit_4145);
#pragma pop
/* 80C3911C-80C39234 000B1C 0118+00 1/0 0/0 0/0 .text actionWait__15daItemKantera_cFv */
int daItemKantera_c::actionWait() {
// NONMATCHING
fopAcM_posMoveF(this, mCcStts.GetCCMoveP());
mAcch.CrrPos(dComIfG_Bgsp());
bg_check();
if (mAcch.ChkGroundHit()) {
cLib_onBit(attention_info.flags, 0x10UL);
speedF *= 0.9f;
if (speedF < 1.0f) {
speedF = 0.0f;
}
} else {
cLib_offBit(attention_info.flags, 0x10UL);
}
daPy_py_c* player = daPy_getPlayerActorClass();
if (fopAcM_checkCarryNow(this)) {
cLib_offBit(attention_info.flags, 0x10UL);
if (player->getGrabUpStart()) {
fopAcM_cancelCarryNow(this);
initActionOrderGetDemo();
}
} else {
cLib_onBit(attention_info.flags, 0x10UL);
}
attention_info.position = current.pos;
return 1;
}
/* 80C39234-80C392D0 000C34 009C+00 1/1 0/0 0/0 .text initActionOrderGetDemo__15daItemKantera_cFv
@@ -442,7 +227,19 @@ int daItemKantera_c::actionGetDemo() {
/* 80C393B0-80C394DC 000DB0 012C+00 1/1 0/0 0/0 .text execute__15daItemKantera_cFv */
int daItemKantera_c::execute() {
// NONMATCHING
static daItemKantera_c::actionFunc l_demoFunc[4] = {
&daItemKantera_c::actionInit,
&daItemKantera_c::actionWait,
&daItemKantera_c::actionOrderGetDemo,
&daItemKantera_c::actionGetDemo,
};
field_0x93c = speed;
field_0x930++;
(this->*(l_demoFunc[mStatus]))();
eyePos = current.pos;
attention_info.position = current.pos;
setBaseMtx();
return 1;
}
/* 80C394DC-80C39530 000EDC 0054+00 1/1 0/0 0/0 .text draw__15daItemKantera_cFv */
@@ -480,3 +277,31 @@ static int daItemKantera_Delete(daItemKantera_c* i_this) {
static int daItemKantera_Create(fopAc_ac_c* i_this) {
return static_cast<daItemKantera_c*>(i_this)->create();
}
/* 80C3975C-80C3977C -00001 0020+00 1/0 0/0 0/0 .data l_daItemKantera_Method */
static actor_method_class l_daItemKantera_Method = {
(process_method_func)daItemKantera_Create,
(process_method_func)daItemKantera_Delete,
(process_method_func)daItemKantera_Execute,
NULL,
(process_method_func)daItemKantera_Draw,
};
/* 80C3977C-80C397AC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Kantera */
extern actor_process_profile_definition g_profile_Obj_Kantera = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Kantera, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daItemKantera_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
238, // mPriority
&l_daItemKantera_Method, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -165,7 +165,7 @@ static u8 at_power_get(dCcU_AtInfo* i_AtInfo) {
u8 power = i_AtInfo->mpCollider->GetAtAtp();
if (i_AtInfo->mPowerType == 0) {
if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -179,7 +179,7 @@ static u8 at_power_get(dCcU_AtInfo* i_AtInfo) {
power = 200;
}
} else if (i_AtInfo->mPowerType == 6) {
if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -193,7 +193,7 @@ static u8 at_power_get(dCcU_AtInfo* i_AtInfo) {
} else if (i_AtInfo->mPowerType == 4) {
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 200;
} else if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) {
} else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -247,7 +247,7 @@ static u8 at_power_get(dCcU_AtInfo* i_AtInfo) {
power = 40;
}
} else if (i_AtInfo->mPowerType == 7) {
if (i_AtInfo->mpCollider->ChkAtType(0x420008)) {
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ | AT_TYPE_20000 | AT_TYPE_IRON_BALL)) {
power = 50;
} else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
power = 27;
@@ -337,7 +337,7 @@ fopAc_ac_c* at_power_check(dCcU_AtInfo* i_AtInfo) {
s16 ac_name = fopAcM_GetName(i_AtInfo->mpActor);
if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) {
if (i_AtInfo->mpCollider->ChkAtType(0x8000) ||
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_8000) ||
i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL))
{
i_AtInfo->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK;
@@ -358,7 +358,7 @@ fopAc_ac_c* at_power_check(dCcU_AtInfo* i_AtInfo) {
}
i_AtInfo->mHitStatus = 0;
if (i_AtInfo->mpCollider->ChkAtType(0x40) ||
if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_40) ||
i_AtInfo->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) ||
i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) ||
i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK))