mirror of https://github.com/zeldaret/tp.git
Merge branch 'main' into d_a_e_bug
This commit is contained in:
commit
ca606c1108
|
@ -91,6 +91,6 @@ __vt__12dBgS_ObjAcch = .data:0x00000134; // type:object size:0x24 scope:global
|
|||
__vt__12J3DFrameCtrl = .data:0x00000158; // type:object size:0xC scope:global
|
||||
__vt__10daFr_HIO_c = .data:0x00000164; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_72_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
@3644 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x2C scope:global data:byte
|
||||
|
|
|
@ -246,6 +246,6 @@ __vt__12dBgS_ObjAcch = .data:0x000001D8; // type:object size:0x24 scope:global
|
|||
__vt__8cM3dGPla = .data:0x000001FC; // type:object size:0xC scope:global
|
||||
__vt__12daKago_HIO_c = .data:0x00000208; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_265_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
@3924 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x5C scope:global data:byte
|
||||
|
|
|
@ -3,9 +3,9 @@ _epilog = .text:0x0000002C; // type:function size:0x2C scope:global
|
|||
_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
|
||||
ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x000000EC; // type:function size:0x3F0 scope:global
|
||||
ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x000000EC; // type:function size:0x3F0 scope:local
|
||||
__dt__4cXyzFv = .text:0x000004DC; // type:function size:0x3C scope:global
|
||||
daObj_Brg_Draw__FP13obj_brg_class = .text:0x00000518; // type:function size:0xA08 scope:global
|
||||
daObj_Brg_Draw__FP13obj_brg_class = .text:0x00000518; // type:function size:0xA08 scope:local
|
||||
control1__FP13obj_brg_classP4br_s = .text:0x00000F20; // type:function size:0x324 scope:global
|
||||
control2__FP13obj_brg_classP4br_s = .text:0x00001244; // type:function size:0x1C4 scope:global
|
||||
control3__FP13obj_brg_classP4br_s = .text:0x00001408; // type:function size:0xC0 scope:global
|
||||
|
@ -13,12 +13,12 @@ cut_control1__FP13obj_brg_classP4br_s = .text:0x000014C8; // type:function size:
|
|||
cut_control2__FP13obj_brg_classP4br_s = .text:0x000017E8; // type:function size:0x330 scope:global
|
||||
himo_cut_control1__FP13obj_brg_classP4cXyzf = .text:0x00001B18; // type:function size:0x240 scope:global
|
||||
obj_brg_move__FP13obj_brg_class = .text:0x00001D58; // type:function size:0xCA4 scope:global
|
||||
daObj_Brg_Execute__FP13obj_brg_class = .text:0x000029FC; // type:function size:0x1618 scope:global
|
||||
daObj_Brg_IsDelete__FP13obj_brg_class = .text:0x00004014; // type:function size:0x20 scope:global
|
||||
daObj_Brg_Delete__FP13obj_brg_class = .text:0x00004034; // type:function size:0x5C scope:global
|
||||
daObj_Brg_Execute__FP13obj_brg_class = .text:0x000029FC; // type:function size:0x1618 scope:local
|
||||
daObj_Brg_IsDelete__FP13obj_brg_class = .text:0x00004014; // type:function size:0x20 scope:local
|
||||
daObj_Brg_Delete__FP13obj_brg_class = .text:0x00004034; // type:function size:0x5C scope:local
|
||||
CreateInit__FP10fopAc_ac_c = .text:0x00004090; // type:function size:0x190 scope:global
|
||||
CallbackCreateHeap__FP10fopAc_ac_c = .text:0x00004220; // type:function size:0x610 scope:global
|
||||
daObj_Brg_Create__FP10fopAc_ac_c = .text:0x00004830; // type:function size:0xD24 scope:global
|
||||
CallbackCreateHeap__FP10fopAc_ac_c = .text:0x00004220; // type:function size:0x610 scope:local
|
||||
daObj_Brg_Create__FP10fopAc_ac_c = .text:0x00004830; // type:function size:0xD24 scope:local
|
||||
__dt__8dCcD_CylFv = .text:0x00005554; // type:function size:0xCC scope:global
|
||||
__ct__8dCcD_CylFv = .text:0x00005620; // type:function size:0x84 scope:global
|
||||
__dt__8cM3dGCylFv = .text:0x000056A4; // type:function size:0x48 scope:global
|
||||
|
@ -173,10 +173,10 @@ obj_brg_bmd$5576 = .rodata:0x00000160; // type:object size:0xC scope:local
|
|||
@stringBase0 = .rodata:0x00000244; // type:object size:0x17 scope:local data:string_table
|
||||
l_color$4002 = .data:0x00000000; // type:object size:0x4 scope:local
|
||||
l_color$4042 = .data:0x00000004; // type:object size:0x4 scope:local
|
||||
ita_z_p = .data:0x00000008; // type:object size:0x2C scope:global align:4 data:float
|
||||
ita_z_p = .data:0x00000008; // type:object size:0x2C scope:local align:4 data:float
|
||||
himo_cyl_src$5532 = .data:0x00000034; // type:object size:0x44 scope:local
|
||||
wire_cyl_src$5533 = .data:0x00000078; // type:object size:0x44 scope:local
|
||||
l_daObj_Brg_Method = .data:0x000000BC; // type:object size:0x20 scope:global
|
||||
l_daObj_Brg_Method = .data:0x000000BC; // type:object size:0x20 scope:local
|
||||
g_profile_OBJ_BRG = .data:0x000000DC; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGAab = .data:0x0000010C; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGCyl = .data:0x00000118; // type:object size:0xC scope:global
|
||||
|
@ -199,7 +199,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
|||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
wy = .bss:0x00000046; // type:object size:0x2 scope:global data:2byte
|
||||
wy = .bss:0x00000046; // type:object size:0x2 scope:local data:2byte
|
||||
@5786 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
@5789 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
@5790 = .bss:0x00000064; // type:object size:0xC scope:local
|
||||
|
|
|
@ -27,4 +27,4 @@ lbl_22_data_10 = .data:0x00000010; // type:object size:0x10
|
|||
mode_proc$3725 = .data:0x00000038; // type:object size:0x18 scope:local
|
||||
Mthd_Table__Q210daObjTimer27@unnamed@d_a_obj_timer_cpp@ = .data:0x00000050; // type:object size:0x20 scope:global
|
||||
g_profile_Obj_Timer = .data:0x00000070; // type:object size:0x30 scope:global
|
||||
lbl_22_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
init$1527 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
|
|
|
@ -56,8 +56,7 @@ l_bck = .rodata:0x00000018; // type:object size:0xC scope:global
|
|||
@stringBase0 = .rodata:0x00000074; // type:object size:0x98 scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_664_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
@1787 = .data:0x0000000C; // type:object size:0x14 scope:local
|
||||
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
|
||||
l_staff_name = .data:0x00000028; // type:object size:0x4 scope:global data:4byte
|
||||
l_event_name = .data:0x0000002C; // type:object size:0x8 scope:global
|
||||
|
@ -91,7 +90,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
|||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_664_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
init$1832 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte
|
||||
@4351 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_shotSmokeScale$4350 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000064; // type:object size:0x4 scope:global
|
||||
|
|
|
@ -28,10 +28,10 @@ init_modeBreak__12daTogeTrap_cFv = .text:0x00000F14; // type:function size:0xC8
|
|||
modeBreak__12daTogeTrap_cFv = .text:0x00000FDC; // type:function size:0x190 scope:global
|
||||
Draw__12daTogeTrap_cFv = .text:0x0000116C; // type:function size:0xB8 scope:global
|
||||
Delete__12daTogeTrap_cFv = .text:0x00001224; // type:function size:0x30 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:global
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:local
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x000012E0; // type:function size:0x48 scope:global
|
||||
__dt__16daTogeTrap_HIO_cFv = .text:0x00001328; // type:function size:0x6C scope:global
|
||||
__sinit_d_a_obj_togeTrap_cpp = .text:0x00001394; // type:function size:0x70 scope:local
|
||||
|
@ -57,16 +57,16 @@ mCcDObjInfo__12daTogeTrap_c = .rodata:0x00000014; // type:object size:0x30 scope
|
|||
@4036 = .rodata:0x0000006C; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000070; // type:object size:0x7 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
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10 scope:local
|
||||
mCcDCyl__12daTogeTrap_c = .data:0x00000020; // type:object size:0x44 scope:global
|
||||
@3883 = .data:0x00000064; // type:object size:0xC scope:local
|
||||
@3884 = .data:0x00000070; // type:object size:0xC scope:local
|
||||
@3885 = .data:0x0000007C; // type:object size:0xC scope:local
|
||||
@3886 = .data:0x00000088; // type:object size:0xC scope:local
|
||||
mode_proc$3882 = .data:0x00000094; // type:object size:0x30 scope:local
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:global
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_TogeTrap = .data:0x000000E4; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x00000114; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x00000120; // type:object size:0xC scope:global
|
||||
|
@ -78,5 +78,5 @@ __vt__18fOpAcm_HIO_entry_c = .data:0x00000178; // type:object size:0xC scope:glo
|
|||
__vt__14mDoHIO_entry_c = .data:0x00000184; // 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:0x20 scope:global align:4 data:float
|
||||
lbl_665_bss_34 = .bss:0x00000034; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x20 scope:local align:4 data:float
|
||||
init$1675 = .bss:0x00000034; // type:object size:0x1 scope:local data:byte
|
||||
|
|
|
@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
|
|||
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
|
||||
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_HIOInit = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
|
||||
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float
|
||||
|
|
|
@ -55,8 +55,7 @@ l_bck = .rodata:0x00000018; // type:object size:0xC scope:global
|
|||
@4905 = .rodata:0x00000070; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000074; // type:object size:0x98 scope:local data:string_table
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_664_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
@1787 = .data:0x0000000C; // type:object size:0x14 scope:local
|
||||
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
|
||||
l_staff_name = .data:0x00000028; // type:object size:0x4 scope:global data:4byte
|
||||
l_event_name = .data:0x0000002C; // type:object size:0x8 scope:global
|
||||
|
@ -90,7 +89,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
|||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_664_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
init$1832 = .bss:0x00000045; // type:object size:0x1 data:byte scope:local
|
||||
@4351 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_shotSmokeScale$4350 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000064; // type:object size:0x4 scope:global
|
||||
|
|
|
@ -28,10 +28,10 @@ init_modeBreak__12daTogeTrap_cFv = .text:0x00000F14; // type:function size:0xC8
|
|||
modeBreak__12daTogeTrap_cFv = .text:0x00000FDC; // type:function size:0x190 scope:global
|
||||
Draw__12daTogeTrap_cFv = .text:0x0000116C; // type:function size:0xB8 scope:global
|
||||
Delete__12daTogeTrap_cFv = .text:0x00001224; // type:function size:0x30 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:global
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:local
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x000012E0; // type:function size:0x48 scope:global
|
||||
__dt__16daTogeTrap_HIO_cFv = .text:0x00001328; // type:function size:0x6C scope:global
|
||||
__sinit_d_a_obj_togeTrap_cpp = .text:0x00001394; // type:function size:0x70 scope:local
|
||||
|
@ -56,16 +56,16 @@ mCcDObjInfo__12daTogeTrap_c = .rodata:0x00000014; // type:object size:0x30 scope
|
|||
@4007 = .rodata:0x00000068; // type:object size:0x4 scope:local align:4 data:float
|
||||
@4036 = .rodata:0x0000006C; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000070; // type:object size:0x7 scope:local data:string_table
|
||||
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
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10 scope:local
|
||||
mCcDCyl__12daTogeTrap_c = .data:0x00000020; // type:object size:0x44 scope:global
|
||||
@3883 = .data:0x00000064; // type:object size:0xC scope:local
|
||||
@3884 = .data:0x00000070; // type:object size:0xC scope:local
|
||||
@3885 = .data:0x0000007C; // type:object size:0xC scope:local
|
||||
@3886 = .data:0x00000088; // type:object size:0xC scope:local
|
||||
mode_proc$3882 = .data:0x00000094; // type:object size:0x30 scope:local
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:global
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_TogeTrap = .data:0x000000E4; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x00000114; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x00000120; // type:object size:0xC scope:global
|
||||
|
@ -77,5 +77,5 @@ __vt__18fOpAcm_HIO_entry_c = .data:0x00000178; // type:object size:0xC scope:glo
|
|||
__vt__14mDoHIO_entry_c = .data:0x00000184; // 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:0x20 scope:global align:4 data:float
|
||||
lbl_665_bss_34 = .bss:0x00000034; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x20 scope:local align:4 data:float
|
||||
init$1675 = .bss:0x00000034; // type:object size:0x1 data:byte scope:local
|
||||
|
|
|
@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
|
|||
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
|
||||
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
|
||||
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float
|
||||
|
|
|
@ -55,8 +55,7 @@ l_bck = .rodata:0x00000018; // type:object size:0xC scope:global
|
|||
@4905 = .rodata:0x00000070; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000074; // type:object size:0x98 scope:local data:string_table
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_664_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
@1787 = .data:0x0000000C; // type:object size:0x14 scope:local
|
||||
l_arcName = .data:0x00000020; // type:object size:0x8 scope:global
|
||||
l_staff_name = .data:0x00000028; // type:object size:0x4 scope:global data:4byte
|
||||
l_event_name = .data:0x0000002C; // type:object size:0x8 scope:global
|
||||
|
@ -90,7 +89,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
|||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_664_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
init$1832 = .bss:0x00000045; // type:object size:0x1 data:byte scope:local
|
||||
@4351 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_shotSmokeScale$4350 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000064; // type:object size:0x4 scope:global
|
||||
|
|
|
@ -28,10 +28,10 @@ init_modeBreak__12daTogeTrap_cFv = .text:0x00000F14; // type:function size:0xC8
|
|||
modeBreak__12daTogeTrap_cFv = .text:0x00000FDC; // type:function size:0x190 scope:global
|
||||
Draw__12daTogeTrap_cFv = .text:0x0000116C; // type:function size:0xB8 scope:global
|
||||
Delete__12daTogeTrap_cFv = .text:0x00001224; // type:function size:0x30 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:global
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:global
|
||||
daTogeTrap_Draw__FP12daTogeTrap_c = .text:0x00001254; // type:function size:0x2C scope:local
|
||||
daTogeTrap_Execute__FP12daTogeTrap_c = .text:0x00001280; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Delete__FP12daTogeTrap_c = .text:0x000012A0; // type:function size:0x20 scope:local
|
||||
daTogeTrap_Create__FP10fopAc_ac_c = .text:0x000012C0; // type:function size:0x20 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x000012E0; // type:function size:0x48 scope:global
|
||||
__dt__16daTogeTrap_HIO_cFv = .text:0x00001328; // type:function size:0x6C scope:global
|
||||
__sinit_d_a_obj_togeTrap_cpp = .text:0x00001394; // type:function size:0x70 scope:local
|
||||
|
@ -56,16 +56,16 @@ mCcDObjInfo__12daTogeTrap_c = .rodata:0x00000014; // type:object size:0x30 scope
|
|||
@4007 = .rodata:0x00000068; // type:object size:0x4 scope:local align:4 data:float
|
||||
@4036 = .rodata:0x0000006C; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000070; // type:object size:0x7 scope:local data:string_table
|
||||
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
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
lbl_665_data_10 = .data:0x00000010; // type:object size:0x10 scope:local
|
||||
mCcDCyl__12daTogeTrap_c = .data:0x00000020; // type:object size:0x44 scope:global
|
||||
@3883 = .data:0x00000064; // type:object size:0xC scope:local
|
||||
@3884 = .data:0x00000070; // type:object size:0xC scope:local
|
||||
@3885 = .data:0x0000007C; // type:object size:0xC scope:local
|
||||
@3886 = .data:0x00000088; // type:object size:0xC scope:local
|
||||
mode_proc$3882 = .data:0x00000094; // type:object size:0x30 scope:local
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:global
|
||||
l_daTogeTrap_Method = .data:0x000000C4; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_TogeTrap = .data:0x000000E4; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x00000114; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x00000120; // type:object size:0xC scope:global
|
||||
|
@ -77,5 +77,5 @@ __vt__18fOpAcm_HIO_entry_c = .data:0x00000178; // type:object size:0xC scope:glo
|
|||
__vt__14mDoHIO_entry_c = .data:0x00000184; // 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:0x20 scope:global align:4 data:float
|
||||
lbl_665_bss_34 = .bss:0x00000034; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x20 scope:local align:4 data:float
|
||||
init$1675 = .bss:0x00000034; // type:object size:0x1 data:byte scope:local
|
||||
|
|
|
@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
|
|||
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
|
||||
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
|
||||
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float
|
||||
|
|
|
@ -67,6 +67,6 @@ lbl_73_data_134 = .data:0x00000134; // type:object size:0xC
|
|||
@92624 = .data:0x00000140; // type:object size:0xC scope:local
|
||||
__RTTI__10daFr_HIO_c = .data:0x0000014C; // type:object size:0x8 scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_73_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
@92050 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x2C scope:global data:byte
|
||||
|
|
|
@ -125,5 +125,5 @@ lbl_70_data_2F8 = .data:0x000002F8; // type:object size:0x24
|
|||
@117848 = .data:0x000004E0; // type:object size:0xC scope:local
|
||||
@117849 = .data:0x00000504; // type:object size:0x11 scope:local data:string
|
||||
@117850 = .data:0x0000052C; // type:object size:0xD scope:local data:string
|
||||
lbl_70_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000004; // type:object size:0x2C scope:global data:byte
|
||||
|
|
|
@ -313,5 +313,5 @@ lbl_256_data_530 = .data:0x00000530; // type:object size:0x24
|
|||
@125862 = .data:0x00000738; // type:object size:0xC scope:local
|
||||
@125863 = .data:0x0000075C; // type:object size:0x11 scope:local data:string
|
||||
lbl_256_data_76D = .data:0x0000076D; // type:object size:0xB7
|
||||
lbl_256_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
l_HIOInit = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000004; // type:object size:0x5C scope:global data:byte
|
||||
|
|
24
configure.py
24
configure.py
|
@ -1499,7 +1499,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_ito"),
|
||||
ActorRel(NonMatching, "d_a_obj_movebox"),
|
||||
ActorRel(NonMatching, "d_a_obj_swpush"),
|
||||
ActorRel(NonMatching, "d_a_obj_timer"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_timer"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_path_line"),
|
||||
ActorRel(NonMatching, "d_a_scene_exit"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_set_bgobj"),
|
||||
|
@ -1636,7 +1636,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_magic"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_mobile"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_b_zant_sima"),
|
||||
ActorRel(NonMatching, "d_a_balloon_2D"),
|
||||
ActorRel(Equivalent, "d_a_balloon_2D"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_bullet"),
|
||||
ActorRel(Equivalent, "d_a_coach_2D"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_coach_fire"),
|
||||
|
@ -1655,7 +1655,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_e_bi"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi_leaf"),
|
||||
ActorRel(NonMatching, "d_a_e_bs"),
|
||||
ActorRel(NonMatching, "d_a_e_bu"),
|
||||
ActorRel(Equivalent, "d_a_e_bu"),
|
||||
ActorRel(Equivalent, "d_a_e_bug"), # weak func order
|
||||
ActorRel(Equivalent, "d_a_e_cr"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr_egg"),
|
||||
|
@ -1683,7 +1683,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_is"),
|
||||
ActorRel(Equivalent, "d_a_e_kg"),
|
||||
ActorRel(Equivalent, "d_a_e_kk"), # weak func order
|
||||
ActorRel(NonMatching, "d_a_e_kr"),
|
||||
ActorRel(Equivalent, "d_a_e_kr"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_mb"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_md"),
|
||||
ActorRel(Equivalent, "d_a_e_mf"),
|
||||
|
@ -1732,7 +1732,7 @@ config.libs = [
|
|||
ActorRel(Equivalent, "d_a_e_yk"), # weak func order
|
||||
ActorRel(Equivalent, "d_a_e_ym"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_ym_tag"),
|
||||
ActorRel(NonMatching, "d_a_e_ymb"),
|
||||
ActorRel(Equivalent, "d_a_e_ymb"), # weak func order
|
||||
ActorRel(NonMatching, "d_a_e_yr"),
|
||||
ActorRel(NonMatching, "d_a_e_zh"),
|
||||
ActorRel(NonMatching, "d_a_e_zm"),
|
||||
|
@ -1891,7 +1891,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bmshutter"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bombf"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_boumato"),
|
||||
ActorRel(NonMatching, "d_a_obj_brg"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_brg"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bsGate"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bubblePilar"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_catdoor"),
|
||||
|
@ -1921,7 +1921,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_enemy_create"),
|
||||
ActorRel(NonMatching, "d_a_obj_fallobj"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fan"),
|
||||
ActorRel(NonMatching, "d_a_obj_fchain"),
|
||||
ActorRel(Equivalent, "d_a_obj_fchain"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fireWood"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fireWood2"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_firepillar"),
|
||||
|
@ -2073,7 +2073,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pillar"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pleaf"),
|
||||
ActorRel(NonMatching, "d_a_obj_poCandle"),
|
||||
ActorRel(NonMatching, "d_a_obj_poFire"),
|
||||
ActorRel(Equivalent, "d_a_obj_poFire"),
|
||||
ActorRel(NonMatching, "d_a_obj_poTbox"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_prop"),
|
||||
ActorRel(NonMatching, "d_a_obj_pumpkin"),
|
||||
|
@ -2141,9 +2141,9 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tmoon"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_toaru_maki"),
|
||||
ActorRel(NonMatching, "d_a_obj_toby"),
|
||||
ActorRel(NonMatching, "d_a_obj_tobyhouse"),
|
||||
ActorRel(NonMatching, "d_a_obj_togeTrap"),
|
||||
ActorRel(NonMatching, "d_a_obj_tombo"),
|
||||
ActorRel(Equivalent, "d_a_obj_tobyhouse"), # weak function order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_togeTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tombo"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado2"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tp"),
|
||||
|
@ -2229,7 +2229,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_wara_howl"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_watchge"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_waterfall"),
|
||||
ActorRel(NonMatching, "d_a_tag_wljump"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_wljump"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_yami", extra_cflags=['-pragma "nosyminline off"']),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_talk"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tboxSw"),
|
||||
|
|
|
@ -28,7 +28,10 @@ public:
|
|||
virtual void calc() = 0;
|
||||
|
||||
static J3DMtxBuffer* getMtxBuffer() { return mMtxBuffer; }
|
||||
static J3DJoint* getJoint() { return mJoint; }
|
||||
static J3DJoint* getJoint() {
|
||||
J3D_ASSERT(185, mJoint != NULL, "Error : null pointer.")
|
||||
return mJoint;
|
||||
}
|
||||
static void setJoint(J3DJoint* joint) { mJoint = joint; }
|
||||
|
||||
static J3DMtxBuffer* mMtxBuffer;
|
||||
|
|
|
@ -221,11 +221,16 @@ public:
|
|||
/* 0x0 */ u8 unk_0x0;
|
||||
};
|
||||
|
||||
class daAlinkHIO_c {
|
||||
class daAlinkHIO_c
|
||||
#ifdef DEBUG
|
||||
: public mDoHIO_entry_c
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
/* 80140B88 */ daAlinkHIO_c();
|
||||
/* 80140C10 */ virtual ~daAlinkHIO_c();
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
void jumpStateUpdate(const cXyz*, const cXyz*, f32);
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0xC - 0x4];
|
||||
|
|
|
@ -13,6 +13,75 @@ class J2DPicture;
|
|||
class J2DPane;
|
||||
class J2DTextBox;
|
||||
|
||||
class daBalloon2D_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
inline daBalloon2D_HIO_c();
|
||||
/* 806553A8 */ virtual ~daBalloon2D_HIO_c();
|
||||
|
||||
#if DEBUG
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
#endif
|
||||
|
||||
void resetAddScoreSetFlag();
|
||||
|
||||
struct param {
|
||||
/* 0x04 */ u8 mAdjustmentToggle;
|
||||
/* 0x08 */ s32 mScore;
|
||||
/* 0x0C */ u8 mComboCount;
|
||||
/* 0x0D */ u8 mBalloonSize;
|
||||
/* 0x0E */ u8 mOverheadScoreToggle;
|
||||
/* 0x10 */ s32 mOverheadScore;
|
||||
/* 0x14 */ s32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x1c;
|
||||
/* 0x1C */ f32 field_0x20;
|
||||
/* 0x20 */ f32 mScorePosX;
|
||||
/* 0x24 */ f32 mScorePosY;
|
||||
/* 0x28 */ f32 mScoreSize;
|
||||
/* 0x2C */ f32 m5DNumberPosX;
|
||||
/* 0x30 */ f32 m5DNumberPosY;
|
||||
/* 0x34 */ f32 m5DNumberSizeX;
|
||||
/* 0x38 */ f32 m5DNumberSizeY;
|
||||
/* 0x3C */ f32 m5DNumberAlpha;
|
||||
/* 0x40 */ f32 m5DNumber2PosX;
|
||||
/* 0x44 */ f32 m5DNumber2PosY;
|
||||
/* 0x48 */ f32 m5DNumber2Size;
|
||||
/* 0x4C */ f32 mUnkPosX;
|
||||
/* 0x50 */ f32 mUnkPosY;
|
||||
/* 0x54 */ f32 mUnkSize;
|
||||
/* 0x58 */ f32 mComboPosX;
|
||||
/* 0x5C */ f32 mComboPosY;
|
||||
/* 0x60 */ f32 mComboSize;
|
||||
/* 0x64 */ f32 m2DNumberPosX;
|
||||
/* 0x68 */ f32 m2DNumberPosY;
|
||||
/* 0x6C */ f32 m2DNumberSizeX;
|
||||
/* 0x70 */ f32 m2DNumberSizeY;
|
||||
/* 0x74 */ f32 field_0x78;
|
||||
/* 0x78 */ f32 m2DNumberComboPosX;
|
||||
/* 0x7C */ f32 m2DNumberComboPosY;
|
||||
/* 0x80 */ f32 m2DNumberComboSize;
|
||||
/* 0x84 */ f32 m2DNumberComboAlpha;
|
||||
/* 0x88 */ f32 mBalloonLargePosX;
|
||||
/* 0x8C */ f32 mBalloonLargePosY;
|
||||
/* 0x90 */ f32 mBalloonLargeSize;
|
||||
/* 0x94 */ f32 mBalloonLargeAlpha;
|
||||
/* 0x98 */ f32 mBalloonMedPosX;
|
||||
/* 0x9C */ f32 mBalloonMedPosY;
|
||||
/* 0xA0 */ f32 mBalloonMedSize;
|
||||
/* 0xA4 */ f32 mBalloonMedAlpha;
|
||||
/* 0xA8 */ f32 mBalloonSmallPosX;
|
||||
/* 0xAC */ f32 mBalloonSmallPosY;
|
||||
/* 0xB0 */ f32 mBalloonSmallSize;
|
||||
/* 0xB4 */ f32 mBalloonSmallAlpha;
|
||||
/* 0xB8 */ f32 m2DNumberCombo2PosX;
|
||||
/* 0xBC */ f32 m2DNumberCombo2PosY;
|
||||
/* 0xC0 */ f32 m2DNumberCombo2Size;
|
||||
/* 0xC4 */ f32 m2DNumberCombo2PosX43;
|
||||
};
|
||||
|
||||
param m;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
* @class daBalloon2D_c
|
||||
|
@ -28,24 +97,12 @@ public:
|
|||
c_list() { mBalloon = NULL; }
|
||||
void set(daBalloon2D_c* i_this) { mBalloon = i_this; }
|
||||
|
||||
#ifdef NONMATCHING
|
||||
/* 806534CC */ virtual void draw();
|
||||
/* 8065544C */ virtual ~c_list();
|
||||
#else
|
||||
void draw();
|
||||
~c_list();
|
||||
void* vtable;
|
||||
#endif
|
||||
/* 8065544C */ virtual ~c_list() {}
|
||||
|
||||
daBalloon2D_c* mBalloon;
|
||||
};
|
||||
|
||||
class CHeadScore {
|
||||
public:
|
||||
/* 80655304 */ ~CHeadScore();
|
||||
/* 80655340 */ CHeadScore();
|
||||
};
|
||||
|
||||
daBalloon2D_c() {
|
||||
initiate();
|
||||
}
|
||||
|
@ -69,9 +126,7 @@ public:
|
|||
/* 80654730 */ void drawAddScore();
|
||||
/* 80654E8C */ void setHIO(bool);
|
||||
/* 80655494 */
|
||||
#ifdef NONMATCHING
|
||||
virtual
|
||||
#endif
|
||||
~daBalloon2D_c();
|
||||
|
||||
void show() { mIsVisible = 1; }
|
||||
|
@ -87,10 +142,12 @@ public:
|
|||
u8 field_0xf;
|
||||
};
|
||||
|
||||
#ifdef NONMATCHING
|
||||
#else
|
||||
/* 0x570 */ u32 vtable;
|
||||
#endif
|
||||
class CHeadScore : public ScoreCount {
|
||||
public:
|
||||
/* 80655304 */ ~CHeadScore();
|
||||
/* 80655340 */ CHeadScore();
|
||||
};
|
||||
|
||||
/* 0x574 */ J2DScreen* mScreen;
|
||||
/* 0x578 */ CPaneMgr* field_0x578;
|
||||
/* 0x57C */ CPaneMgr* field_0x57c;
|
||||
|
@ -108,7 +165,7 @@ public:
|
|||
/* 0x5A4 */ J2DPicture* field_0x5c4[10];
|
||||
/* 0x5EC */ J2DPicture* field_0x5ec;
|
||||
/* 0x5F0 */ c_list field_0x5f0;
|
||||
/* 0x5F8 */ ScoreCount field_0x5f8[20];
|
||||
/* 0x5F8 */ CHeadScore field_0x5f8[20];
|
||||
/* 0x738 */ f32 mAllAlpha;
|
||||
/* 0x73C */ f32 mComboAlpha;
|
||||
/* 0x740 */ u32 mScoreCount;
|
||||
|
@ -117,56 +174,6 @@ public:
|
|||
/* 0x746 */ u8 mIsVisible;
|
||||
};
|
||||
|
||||
class daBalloon2D_HIO_c /*: public mDoHIO_entry_c */ {
|
||||
public:
|
||||
/* 806553A8 */ /* virtual */ ~daBalloon2D_HIO_c();
|
||||
/* 0x00 */ u32 field_0x00;
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
/* 0x00 */ u8 field_0x05[0x20 - 5];
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 field_0x4c;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5c;
|
||||
/* 0x60 */ f32 field_0x60;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x7C */ f32 field_0x7c;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ f32 field_0x84;
|
||||
/* 0x88 */ f32 field_0x88;
|
||||
/* 0x8C */ f32 field_0x8c;
|
||||
/* 0x90 */ f32 field_0x90;
|
||||
/* 0x94 */ f32 field_0x94;
|
||||
/* 0x98 */ f32 field_0x98;
|
||||
/* 0x9C */ f32 field_0x9c;
|
||||
/* 0xA0 */ f32 field_0xa0;
|
||||
/* 0xA4 */ f32 field_0xa4;
|
||||
/* 0xA8 */ f32 field_0xa8;
|
||||
/* 0xAC */ f32 field_0xac;
|
||||
/* 0xB0 */ f32 field_0xb0;
|
||||
/* 0xB4 */ f32 field_0xb4;
|
||||
/* 0xB8 */ f32 field_0xb8;
|
||||
/* 0xBC */ f32 field_0xbc;
|
||||
/* 0xC0 */ f32 field_0xc0;
|
||||
/* 0xC4 */ f32 field_0xc4;
|
||||
};
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
struct JKRExpHeap {};
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
#ifndef D_A_E_BU_H
|
||||
#define D_A_E_BU_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
|
@ -10,16 +15,69 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class e_bu_class : public fopEn_enemy_c {
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xaa4 - 0x5ac];
|
||||
class e_bu_class {
|
||||
public:
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
/* 0x5AC */ request_of_phase_process_class phase;
|
||||
/* 0x5B4 */ u8 prm0;
|
||||
/* 0x5B5 */ u8 prm1;
|
||||
/* 0x5B6 */ u8 type;
|
||||
/* 0x5B7 */ u8 pathNo;
|
||||
/* 0x5B8 */ s8 field_0x5b8;
|
||||
/* 0x5B9 */ s8 now_path_pntNo;
|
||||
/* 0x5BA */ s8 path_step;
|
||||
/* 0x5BC */ dPath* ppd;
|
||||
/* 0x5C0 */ mDoExt_McaMorfSO* modelMorf;
|
||||
/* 0x5C4 */ Z2CreatureEnemy sound;
|
||||
/* 0x668 */ int anm;
|
||||
/* 0x66C */ int anm_frame;
|
||||
/* 0x670 */ s16 lifetime;
|
||||
/* 0x672 */ s16 action;
|
||||
/* 0x674 */ s16 mode;
|
||||
/* 0x678 */ cXyz move_pos;
|
||||
/* 0x684 */ s16 angle_to_player;
|
||||
/* 0x688 */ f32 dist_to_player;
|
||||
/* 0x68C */ f32 pl_search_range;
|
||||
/* 0x690 */ f32 field_0x690;
|
||||
/* 0x694 */ f32 field_0x694;
|
||||
/* 0x698 */ f32 hit_speed;
|
||||
/* 0x69C */ s16 hit_rot;
|
||||
/* 0x69E */ csXyz field_0x69e;
|
||||
/* 0x6A4 */ s8 is_dead;
|
||||
/* 0x6A8 */ f32 field_0x6a8;
|
||||
/* 0x6AC */ s16 timers[4];
|
||||
/* 0x6B4 */ s16 invulnerabilityTimer;
|
||||
/* 0x6B6 */ s16 head_rot_y;
|
||||
/* 0x6B8 */ s16 field_0x6b8;
|
||||
/* 0x6BA */ s16 head_rot_x;
|
||||
/* 0x6BC */ s16 field_0x6bc;
|
||||
/* 0x6BE */ s16 jaw_rot;
|
||||
/* 0x6C0 */ cXyz field_0x6c0;
|
||||
/* 0x6CC */ dBgS_AcchCir acchcir;
|
||||
/* 0x70C */ dBgS_ObjAcch acch;
|
||||
/* 0x8E4 */ dCcD_Stts ccStts;
|
||||
/* 0x920 */ dCcD_Sph ccSph;
|
||||
/* 0xA58 */ dCcU_AtInfo atInfo;
|
||||
/* 0xA7C */ u32 field_0xa7c;
|
||||
/* 0xA80 */ u32 field_0xa80;
|
||||
/* 0xA84 */ u32 mtrl_emitter_id[4];
|
||||
/* 0xA94 */ u8 field_0xA94[0xAA0 - 0xA94];
|
||||
/* 0xAA0 */ u8 HIOInit;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_bu_class) == 0xaa4);
|
||||
|
||||
class daE_BU_HIO_c {
|
||||
public:
|
||||
/* 806911AC */ daE_BU_HIO_c();
|
||||
/* 806941D4 */ ~daE_BU_HIO_c();
|
||||
/* 806941D4 */ virtual ~daE_BU_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 id;
|
||||
/* 0x08 */ f32 base_size;
|
||||
/* 0x0C */ f32 fly_speed;
|
||||
/* 0x10 */ f32 attack_range;
|
||||
/* 0x14 */ f32 attack_speed;
|
||||
/* 0x18 */ f32 dash_speed;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,26 +1,197 @@
|
|||
#ifndef D_A_E_KR_H
|
||||
#define D_A_E_KR_H
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/d_path.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
* @class e_kr_class
|
||||
* @brief Kargorok
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class e_kr_class : public fopEn_enemy_c {
|
||||
class e_kr_class {
|
||||
public:
|
||||
/* 80705004 */ e_kr_class();
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xf08 - 0x5ac];
|
||||
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x5B8 */ s32 field_0x5b8;
|
||||
/* 0x5BC */ s32 field_0x5bc;
|
||||
/* 0x5C0 */ Z2CreatureEnemy mSound;
|
||||
/* 0x664 */ u8 field_0x664;
|
||||
/* 0x665 */ u8 field_0x665;
|
||||
/* 0x666 */ u8 field_0x666;
|
||||
/* 0x666 */ u8 field_0x667;
|
||||
/* 0x668 */ s16 mCurAction;
|
||||
/* 0x66A */ u8 field_0x66a;
|
||||
/* 0x66B */ u8 field_0x66b;
|
||||
/* 0x66C */ fpc_ProcID mBombId;
|
||||
/* 0x670 */ s8 field_0x670;
|
||||
/* 0x672 */ s16 field_0x672;
|
||||
/* 0x674 */ u8 field_0x674;
|
||||
/* 0x678 */ cXyz field_0x678;
|
||||
/* 0x684 */ f32 field_0x684;
|
||||
/* 0x688 */ f32 field_0x688;
|
||||
/* 0x68C */ f32 field_0x68c;
|
||||
/* 0x690 */ f32 field_0x690;
|
||||
/* 0x694 */ f32 field_0x694;
|
||||
/* 0x698 */ u8 field_0x698[0x69c - 0x698];
|
||||
/* 0x69C */ s16 field_0x69c[6];
|
||||
/* 0x6A8 */ s16 field_0x6a8;
|
||||
/* 0x6AA */ s16 field_0x6aa;
|
||||
/* 0x6AC */ u8 field_0x6ac[0x6b4 - 0x6ac];
|
||||
/* 0x6B4 */ f32 field_0x6b4;
|
||||
/* 0x6B8 */ f32 field_0x6b8;
|
||||
/* 0x6BC */ s16 field_0x6bc;
|
||||
/* 0x6BE */ u8 field_0x6be[0x6c0 - 0x6be];
|
||||
/* 0x6C0 */ s16 field_0x6c0;
|
||||
/* 0x6C2 */ s16 field_0x6c2;
|
||||
/* 0x6C4 */ f32 field_0x6c4;
|
||||
/* 0x6C8 */ s16 field_0x6c8;
|
||||
/* 0x6CA */ s16 field_0x6ca;
|
||||
/* 0x6CC */ s16 field_0x6cc;
|
||||
/* 0x6D0 */ f32 field_0x6d0;
|
||||
/* 0x6D4 */ s16 field_0x6d4;
|
||||
/* 0x6D6 */ s16 field_0x6d6;
|
||||
/* 0x6D8 */ s16 field_0x6d8;
|
||||
/* 0x6DA */ u8 field_0x6da[0x6de - 0x6da];
|
||||
/* 0x6DE */ s16 field_0x6de;
|
||||
/* 0x6E0 */ u8 field_0x6e0[0x6e1 - 0x6e0];
|
||||
/* 0x6E1 */ s8 field_0x6e1;
|
||||
/* 0x6E2 */ s8 field_0x6e2;
|
||||
/* 0x6E3 */ s8 field_0x6e3;
|
||||
/* 0x6E4 */ dPath* field_0x6e4;
|
||||
/* 0x6E8 */ u8 field_0x6e8[0x6ea - 0x6e8];
|
||||
/* 0x6EC */ csXyz field_0x6ea;
|
||||
/* 0x6F2 */ csXyz field_0x6f0;
|
||||
/* 0x6EA */ s16 field_0x6f6;
|
||||
/* 0x6F8 */ cXyz field_0x6f8;
|
||||
/* 0x704 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x744 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x91C */ bool field_0x91c;
|
||||
/* 0x920 */ f32 field_0x920;
|
||||
/* 0x924 */ dCcD_Stts mStts;
|
||||
/* 0x960 */ dCcD_Sph mSphere1;
|
||||
/* 0xA98 */ dCcD_Sph mSphere2;
|
||||
/* 0xBD0 */ dCcD_Sph mSphere3;
|
||||
/* 0xD08 */ dCcD_Sph mSphere4;
|
||||
/* 0xE40 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0xE64 */ cXyz field_0xe64[2];
|
||||
/* 0xE7C */ s16 field_0xe7c;
|
||||
/* 0xE7E */ s16 field_0xe7e;
|
||||
/* 0xE80 */ s16 field_0xe80;
|
||||
/* 0xE82 */ s16 field_0xe82;
|
||||
/* 0xE84 */ s16 field_0xe84;
|
||||
/* 0xE88 */ JAISoundID field_0xe88;
|
||||
/* 0xE8C */ u8 field_0xe8c;
|
||||
/* 0xE8E */ s16 field_0xe8e[11];
|
||||
/* 0xEA4 */ u8 field_0xea4[0xea8 - 0xea4];
|
||||
/* 0xEA8 */ f32 field_0xea8;
|
||||
/* 0xEAC */ s16 field_0xeac;
|
||||
/* 0xEAE */ s16 field_0xeae;
|
||||
/* 0xEB0 */ s16 field_0xeb0;
|
||||
/* 0xEB2 */ s16 field_0xeb2;
|
||||
/* 0xEB4 */ s16 field_0xeb4;
|
||||
/* 0xEB6 */ s16 field_0xeb6;
|
||||
/* 0xEB8 */ f32 field_0xeb8;
|
||||
/* 0xEBC */ s16 field_0xebc;
|
||||
/* 0xEBE */ s16 field_0xebe;
|
||||
/* 0xEC0 */ s8 field_0xec0;
|
||||
/* 0xEC4 */ u32 field_0xec4[5];
|
||||
/* 0xED8 */ u32 field_0xed8[5];
|
||||
/* 0xEDC */ u8 field_0xedc[0xef8 - 0xeec];
|
||||
/* 0xEF8 */ f32 field_0xef8;
|
||||
/* 0xEFC */ s8 field_0xefc;
|
||||
/* 0xF00 */ s32 field_0xf00;
|
||||
/* 0xF04 */ s32 field_0xf04;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_kr_class) == 0xf08);
|
||||
|
||||
class e_krHIO_c {
|
||||
/* 80705574 */ ~e_krHIO_c();
|
||||
class e_krHIO_c : public fOpAcm_HIO_entry_c {
|
||||
public:
|
||||
e_krHIO_c() {
|
||||
field_0x4 = 0;
|
||||
field_0x5 = 0;
|
||||
field_0x8 = 20.0f;
|
||||
field_0xc = 2500.0f;
|
||||
field_0x14 = 1.0f;
|
||||
field_0x18 = 2000;
|
||||
field_0x1a = 2500;
|
||||
field_0x1c = 2000;
|
||||
field_0x1e = 2500;
|
||||
field_0x20 = 0.35f;
|
||||
field_0x24 = 0.5f;
|
||||
field_0x28 = 1.0f;
|
||||
field_0x2c = 1.0f;
|
||||
field_0x30 = 1.0f;
|
||||
field_0x38 = 1.0f;
|
||||
field_0x3c = 1.0f;
|
||||
field_0x40 = 30;
|
||||
field_0x44 = 1.0f;
|
||||
field_0x48 = 1.0f;
|
||||
field_0x4c = 1.5f;
|
||||
field_0x50 = 1100;
|
||||
field_0x54 = 3.5f;
|
||||
field_0x34 = 60;
|
||||
field_0x58 = 60.0f;
|
||||
field_0x5c = 40.0f;
|
||||
field_0x60 = 1;
|
||||
field_0x64 = 8000.0f;
|
||||
field_0x70 = 3000.0f;
|
||||
field_0x6c = 20000;
|
||||
field_0x68 = 1500.0f;
|
||||
field_0x74 = 2000.0f;
|
||||
field_0x6e = 20000;
|
||||
field_0x78 = -40.0f;
|
||||
}
|
||||
/* 80705574 */ virtual ~e_krHIO_c() {}
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ u8 field_0x10[0x14 - 0x10];
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ s16 field_0x18;
|
||||
/* 0x1A */ s16 field_0x1a;
|
||||
/* 0x1C */ s16 field_0x1c;
|
||||
/* 0x1E */ s16 field_0x1e;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ s16 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ s16 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 field_0x4c;
|
||||
/* 0x50 */ s16 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5c;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x6C */ s16 field_0x6c;
|
||||
/* 0x6E */ s16 field_0x6e;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_krHIO_c) == 0x7c);
|
||||
|
||||
|
||||
#endif /* D_A_E_KR_H */
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#ifndef D_A_E_YMB_H
|
||||
#define D_A_E_YMB_H
|
||||
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
|
@ -13,11 +16,11 @@
|
|||
*/
|
||||
class daE_YMB_c : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 8081615C */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 808164F0 */ void JointCallBack(J3DJoint*, int);
|
||||
/* 80816554 */ void draw();
|
||||
/* 8081615C */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 808164F0 */ static int JointCallBack(J3DJoint*, int);
|
||||
/* 80816554 */ int draw();
|
||||
/* 8081697C */ void setBck(int, u8, f32, f32);
|
||||
/* 80816A20 */ void checkBck(int);
|
||||
/* 80816A20 */ bool checkBck(int);
|
||||
/* 80816A7C */ void setActionMode(int, int);
|
||||
/* 80816A88 */ void setLastDamage();
|
||||
/* 80816B7C */ void damage_check();
|
||||
|
@ -41,7 +44,7 @@ public:
|
|||
/* 80818328 */ void setBitePos(int);
|
||||
/* 80818370 */ void setInclination();
|
||||
/* 80818518 */ void setBodyAngle();
|
||||
/* 80818930 */ void checkWolfLockIn();
|
||||
/* 80818930 */ bool checkWolfLockIn();
|
||||
/* 80818AE8 */ void executeFly();
|
||||
/* 80819610 */ void executeFlyAttack();
|
||||
/* 80819FD0 */ void executeRunAway();
|
||||
|
@ -59,36 +62,123 @@ public:
|
|||
/* 8081D4D8 */ void setCreateDrop();
|
||||
/* 8081D594 */ void executeDeath();
|
||||
/* 8081DBD0 */ void demo_skip(int);
|
||||
/* 8081DDE0 */ void DemoSkipCallBack(void*, int);
|
||||
/* 8081DDE0 */ static int DemoSkipCallBack(void*, int);
|
||||
/* 8081DE14 */ void calcLakeDemoPlayerPos();
|
||||
/* 8081DE84 */ void executeLakeDemo();
|
||||
/* 8081E5B4 */ void executeStartDemo();
|
||||
/* 8081F140 */ void checkStartBattleDemo();
|
||||
/* 8081F140 */ bool checkStartBattleDemo();
|
||||
/* 8081F2E0 */ void executeBattleDemo();
|
||||
/* 8081FAC8 */ void action();
|
||||
/* 8081FF88 */ void mtx_set();
|
||||
/* 808200A0 */ void getBellyBitePos(cXyz*);
|
||||
/* 80820128 */ void getDownLockPoint();
|
||||
/* 80820128 */ int getDownLockPoint();
|
||||
/* 808203D8 */ void setAttentionPos();
|
||||
/* 80820668 */ void cc_set();
|
||||
/* 808207AC */ void execute();
|
||||
/* 80820A40 */ void _delete();
|
||||
/* 80820AF0 */ void CreateHeap();
|
||||
/* 80820DD0 */ void create();
|
||||
/* 808207AC */ int execute();
|
||||
/* 80820A40 */ int _delete();
|
||||
/* 80820AF0 */ int CreateHeap();
|
||||
/* 80820DD0 */ cPhs__Step create();
|
||||
|
||||
int getMaxLockAttack() { return 6; }
|
||||
u8 getSwitchBit() { return mSwitchBit; }
|
||||
|
||||
/* 0x5AC */ u8 field_0x5ac[0x6C0 - 0x5ac];
|
||||
/* 0x6C0 */ u8 mSwitchBit;
|
||||
/* 0x6C1 */ u8 field_0x6c1[0x1524 - 0x6C1];
|
||||
/* 0x05AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x05B4 */ mDoExt_invisibleModel mInvisModel;
|
||||
/* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x05C0 */ mDoExt_brkAnm* mpBrkAnm;
|
||||
/* 0x05C4 */ Z2CreatureEnemy mSound;
|
||||
/* 0x0668 */ f32 field_0x668[6];
|
||||
/* 0x0680 */ int field_0x680[6];
|
||||
/* 0x0698 */ int field_0x698;
|
||||
/* 0x069C */ cXyz field_0x69c;
|
||||
/* 0x06A8 */ cXyz field_0x6a8;
|
||||
/* 0x06B4 */ int mAction;
|
||||
/* 0x06B8 */ int mMode;
|
||||
/* 0x06BC */ u32 mShadowKey;
|
||||
/* 0x06C0 */ u8 mSwitchBit;
|
||||
/* 0x06C1 */ u8 field_0x6c1;
|
||||
/* 0x06C4 */ f32 field_0x6c4;
|
||||
/* 0x06C8 */ f32 field_0x6c8;
|
||||
/* 0x06CC */ f32 field_0x6cc;
|
||||
/* 0x06D0 */ f32 field_0x6d0;
|
||||
/* 0x06D4 */ f32 field_0x6d4;
|
||||
/* 0x06D8 */ f32 field_0x6d8;
|
||||
/* 0x06DC */ f32 field_0x6dc;
|
||||
/* 0x06E0 */ f32 field_0x6e0;
|
||||
/* 0x06E4 */ s16 field_0x6e4;
|
||||
/* 0x06E6 */ s16 field_0x6e6;
|
||||
/* 0x06E8 */ s16 field_0x6e8;
|
||||
/* 0x06EA */ s16 field_0x6ea;
|
||||
/* 0x06EC */ int field_0x6ec;
|
||||
/* 0x06F0 */ int field_0x6f0;
|
||||
/* 0x06F4 */ int field_0x6f4;
|
||||
/* 0x06F8 */ int field_0x6f8;
|
||||
/* 0x06FC */ int field_0x6fc;
|
||||
/* 0x0700 */ int field_0x700;
|
||||
/* 0x0704 */ int field_0x704;
|
||||
/* 0x0708 */ int field_0x708;
|
||||
/* 0x070C */ int field_0x70c;
|
||||
/* 0x0710 */ u8 field_0x710;
|
||||
/* 0x0711 */ u8 field_0x711;
|
||||
/* 0x0712 */ u8 field_0x712;
|
||||
/* 0x0713 */ u8 field_0x713;
|
||||
/* 0x0714 */ u8 field_0x714;
|
||||
/* 0x0715 */ u8 field_0x715;
|
||||
/* 0x0716 */ u8 field_0x716;
|
||||
/* 0x0717 */ u8 field_0x717;
|
||||
/* 0x0718 */ u8 field_0x718;
|
||||
/* 0x0719 */ u8 field_0x719[0x71f - 0x719];
|
||||
/* 0x071F */ u8 field_0x71f;
|
||||
/* 0x0720 */ u8 field_0x720;
|
||||
/* 0x0721 */ u8 field_0x721;
|
||||
/* 0x0722 */ u8 field_0x722;
|
||||
/* 0x0723 */ u8 field_0x723;
|
||||
/* 0x0724 */ u8 field_0x724;
|
||||
/* 0x0725 */ u8 field_0x725;
|
||||
/* 0x0728 */ cXyz mDemoCamEye;
|
||||
/* 0x0734 */ cXyz mDemoCamCenter;
|
||||
/* 0x0740 */ cXyz field_0x740;
|
||||
/* 0x074C */ cXyz field_0x74c;
|
||||
/* 0x0758 */ f32 mDemoCamFovy;
|
||||
/* 0x075C */ f32 field_0x75c;
|
||||
/* 0x0760 */ s16 field_0x760;
|
||||
/* 0x0762 */ s16 field_0x762;
|
||||
/* 0x0764 */ u8 field_0x764;
|
||||
/* 0x0765 */ u8 field_0x765;
|
||||
/* 0x0768 */ Mtx field_0x768;
|
||||
/* 0x0798 */ dBgW* mpBgW;
|
||||
/* 0x079C */ dBgS_GndChk mGndChk;
|
||||
/* 0x07F0 */ dCcD_Stts mStts;
|
||||
/* 0x082C */ dCcD_Sph field_0x82c[2];
|
||||
/* 0x0A9C */ dCcD_Sph field_0xa9c;
|
||||
/* 0x0BD4 */ dCcD_Sph field_0xbd4[6];
|
||||
/* 0x1324 */ dCcD_Sph field_0x1324;
|
||||
/* 0x145C */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x1480 */ u32 mElecParticles[4];
|
||||
/* 0x1490 */ u32 mMidnaBindParticles[3];
|
||||
/* 0x149C */ u8 field_0x149c[0x14d8 - 0x149c];
|
||||
/* 0x14D8 */ u32 mWaterParticles1[6];
|
||||
/* 0x14F0 */ u32 mWaterParticles2[7];
|
||||
/* 0x150C */ u32 mDownHamonParticles[2];
|
||||
/* 0x1514 */ u32 mBlurParticles[2];
|
||||
/* 0x151C */ u32 mDamageParticle;
|
||||
/* 0x1520 */ u8 field_0x1520;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524);
|
||||
|
||||
struct daE_YMB_HIO_c {
|
||||
public:
|
||||
/* 8081610C */ daE_YMB_HIO_c();
|
||||
/* 80821460 */ ~daE_YMB_HIO_c();
|
||||
/* 80821460 */ virtual ~daE_YMB_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ f32 model_size; // モデルサイズ (Model Size)
|
||||
/* 0x0C */ f32 fly_movement_speed; // 飛行移動速度 (Fly Movement Speed)
|
||||
/* 0x10 */ f32 swim_attack_speed; // 泳ぎ攻撃速度 (Swim Attack Speed)
|
||||
/* 0x14 */ f32 fly_attack_speed; // 飛行攻撃速度 (Fly Attack Speed)
|
||||
/* 0x18 */ f32 rollover_time; // ひっくり返り時間 (Rollover Time)
|
||||
/* 0x1C */ f32 fly_height_adjust; // 飛行高度-加減値 (Fly Height Adjust)
|
||||
};
|
||||
|
||||
#endif /* D_A_E_YMB_H */
|
||||
|
|
|
@ -1,29 +1,36 @@
|
|||
#ifndef D_A_E_ZH_H
|
||||
#define D_A_E_ZH_H
|
||||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
* @class daE_ZH_c
|
||||
* @brief Zant Head
|
||||
* @brief Ball Master
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
|
||||
class daObjCarry_c;
|
||||
|
||||
class daE_ZH_c : public fopEn_enemy_c {
|
||||
/* 8082907C */ void draw();
|
||||
public:
|
||||
/* 8082907C */ int draw();
|
||||
/* 808293A8 */ void setBck(int, u8, f32, f32);
|
||||
/* 80829454 */ void setActionMode(int, int);
|
||||
/* 80829570 */ void startDemoCheck();
|
||||
/* 80829570 */ bool startDemoCheck();
|
||||
/* 80829658 */ void mBallBGCheck();
|
||||
/* 808298BC */ void mGateOpen();
|
||||
/* 808299F8 */ void mColorSet(bool, f32, f32);
|
||||
/* 80829AD8 */ void mReturnLineMove();
|
||||
/* 80829E44 */ void mBallBgLineCheck();
|
||||
/* 8082A01C */ void mSearchMove(u8);
|
||||
/* 808299F8 */ bool mColorSet(bool, f32, f32);
|
||||
/* 80829AD8 */ bool mReturnLineMove();
|
||||
/* 80829E44 */ bool mBallBgLineCheck();
|
||||
/* 8082A01C */ bool mSearchMove(u8);
|
||||
/* 8082A390 */ void mStartParticleSet();
|
||||
/* 8082A4C8 */ void mCutTypeCheck();
|
||||
/* 8082A4C8 */ bool mCutTypeCheck();
|
||||
/* 8082A534 */ void damage_check();
|
||||
/* 8082A88C */ void executeStartDemo();
|
||||
/* 8082ABDC */ void executeWait();
|
||||
|
@ -42,22 +49,83 @@ class daE_ZH_c : public fopEn_enemy_c {
|
|||
/* 8082DB84 */ void action();
|
||||
/* 8082DE18 */ void mtx_set();
|
||||
/* 8082DF44 */ void cc_set();
|
||||
/* 8082E2FC */ void execute();
|
||||
/* 8082E3E8 */ void _delete();
|
||||
/* 8082E4E4 */ void CreateHeap();
|
||||
/* 8082E730 */ void create();
|
||||
/* 8082ECEC */ daE_ZH_c();
|
||||
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xe08 - 0x5ac];
|
||||
/* 8082E2FC */ int execute();
|
||||
/* 8082E3E8 */ int _delete();
|
||||
/* 8082E4E4 */ int CreateHeap();
|
||||
/* 8082E730 */ cPhs__Step create();
|
||||
/* 8082ECEC */ daE_ZH_c() {}
|
||||
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x5B8 */ J3DModel* mEntranceModel;
|
||||
/* 0x5BC */ mDoExt_btkAnm* mpBtkAnm;
|
||||
/* 0x5C0 */ Z2CreatureEnemy mSound;
|
||||
/* 0x664 */ daObjCarry_c* mS_Ball;
|
||||
/* 0x668 */ cXyz field_0x668;
|
||||
/* 0x674 */ u8 field_0x674[0x680 - 0x674];
|
||||
/* 0x680 */ cXyz field_0x680;
|
||||
/* 0x68C */ cXyz field_0x68c;
|
||||
/* 0x698 */ cXyz mRetrunStartLine;
|
||||
/* 0x6A4 */ cXyz mRetrunEndLine;
|
||||
/* 0x6B0 */ cXyz mBallHosei;
|
||||
/* 0x6BC */ cXyz field_0x6bc;
|
||||
/* 0x6C8 */ cXyz field_0x6c8[3];
|
||||
/* 0x6EC */ int field_0x6ec[3];
|
||||
/* 0x6F8 */ cXyz field_0x6f8[8];
|
||||
/* 0x758 */ u8 field_0x758[8];
|
||||
/* 0x760 */ f32 field_0x760;
|
||||
/* 0x764 */ f32 field_0x764[3];
|
||||
/* 0x770 */ f32 pmRoofPos;
|
||||
/* 0x774 */ f32 field_0x774;
|
||||
/* 0x778 */ f32 field_0x778;
|
||||
/* 0x77C */ f32 field_0x77c;
|
||||
/* 0x780 */ int mActionMode;
|
||||
/* 0x784 */ int mMoveMode;
|
||||
/* 0x788 */ u32 mShadowKey;
|
||||
/* 0x78C */ int field_0x78c;
|
||||
/* 0x790 */ int mAnm;
|
||||
/* 0x794 */ int field_0x794[3];
|
||||
/* 0x7A0 */ int field_0x7a0;
|
||||
/* 0x7A4 */ int field_0x7a4;
|
||||
/* 0x7A8 */ u8 field_0x7a8;
|
||||
/* 0x7A9 */ u8 bitSw;
|
||||
/* 0x7AA */ u8 bitSwEnd;
|
||||
/* 0x7AB */ u8 arg0;
|
||||
/* 0x7AC */ u8 field_0x7ac;
|
||||
/* 0x7AD */ u8 field_0x7ad;
|
||||
/* 0x7AE */ u8 field_0x7ae;
|
||||
/* 0x7AF */ u8 field_0x7af;
|
||||
/* 0x7B0 */ s16 mRollAngle;
|
||||
/* 0x7B2 */ s16 field_0x7b2;
|
||||
/* 0x7B4 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7F4 */ dBgS_ObjAcch mBgc;
|
||||
/* 0x9CC */ dCcD_Stts mStts;
|
||||
/* 0xA08 */ dCcD_Sph field_0xa08;
|
||||
/* 0xB40 */ dCcD_Cyl field_0xb40;
|
||||
/* 0xC7C */ dCcD_Cyl field_0xc7c;
|
||||
/* 0xDB8 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0xDDC */ u32 field_0xddc[3];
|
||||
/* 0xDE8 */ u32 field_0xde8;
|
||||
/* 0xDEC */ cXyz mDemoCamEye;
|
||||
/* 0xDF8 */ cXyz mDemoCamCenter;
|
||||
/* 0xE04 */ u8 field_0xe04;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daE_ZH_c) == 0xe08);
|
||||
|
||||
class daE_ZH_HIO_c {
|
||||
class daE_ZH_HIO_c: public JORReflexible {
|
||||
public:
|
||||
/* 8082902C */ daE_ZH_HIO_c();
|
||||
/* 8082F160 */ ~daE_ZH_HIO_c();
|
||||
/* 8082F160 */ virtual ~daE_ZH_HIO_c() {}
|
||||
|
||||
// ボールマスター (Ball Master)
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ f32 model_size; // モデルサイズ (Model Size)
|
||||
/* 0x0C */ f32 ascent_rate; // 上昇速度(落下後)(Rate of ascent (after falling))
|
||||
/* 0x10 */ f32 wandering_area; // うろうろ範囲 (Wandering Area)
|
||||
/* 0x14 */ s16 wait_time; // 玉取られ後移動開始待ち時間 (Waiting time after the stone is taken and movement begins)
|
||||
/* 0x16 */ s16 piyori_time; // ピヨリ時間 (Piyori Time)
|
||||
/* 0x18 */ u8 dungeon_bit_check; // ダンジョンビットチェックON/OFF (Dungeon Bit Check ON/OFF)
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_E_ZH_H */
|
||||
|
|
|
@ -16,12 +16,11 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class fr_class : public fopAc_ac_c {
|
||||
class fr_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 0x568 */ u8 field_0x568[0x5ac - 0x568];
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ u8 field_0x5b4;
|
||||
/* 0x5B5 */ u8 field_0x5b5[0x5c4 - 0x5b5];
|
||||
/* 0x5B5 */ cXyz field_0x5b8;
|
||||
/* 0x5C4 */ mDoExt_McaMorf* mMorf;
|
||||
/* 0x5C8 */ mDoExt_btkAnm* mBtkAnm;
|
||||
/* 0x5CC */ u8 field_0x5cc;
|
||||
|
@ -77,6 +76,7 @@ public:
|
|||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,68 +1,72 @@
|
|||
#ifndef D_A_KAGO_H
|
||||
#define D_A_KAGO_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/d_msg_flow.h"
|
||||
#include "d/d_path.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
* @class daKago_c
|
||||
* @brief Basket
|
||||
* @brief Player-controlled Kargarok
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daKago_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80849660 */ void getBckName(int);
|
||||
/* 80849660 */ int getBckName(int);
|
||||
/* 808496F0 */ void setBck(int, u8, f32, f32);
|
||||
/* 80849798 */ void checkBck(int);
|
||||
/* 808497F8 */ void draw();
|
||||
/* 80849980 */ void executeBalloonMenu();
|
||||
/* 80849BA8 */ void checkGroundHeight(cXyz, f32*);
|
||||
/* 8084A070 */ void checkRoofHeight(cXyz);
|
||||
/* 80849798 */ bool checkBck(int);
|
||||
/* 808497F8 */ int draw();
|
||||
/* 80849980 */ int executeBalloonMenu();
|
||||
/* 80849BA8 */ f32 checkGroundHeight(cXyz, f32*);
|
||||
/* 8084A070 */ f32 checkRoofHeight(cXyz);
|
||||
/* 8084A210 */ void checkMoveHeight();
|
||||
/* 8084A2A8 */ void checkSizeBg();
|
||||
/* 8084A6DC */ bool getBeforeGroundHeight(u8);
|
||||
/* 8084A6DC */ s16 getBeforeGroundHeight(u8);
|
||||
/* 8084A6E4 */ void demo_skip(int);
|
||||
/* 8084AA64 */ void DemoSkipCallBack(void*, int);
|
||||
/* 8084AA64 */ static int DemoSkipCallBack(void*, int);
|
||||
/* 8084AA98 */ void setActionMode(int, int);
|
||||
/* 8084AAAC */ void setMidnaTagPos();
|
||||
/* 8084AB40 */ void setMidnaRideOn();
|
||||
/* 8084AB8C */ void setPlayerRideOn();
|
||||
/* 8084ABC8 */ void setRideOff();
|
||||
/* 8084AC2C */ void searchNearPassPoint();
|
||||
/* 8084AE78 */ void setSceneChange(int);
|
||||
/* 8084AC2C */ s8 searchNearPassPoint();
|
||||
/* 8084AE78 */ int setSceneChange(int);
|
||||
/* 8084AF40 */ void createBalloonScore();
|
||||
/* 8084AFB0 */ void startBalloonScore();
|
||||
/* 8084B024 */ void endBalloonScore();
|
||||
/* 8084B088 */ f32 checkNextPath(cXyz);
|
||||
/* 8084B108 */ void checkHeight();
|
||||
/* 8084B134 */ void checkYaguraPos(cXyz);
|
||||
/* 8084B1E0 */ void checkWallHitFall(int);
|
||||
/* 8084B56C */ void checkAttackStart();
|
||||
/* 8084B5DC */ void getValueY(f32);
|
||||
/* 8084B6F4 */ void getValueX(f32);
|
||||
/* 8084B718 */ void getValueAbsX(f32);
|
||||
/* 8084B134 */ bool checkYaguraPos(cXyz);
|
||||
/* 8084B1E0 */ bool checkWallHitFall(int);
|
||||
/* 8084B56C */ bool checkAttackStart();
|
||||
/* 8084B5DC */ s16 getValueY(f32);
|
||||
/* 8084B6F4 */ s16 getValueX(f32);
|
||||
/* 8084B718 */ s16 getValueAbsX(f32);
|
||||
/* 8084B744 */ void flySpeedCalcLockOn();
|
||||
/* 8084B96C */ void flySpeedCalc(s16, int);
|
||||
/* 8084C078 */ void checkFlySceneChange();
|
||||
/* 8084C078 */ bool checkFlySceneChange();
|
||||
/* 8084C178 */ void setFlyAway();
|
||||
/* 8084C204 */ void setFlyAnime();
|
||||
/* 8084C2CC */ void executeFly();
|
||||
/* 8084C8FC */ void executeStagger();
|
||||
/* 8084D108 */ void executeWait();
|
||||
/* 8084D354 */ void calcAttackMove(int);
|
||||
/* 8084D354 */ bool calcAttackMove(int);
|
||||
/* 8084D50C */ void executeAttack();
|
||||
/* 8084DA18 */ void calcCircleCamera(int);
|
||||
/* 8084DBFC */ void executeEvent();
|
||||
/* 8084DD18 */ void initPerchDemo();
|
||||
/* 8084E2D4 */ void executePerchDemo();
|
||||
/* 8084F09C */ void PerchDemoAwayForward();
|
||||
/* 8084E2D4 */ bool executePerchDemo();
|
||||
/* 8084F09C */ bool PerchDemoAwayForward();
|
||||
/* 8084FA58 */ void executePerch();
|
||||
/* 8084FAA8 */ void executeEvent2();
|
||||
/* 8084FB50 */ void initFirstDemo();
|
||||
/* 80850384 */ void executeFirstDemo();
|
||||
/* 80850384 */ bool executeFirstDemo();
|
||||
/* 808513E4 */ void executePerch2();
|
||||
/* 80851434 */ void executeLandingLakeHairia();
|
||||
/* 80851DEC */ void executeLandingBoartHouse();
|
||||
|
@ -80,67 +84,179 @@ public:
|
|||
/* 80853BCC */ void action();
|
||||
/* 80853EF0 */ void mtx_set();
|
||||
/* 80853FB0 */ void cc_set();
|
||||
/* 80854058 */ void execute();
|
||||
/* 80854190 */ void _delete();
|
||||
/* 80854220 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 808542DC */ void JointCallBack(J3DJoint*, int);
|
||||
/* 80854328 */ void CreateHeap();
|
||||
/* 808544D8 */ void create();
|
||||
/* 80854058 */ int execute();
|
||||
/* 80854190 */ int _delete();
|
||||
/* 80854220 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 808542DC */ static int JointCallBack(J3DJoint*, int);
|
||||
/* 80854328 */ int CreateHeap();
|
||||
/* 808544D8 */ int create();
|
||||
|
||||
void setEvent() {
|
||||
mIsFlying = 0;
|
||||
field_0x740 = 2;
|
||||
mIsFlying = false;
|
||||
mCurrentAction = 2;
|
||||
field_0x744 = 0;
|
||||
}
|
||||
|
||||
void setEvent2() {
|
||||
mIsFlying = 0;
|
||||
field_0x740 = 6;
|
||||
mIsFlying = false;
|
||||
mCurrentAction = 6;
|
||||
field_0x744 = 0;
|
||||
}
|
||||
|
||||
void setKagoPath(u8 i_pathNo) {
|
||||
if (i_pathNo != 0xFF) {
|
||||
field_0x76c = dPath_GetRoomPath(i_pathNo, fopAcM_GetRoomNo(this));
|
||||
mpPath2 = dPath_GetRoomPath(i_pathNo, fopAcM_GetRoomNo(this));
|
||||
}
|
||||
}
|
||||
|
||||
void onWaterFall() {
|
||||
field_0x6ea = 1;
|
||||
}
|
||||
|
||||
bool isAttack() {
|
||||
return field_0x6dd != 0;
|
||||
}
|
||||
|
||||
MtxP getLegR3Mtx() { return mLegR3Mtx; }
|
||||
MtxP getMidnaLocaterMtx() { return mpMorf->getModel()->getAnmMtx(4); }
|
||||
s8 getPathDir() { return mPathDir; }
|
||||
u8 isFlying() { return mIsFlying; }
|
||||
bool isFlying() { return mIsFlying; }
|
||||
fopAc_ac_c* getLockActor() { return mpLockActor; }
|
||||
void setLockActor(fopAc_ac_c* actor) { mpLockActor = actor; }
|
||||
void setEatYm() { field_0x6d8 |= 4; }
|
||||
MtxP getMouthMtx() { return mpMorf->getModel()->getAnmMtx(7); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[8];
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x574 */ u8 field_0x574[0x618 - 0x574];
|
||||
/* 0x574 */ Z2CreatureEnemy mSound;
|
||||
/* 0x618 */ fopAc_ac_c* mpLockActor;
|
||||
/* 0x61c */ u8 field_0x61c[0x620 - 0x61c];
|
||||
/* 0x61C */ fpc_ProcID mBalloon2DId;
|
||||
/* 0x620 */ Mtx mLegR3Mtx;
|
||||
/* 0x650 */ u8 field_0x650[0x6d8 - 0x650];
|
||||
/* 0x6d8 */ u8 field_0x6d8;
|
||||
/* 0x6d9 */ u8 field_0x6d9[0x6E1 - 0x6d9];
|
||||
/* 0x6E1 */ u8 mIsFlying;
|
||||
/* 0x6E2 */ u8 field_0x6E2[0x740 - 0x6E2];
|
||||
/* 0x740 */ int field_0x740;
|
||||
/* 0x744 */ int field_0x744;
|
||||
/* 0x748 */ u8 field_0x748[0x76C - 0x748];
|
||||
/* 0x76C */ dPath* field_0x76c;
|
||||
/* 0x770 */ u8 field_0x770[0x773 - 0x770];
|
||||
/* 0x650 */ cXyz field_0x650[3];
|
||||
/* 0x674 */ cXyz field_0x674;
|
||||
/* 0x680 */ cXyz field_0x680;
|
||||
/* 0x68C */ cXyz field_0x68c;
|
||||
/* 0x698 */ cXyz field_0x698;
|
||||
/* 0x6A4 */ cXyz field_0x6a4;
|
||||
/* 0x6B0 */ cXyz field_0x6b0;
|
||||
/* 0x6BC */ s16 field_0x6bc;
|
||||
/* 0x6BE */ csXyz field_0x6be;
|
||||
/* 0x6C4 */ f32 field_0x6c4;
|
||||
/* 0x6C8 */ s16 field_0x6c8;
|
||||
/* 0x6CA */ s16 field_0x6ca;
|
||||
/* 0x6CC */ f32 field_0x6cc;
|
||||
/* 0x6D0 */ f32 field_0x6d0;
|
||||
/* 0x6D4 */ f32 field_0x6d4;
|
||||
/* 0x6D8 */ u8 field_0x6d8;
|
||||
/* 0x6D9 */ u8 field_0x6d9;
|
||||
/* 0x6DA */ s16 field_0x6da;
|
||||
/* 0x6DC */ u8 field_0x6dc;
|
||||
/* 0x6DD */ u8 field_0x6dd;
|
||||
/* 0x6DE */ u8 field_0x6de;
|
||||
/* 0x6DF */ u8 field_0x6df;
|
||||
/* 0x6E0 */ u8 field_0x6e0;
|
||||
/* 0x6E1 */ bool mIsFlying;
|
||||
/* 0x6E2 */ u8 field_0x6e2[0x6e3 - 0x6e2];
|
||||
/* 0x6E3 */ u8 field_0x6e3;
|
||||
/* 0x6E4 */ u8 field_0x6e4;
|
||||
/* 0x6E5 */ u8 field_0x6e5;
|
||||
/* 0x6E6 */ u8 field_0x6e6;
|
||||
/* 0x6E7 */ u8 field_0x6e7;
|
||||
/* 0x6E8 */ u8 field_0x6e8;
|
||||
/* 0x6E8 */ u8 field_0x6e9;
|
||||
/* 0x6EA */ u8 field_0x6ea;
|
||||
/* 0x6EB */ u8 field_0x6eb;
|
||||
/* 0x6EC */ u8 field_0x6ec[0x6ed - 0x6ec];
|
||||
/* 0x6ED */ u8 field_0x6ed;
|
||||
/* 0x6F0 */ f32 field_0x6f0;
|
||||
/* 0x6F4 */ f32 field_0x6f4;
|
||||
/* 0x6F8 */ f32 field_0x6f8;
|
||||
/* 0x6FC */ f32 field_0x6fc;
|
||||
/* 0x700 */ f32 field_0x700;
|
||||
/* 0x704 */ f32 mGroundHeight;
|
||||
/* 0x708 */ f32 mRoofHeight;
|
||||
/* 0x70C */ f32 field_0x70c;
|
||||
/* 0x710 */ s16 field_0x710;
|
||||
/* 0x712 */ s16 field_0x712;
|
||||
/* 0x714 */ s16 field_0x714;
|
||||
/* 0x716 */ s16 field_0x716;
|
||||
/* 0x718 */ s16 field_0x718;
|
||||
/* 0x71A */ s16 field_0x71a;
|
||||
/* 0x71C */ s32 field_0x71c;
|
||||
/* 0x720 */ s32 field_0x720;
|
||||
/* 0x724 */ u8 field_0x724[0x728 - 0x724];
|
||||
/* 0x728 */ s32 field_0x728;
|
||||
/* 0x72C */ s32 field_0x72c;
|
||||
/* 0x730 */ s32 mDashCooldownTime;
|
||||
/* 0x734 */ s32 mDashTime;
|
||||
/* 0x738 */ s32 field_0x738;
|
||||
/* 0x73C */ s32 field_0x73c;
|
||||
/* 0x740 */ s32 mCurrentAction;
|
||||
/* 0x744 */ s32 field_0x744;
|
||||
/* 0x748 */ s32 field_0x748;
|
||||
/* 0x74C */ s32 field_0x74c;
|
||||
/* 0x750 */ s32 field_0x750;
|
||||
/* 0x754 */ s32 field_0x754;
|
||||
/* 0x758 */ s32 field_0x758;
|
||||
/* 0x75C */ char* field_0x75c;
|
||||
/* 0x760 */ char* field_0x760;
|
||||
/* 0x764 */ s32 field_0x764;
|
||||
/* 0x768 */ dPath* mpPath1;
|
||||
/* 0x76C */ dPath* mpPath2;
|
||||
/* 0x770 */ s8 mPathIdx;
|
||||
/* 0x771 */ s8 field_0x771;
|
||||
/* 0x772 */ s8 mPathIdxOffset;
|
||||
/* 0x773 */ s8 mPathDir;
|
||||
/* 0x774 */ u8 field_0x774[0xBA4 - 0x774];
|
||||
/* 0x774 */ u8 field_0x774[0x778 - 0x774];
|
||||
/* 0x778 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7B8 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x990 */ dCcD_Stts mStts;
|
||||
/* 0x9CC */ dCcD_Sph mSph;
|
||||
/* 0xB04 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0xB28 */ u8 field_0xb28[0xb30 - 0xb28];
|
||||
/* 0xB30 */ u32 field_0xb30;
|
||||
/* 0xB34 */ u32 field_0xb34;
|
||||
/* 0xB38 */ u32 field_0xb38;
|
||||
/* 0xB3C */ u32 field_0xb3c;
|
||||
/* 0xB40 */ u32 field_0xb40;
|
||||
/* 0xB44 */ u32 field_0xb44[3];
|
||||
/* 0xB50 */ u32 field_0xb50;
|
||||
/* 0xB54 */ u8 field_0xb54;
|
||||
/* 0xB58 */ dMsgFlow_c mMsgFlow;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daKago_c) == 0xBA4);
|
||||
|
||||
class daKago_HIO_c {
|
||||
class daKago_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 808495AC */ daKago_HIO_c();
|
||||
/* 80854A4C */ ~daKago_HIO_c();
|
||||
/* 80854A4C */ virtual ~daKago_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext* ctx);
|
||||
|
||||
/* 0x04 */ s8 mChild;
|
||||
/* 0x08 */ f32 mRevoconUpDown;
|
||||
/* 0x0C */ f32 mRevoconUpDownMax;
|
||||
/* 0x10 */ f32 mRevoconLeftRight;
|
||||
/* 0x14 */ f32 mRevoconLeftRightMax;
|
||||
/* 0x18 */ f32 mBasicSize;
|
||||
/* 0x1C */ f32 mFlightSpeed;
|
||||
/* 0x20 */ f32 mFlightGroundAltitude;
|
||||
/* 0x24 */ f32 mFlightCeilingAltitude;
|
||||
/* 0x28 */ f32 mShadowDensity;
|
||||
/* 0x2C */ f32 mDescentRateIncrement;
|
||||
/* 0x30 */ f32 mAscentRateDecel;
|
||||
/* 0x34 */ f32 mDashTime;
|
||||
/* 0x38 */ f32 mDashTimeMultiplier;
|
||||
/* 0x3C */ f32 mWallHitInvulnTime;
|
||||
/* 0x40 */ f32 mDashCooldownTime;
|
||||
/* 0x44 */ f32 mZOffset;
|
||||
/* 0x48 */ f32 mZOffsetHori;
|
||||
/* 0x4C */ u8 mAngleTrackingMode;
|
||||
/* 0x50 */ f32 mYOffsetFromWaterSurface;
|
||||
/* 0x54 */ f32 mWaterSplashTime;
|
||||
/* 0x58 */ f32 mSplashGenTimeDuringDash;
|
||||
};
|
||||
|
||||
#endif /* D_A_KAGO_H */
|
||||
|
|
|
@ -369,6 +369,14 @@ public:
|
|||
|
||||
void onForceMorfCancel() { onEndResetStateFlg0(ERFLG0_FORCE_MORF_CANCEL); }
|
||||
|
||||
void setCargoActor(fopAc_ac_c* i_actor) {
|
||||
mpKago = (daKago_c*)i_actor;
|
||||
}
|
||||
|
||||
void offCargoActor() {
|
||||
mpKago = NULL;
|
||||
}
|
||||
|
||||
static daMidna_texData_s const m_texDataTable[21];
|
||||
static daMidna_anmData_s const m_anmDataTable[53];
|
||||
|
||||
|
|
|
@ -89,8 +89,9 @@ public:
|
|||
/* 0xB1EE */ u8 field_0xB1EE[0xB1EF - 0xB1EE];
|
||||
/* 0xB1EF */ s8 field_0xb1ef;
|
||||
/* 0xB1F0 */ s8 field_0xb1f0;
|
||||
/* 0xB1F1 */ u8 field_0xb1f1;
|
||||
/* 0xB1F2 */ u8 field_0xb1f2[0xb1f8 - 0xB1F2];
|
||||
/* 0xB1F1 */ s8 field_0xb1f1;
|
||||
/* 0xB1F2 */ s8 field_0xb1f2[2];
|
||||
/* 0xB1F4 */ u8 field_0xb1f4[0xb1f8 - 0xB1F4];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_brg_class) == 0xb1f8);
|
||||
|
|
|
@ -277,6 +277,10 @@ public:
|
|||
void offDraw() { mDraw = 1; }
|
||||
void onDraw() { mDraw = 0; }
|
||||
bool isDraw() { return mDraw == false; }
|
||||
void onCarryHookOK() { mCarryHookOK = 1; }
|
||||
void offCarryHookOK() { mCarryHookOK = 0; }
|
||||
BOOL checkRecover() { return mRecover; }
|
||||
void reset() { mReset = 1; }
|
||||
|
||||
void setPower(fopAc_ac_c* cannon_actor, f32 my_0xde0, f32 my_0xde4, s16 my_0xde8) {
|
||||
mpCannonActor = cannon_actor;
|
||||
|
|
|
@ -55,8 +55,10 @@ public:
|
|||
u8 getYmSwbit() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getSave() { return fopAcM_GetParamBit(this, 0, 6); }
|
||||
|
||||
void setPos(cXyz i_pos) { current.pos = i_pos; }
|
||||
void setDemoMode(u8 i_mode) { mDemoMode = i_mode; }
|
||||
void setMode(u8 i_mode) { mMode = i_mode; }
|
||||
void setAppear() { mAppear = 1; }
|
||||
u8 chkDemoMode() { return mDemoMode; }
|
||||
|
||||
/* 0x568 */ cXyz mLinePos[3];
|
||||
|
|
|
@ -33,10 +33,18 @@ public:
|
|||
/* 80CB242C */ void Delete();
|
||||
/* 80CB2610 */ ~daPoCandle_c();
|
||||
|
||||
/* 80CB3E3C */ void getFirePos(); // implemented in d_a_obj_poFire.cpp
|
||||
/* 80CB3E3C */ cXyz getFirePos(); // implemented in d_a_obj_poFire.cpp
|
||||
u8 getIDNum() {return mIDNum;}
|
||||
void setFireFlag(u8 flag) { field_0x5D2 = flag; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x614 - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0x5C4 - 0x568];
|
||||
/* 0x5C4 */ cXyz mFirePos;
|
||||
/* 0x5D0 */ u8 field_0x5D0[0x5D2 - 0x5D0];
|
||||
/* 0x5D2 */ u8 field_0x5D2;
|
||||
/* 0x5D3 */ u8 field_0x5D3[0x5D5 - 0x5D3];
|
||||
/* 0x5D5 */ u8 mIDNum;
|
||||
/* 0x5DB */ u8 field_0x5DB[0x614 - 0x5D6];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daPoCandle_c) == 0x614);
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#ifndef D_A_OBJ_POFIRE_H
|
||||
#define D_A_OBJ_POFIRE_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/actor/d_a_obj_poCandle.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_tag_poFire.h"
|
||||
#include "d/d_event_lib.h"
|
||||
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -12,15 +15,32 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daPoFire_c : public fopAc_ac_c {
|
||||
class daPoFire_c : public fopAc_ac_c,
|
||||
public request_of_phase_process_class,
|
||||
public dEvLib_callback_c {
|
||||
public:
|
||||
typedef void (daPoFire_c::*modeProc)();
|
||||
daPoFire_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
enum Mode {
|
||||
MODE_INIT_MOVE = 0,
|
||||
MODE_WAIT = 1,
|
||||
MODE_WAIT_SET_EFFECT = 2,
|
||||
MODE_MOVE_OUT = 3,
|
||||
MODE_MOVE = 4,
|
||||
MODE_NO_MOVE = 5,
|
||||
MODE_MOVE_WAIT = 6,
|
||||
MODE_ON_FIRE = 7,
|
||||
MODE_FIRE_END = 8,
|
||||
};
|
||||
|
||||
/* 80CB2A0C */ void setBaseMtx();
|
||||
/* 80CB2A74 */ void create();
|
||||
/* 80CB2BB8 */ void Execute();
|
||||
/* 80CB2A74 */ int create();
|
||||
/* 80CB2BB8 */ int Execute();
|
||||
/* 80CB2BFC */ void procMain();
|
||||
/* 80CB2D84 */ void setFire();
|
||||
/* 80CB2F68 */ void searchCandle(void*, void*);
|
||||
/* 80CB2FD4 */ void searchFireTag(void*, void*);
|
||||
/* 80CB2F68 */ static void* searchCandle(void*, void*);
|
||||
/* 80CB2FD4 */ static void* searchFireTag(void*, void*);
|
||||
/* 80CB3024 */ void init_modeInitMove();
|
||||
/* 80CB30FC */ void modeInitMove();
|
||||
/* 80CB31FC */ void modeWait();
|
||||
|
@ -37,26 +57,67 @@ public:
|
|||
/* 80CB39E0 */ void modeOnFire();
|
||||
/* 80CB3ADC */ void init_modeFireEnd();
|
||||
/* 80CB3AE8 */ void modeFireEnd();
|
||||
/* 80CB3B70 */ void eventStart();
|
||||
/* 80CB3BE0 */ void eventRun();
|
||||
/* 80CB3C64 */ bool eventEnd();
|
||||
/* 80CB3C6C */ bool Draw();
|
||||
/* 80CB3C74 */ void Delete();
|
||||
/* 80CB3E58 */ ~daPoFire_c();
|
||||
/* 80CB3C6C */ int Draw();
|
||||
/* 80CB3C74 */ int Delete();
|
||||
|
||||
/* 80CB3E58 */ virtual ~daPoFire_c() {}
|
||||
/* 80CB3B70 */ virtual bool eventStart();
|
||||
/* 80CB3BE0 */ virtual bool eventRun();
|
||||
/* 80CB3C64 */ virtual bool eventEnd();
|
||||
|
||||
u8 getMoveEnd() { return mMoveEnd; }
|
||||
u32 getID() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x594 - 0x568];
|
||||
/* 0x584 */ request_of_phase_process_class mPhase;
|
||||
/* 0x58C */ int mStaffID;
|
||||
/* 0x590 */ s16 unk590;
|
||||
/* 0x592 */ u8 mMode;
|
||||
/* 0x593 */ u8 mActorID; // Identifies each of the 4 Poe flames
|
||||
/* 0x594 */ bool mMoveEnd;
|
||||
/* 0x595 */ u8 field_0x595[0x618 - 0x595];
|
||||
/* 0x598 */ u32 mParticleKeys[2];
|
||||
/* 0x5A0 */ cXyz unk5A0;
|
||||
/* 0x5AC */ cXyz unk5AC;
|
||||
/* 0x5B4 */ cXyz unk5B4;
|
||||
/* 0x5C4 */ u8 unk5C4;
|
||||
/* 0x5C5 */ u8 mWaitTimer;
|
||||
/* 0x5C8 */ daPoCandle_c* mpPoCandle;
|
||||
/* 0x5CC */ daTagPoFire_c* mpTagPoFire;
|
||||
/* 0x5D0 */ f32 mGroundY;
|
||||
/* 0x5D4 */ f32 unk5D4;
|
||||
/* 0x5D8 */ f32 unk5D8;
|
||||
/* 0x5DC */ u8 pad5DC[0xC]; // Padding
|
||||
/* 0x5E8 */ f32 unk5E8;
|
||||
/* 0x5EC */ f32 unk5EC;
|
||||
/* 0x5F0 */ f32 unk5F0;
|
||||
/* 0x5F4 */ f32 unk5F4;
|
||||
/* 0x5F8 */ cXyz unk5F8;
|
||||
/* 0x604 */ s32 unk604;
|
||||
/* 0x608 */ f32 unk608;
|
||||
/* 0x610 */ cXyz unk610;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daPoFire_c) == 0x618);
|
||||
|
||||
class daPoFire_HIO_c {
|
||||
class daPoFire_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80CB294C */ daPoFire_HIO_c();
|
||||
/* 80CB3D24 */ ~daPoFire_HIO_c();
|
||||
/* 80CB3D24 */ virtual ~daPoFire_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x06 */ s8 unk6;
|
||||
/* 0x08 */ f32 mWaitPeriod; // Wait oscillation period
|
||||
/* 0x0C */ f32 mWaitVertRange; // Wait oscillation amplitude, vertical range
|
||||
/* 0x10 */ f32 mWaitVertSpeed; // Wait oscillation speed, vertical speed
|
||||
/* 0x14 */ f32 mMovePeriod1; // Move period
|
||||
/* 0x18 */ f32 mMoveSwingSpeed1; // Move oscillation speed
|
||||
/* 0x1C */ f32 mMoveSpeed; // Move speed
|
||||
/* 0x20 */ f32 mMovePeriod2; // Move period ??
|
||||
/* 0x24 */ f32 mMoveSwingSpeed2; // Move oscillation speed
|
||||
/* 0x28 */ f32 mMoveSwingRange; // Move oscillation range
|
||||
/* 0x2C */ f32 mPickupRange; // Horizontal dist ?
|
||||
/* 0x30 */ u8 mFireWaitTime; // Fire wait
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_POFIRE_H */
|
||||
|
|
|
@ -45,7 +45,6 @@ public:
|
|||
/* 80CBD8E0 */ int Draw();
|
||||
/* 80CBD964 */ int Delete();
|
||||
|
||||
private:
|
||||
/* 0x5A0 */ ActionEnum mAction;
|
||||
/* 0x5A4 */ BreakSubAction mBreakSubAction;
|
||||
/* 0x5A8 */ u8 field_0x5a8;
|
||||
|
|
|
@ -32,7 +32,7 @@ class Act_c : public fopAc_ac_c {
|
|||
/* 80485284 */ void mode_wait();
|
||||
/* 804852E0 */ void mode_count_init();
|
||||
/* 80485324 */ void mode_count();
|
||||
/* 804854BC */ int _execute();
|
||||
/* 804854BC */ bool _execute();
|
||||
|
||||
int prm_get_swSave() {
|
||||
return daObj::PrmAbstract(this,PRM_8, PRM_16);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef D_A_OBJ_TOBYHOUSE_H
|
||||
#define D_A_OBJ_TOBYHOUSE_H
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
@ -11,14 +12,28 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjTobyHouse_c : public fopAc_ac_c {
|
||||
class daObjTobyHouse_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
typedef void (daObjTobyHouse_c::*actionFunc)();
|
||||
|
||||
enum Action {
|
||||
ACTION_WAIT,
|
||||
ACTION_ORDER_EVENT,
|
||||
ACTION_EVENT,
|
||||
ACTION_DEAD,
|
||||
};
|
||||
|
||||
enum Type {
|
||||
TYPE_0,
|
||||
TYPE_1,
|
||||
};
|
||||
|
||||
/* 80D15F0C */ void initBaseMtx();
|
||||
/* 80D15F48 */ void setBaseMtx();
|
||||
/* 80D15FE0 */ void Create();
|
||||
/* 80D161A4 */ void CreateHeap();
|
||||
/* 80D163F0 */ void create1st();
|
||||
/* 80D164C0 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80D15FE0 */ int Create();
|
||||
/* 80D161A4 */ int CreateHeap();
|
||||
/* 80D163F0 */ int create1st();
|
||||
/* 80D164C0 */ int Execute(Mtx**);
|
||||
/* 80D16560 */ void action();
|
||||
/* 80D1661C */ void actionWait();
|
||||
/* 80D166E0 */ void actionOrderEvent();
|
||||
|
@ -26,15 +41,61 @@ public:
|
|||
/* 80D16860 */ void actionDead();
|
||||
/* 80D16864 */ void demoProc();
|
||||
/* 80D171C0 */ void sceneChange();
|
||||
/* 80D17230 */ void Draw();
|
||||
/* 80D17374 */ void checkLODModel();
|
||||
/* 80D174F8 */ void Delete();
|
||||
/* 80D17230 */ int Draw();
|
||||
/* 80D17374 */ BOOL checkLODModel();
|
||||
/* 80D174F8 */ int Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x600 - 0x568];
|
||||
bool checkWater() { return fopAcM_GetParamBit(this, 31, 1); }
|
||||
void setAction(u8 action) { mAction = action; }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mModel;
|
||||
/* 0x5AC */ J3DModel* mLODModel;
|
||||
/* 0x5B0 */ mDoExt_bckAnm* mBcks[3];
|
||||
/* 0x5BC */ mDoExt_bckAnm* mActiveBck;
|
||||
/* 0x5C0 */ int field_0x5c0;
|
||||
/* 0x5C4 */ int field_0x5c4;
|
||||
/* 0x5C8 */ int field_0x5c8;
|
||||
/* 0x5CC */ int mStaffId;
|
||||
/* 0x5D0 */ int mEventIdIdx;
|
||||
/* 0x5D4 */ s16 mEventIds[2];
|
||||
/* 0x5D8 */ u16 mBirlPJnt;
|
||||
/* 0x5DA */ u16 mBirlCannonJnt;
|
||||
/* 0x5DC */ u8 field_0x5dc;
|
||||
/* 0x5DD */ u8 mAction;
|
||||
/* 0x5DE */ u8 field_0x5de;
|
||||
/* 0x5E0 */ s16 field_0x5e0;
|
||||
/* 0x5E2 */ u8 field_0x5e2;
|
||||
/* 0x5E3 */ u8 field_0x5e3;
|
||||
/* 0x5E4 */ u8 field_0x5e4;
|
||||
/* 0x5E5 */ u8 mType;
|
||||
/* 0x5E8 */ f32 mHeightOffset;
|
||||
/* 0x5EC */ u16 mDemoTimer;
|
||||
/* 0x5F0 */ JPABaseEmitter* field_0x5f0;
|
||||
/* 0x5F4 */ JPABaseEmitter* field_0x5f4;
|
||||
/* 0x5F8 */ JPABaseEmitter* field_0x5f8;
|
||||
/* 0x5FC */ JPABaseEmitter* field_0x5fc;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjTobyHouse_c) == 0x600);
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
class daObjTobyHouse_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daObjTobyHouse_HIO_c();
|
||||
~daObjTobyHouse_HIO_c() {}
|
||||
void genMessage(JORMContext* ctx);
|
||||
|
||||
/* 0x06 */ u8 mHawkeyeMediumLOD;
|
||||
/* 0x07 */ u8 field_0x07;
|
||||
/* 0x08 */ u8 mDrawCollision;
|
||||
/* 0x0A */ s16 mShakingCycle;
|
||||
/* 0x0C */ f32 mShakingAmplitude;
|
||||
/* 0x10 */ f32 mLODDistance;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_TOBYHOUSE_H */
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef D_A_OBJ_TOGETRAP_H
|
||||
#define D_A_OBJ_TOGETRAP_H
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
@ -11,15 +13,24 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daTogeTrap_c : public fopAc_ac_c {
|
||||
class daTogeTrap_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
typedef void (daTogeTrap_c::*modeFunc)();
|
||||
|
||||
enum Mode {
|
||||
MODE_WAIT,
|
||||
MODE_MOVE_UP,
|
||||
MODE_MOVE_DOWN,
|
||||
MODE_BREAK,
|
||||
};
|
||||
|
||||
/* 80D17C74 */ void setBaseMtx();
|
||||
/* 80D17D5C */ void CreateHeap();
|
||||
/* 80D17E14 */ void create();
|
||||
/* 80D18244 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80D1825C */ void Execute(f32 (**)[3][4]);
|
||||
/* 80D17D5C */ int CreateHeap();
|
||||
/* 80D17E14 */ int create();
|
||||
/* 80D18244 */ static void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80D1825C */ int Execute(Mtx**);
|
||||
/* 80D182C8 */ void moveMain();
|
||||
/* 80D185DC */ void playerAreaCheck();
|
||||
/* 80D185DC */ BOOL playerAreaCheck();
|
||||
/* 80D186B0 */ void init_modeWait();
|
||||
/* 80D186BC */ void modeWait();
|
||||
/* 80D186C0 */ void init_modeMoveUp();
|
||||
|
@ -28,23 +39,78 @@ public:
|
|||
/* 80D188DC */ void modeMoveDown();
|
||||
/* 80D18994 */ void init_modeBreak();
|
||||
/* 80D18A5C */ void modeBreak();
|
||||
/* 80D18BEC */ void Draw();
|
||||
/* 80D18CA4 */ void Delete();
|
||||
/* 80D18BEC */ int Draw();
|
||||
/* 80D18CA4 */ int Delete();
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
static u8 mCcDCyl[68];
|
||||
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
static dCcD_SrcGObjInf const mCcDObjInfo;
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xae4 - 0x568];
|
||||
/* 0x5A0 */ dCcD_Stts mStts;
|
||||
/* 0x5DC */ dCcD_Cyl mCyls[4];
|
||||
/* 0xACC */ request_of_phase_process_class mPhase;
|
||||
/* 0xAD4 */ J3DModel* mModel;
|
||||
/* 0xAD8 */ J3DModel* mWolfEyeModel;
|
||||
/* 0xADC */ u8 mMode;
|
||||
/* 0xADD */ u8 field_0xadd;
|
||||
/* 0xADE */ u8 mSwBit;
|
||||
/* 0xADF */ bool mIsWolfEye;
|
||||
/* 0xAE0 */ BOOL mIsPlayerInArea;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTogeTrap_c) == 0xae4);
|
||||
|
||||
class daTogeTrap_HIO_c {
|
||||
|
||||
class daTogeTrap_HIO_c : public fOpAcm_HIO_entry_c {
|
||||
public:
|
||||
/* 80D17B6C */ daTogeTrap_HIO_c();
|
||||
/* 80D18DA8 */ ~daTogeTrap_HIO_c();
|
||||
/* 80D18DA8 */ ~daTogeTrap_HIO_c() {}
|
||||
|
||||
#ifdef DEBUG
|
||||
void genMessage(JORMContext* ctx) {
|
||||
// Speed
|
||||
ctx->genLabel("--- 速 出現時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
// Initial speed
|
||||
ctx->genSlider("初速", &mInitialSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
// Max
|
||||
ctx->genSlider("最大", &mMaxSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
// Speed when pulling
|
||||
ctx->genLabel("--- 速度 引っ込み時---", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("初速", &mInitialDownSpeed, 0.0, 10000.0, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
// Max
|
||||
ctx->genSlider("最大", &mMaxDownSpeed, 0.0f, 10000.0f, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
// Range
|
||||
ctx->genSlider("範囲", &mRange, 0.1f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
// Spinner speed
|
||||
ctx->genSlider("スピナー速度", &mSpinnerSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
// Vibration
|
||||
ctx->startComboBox("振動", &mVibration, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a);
|
||||
// Strength 1-8
|
||||
ctx->genComboBoxItem("強さ1", 1);
|
||||
ctx->genComboBoxItem("強さ2", 2);
|
||||
ctx->genComboBoxItem("強さ3", 3);
|
||||
ctx->genComboBoxItem("強さ4", 4);
|
||||
ctx->genComboBoxItem("強さ5", 5);
|
||||
ctx->genComboBoxItem("強さ6", 6);
|
||||
ctx->genComboBoxItem("強さ7", 7);
|
||||
ctx->genComboBoxItem("強さ8", 8);
|
||||
ctx->endComboBox();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 0x08 */ f32 mRange;
|
||||
/* 0x0C */ f32 mInitialSpeed;
|
||||
/* 0x10 */ f32 mMaxSpeed;
|
||||
/* 0x14 */ f32 mInitialDownSpeed;
|
||||
/* 0x18 */ f32 mMaxDownSpeed;
|
||||
/* 0x1C */ f32 mSpinnerSpeed;
|
||||
/* 0x20 */ u8 mVibration;
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_TOGETRAP_H */
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#ifndef D_A_OBJ_TOMBO_H
|
||||
#define D_A_OBJ_TOMBO_H
|
||||
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_insect.h"
|
||||
|
||||
/**
|
||||
|
@ -11,14 +14,20 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjTOMBO_c : public fopAc_ac_c {
|
||||
class daObjTOMBO_c : public dInsect_c {
|
||||
public:
|
||||
enum Action {
|
||||
ACTION_WAIT,
|
||||
ACTION_MOVE,
|
||||
ACTION_LINK,
|
||||
};
|
||||
|
||||
/* 80D19200 */ void InitCcSph();
|
||||
/* 80D1926C */ void SetCcSph();
|
||||
/* 80D192E4 */ void CreateHeap();
|
||||
/* 80D192E4 */ int CreateHeap();
|
||||
/* 80D19658 */ void WaitAction();
|
||||
/* 80D19744 */ void SpeedSet();
|
||||
/* 80D19834 */ void CheckWater();
|
||||
/* 80D19834 */ bool CheckWater();
|
||||
/* 80D199F4 */ void CheckGround();
|
||||
/* 80D19B48 */ void CheckWall();
|
||||
/* 80D19C34 */ void SearchLink();
|
||||
|
@ -29,25 +38,44 @@ public:
|
|||
/* 80D1A514 */ void Insect_Release();
|
||||
/* 80D1A524 */ void ParticleSet();
|
||||
/* 80D1A648 */ void BoomChk();
|
||||
/* 80D1A904 */ void Execute();
|
||||
/* 80D1A904 */ int Execute();
|
||||
/* 80D1AB20 */ void ObjHit();
|
||||
/* 80D1AC84 */ void Z_BufferChk();
|
||||
/* 80D1AE00 */ void Delete();
|
||||
/* 80D1AE00 */ int Delete();
|
||||
/* 80D1AE68 */ void setBaseMtx();
|
||||
/* 80D1AFC8 */ void CreateChk();
|
||||
/* 80D1B174 */ void create();
|
||||
/* 80D1AFC8 */ bool CreateChk();
|
||||
/* 80D1B174 */ int create();
|
||||
|
||||
inline int Draw();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xa18 - 0x568];
|
||||
/* 0x590 */ dCcD_Stts mStts;
|
||||
/* 0x5CC */ dCcD_Sph mSph;
|
||||
/* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
|
||||
/* 0x710 */ bool mIsHitByBoomerang;
|
||||
/* 0x711 */ u8 mAction;
|
||||
/* 0x712 */ u8 field_0x712;
|
||||
/* 0x714 */ s16 field_0x714[2];
|
||||
/* 0x718 */ s16 field_0x718;
|
||||
/* 0x71C */ f32 field_0x71c;
|
||||
/* 0x720 */ f32 field_0x720;
|
||||
/* 0x724 */ s16 field_0x724;
|
||||
/* 0x726 */ u8 field_0x726[0x73c - 0x726];
|
||||
/* 0x73C */ cXyz field_0x73c;
|
||||
/* 0x748 */ mDoExt_brkAnm* mBrk;
|
||||
/* 0x74C */ mDoExt_btkAnm* mBtk;
|
||||
/* 0x750 */ f32 field_0x750;
|
||||
/* 0x754 */ u32 field_0x754;
|
||||
/* 0x758 */ f32 mParticleScale;
|
||||
/* 0x75C */ u8 field_0x75c;
|
||||
/* 0x760 */ Z2Creature mCreature;
|
||||
/* 0x7F0 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x830 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x834 */ dBgS_ObjAcch mAcch;
|
||||
/* 0xA0C */ request_of_phase_process_class mPhase;
|
||||
/* 0xA14 */ bool mIsHIOOwner;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjTOMBO_c) == 0xa18);
|
||||
|
||||
class daObj_TomHIO_c {
|
||||
public:
|
||||
/* 80D191CC */ daObj_TomHIO_c();
|
||||
/* 80D1B618 */ ~daObj_TomHIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_TOMBO_H */
|
||||
|
|
|
@ -710,175 +710,175 @@ public:
|
|||
bool getDkCaught() const { return checkNoResetFlg1(FLG1_DK_CAUGHT); }
|
||||
bool getStCaught() const { return checkNoResetFlg1(FLG1_UNK_80000000); }
|
||||
|
||||
virtual cXyz* getMidnaAtnPos() const { return NULL; }
|
||||
virtual void setMidnaMsgNum(fopAc_ac_c*, u16) {}
|
||||
virtual MtxP getModelMtx() { return cullMtx; }
|
||||
virtual MtxP getInvMtx() { return cullMtx; }
|
||||
virtual cXyz* getShadowTalkAtnPos() { return ¤t.pos; }
|
||||
virtual f32 getGroundY() = 0;
|
||||
virtual MtxP getLeftItemMatrix() { return cullMtx; }
|
||||
virtual MtxP getRightItemMatrix() { return cullMtx; }
|
||||
virtual MtxP getLeftHandMatrix() { return cullMtx; }
|
||||
virtual MtxP getRightHandMatrix() { return cullMtx; }
|
||||
virtual MtxP getLinkBackBone1Matrix() { return cullMtx; }
|
||||
virtual MtxP getWolfMouthMatrix() { return cullMtx; }
|
||||
virtual MtxP getWolfBackbone2Matrix() { return cullMtx; }
|
||||
virtual MtxP getBottleMtx() { return NULL; }
|
||||
virtual BOOL checkPlayerGuard() const { return FALSE; }
|
||||
virtual u32 checkPlayerFly() const { return 0; }
|
||||
virtual BOOL checkFrontRoll() const { return FALSE; }
|
||||
virtual BOOL checkWolfDash() const { return FALSE; }
|
||||
virtual BOOL checkAutoJump() const { return FALSE; }
|
||||
virtual bool checkSideStep() const { return FALSE; }
|
||||
virtual bool checkWolfTriggerJump() const { return FALSE; }
|
||||
virtual BOOL checkGuardBreakMode() const { return FALSE; }
|
||||
virtual bool checkLv3Slide() const { return FALSE; }
|
||||
virtual bool checkWolfHowlDemoMode() const { return FALSE; }
|
||||
virtual bool checkChainBlockPushPull() { return FALSE; }
|
||||
virtual BOOL checkElecDamage() const { return FALSE; }
|
||||
virtual BOOL checkEmptyBottleSwing() const { return FALSE; }
|
||||
virtual BOOL checkBottleSwingMode() const { return FALSE; }
|
||||
virtual BOOL checkHawkWait() const { return FALSE; }
|
||||
virtual BOOL checkGoatThrow() const { return FALSE; }
|
||||
virtual BOOL checkGoatThrowAfter() const { return FALSE; }
|
||||
virtual BOOL checkWolfTagLockJump() const { return FALSE; }
|
||||
virtual BOOL checkWolfTagLockJumpLand() const { return FALSE; }
|
||||
virtual BOOL checkWolfRope() { return FALSE; }
|
||||
virtual BOOL checkWolfRopeHang() const { return FALSE; }
|
||||
virtual BOOL checkRollJump() const { return FALSE; }
|
||||
virtual BOOL checkGoronRideWait() const { return FALSE; }
|
||||
virtual BOOL checkWolfChain() const { return FALSE; }
|
||||
virtual BOOL checkWolfWait() const { return FALSE; }
|
||||
virtual BOOL checkWolfJumpAttack() const { return FALSE; }
|
||||
virtual BOOL checkWolfRSit() const { return FALSE; }
|
||||
virtual bool checkBubbleFly() const { return FALSE; }
|
||||
virtual BOOL checkBottleDrinkEnd() const { return FALSE; }
|
||||
virtual BOOL checkWolfDig() const { return FALSE; }
|
||||
virtual BOOL checkCutCharge() const { return FALSE; }
|
||||
virtual BOOL checkCutTurnCharge() const { return FALSE; }
|
||||
virtual BOOL checkCutLargeJumpCharge() const { return FALSE; }
|
||||
virtual bool getBokoFlamePos(cXyz*) { return FALSE; }
|
||||
virtual BOOL checkComboCutTurn() const { return FALSE; }
|
||||
virtual BOOL checkClimbMove() const { return FALSE; }
|
||||
virtual BOOL checkGrassWhistle() const { return FALSE; }
|
||||
virtual BOOL checkBoarRun() const { return FALSE; }
|
||||
virtual bool checkFmChainPut() const { return FALSE; }
|
||||
virtual BOOL checkHorseElecDamage() const { return FALSE; }
|
||||
virtual f32 getBaseAnimeFrameRate() const { return 1.0f; }
|
||||
virtual f32 getBaseAnimeFrame() const { return 0.0f; }
|
||||
virtual void setAnimeFrame(f32) {}
|
||||
virtual BOOL checkWolfLock(fopAc_ac_c*) const { return FALSE; }
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*) { return FALSE; }
|
||||
virtual s32 getAtnActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
virtual s32 getItemID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
virtual u32 getGrabActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
virtual BOOL exchangeGrabActor(fopAc_ac_c*) { return FALSE; }
|
||||
virtual BOOL setForceGrab(fopAc_ac_c*, int, int) { return FALSE; }
|
||||
virtual void setForcePutPos(cXyz const&) {}
|
||||
virtual u32 checkPlayerNoDraw() { return FALSE; }
|
||||
virtual bool checkRopeTag() { return FALSE; }
|
||||
virtual void voiceStart(u32) {}
|
||||
virtual void seStartOnlyReverb(u32) {}
|
||||
virtual void seStartOnlyReverbLevel(u32) {}
|
||||
virtual void setOutPower(f32, short, int) {}
|
||||
virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*) {}
|
||||
virtual void onMagneGrab(f32, f32) {}
|
||||
virtual void onFrollCrashFlg(u8, int) {}
|
||||
virtual MtxP getModelJointMtx(u16) { return NULL; }
|
||||
virtual MtxP getHeadMtx() { return NULL; }
|
||||
virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*) { return FALSE; }
|
||||
virtual BOOL checkCutJumpCancelTurn() const { return FALSE; }
|
||||
virtual bool checkIronBallReturn() const { return FALSE; }
|
||||
virtual bool checkIronBallGroundStop() const { return FALSE; }
|
||||
virtual BOOL checkSingleBoarBattleSecondBowReady() const { return FALSE; }
|
||||
virtual bool checkPointSubWindowMode() const { return FALSE; }
|
||||
virtual void setClothesChange(int) {}
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, int) {}
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*) {}
|
||||
virtual void setPlayerPosAndAngle(f32 (*)[4]) {}
|
||||
virtual bool setThrowDamage(short, f32, f32, int, int, int) { return FALSE; }
|
||||
virtual bool checkSetNpcTks(cXyz*, int, int) { return FALSE; }
|
||||
virtual int setRollJump(f32, f32, short) { return FALSE; }
|
||||
virtual void playerStartCollisionSE(u32, u32) {}
|
||||
virtual void changeTextureAnime(u16, u16, int) {}
|
||||
virtual void cancelChangeTextureAnime() {}
|
||||
virtual void cancelDungeonWarpReadyNeck() {}
|
||||
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*) {}
|
||||
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*) {}
|
||||
virtual void onSceneChangeDead(u8, int) {}
|
||||
virtual u32 checkHorseRide() const { return false; }
|
||||
virtual u32 checkBoarRide() const { return 0; }
|
||||
virtual u32 checkCanoeRide() const { return 0; }
|
||||
virtual u32 checkBoardRide() const { return 0; }
|
||||
virtual u32 checkSpinnerRide() const { return 0; }
|
||||
virtual daSpinner_c* getSpinnerActor() { return NULL; }
|
||||
virtual BOOL checkHorseRideNotReady() const { return FALSE; }
|
||||
virtual bool checkArrowChargeEnd() const { return FALSE; }
|
||||
virtual f32 getSearchBallScale() const { return 0.0f; }
|
||||
virtual int checkFastShotTime() { return FALSE; }
|
||||
virtual bool checkNoEquipItem() const { return TRUE; }
|
||||
virtual bool checkFireMaterial() const { return FALSE; }
|
||||
virtual bool checkKandelaarSwing(int) const { return FALSE; }
|
||||
virtual s16 getBoardCutTurnOffsetAngleY() const { return 0; }
|
||||
virtual cXyz* getMagneHitPos() { return &mSwordTopPos; }
|
||||
virtual cXyz* getMagneBootsTopVec() { return ¤t.pos; }
|
||||
virtual cXyz* getKandelaarFlamePos() { return NULL; }
|
||||
virtual bool checkUseKandelaar(int) { return FALSE; }
|
||||
virtual void setDkCaught(fopAc_ac_c*) {}
|
||||
virtual void onPressedDamage(cXyz const&, short) {}
|
||||
virtual bool checkPriActorOwn(fopAc_ac_c const*) const { return FALSE; }
|
||||
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2) { return FALSE; }
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const { return FALSE; }
|
||||
virtual void setWolfEnemyHangBiteAngle(short) {}
|
||||
virtual void setKandelaarMtx(f32 (*)[4], int, int) {}
|
||||
virtual bool getStickAngleFromPlayerShape(short*) const { return FALSE; }
|
||||
virtual bool checkSpinnerPathMove() { return FALSE; }
|
||||
virtual bool checkSpinnerTriggerAttack() { return FALSE; }
|
||||
virtual void onSpinnerPathForceRemove() {}
|
||||
virtual int getIronBallBgHit() const { return FALSE; }
|
||||
virtual cXyz* getIronBallCenterPos() { return NULL; }
|
||||
virtual bool checkCanoeFishingGetLeft() const { return FALSE; }
|
||||
virtual bool checkCanoeFishingGetRight() const { return FALSE; }
|
||||
virtual u8 checkBeeChildDrink() const { return FALSE; }
|
||||
virtual void skipPortalObjWarp() {}
|
||||
virtual BOOL checkTreasureRupeeReturn(int) const { return FALSE; }
|
||||
virtual void setSumouReady(fopAc_ac_c*) {}
|
||||
virtual bool checkAcceptDungeonWarpAlink(int) { return FALSE; }
|
||||
virtual s16 getSumouCounter() const { return 0; }
|
||||
virtual s16 checkSumouWithstand() const { return 0; }
|
||||
virtual void cancelGoronThrowEvent() {}
|
||||
virtual void setSumouGraspCancelCount(int) {}
|
||||
virtual void setSumouPushBackDirection(short) {}
|
||||
virtual void setSumouLoseHeadUp() {}
|
||||
virtual s16 getGiantPuzzleAimAngle() const { return shape_angle.y; }
|
||||
virtual void setGoronSideMove(fopAc_ac_c*) {}
|
||||
virtual void setCargoCarry(fopAc_ac_c*) {}
|
||||
virtual bool getDpdFarFlg() const { return 0; }
|
||||
virtual cXyz* getHookshotTopPos() { return NULL; }
|
||||
virtual bool checkHookshotReturnMode() const { return FALSE; }
|
||||
virtual bool checkHookshotShootReturnMode() const { return FALSE; }
|
||||
virtual bool checkOctaIealHang() const { return FALSE; }
|
||||
virtual void cancelOctaIealHang() {}
|
||||
virtual void cancelDragonHangBackJump() {}
|
||||
virtual void setOctaIealWildHang() {}
|
||||
virtual bool checkDragonHangRide() const { return FALSE; }
|
||||
virtual void changeDragonActor(fopAc_ac_c*) {}
|
||||
virtual u8 getClothesChangeWaitTimer() const { return 0; }
|
||||
virtual u8 getShieldChangeWaitTimer() const { return 0; }
|
||||
virtual u8 getSwordChangeWaitTimer() const { return 0; }
|
||||
virtual BOOL checkMetamorphose() const { return FALSE; }
|
||||
virtual BOOL checkWolfDownAttackPullOut() const { return FALSE; }
|
||||
virtual BOOL checkBootsOrArmorHeavy() const { return FALSE; }
|
||||
virtual s32 getBottleOpenAppearItem() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
virtual bool checkItemSwordEquip() const { return FALSE; }
|
||||
virtual f32 getSinkShapeOffset() const { return 0.0f; }
|
||||
virtual BOOL checkSinkDead() const { return FALSE; }
|
||||
virtual BOOL checkHorseStart() { return FALSE; }
|
||||
virtual Z2WolfHowlMgr* getWolfHowlMgrP() { return NULL; }
|
||||
virtual BOOL checkWolfHowlSuccessAnime() const { return FALSE; }
|
||||
virtual BOOL checkCopyRodTopUse() { return FALSE; }
|
||||
virtual bool checkCopyRodEquip() const { return FALSE; }
|
||||
virtual BOOL checkCutJumpMode() const { return FALSE; }
|
||||
/* vt 0X008 */ virtual cXyz* getMidnaAtnPos() const { return NULL; }
|
||||
/* vt 0X00C */ virtual void setMidnaMsgNum(fopAc_ac_c*, u16) {}
|
||||
/* vt 0X010 */ virtual MtxP getModelMtx() { return cullMtx; }
|
||||
/* vt 0X014 */ virtual MtxP getInvMtx() { return cullMtx; }
|
||||
/* vt 0X018 */ virtual cXyz* getShadowTalkAtnPos() { return ¤t.pos; }
|
||||
/* vt 0X01C */ virtual f32 getGroundY() = 0;
|
||||
/* vt 0X020 */ virtual MtxP getLeftItemMatrix() { return cullMtx; }
|
||||
/* vt 0X024 */ virtual MtxP getRightItemMatrix() { return cullMtx; }
|
||||
/* vt 0X028 */ virtual MtxP getLeftHandMatrix() { return cullMtx; }
|
||||
/* vt 0X02C */ virtual MtxP getRightHandMatrix() { return cullMtx; }
|
||||
/* vt 0X030 */ virtual MtxP getLinkBackBone1Matrix() { return cullMtx; }
|
||||
/* vt 0X034 */ virtual MtxP getWolfMouthMatrix() { return cullMtx; }
|
||||
/* vt 0X038 */ virtual MtxP getWolfBackbone2Matrix() { return cullMtx; }
|
||||
/* vt 0X03C */ virtual MtxP getBottleMtx() { return NULL; }
|
||||
/* vt 0X040 */ virtual BOOL checkPlayerGuard() const { return FALSE; }
|
||||
/* vt 0X044 */ virtual u32 checkPlayerFly() const { return 0; }
|
||||
/* vt 0X048 */ virtual BOOL checkFrontRoll() const { return FALSE; }
|
||||
/* vt 0X04C */ virtual BOOL checkWolfDash() const { return FALSE; }
|
||||
/* vt 0X050 */ virtual BOOL checkAutoJump() const { return FALSE; }
|
||||
/* vt 0X054 */ virtual bool checkSideStep() const { return FALSE; }
|
||||
/* vt 0X058 */ virtual bool checkWolfTriggerJump() const { return FALSE; }
|
||||
/* vt 0X05C */ virtual BOOL checkGuardBreakMode() const { return FALSE; }
|
||||
/* vt 0X060 */ virtual bool checkLv3Slide() const { return FALSE; }
|
||||
/* vt 0X064 */ virtual bool checkWolfHowlDemoMode() const { return FALSE; }
|
||||
/* vt 0X068 */ virtual bool checkChainBlockPushPull() { return FALSE; }
|
||||
/* vt 0X06C */ virtual BOOL checkElecDamage() const { return FALSE; }
|
||||
/* vt 0X070 */ virtual BOOL checkEmptyBottleSwing() const { return FALSE; }
|
||||
/* vt 0X074 */ virtual BOOL checkBottleSwingMode() const { return FALSE; }
|
||||
/* vt 0X078 */ virtual BOOL checkHawkWait() const { return FALSE; }
|
||||
/* vt 0X07C */ virtual BOOL checkGoatThrow() const { return FALSE; }
|
||||
/* vt 0X080 */ virtual BOOL checkGoatThrowAfter() const { return FALSE; }
|
||||
/* vt 0X084 */ virtual BOOL checkWolfTagLockJump() const { return FALSE; }
|
||||
/* vt 0X088 */ virtual BOOL checkWolfTagLockJumpLand() const { return FALSE; }
|
||||
/* vt 0X08C */ virtual BOOL checkWolfRope() { return FALSE; }
|
||||
/* vt 0X090 */ virtual BOOL checkWolfRopeHang() const { return FALSE; }
|
||||
/* vt 0X094 */ virtual BOOL checkRollJump() const { return FALSE; }
|
||||
/* vt 0X098 */ virtual BOOL checkGoronRideWait() const { return FALSE; }
|
||||
/* vt 0X09C */ virtual BOOL checkWolfChain() const { return FALSE; }
|
||||
/* vt 0X0A0 */ virtual BOOL checkWolfWait() const { return FALSE; }
|
||||
/* vt 0X0A4 */ virtual BOOL checkWolfJumpAttack() const { return FALSE; }
|
||||
/* vt 0X0A8 */ virtual BOOL checkWolfRSit() const { return FALSE; }
|
||||
/* vt 0X0AC */ virtual bool checkBubbleFly() const { return FALSE; }
|
||||
/* vt 0X0B0 */ virtual BOOL checkBottleDrinkEnd() const { return FALSE; }
|
||||
/* vt 0X0B4 */ virtual BOOL checkWolfDig() const { return FALSE; }
|
||||
/* vt 0X0B8 */ virtual BOOL checkCutCharge() const { return FALSE; }
|
||||
/* vt 0X0BC */ virtual BOOL checkCutTurnCharge() const { return FALSE; }
|
||||
/* vt 0X0C0 */ virtual BOOL checkCutLargeJumpCharge() const { return FALSE; }
|
||||
/* vt 0X0C4 */ virtual BOOL getBokoFlamePos(cXyz*) { return FALSE; }
|
||||
/* vt 0X0C8 */ virtual BOOL checkComboCutTurn() const { return FALSE; }
|
||||
/* vt 0X0CC */ virtual BOOL checkClimbMove() const { return FALSE; }
|
||||
/* vt 0X0D0 */ virtual BOOL checkGrassWhistle() const { return FALSE; }
|
||||
/* vt 0X0D4 */ virtual BOOL checkBoarRun() const { return FALSE; }
|
||||
/* vt 0X0D8 */ virtual bool checkFmChainPut() const { return FALSE; }
|
||||
/* vt 0X0DC */ virtual BOOL checkHorseElecDamage() const { return FALSE; }
|
||||
/* vt 0X0E0 */ virtual f32 getBaseAnimeFrameRate() const { return 1.0f; }
|
||||
/* vt 0X0E4 */ virtual f32 getBaseAnimeFrame() const { return 0.0f; }
|
||||
/* vt 0X0E8 */ virtual void setAnimeFrame(f32) {}
|
||||
/* vt 0X0EC */ virtual BOOL checkWolfLock(fopAc_ac_c*) const { return FALSE; }
|
||||
/* vt 0X0F0 */ virtual bool cancelWolfLock(fopAc_ac_c*) { return FALSE; }
|
||||
/* vt 0X0F4 */ virtual s32 getAtnActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
/* vt 0X0F8 */ virtual s32 getItemID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
/* vt 0X0FC */ virtual u32 getGrabActorID() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
/* vt 0X100 */ virtual BOOL exchangeGrabActor(fopAc_ac_c*) { return FALSE; }
|
||||
/* vt 0X104 */ virtual BOOL setForceGrab(fopAc_ac_c*, int, int) { return FALSE; }
|
||||
/* vt 0X108 */ virtual void setForcePutPos(cXyz const&) {}
|
||||
/* vt 0X10C */ virtual u32 checkPlayerNoDraw() { return FALSE; }
|
||||
/* vt 0X110 */ virtual bool checkRopeTag() { return FALSE; }
|
||||
/* vt 0X114 */ virtual void voiceStart(u32) {}
|
||||
/* vt 0X118 */ virtual void seStartOnlyReverb(u32) {}
|
||||
/* vt 0X11C */ virtual void seStartOnlyReverbLevel(u32) {}
|
||||
/* vt 0X120 */ virtual void setOutPower(f32, short, int) {}
|
||||
/* vt 0X124 */ virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*) {}
|
||||
/* vt 0X128 */ virtual void onMagneGrab(f32, f32) {}
|
||||
/* vt 0X12C */ virtual void onFrollCrashFlg(u8, int) {}
|
||||
/* vt 0X130 */ virtual MtxP getModelJointMtx(u16) { return NULL; }
|
||||
/* vt 0X134 */ virtual MtxP getHeadMtx() { return NULL; }
|
||||
/* vt 0X138 */ virtual bool setHookshotCarryOffset(fpc_ProcID, cXyz const*) { return FALSE; }
|
||||
/* vt 0X13C */ virtual BOOL checkCutJumpCancelTurn() const { return FALSE; }
|
||||
/* vt 0X140 */ virtual bool checkIronBallReturn() const { return FALSE; }
|
||||
/* vt 0X144 */ virtual bool checkIronBallGroundStop() const { return FALSE; }
|
||||
/* vt 0X148 */ virtual BOOL checkSingleBoarBattleSecondBowReady() const { return FALSE; }
|
||||
/* vt 0X14C */ virtual bool checkPointSubWindowMode() const { return FALSE; }
|
||||
/* vt 0X150 */ virtual void setClothesChange(int) {}
|
||||
/* vt 0X154 */ virtual void setPlayerPosAndAngle(cXyz const*, short, int) {}
|
||||
/* vt 0X158 */ virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*) {}
|
||||
/* vt 0X15C */ virtual void setPlayerPosAndAngle(f32 (*)[4]) {}
|
||||
/* vt 0X160 */ virtual bool setThrowDamage(short, f32, f32, int, int, int) { return FALSE; }
|
||||
/* vt 0X164 */ virtual bool checkSetNpcTks(cXyz*, int, int) { return FALSE; }
|
||||
/* vt 0X168 */ virtual int setRollJump(f32, f32, short) { return FALSE; }
|
||||
/* vt 0X16C */ virtual void playerStartCollisionSE(u32, u32) {}
|
||||
/* vt 0X170 */ virtual void changeTextureAnime(u16, u16, int) {}
|
||||
/* vt 0X174 */ virtual void cancelChangeTextureAnime() {}
|
||||
/* vt 0X178 */ virtual void cancelDungeonWarpReadyNeck() {}
|
||||
/* vt 0X17C */ virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*) {}
|
||||
/* vt 0X180 */ virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*) {}
|
||||
/* vt 0X184 */ virtual void onSceneChangeDead(u8, int) {}
|
||||
/* vt 0X188 */ virtual u32 checkHorseRide() const { return false; }
|
||||
/* vt 0X18C */ virtual u32 checkBoarRide() const { return 0; }
|
||||
/* vt 0X190 */ virtual u32 checkCanoeRide() const { return 0; }
|
||||
/* vt 0X194 */ virtual u32 checkBoardRide() const { return 0; }
|
||||
/* vt 0X198 */ virtual u32 checkSpinnerRide() const { return 0; }
|
||||
/* vt 0X19C */ virtual daSpinner_c* getSpinnerActor() { return NULL; }
|
||||
/* vt 0X1A0 */ virtual BOOL checkHorseRideNotReady() const { return FALSE; }
|
||||
/* vt 0X1A4 */ virtual bool checkArrowChargeEnd() const { return FALSE; }
|
||||
/* vt 0X1A8 */ virtual f32 getSearchBallScale() const { return 0.0f; }
|
||||
/* vt 0X1AC */ virtual int checkFastShotTime() { return FALSE; }
|
||||
/* vt 0X1B0 */ virtual bool checkNoEquipItem() const { return TRUE; }
|
||||
/* vt 0X1B4 */ virtual bool checkFireMaterial() const { return FALSE; }
|
||||
/* vt 0X1B8 */ virtual bool checkKandelaarSwing(int) const { return FALSE; }
|
||||
/* vt 0X1BC */ virtual s16 getBoardCutTurnOffsetAngleY() const { return 0; }
|
||||
/* vt 0X1C0 */ virtual cXyz* getMagneHitPos() { return &mSwordTopPos; }
|
||||
/* vt 0X1C4 */ virtual cXyz* getMagneBootsTopVec() { return ¤t.pos; }
|
||||
/* vt 0X1C8 */ virtual cXyz* getKandelaarFlamePos() { return NULL; }
|
||||
/* vt 0X1CC */ virtual bool checkUseKandelaar(int) { return FALSE; }
|
||||
/* vt 0X1D0 */ virtual void setDkCaught(fopAc_ac_c*) {}
|
||||
/* vt 0X1D4 */ virtual void onPressedDamage(cXyz const&, short) {}
|
||||
/* vt 0X1D8 */ virtual bool checkPriActorOwn(fopAc_ac_c const*) const { return FALSE; }
|
||||
/* vt 0X1DC */ virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2) { return FALSE; }
|
||||
/* vt 0X1E0 */ virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const { return FALSE; }
|
||||
/* vt 0X1E4 */ virtual void setWolfEnemyHangBiteAngle(short) {}
|
||||
/* vt 0X1E8 */ virtual void setKandelaarMtx(f32 (*)[4], int, int) {}
|
||||
/* vt 0X1EC */ virtual bool getStickAngleFromPlayerShape(short*) const { return FALSE; }
|
||||
/* vt 0X1F0 */ virtual bool checkSpinnerPathMove() { return FALSE; }
|
||||
/* vt 0X1F4 */ virtual bool checkSpinnerTriggerAttack() { return FALSE; }
|
||||
/* vt 0X1F8 */ virtual void onSpinnerPathForceRemove() {}
|
||||
/* vt 0X1FC */ virtual int getIronBallBgHit() const { return FALSE; }
|
||||
/* vt 0X200 */ virtual cXyz* getIronBallCenterPos() { return NULL; }
|
||||
/* vt 0X204 */ virtual bool checkCanoeFishingGetLeft() const { return FALSE; }
|
||||
/* vt 0X208 */ virtual bool checkCanoeFishingGetRight() const { return FALSE; }
|
||||
/* vt 0X20C */ virtual u8 checkBeeChildDrink() const { return FALSE; }
|
||||
/* vt 0X210 */ virtual void skipPortalObjWarp() {}
|
||||
/* vt 0X214 */ virtual BOOL checkTreasureRupeeReturn(int) const { return FALSE; }
|
||||
/* vt 0X218 */ virtual void setSumouReady(fopAc_ac_c*) {}
|
||||
/* vt 0X21C */ virtual bool checkAcceptDungeonWarpAlink(int) { return FALSE; }
|
||||
/* vt 0X220 */ virtual s16 getSumouCounter() const { return 0; }
|
||||
/* vt 0X224 */ virtual s16 checkSumouWithstand() const { return 0; }
|
||||
/* vt 0X228 */ virtual void cancelGoronThrowEvent() {}
|
||||
/* vt 0X22C */ virtual void setSumouGraspCancelCount(int) {}
|
||||
/* vt 0X230 */ virtual void setSumouPushBackDirection(short) {}
|
||||
/* vt 0X234 */ virtual void setSumouLoseHeadUp() {}
|
||||
/* vt 0X238 */ virtual s16 getGiantPuzzleAimAngle() const { return shape_angle.y; }
|
||||
/* vt 0X23C */ virtual void setGoronSideMove(fopAc_ac_c*) {}
|
||||
/* vt 0X240 */ virtual void setCargoCarry(fopAc_ac_c*) {}
|
||||
/* vt 0X244 */ virtual bool getDpdFarFlg() const { return 0; }
|
||||
/* vt 0X248 */ virtual cXyz* getHookshotTopPos() { return NULL; }
|
||||
/* vt 0X24C */ virtual bool checkHookshotReturnMode() const { return FALSE; }
|
||||
/* vt 0X250 */ virtual bool checkHookshotShootReturnMode() const { return FALSE; }
|
||||
/* vt 0X254 */ virtual bool checkOctaIealHang() const { return FALSE; }
|
||||
/* vt 0X258 */ virtual void cancelOctaIealHang() {}
|
||||
/* vt 0X25C */ virtual void cancelDragonHangBackJump() {}
|
||||
/* vt 0X260 */ virtual void setOctaIealWildHang() {}
|
||||
/* vt 0X264 */ virtual bool checkDragonHangRide() const { return FALSE; }
|
||||
/* vt 0X268 */ virtual void changeDragonActor(fopAc_ac_c*) {}
|
||||
/* vt 0X26C */ virtual u8 getClothesChangeWaitTimer() const { return 0; }
|
||||
/* vt 0X270 */ virtual u8 getShieldChangeWaitTimer() const { return 0; }
|
||||
/* vt 0X274 */ virtual u8 getSwordChangeWaitTimer() const { return 0; }
|
||||
/* vt 0X278 */ virtual BOOL checkMetamorphose() const { return FALSE; }
|
||||
/* vt 0X27C */ virtual BOOL checkWolfDownAttackPullOut() const { return FALSE; }
|
||||
/* vt 0X280 */ virtual BOOL checkBootsOrArmorHeavy() const { return FALSE; }
|
||||
/* vt 0X284 */ virtual s32 getBottleOpenAppearItem() const { return fpcM_ERROR_PROCESS_ID_e; }
|
||||
/* vt 0X288 */ virtual bool checkItemSwordEquip() const { return FALSE; }
|
||||
/* vt 0X28C */ virtual f32 getSinkShapeOffset() const { return 0.0f; }
|
||||
/* vt 0X290 */ virtual BOOL checkSinkDead() const { return FALSE; }
|
||||
/* vt 0X294 */ virtual BOOL checkHorseStart() { return FALSE; }
|
||||
/* vt 0X298 */ virtual Z2WolfHowlMgr* getWolfHowlMgrP() { return NULL; }
|
||||
/* vt 0X29C */ virtual BOOL checkWolfHowlSuccessAnime() const { return FALSE; }
|
||||
/* vt 0X2A0 */ virtual BOOL checkCopyRodTopUse() { return FALSE; }
|
||||
/* vt 0X2A4 */ virtual bool checkCopyRodEquip() const { return FALSE; }
|
||||
/* vt 0X2A8 */ virtual BOOL checkCutJumpMode() const { return FALSE; }
|
||||
|
||||
f32 getSpeedF() const { return speedF; }
|
||||
|
||||
|
@ -1102,6 +1102,8 @@ public:
|
|||
|
||||
static bool checkPeepEndSceneChange() { return getLastSceneMode() == 7; }
|
||||
|
||||
static bool checkWolfCargoCarrySceneChange() { return getLastSceneMode() == 10; }
|
||||
|
||||
static int getLastSceneDamage() { return (dComIfGs_getLastSceneMode() >> 4) & 0x7F; }
|
||||
static u8 getLastSceneSwordAtUpTime() { return (dComIfGs_getLastSceneMode() >> 11) & 0xFF; }
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "d/d_msg_flow.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "SSystem\SComponent\c_phase.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class daTagTWGate_c;
|
||||
typedef void (daTagTWGate_c::*actionFunc)();
|
||||
|
|
|
@ -12,6 +12,8 @@ public:
|
|||
/* 80D5DC20 */ int Draw();
|
||||
/* 80D5DC28 */ int Delete();
|
||||
|
||||
void setFireFlag(u8 flag) { field_0x569 = flag; }
|
||||
|
||||
/* 0x568 */ u8 field_0x568;
|
||||
/* 0x569 */ u8 field_0x569;
|
||||
/* 0x56A */ u16 field_0x56a;
|
||||
|
|
|
@ -83,6 +83,11 @@ public:
|
|||
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 16, i_pos, i_roomNo, i_angle, NULL, -1,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
static fopAc_ac_c* createBombCargoCarry(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0x11, i_pos, i_roomNo, i_angle, NULL, -1,
|
||||
NULL, NULL);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* D_D_BOMB_H */
|
||||
|
|
|
@ -1191,5 +1191,7 @@ public:
|
|||
dCamera_c* dCam_getBody();
|
||||
camera_class* dCam_getCamera();
|
||||
s16 dCam_getControledAngleY(camera_class* param_0);
|
||||
s16 dCam_getAngleX(camera_class* i_cam);
|
||||
s16 dCam_getAngleY(camera_class* i_cam);
|
||||
|
||||
#endif /* D_D_CAMERA_H */
|
||||
|
|
|
@ -453,7 +453,7 @@ inline void dMsgObject_setSmellType(u8 type) {
|
|||
}
|
||||
|
||||
inline u8 dMsgObject_getSelectCursorPos() {
|
||||
return dMsgObject_c::getSelectCursorPos();
|
||||
return dMsgObject_getMsgObjectClass()->getSelectCursorPos();
|
||||
}
|
||||
|
||||
inline void dMsgObject_setTalkPartner(fopAc_ac_c* actor) {
|
||||
|
|
|
@ -263,7 +263,7 @@ public:
|
|||
bool checkHeadLockFlg() const { return mFlags & 0x80; }
|
||||
bool checkWolfBiteDamage() const { return mFlags & 0x40; }
|
||||
bool checkWolfDownPullFlg() const { return mFlags & 0x10; }
|
||||
bool checkDownFlg() const { return mFlags & 0x1; }
|
||||
bool checkDownFlg() { return mFlags & 0x1; }
|
||||
bool checkCutDownHitFlg() const { return mFlags & 0x2; }
|
||||
bool checkWolfDownStartFlg() const { return mFlags & 0x4; }
|
||||
bool checkDeadFlg() const { return mFlags & 0x8; }
|
||||
|
|
|
@ -5,104 +5,16 @@
|
|||
|
||||
#include "d/actor/d_a_balloon_2D.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_pane_class.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
#include "d/d_msg_object.h"
|
||||
#include "d/d_pane_class.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void draw__Q213daBalloon2D_c6c_listFv();
|
||||
extern "C" static void daBalloon2D_createHeap__FP10fopAc_ac_c();
|
||||
extern "C" void createHeap__13daBalloon2D_cFv();
|
||||
extern "C" void create__13daBalloon2D_cFv();
|
||||
extern "C" void destroy__13daBalloon2D_cFv();
|
||||
extern "C" void draw__13daBalloon2D_cFv();
|
||||
extern "C" void execute__13daBalloon2D_cFv();
|
||||
extern "C" void drawMeter__13daBalloon2D_cFv();
|
||||
extern "C" void setComboCount__13daBalloon2D_cFUcUc();
|
||||
extern "C" void setScoreCount__13daBalloon2D_cFUl();
|
||||
extern "C" void addScoreCount__13daBalloon2D_cFP4cXyzUlUc();
|
||||
extern "C" void initiate__13daBalloon2D_cFv();
|
||||
extern "C" void update__13daBalloon2D_cFv();
|
||||
extern "C" void setComboNum__13daBalloon2D_cFUc();
|
||||
extern "C" void setBalloonSize__13daBalloon2D_cFUc();
|
||||
extern "C" void setScoreNum__13daBalloon2D_cFi();
|
||||
extern "C" void setAllAlpha__13daBalloon2D_cFv();
|
||||
extern "C" void setComboAlpha__13daBalloon2D_cFv();
|
||||
extern "C" void drawAddScore__13daBalloon2D_cFv();
|
||||
extern "C" void setHIO__13daBalloon2D_cFb();
|
||||
extern "C" static void daBalloon2D_create__FP13daBalloon2D_c();
|
||||
extern "C" void __dt__Q213daBalloon2D_c10CHeadScoreFv();
|
||||
extern "C" void __ct__Q213daBalloon2D_c10CHeadScoreFv();
|
||||
extern "C" static void daBalloon2D_destroy__FP13daBalloon2D_c();
|
||||
extern "C" static void daBalloon2D_execute__FP13daBalloon2D_c();
|
||||
extern "C" static void daBalloon2D_draw__FP13daBalloon2D_c();
|
||||
extern "C" void draw__12dDlst_base_cFv();
|
||||
extern "C" void __dt__17daBalloon2D_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void __dt__Q213daBalloon2D_c6c_listFv();
|
||||
extern "C" void __dt__13daBalloon2D_cFv();
|
||||
extern "C" void __sinit_d_a_balloon_2D_cpp();
|
||||
extern "C" extern char const* const d_a_balloon_2D__stringBase0;
|
||||
extern "C" u8 myclass__13daBalloon2D_c[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getMesgFont__Fv();
|
||||
extern "C" void mDoLib_project__FP3VecP3Vec();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
|
||||
extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
|
||||
extern "C" void dMeter2Info_getNumberTextureName__Fi();
|
||||
extern "C" void dMeter2Info_getPlusTextureName__Fv();
|
||||
extern "C" void getStatus__12dMsgObject_cFv();
|
||||
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void paneTrans__8CPaneMgrFff();
|
||||
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
|
||||
extern "C" void show__13CPaneMgrAlphaFv();
|
||||
extern "C" void hide__13CPaneMgrAlphaFv();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ct__9J2DScreenFv();
|
||||
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
|
||||
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
|
||||
extern "C" void __ct__10J2DPictureFPC7ResTIMG();
|
||||
extern "C" void getStringPtr__10J2DTextBoxCFv();
|
||||
extern "C" void setString__10J2DTextBoxFsPCce();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_23();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 806534CC-80653518 0000EC 004C+00 1/0 0/0 0/0 .text draw__Q213daBalloon2D_c6c_listFv */
|
||||
void daBalloon2D_c::c_list::draw() {
|
||||
|
@ -115,42 +27,6 @@ static int daBalloon2D_createHeap(fopAc_ac_c* i_this) {
|
|||
return static_cast<daBalloon2D_c*>(i_this)->createHeap();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 806555AC-806555B0 000000 0004+00 5/5 0/0 0/0 .rodata @3896 */
|
||||
SECTION_RODATA static u8 const lit_3896[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x806555AC, &lit_3896);
|
||||
|
||||
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_806555EC = "Balloon2D";
|
||||
SECTION_DEAD static char const* const stringBase_806555F6 = "zelda_balloon_game.blo";
|
||||
SECTION_DEAD static char const* const stringBase_8065560D = "";
|
||||
#pragma pop
|
||||
|
||||
/* 80655610-806556D4 000000 00C4+00 1/1 0/0 0/0 .data
|
||||
* aParam$localstatic3$__ct__17daBalloon2D_HIO_cFv */
|
||||
SECTION_DATA static u8 data_80655610[196] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC1, 0x20, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x50, 0x00, 0x00,
|
||||
0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x41, 0x90, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xC0, 0xD3, 0x33, 0x33, 0x40, 0xD3, 0x33, 0x33,
|
||||
0x3F, 0xA6, 0x66, 0x66, 0xBF, 0xA6, 0x66, 0x66, 0x41, 0x13, 0x33, 0x33, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xD3, 0x33, 0x33, 0x3F, 0x8C, 0xCC, 0xCD, 0x3F, 0x66, 0x66, 0x66,
|
||||
0x3F, 0x80, 0x00, 0x00, 0x40, 0x79, 0x99, 0x9A, 0xC1, 0x13, 0x33, 0x33, 0x3F, 0x59, 0x99, 0x9A,
|
||||
0x3F, 0x4C, 0xCC, 0xCD, 0x40, 0xD3, 0x33, 0x33, 0x3F, 0xA6, 0x66, 0x66, 0x3F, 0x40, 0x00, 0x00,
|
||||
0x3F, 0x66, 0x66, 0x66, 0x40, 0x79, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x59, 0x99, 0x9A,
|
||||
0x3F, 0x66, 0x66, 0x66, 0x40, 0x79, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x73, 0x33, 0x33,
|
||||
0x3F, 0x66, 0x66, 0x66, 0x41, 0xB0, 0x00, 0x00, 0xC1, 0x88, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x41, 0xA0, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 806556D4-806556D8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName = "Balloon2D";
|
||||
|
||||
|
@ -228,11 +104,6 @@ int daBalloon2D_c::createHeap() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80655770-8065577C 000008 000C+00 1/1 0/0 0/0 .bss @3779 */
|
||||
static u8 lit_3779[12];
|
||||
|
||||
/* 8065577C-80655844 000014 00C8+00 3/3 0/0 0/0 .bss l_HOSTIO */
|
||||
daBalloon2D_HIO_c l_HOSTIO;
|
||||
|
||||
|
@ -398,35 +269,6 @@ void daBalloon2D_c::setScoreNum(int scoreNum) {
|
|||
field_0x5a8[4]->changeTexture(resTimg, 0);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 806555B0-806555B4 000004 0004+00 0/3 0/0 0/0 .rodata @4064 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4064 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x806555B0, &lit_4064);
|
||||
#pragma pop
|
||||
|
||||
/* 806555B4-806555B8 000008 0004+00 0/2 0/0 0/0 .rodata @4065 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4065 = 2.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x806555B4, &lit_4065);
|
||||
#pragma pop
|
||||
|
||||
/* 806555B8-806555BC 00000C 0004+00 0/3 0/0 0/0 .rodata @4066 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4066 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x806555B8, &lit_4066);
|
||||
#pragma pop
|
||||
|
||||
/* 806555BC-806555C0 000010 0004+00 0/2 0/0 0/0 .rodata @4067 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4067 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x806555BC, &lit_4067);
|
||||
#pragma pop
|
||||
|
||||
/* 80654440-8065464C 001060 020C+00 1/1 0/0 0/0 .text setAllAlpha__13daBalloon2D_cFv */
|
||||
void daBalloon2D_c::setAllAlpha() {
|
||||
mAllAlpha = field_0x578->getAlphaRate();
|
||||
|
@ -437,11 +279,11 @@ void daBalloon2D_c::setAllAlpha() {
|
|||
mAllAlpha = 1.0f;
|
||||
}
|
||||
field_0x578->setAlphaRate(mAllAlpha);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
|
||||
}
|
||||
} else if (mAllAlpha != 1.0f) {
|
||||
cLib_addCalc2(&mAllAlpha, 0.0f, 0.4f, 0.5f);
|
||||
|
@ -449,11 +291,11 @@ void daBalloon2D_c::setAllAlpha() {
|
|||
mAllAlpha = 0.0f;
|
||||
}
|
||||
field_0x578->setAlphaRate(mAllAlpha);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -475,91 +317,20 @@ void daBalloon2D_c::setComboAlpha() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 806555C0-806555C4 000014 0004+00 0/1 0/0 0/0 .rodata @4165 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4165 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x806555C0, &lit_4165);
|
||||
#pragma pop
|
||||
|
||||
/* 806555C4-806555C8 000018 0004+00 0/1 0/0 0/0 .rodata @4166 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4166 = 3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x806555C4, &lit_4166);
|
||||
#pragma pop
|
||||
|
||||
/* 806555C8-806555CC 00001C 0004+00 0/1 0/0 0/0 .rodata @4167 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4167 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x806555C8, &lit_4167);
|
||||
#pragma pop
|
||||
|
||||
/* 806555CC-806555D0 000020 0004+00 0/1 0/0 0/0 .rodata @4168 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4168 = 255.0f;
|
||||
COMPILER_STRIP_GATE(0x806555CC, &lit_4168);
|
||||
#pragma pop
|
||||
|
||||
/* 806555D0-806555D4 000024 0004+00 0/1 0/0 0/0 .rodata @4169 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4169 = 6.0f;
|
||||
COMPILER_STRIP_GATE(0x806555D0, &lit_4169);
|
||||
#pragma pop
|
||||
|
||||
/* 806555D4-806555D8 000028 0004+00 0/1 0/0 0/0 .rodata @4170 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4170 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x806555D4, &lit_4170);
|
||||
#pragma pop
|
||||
|
||||
/* 806555D8-806555DC 00002C 0004+00 0/1 0/0 0/0 .rodata @4171 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4171 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x806555D8, &lit_4171);
|
||||
#pragma pop
|
||||
|
||||
/* 806555DC-806555E0 000030 0004+00 0/1 0/0 0/0 .rodata @4172 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4172 = 4.0f;
|
||||
COMPILER_STRIP_GATE(0x806555DC, &lit_4172);
|
||||
#pragma pop
|
||||
|
||||
/* 806555E0-806555E4 000034 0004+00 0/1 0/0 0/0 .rodata @4173 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4173 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x806555E0, &lit_4173);
|
||||
#pragma pop
|
||||
|
||||
/* 806555E4-806555EC 000038 0008+00 0/1 0/0 0/0 .rodata @4175 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4175[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x806555E4, &lit_4175);
|
||||
#pragma pop
|
||||
|
||||
/* 80654730-80654E8C 001350 075C+00 1/1 0/0 0/0 .text drawAddScore__13daBalloon2D_cFv */
|
||||
// NONMATCHING - field_0x0.x, regalloc
|
||||
void daBalloon2D_c::drawAddScore() {
|
||||
for (int i = 19; i >= 0; i--) {
|
||||
for (s32 i = 19; i >= 0; i--) {
|
||||
if (field_0x5f8[i].field_0xe != 0) {
|
||||
field_0x5f8[i].field_0xe--;
|
||||
int uVar7 = field_0x5f8[i].field_0xc;
|
||||
s32 score3;
|
||||
s32 score2;
|
||||
s32 score = field_0x5f8[i].field_0xc;
|
||||
s16 temp0 = (field_0x5f8[i].field_0xe % 60) * 1024;
|
||||
u8 local_88 = 0xff;
|
||||
f32 dVar11 = 30.0f;
|
||||
f32 dVar9 = 30.0f;
|
||||
field_0x5f8[i].field_0x0.x += 0.3f * cM_ssin((field_0x5f8[i].field_0xe % 60) * 1024);
|
||||
field_0x5f8[i].field_0x0.x += cM_ssin(temp0) * 0.3f;
|
||||
field_0x5f8[i].field_0x0.y -= 1.0f;
|
||||
if (field_0x5f8[i].field_0xe < 10) {
|
||||
f32 fVar5 = field_0x5f8[i].field_0xe / 10.0f;
|
||||
|
@ -567,67 +338,67 @@ void daBalloon2D_c::drawAddScore() {
|
|||
dVar11 *= fVar5;
|
||||
dVar9 *= fVar5;
|
||||
}
|
||||
for (int j = 0; j < 10; j++) {
|
||||
for (s32 j = 0; j < 10; j++) {
|
||||
field_0x5c4[j]->setAlpha(local_88);
|
||||
}
|
||||
field_0x5ec->setAlpha(local_88);
|
||||
f32 dVar8 = (field_0x5f8[i].field_0x0.y - (dVar9 / 2.0f));
|
||||
int digit;
|
||||
if (uVar7 >= 10000) {
|
||||
s32 digit;
|
||||
if (score >= 10000) {
|
||||
f32 dVar10 = (field_0x5f8[i].field_0x0.x -
|
||||
(dVar11 / 2.0f) * 6.0f);
|
||||
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 10000;
|
||||
uVar7 = uVar7 % 10000;
|
||||
digit = score / 10000;
|
||||
score = score % 10000;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 1000;
|
||||
uVar7 %= 1000;
|
||||
digit = score / 1000;
|
||||
score %= 1000;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 100;
|
||||
uVar7 %= 100;
|
||||
digit = score / 100;
|
||||
score %= 100;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 10;
|
||||
uVar7 %= 10;
|
||||
digit = score / 10;
|
||||
score %= 10;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 5.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (uVar7 >= 1000) {
|
||||
field_0x5c4[score]->draw(dVar10 + dVar11 * 5.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (score >= 1000) {
|
||||
f32 dVar10 = (field_0x5f8[i].field_0x0.x -
|
||||
(dVar11 / 2.0f) * 5.0f);
|
||||
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 1000;
|
||||
uVar7 %= 1000;
|
||||
digit = score / 1000;
|
||||
score2 = score % 1000;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 100;
|
||||
uVar7 %= 100;
|
||||
digit = score2 / 100;
|
||||
score2 %= 100;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 10;
|
||||
uVar7 %= 10;
|
||||
digit = score2 / 10;
|
||||
score2 %= 10;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (uVar7 >= 100) {
|
||||
field_0x5c4[score2]->draw(dVar10 + dVar11 * 4.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (score >= 100) {
|
||||
f32 dVar10 = (field_0x5f8[i].field_0x0.x -
|
||||
(dVar11 / 2.0f) * 4.0f);
|
||||
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 100;
|
||||
uVar7 %= 100;
|
||||
digit = score / 100;
|
||||
score3 = score % 100;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 10;
|
||||
uVar7 %= 10;
|
||||
digit = score3 / 10;
|
||||
score3 %= 10;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (uVar7 >= 10) {
|
||||
field_0x5c4[score3]->draw(dVar10 + dVar11 * 3.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else if (score >= 10) {
|
||||
f32 dVar10 = (field_0x5f8[i].field_0x0.x -
|
||||
(dVar11 / 2.0f) * 3.0f);
|
||||
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
|
||||
digit = uVar7 / 10;
|
||||
uVar7 %= 10;
|
||||
digit = score / 10;
|
||||
score3 = score % 10;
|
||||
field_0x5c4[digit]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[uVar7]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[score3]->draw(dVar10 + dVar11 * 2.0f, dVar8, dVar11, dVar9, false, false, false);
|
||||
} else {
|
||||
f32 dVar10 = (field_0x5f8[i].field_0x0.x -
|
||||
(dVar11 / 2.0f) * 2.0f);
|
||||
field_0x5ec->draw(dVar10, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[uVar7]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
field_0x5c4[score]->draw(dVar10 + dVar11, dVar8, dVar11, dVar9, false, false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -635,87 +406,120 @@ void daBalloon2D_c::drawAddScore() {
|
|||
|
||||
/* 80654E8C-80655250 001AAC 03C4+00 2/2 0/0 0/0 .text setHIO__13daBalloon2D_cFb */
|
||||
void daBalloon2D_c::setHIO(bool param_1) {
|
||||
if ((l_HOSTIO.field_0x04 != 0) || param_1) {
|
||||
field_0x57c->paneTrans(l_HOSTIO.field_0x20, l_HOSTIO.field_0x24);
|
||||
field_0x57c->scale(l_HOSTIO.field_0x28, l_HOSTIO.field_0x28);
|
||||
field_0x580->paneTrans(l_HOSTIO.field_0x2c, l_HOSTIO.field_0x30);
|
||||
field_0x580->scale(l_HOSTIO.field_0x34, l_HOSTIO.field_0x38);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.field_0x3c * mAllAlpha);
|
||||
field_0x584->paneTrans(l_HOSTIO.field_0x40, l_HOSTIO.field_0x44);
|
||||
field_0x584->scale(l_HOSTIO.field_0x48, l_HOSTIO.field_0x48);
|
||||
field_0x588->paneTrans(l_HOSTIO.field_0x4c, l_HOSTIO.field_0x50);
|
||||
field_0x588->scale(l_HOSTIO.field_0x54, l_HOSTIO.field_0x54);
|
||||
field_0x58c->paneTrans(l_HOSTIO.field_0x58, l_HOSTIO.field_0x5c);
|
||||
field_0x58c->scale(l_HOSTIO.field_0x60, l_HOSTIO.field_0x60);
|
||||
field_0x590->paneTrans(l_HOSTIO.field_0x64, l_HOSTIO.field_0x68);
|
||||
field_0x590->scale(l_HOSTIO.field_0x6c, l_HOSTIO.field_0x70);
|
||||
field_0x594->paneTrans(l_HOSTIO.field_0x78, l_HOSTIO.field_0x7c);
|
||||
field_0x594->scale(l_HOSTIO.field_0x80, l_HOSTIO.field_0x80);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.field_0x84 * mAllAlpha);
|
||||
field_0x598->paneTrans(l_HOSTIO.field_0x88, l_HOSTIO.field_0x8c);
|
||||
field_0x598->scale(l_HOSTIO.field_0x90, l_HOSTIO.field_0x90);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.field_0x94 * mAllAlpha);
|
||||
field_0x59c->paneTrans(l_HOSTIO.field_0x98, l_HOSTIO.field_0x9c);
|
||||
field_0x59c->scale(l_HOSTIO.field_0xa0, l_HOSTIO.field_0xa0);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.field_0xa4 * mAllAlpha);
|
||||
field_0x5a0->paneTrans(l_HOSTIO.field_0xa8, l_HOSTIO.field_0xac);
|
||||
field_0x5a0->scale(l_HOSTIO.field_0xb0, l_HOSTIO.field_0xb0);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.field_0xb4 * mAllAlpha);
|
||||
field_0x5a4->paneTrans(l_HOSTIO.field_0xb8, l_HOSTIO.field_0xbc);
|
||||
field_0x5a4->scale(l_HOSTIO.field_0xc0, l_HOSTIO.field_0xc0);
|
||||
if ((l_HOSTIO.m.mAdjustmentToggle != 0) || param_1) {
|
||||
#if DEBUG
|
||||
if (l_HOSTIO.m.mOverheadScoreToggle != 0) {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
cXyz acStack_28;
|
||||
acStack_28.set(player->getHeadTopPos());
|
||||
addScoreCount(&acStack_28, l_HOSTIO.m.mOverheadScore, 0);
|
||||
l_HOSTIO.resetAddScoreSetFlag();
|
||||
}
|
||||
#endif
|
||||
|
||||
field_0x57c->paneTrans(l_HOSTIO.m.mScorePosX, l_HOSTIO.m.mScorePosY);
|
||||
field_0x57c->scale(l_HOSTIO.m.mScoreSize, l_HOSTIO.m.mScoreSize);
|
||||
field_0x580->paneTrans(l_HOSTIO.m.m5DNumberPosX, l_HOSTIO.m.m5DNumberPosY);
|
||||
field_0x580->scale(l_HOSTIO.m.m5DNumberSizeX, l_HOSTIO.m.m5DNumberSizeY);
|
||||
field_0x580->setAlphaRate(l_HOSTIO.m.m5DNumberAlpha * mAllAlpha);
|
||||
field_0x584->paneTrans(l_HOSTIO.m.m5DNumber2PosX, l_HOSTIO.m.m5DNumber2PosY);
|
||||
field_0x584->scale(l_HOSTIO.m.m5DNumber2Size, l_HOSTIO.m.m5DNumber2Size);
|
||||
field_0x588->paneTrans(l_HOSTIO.m.mUnkPosX, l_HOSTIO.m.mUnkPosY);
|
||||
field_0x588->scale(l_HOSTIO.m.mUnkSize, l_HOSTIO.m.mUnkSize);
|
||||
field_0x58c->paneTrans(l_HOSTIO.m.mComboPosX, l_HOSTIO.m.mComboPosY);
|
||||
field_0x58c->scale(l_HOSTIO.m.mComboSize, l_HOSTIO.m.mComboSize);
|
||||
field_0x590->paneTrans(l_HOSTIO.m.m2DNumberPosX, l_HOSTIO.m.m2DNumberPosY);
|
||||
field_0x590->scale(l_HOSTIO.m.m2DNumberSizeX, l_HOSTIO.m.m2DNumberSizeY);
|
||||
field_0x594->paneTrans(l_HOSTIO.m.m2DNumberComboPosX, l_HOSTIO.m.m2DNumberComboPosY);
|
||||
field_0x594->scale(l_HOSTIO.m.m2DNumberComboSize, l_HOSTIO.m.m2DNumberComboSize);
|
||||
field_0x594->setAlphaRate(l_HOSTIO.m.m2DNumberComboAlpha * mAllAlpha);
|
||||
field_0x598->paneTrans(l_HOSTIO.m.mBalloonLargePosX, l_HOSTIO.m.mBalloonLargePosY);
|
||||
field_0x598->scale(l_HOSTIO.m.mBalloonLargeSize, l_HOSTIO.m.mBalloonLargeSize);
|
||||
field_0x598->setAlphaRate(l_HOSTIO.m.mBalloonLargeAlpha * mAllAlpha);
|
||||
field_0x59c->paneTrans(l_HOSTIO.m.mBalloonMedPosX, l_HOSTIO.m.mBalloonMedPosY);
|
||||
field_0x59c->scale(l_HOSTIO.m.mBalloonMedSize, l_HOSTIO.m.mBalloonMedSize);
|
||||
field_0x59c->setAlphaRate(l_HOSTIO.m.mBalloonMedAlpha * mAllAlpha);
|
||||
field_0x5a0->paneTrans(l_HOSTIO.m.mBalloonSmallPosX, l_HOSTIO.m.mBalloonSmallPosY);
|
||||
field_0x5a0->scale(l_HOSTIO.m.mBalloonSmallSize, l_HOSTIO.m.mBalloonSmallSize);
|
||||
field_0x5a0->setAlphaRate(l_HOSTIO.m.mBalloonSmallAlpha * mAllAlpha);
|
||||
#if DEBUG
|
||||
if (mDoGph_gInf_c::isWide()) {
|
||||
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX, l_HOSTIO.m.m2DNumberCombo2PosY);
|
||||
} else {
|
||||
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX43, l_HOSTIO.m.m2DNumberCombo2PosY);
|
||||
}
|
||||
#else
|
||||
field_0x5a4->paneTrans(l_HOSTIO.m.m2DNumberCombo2PosX, l_HOSTIO.m.m2DNumberCombo2PosY);
|
||||
#endif
|
||||
field_0x5a4->scale(l_HOSTIO.m.m2DNumberCombo2Size, l_HOSTIO.m.m2DNumberCombo2Size);
|
||||
}
|
||||
}
|
||||
|
||||
daBalloon2D_HIO_c::daBalloon2D_HIO_c() {
|
||||
static param aParam = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0.0f,
|
||||
1.0f,
|
||||
0.0f,
|
||||
-10.0f,
|
||||
0.8f,
|
||||
0.0f,
|
||||
-13.0f,
|
||||
1.1f,
|
||||
0.9f,
|
||||
0.7f,
|
||||
0.0f,
|
||||
18.0f,
|
||||
1.0f,
|
||||
-6.6f,
|
||||
6.6f,
|
||||
1.3f,
|
||||
-1.3f,
|
||||
9.2f,
|
||||
1.0f,
|
||||
0.0f,
|
||||
6.6f,
|
||||
1.1f,
|
||||
0.9f,
|
||||
1.0f,
|
||||
3.9f,
|
||||
-9.2f,
|
||||
0.85f,
|
||||
0.8f,
|
||||
6.6f,
|
||||
1.3f,
|
||||
0.75f,
|
||||
0.9f,
|
||||
3.9f,
|
||||
0.0f,
|
||||
0.85f,
|
||||
0.9f,
|
||||
3.9f,
|
||||
0.0f,
|
||||
0.95f,
|
||||
0.9f,
|
||||
22.0f,
|
||||
-17.0f,
|
||||
1.0f,
|
||||
20.0f,
|
||||
};
|
||||
memcpy(&m, &aParam, sizeof(aParam));
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 806556D8-806556F8 -00001 0020+00 1/0 0/0 0/0 .data daBalloon2D_METHODS */
|
||||
static actor_method_class daBalloon2D_METHODS = {
|
||||
(process_method_func)daBalloon2D_create__FP13daBalloon2D_c,
|
||||
(process_method_func)daBalloon2D_destroy__FP13daBalloon2D_c,
|
||||
(process_method_func)daBalloon2D_execute__FP13daBalloon2D_c,
|
||||
0,
|
||||
(process_method_func)daBalloon2D_draw__FP13daBalloon2D_c,
|
||||
};
|
||||
|
||||
/* 806556F8-80655728 -00001 0030+00 0/0 0/0 1/0 .data g_profile_BALLOON2D */
|
||||
extern actor_process_profile_definition g_profile_BALLOON2D = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_BALLOON2D, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daBalloon2D_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
765, // mPriority
|
||||
&daBalloon2D_METHODS, // sub_method
|
||||
0x00040000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_0_e, // cullType
|
||||
};
|
||||
|
||||
/* 80655728-80655734 000118 000C+00 1/1 0/0 0/0 .data __vt__12dDlst_base_c */
|
||||
SECTION_DATA extern void* __vt__12dDlst_base_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__12dDlst_base_cFv,
|
||||
};
|
||||
|
||||
/* 80655734-80655740 000124 000C+00 2/2 0/0 0/0 .data __vt__13daBalloon2D_c */
|
||||
SECTION_DATA extern void* __vt__13daBalloon2D_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__13daBalloon2D_cFv,
|
||||
};
|
||||
|
||||
/* 80655740-80655750 000130 0010+00 3/3 0/0 0/0 .data __vt__Q213daBalloon2D_c6c_list */
|
||||
SECTION_DATA extern void* __vt__Q213daBalloon2D_c6c_list[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__Q213daBalloon2D_c6c_listFv,
|
||||
(void*)__dt__Q213daBalloon2D_c6c_listFv,
|
||||
};
|
||||
void daBalloon2D_HIO_c::resetAddScoreSetFlag() {
|
||||
JORMContext* ctx = attachJORMContext(8);
|
||||
ctx->startUpdateNode(this);
|
||||
m.mOverheadScoreToggle = 0x0;
|
||||
ctx->updateCheckBox(2, &m.mOverheadScoreToggle, 1, 0);
|
||||
ctx->endUpdateNode();
|
||||
releaseJORMContext(ctx);
|
||||
}
|
||||
|
||||
/* 80655250-80655304 001E70 00B4+00 1/0 0/0 0/0 .text daBalloon2D_create__FP13daBalloon2D_c */
|
||||
// NONMATCHING - vtable
|
||||
|
@ -748,55 +552,162 @@ static int daBalloon2D_draw(daBalloon2D_c* i_this) {
|
|||
return i_this->draw();
|
||||
}
|
||||
|
||||
/* 806553A4-806553A8 001FC4 0004+00 1/0 0/0 0/0 .text draw__12dDlst_base_cFv */
|
||||
void draw__12dDlst_base_cFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80655750-8065575C 000140 000C+00 2/2 0/0 0/0 .data __vt__17daBalloon2D_HIO_c */
|
||||
SECTION_DATA extern void* __vt__17daBalloon2D_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17daBalloon2D_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 8065575C-80655768 00014C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14mDoHIO_entry_cFv,
|
||||
};
|
||||
|
||||
/* 806553A8-80655404 001FC8 005C+00 2/1 0/0 0/0 .text __dt__17daBalloon2D_HIO_cFv */
|
||||
daBalloon2D_HIO_c::~daBalloon2D_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80655404-8065544C 002024 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
|
||||
void __dt__14mDoHIO_entry_cFv() {
|
||||
//asm mDoHIO_entry_c::~mDoHIO_entry_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8065544C-80655494 00206C 0048+00 1/0 0/0 0/0 .text __dt__Q213daBalloon2D_c6c_listFv */
|
||||
daBalloon2D_c::c_list::~c_list() {
|
||||
// NONMATCHING
|
||||
#if DEBUG
|
||||
void daBalloon2D_HIO_c::genMessage(JORMContext* ctx) {
|
||||
ctx->genCheckBox("調整ON", &m.mAdjustmentToggle, 1, 0, NULL, 0xffff,
|
||||
0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("スコア", &m.mScore, 0, 99999, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
ctx->genSlider("コンボ数", &m.mComboCount, 0, 99, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->startComboBox("風船のサイズ", &m.mBalloonSize, 0, NULL, 0xffff, 0xffff, 0x100,
|
||||
0x1a);
|
||||
ctx->genComboBoxItem("大", 0); // large
|
||||
ctx->genComboBoxItem("中", 1); // medium
|
||||
ctx->genComboBoxItem("小", 2); // small
|
||||
ctx->endComboBox();
|
||||
ctx->genCheckBox("頭上スコアON", &m.mOverheadScoreToggle, 1, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("頭上スコア", &m.mOverheadScore, 0, 99999, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genLabel("*****「SCORE」(score_tn)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mScorePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mScorePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mScoreSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// 5-digit number
|
||||
ctx->genLabel("*****5ケタの数字(suji_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.m5DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.m5DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズX", &m.m5DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズY", &m.m5DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("アルファ", &m.m5DNumberAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// "SCORE" & 5-digit number
|
||||
ctx->genLabel("*****「SCORE」&5ケタの数字(suji_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.m5DNumber2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.m5DNumber2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.m5DNumber2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genLabel("*****「+」(tas_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mUnkPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mUnkPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mUnkSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genLabel("*****「COMBO」\u3000(combo_tn)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genLabel("*****2ケタの数字(num_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.m2DNumberPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.m2DNumberPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズX", &m.m2DNumberSizeX, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズY", &m.m2DNumberSizeY, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// "+" & 2-digit number & "COMBO"
|
||||
ctx->genLabel("*****「+」&2ケタの数字&「COMBO」(co_set_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.m2DNumberComboPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.m2DNumberComboPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.m2DNumberComboSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("アルファ", &m.m2DNumberComboAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// balloon "large"
|
||||
ctx->genLabel("*****風船「大」(bal_1_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mBalloonLargePosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mBalloonLargePosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mBalloonLargeSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("アルファ", &m.mBalloonLargeAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// balloon "medium"
|
||||
ctx->genLabel("*****風船「中」(bal_2_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mBalloonMedPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mBalloonMedPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mBalloonMedSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("アルファ", &m.mBalloonMedAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// balloon "small"
|
||||
ctx->genLabel("*****風船「小」(bal_3_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
|
||||
ctx->genSlider("位置X", &m.mBalloonSmallPosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.mBalloonSmallPosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.mBalloonSmallSize, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("アルファ", &m.mBalloonSmallAlpha, 0.0, 1.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
// "Balloon" & "+" & two-digit number & "COMBO"
|
||||
ctx->genLabel("*****「風船」&「+」&2ケタの数字&「COMBO」(ba_com_n)*****", 0, 0, NULL, 0xffff, 0xffff, 0x200,
|
||||
0x18);
|
||||
ctx->genSlider("位置X", &m.m2DNumberCombo2PosX, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置X(4:3)", &m.m2DNumberCombo2PosX43, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("位置Y", &m.m2DNumberCombo2PosY, -300.0, 300.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
ctx->genSlider("サイズ", &m.m2DNumberCombo2Size, 0.0, 3.0, 0, NULL, 0xffff, 0xffff,
|
||||
0x200, 0x18);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80655494-80655524 0020B4 0090+00 1/0 0/0 0/0 .text __dt__13daBalloon2D_cFv */
|
||||
daBalloon2D_c::~daBalloon2D_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80655524-80655598 002144 0074+00 0/0 1/0 0/0 .text __sinit_d_a_balloon_2D_cpp */
|
||||
void __sinit_d_a_balloon_2D_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* ############################################################################################## */
|
||||
/* 806556D8-806556F8 -00001 0020+00 1/0 0/0 0/0 .data daBalloon2D_METHODS */
|
||||
static actor_method_class daBalloon2D_METHODS = {
|
||||
(process_method_func)daBalloon2D_create,
|
||||
(process_method_func)daBalloon2D_destroy,
|
||||
(process_method_func)daBalloon2D_execute,
|
||||
0,
|
||||
(process_method_func)daBalloon2D_draw,
|
||||
};
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80655524, __sinit_d_a_balloon_2D_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 806556F8-80655728 -00001 0030+00 0/0 0/0 1/0 .data g_profile_BALLOON2D */
|
||||
extern actor_process_profile_definition g_profile_BALLOON2D = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_BALLOON2D, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daBalloon2D_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
765, // mPriority
|
||||
&daBalloon2D_METHODS, // sub_method
|
||||
0x00040000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_0_e, // cullType
|
||||
};
|
||||
|
|
|
@ -386,7 +386,8 @@ int daDemo00_c::createHeap() {
|
|||
|
||||
if (mModel.mID.field_0x1c != -1) {
|
||||
mDeformData = (J3DDeformData*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), (u16)mModel.mID.field_0x1c);
|
||||
JUT_ASSERT(687, mModel.mDeformData != 0);
|
||||
// Should be mModel.mDeformData
|
||||
JUT_ASSERT(687, mDeformData != 0);
|
||||
|
||||
if (mModel.mID.field_0x20 != -1) {
|
||||
mpBlkAnm = new mDoExt_blkAnm();
|
||||
|
@ -396,7 +397,7 @@ int daDemo00_c::createHeap() {
|
|||
|
||||
J3DAnmCluster* anm_cluster = (J3DAnmCluster*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), (u16)mModel.mID.field_0x20);
|
||||
if (anm_cluster == NULL) {
|
||||
OS_REPORT("ESC_WARNING指定blkアニメーションが見つかりません!(%d)\n", field_0x5ac.field_0x20); // ESC_WARNING: Specified blk animation not found! (%d)
|
||||
OS_REPORT("ESC_WARNING指定blkアニメーションが見つかりません!(%d)\n", mModel.mID.field_0x20); // ESC_WARNING: Specified blk animation not found! (%d)
|
||||
} else {
|
||||
if (mpBlkAnm->init(mDeformData, anm_cluster, 1, -1, 1.0f, 0, -1) == 0) {
|
||||
return 0;
|
||||
|
@ -557,7 +558,8 @@ int daDemo00_c::actPerformance(dDemo_actor_c* actor) {
|
|||
}
|
||||
|
||||
if (mModel.mID.field_0x20 != mModel.field_0x0.field_0x20) {
|
||||
JUT_ASSERT(1049, mModel.mDeformData != 0 && mModel.mBlkAnm != 0);
|
||||
// Should be mModel.mDeformData and mModel.mBlkAnm
|
||||
JUT_ASSERT(1049, mDeformData != 0 && mpBlkAnm != 0);
|
||||
|
||||
J3DAnmCluster* anmCluster = (J3DAnmCluster*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), (u16)mModel.field_0x0.field_0x20);
|
||||
if (anmCluster == NULL) {
|
||||
|
|
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
File diff suppressed because it is too large
Load Diff
|
@ -4,13 +4,15 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_fr.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "c/c_damagereaction.h"
|
||||
#include "d/actor/d_a_mg_fish.h"
|
||||
#include "d/actor/d_a_obj_lp.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
|
||||
/* 805198EC-8051994C 0000EC 0060+00 1/1 0/0 0/0 .text __ct__10daFr_HIO_cFv */
|
||||
daFr_HIO_c::daFr_HIO_c() {
|
||||
|
@ -34,18 +36,20 @@ static void anm_init(fr_class* i_this, int i_index, f32 i_morf, u8 i_mode, f32 i
|
|||
|
||||
/* 805199F4-80519AB8 0001F4 00C4+00 1/0 0/0 0/0 .text daFr_Draw__FP8fr_class */
|
||||
static int daFr_Draw(fr_class* i_this) {
|
||||
fopAc_ac_c* actor = i_this;
|
||||
|
||||
J3DModel* model = i_this->mMorf->getModel();
|
||||
|
||||
g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(model, &i_this->tevStr);
|
||||
g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(model, &actor->tevStr);
|
||||
|
||||
J3DModelData* modelData = model->getModelData();
|
||||
i_this->mBtkAnm->entry(modelData);
|
||||
i_this->mBtkAnm->entry(model->getModelData());
|
||||
i_this->mMorf->entryDL();
|
||||
|
||||
if (!i_this->field_0x5ec) {
|
||||
dComIfGd_setSimpleShadow(&i_this->current.pos, i_this->mAcch.m_ground_h, i_this->scale.x * 10.0f,
|
||||
i_this->mAcch.m_gnd, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
|
||||
dComIfGd_setSimpleShadow(&actor->current.pos, i_this->mAcch.GetGroundH(),
|
||||
(10.0f + TREG_F(8)) * actor->scale.x, i_this->mAcch.m_gnd, 0, 1.0f,
|
||||
dDlst_shadowControl_c::getSimpleTex());
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
@ -53,14 +57,17 @@ static int daFr_Draw(fr_class* i_this) {
|
|||
|
||||
/* 80519AB8-80519B14 0002B8 005C+00 1/1 0/0 0/0 .text sibuki_set__FP8fr_class */
|
||||
static void sibuki_set(fr_class* i_this) {
|
||||
cXyz sp18 = i_this->current.pos;
|
||||
fopAc_ac_c* actor = i_this;
|
||||
|
||||
cXyz sp18 = actor->current.pos;
|
||||
sp18.y = i_this->field_0x5f0;
|
||||
fopKyM_createWpillar(&sp18, i_this->scale.x * 0.3f, 0);
|
||||
fopKyM_createWpillar(&sp18, actor->scale.x * 0.3f, 0);
|
||||
}
|
||||
|
||||
/* 80519B14-80519B60 000314 004C+00 1/1 0/0 0/0 .text s_wd_sub__FPvPv */
|
||||
static void* s_wd_sub(void* param_1, void* param_2) {
|
||||
if (fopAc_IsActor(param_1) && fopAcM_GetName(param_1) == PROC_OBJ_LP) {
|
||||
(void)param_2;
|
||||
if (fopAcM_IsActor(param_1) && fopAcM_GetName(param_1) == PROC_OBJ_LP) {
|
||||
return param_1;
|
||||
}
|
||||
|
||||
|
@ -69,12 +76,15 @@ static void* s_wd_sub(void* param_1, void* param_2) {
|
|||
|
||||
/* 80519B60-80519D28 000360 01C8+00 1/1 0/0 0/0 .text wd_check__FP8fr_class */
|
||||
static wd_ss* wd_check(fr_class* i_this) {
|
||||
fopAc_ac_c* actor = i_this;
|
||||
|
||||
obj_lp_class* mLilyPad = (obj_lp_class*)fpcM_Search(s_wd_sub, i_this);
|
||||
if (mLilyPad) {
|
||||
wd_ss* mWdSs = mLilyPad->mWdSs;
|
||||
cXyz unkXyz1;
|
||||
for (int i = 0; i < mLilyPad->field_0xad98; i++, mWdSs++) {
|
||||
cXyz sp48 = mWdSs->field_0x10 - i_this->current.pos;
|
||||
if (sp48.abs() < mWdSs->field_0x3c * 22.0f) {
|
||||
unkXyz1 = mWdSs->field_0x10 - actor->current.pos;
|
||||
if (unkXyz1.abs() < mWdSs->field_0x3c * (22.0f + KREG_F(11))) {
|
||||
return mWdSs;
|
||||
}
|
||||
}
|
||||
|
@ -84,34 +94,35 @@ static wd_ss* wd_check(fr_class* i_this) {
|
|||
}
|
||||
|
||||
/* 80519D28-80519E24 000528 00FC+00 4/4 0/0 0/0 .text way_bg_check__FP8fr_class */
|
||||
static bool way_bg_check(fr_class* i_this) {
|
||||
static BOOL way_bg_check(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
cXyz sp24;
|
||||
cXyz sp18;
|
||||
cXyz sp0c;
|
||||
|
||||
cXyz sp90 = i_this->current.pos;
|
||||
sp90.y += 20.0f;
|
||||
sp24 = i_this->current.pos;
|
||||
sp24.y += 20.0f;
|
||||
|
||||
cMtx_YrotS(*calc_mtx, i_this->shape_angle.y);
|
||||
|
||||
cXyz sp9c;
|
||||
cXyz spa8(0.0f, 0.0f, 50.0f);
|
||||
MtxPosition(&spa8, &sp9c);
|
||||
sp9c += sp90;
|
||||
sp0c.x = 0.0f;
|
||||
sp0c.y = 0.0f;
|
||||
sp0c.z = 50.0f;
|
||||
MtxPosition(&sp0c, &sp18);
|
||||
sp18 += sp24;
|
||||
|
||||
dBgS_LinChk dStack_84;
|
||||
dStack_84.Set(&sp90, &sp90, i_this);
|
||||
dStack_84.Set(&sp24, &sp18, i_this);
|
||||
|
||||
if (dComIfG_Bgsp().LineCross(&dStack_84)) {
|
||||
return true;
|
||||
return TRUE;
|
||||
} else {
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8051BC10-8051BC14 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 data_8051BC10[4];
|
||||
|
||||
/* 8051BC14-8051BC20 00000C 000C+00 1/1 0/0 0/0 .bss @3644 */
|
||||
static u8 lit_3644[12];
|
||||
static bool l_initHIO;
|
||||
|
||||
/* 8051BC20-8051BC4C 000018 002C+00 9/9 0/0 0/0 .bss l_HIO */
|
||||
static daFr_HIO_c l_HIO;
|
||||
|
@ -119,16 +130,20 @@ static daFr_HIO_c l_HIO;
|
|||
/* 80519E24-8051A0D8 000624 02B4+00 1/2 0/0 0/0 .text fr_normal__FP8fr_class */
|
||||
static void fr_normal(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
switch (i_this->field_0x5d2) {
|
||||
fopAc_ac_c* actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp18;
|
||||
cXyz sp0c;
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4 = 1;
|
||||
i_this->field_0x5d4 += (s16)1;
|
||||
anm_init(i_this, 11, 5.0f, 2, cM_rndF(0.3f) + 0.8f);
|
||||
i_this->field_0x5dc[0] = cM_rndF(50.0f) + 20.0f;
|
||||
i_this->speedF = 0.0f;
|
||||
break;
|
||||
case 1:
|
||||
if (!i_this->field_0x5dc[0]) {
|
||||
if (i_this->mMorf->getFrame() == 14) {
|
||||
if ((int)i_this->mMorf->getFrame() == 14) {
|
||||
i_this->field_0x5d4++;
|
||||
anm_init(i_this, 7, 5.0f, 0, 2.0f);
|
||||
}
|
||||
|
@ -141,13 +156,12 @@ static void fr_normal(fr_class* i_this) {
|
|||
i_this->speed.y = l_HIO.field_0xc + cM_rndFX(l_HIO.field_0xc * 0.5f);
|
||||
|
||||
if (way_bg_check(i_this)) {
|
||||
i_this->field_0x5e8 = l_HIO.field_0x14;
|
||||
i_this->current.angle.y += 0x8000;
|
||||
} else {
|
||||
i_this->current.angle.y += -0x8000;
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y,
|
||||
cM_atan2s((i_this->home.pos.x + cM_rndFX(i_this->field_0x5e8)) - i_this->current.pos.x,
|
||||
(i_this->home.pos.z + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.z)),
|
||||
1, 0x2000);
|
||||
i_this->field_0x5e8 = l_HIO.field_0x14;
|
||||
f32 x = i_this->home.pos.x + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.x;
|
||||
f32 z = i_this->home.pos.z + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.z;
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y, cM_atan2s(x, z), 1, 0x2000 + TREG_S(2));
|
||||
}
|
||||
|
||||
i_this->field_0x5d4++;
|
||||
|
@ -169,10 +183,14 @@ static void fr_normal(fr_class* i_this) {
|
|||
|
||||
/* 8051A0D8-8051A318 0008D8 0240+00 1/2 0/0 0/0 .text fr_away__FP8fr_class */
|
||||
static void fr_away(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp14;
|
||||
cXyz sp08;
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4 = 1;
|
||||
i_this->field_0x5d4 += (s16)1;
|
||||
i_this->speedF = 0.0f;
|
||||
anm_init(i_this, 7, 3.0f, 0, 4.0f);
|
||||
break;
|
||||
|
@ -183,11 +201,11 @@ static void fr_away(fr_class* i_this) {
|
|||
i_this->speed.y = l_HIO.field_0x20 + cM_rndFX(l_HIO.field_0x20 * 0.5f);
|
||||
|
||||
if (way_bg_check(i_this)) {
|
||||
i_this->current.angle.y += -0x8000;
|
||||
i_this->current.angle.y += 0x8000;
|
||||
} else {
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y,
|
||||
fopAcM_searchPlayerAngleY(i_this) + cM_rndFX(8000.0f) + -0x8000, 1,
|
||||
0x2000);
|
||||
fopAcM_searchPlayerAngleY(i_this) + 0x8000 + (s16)cM_rndFX(8000.0f), 1,
|
||||
0x2000 + TREG_S(2));
|
||||
}
|
||||
|
||||
i_this->field_0x5d4++;
|
||||
|
@ -203,7 +221,7 @@ static void fr_away(fr_class* i_this) {
|
|||
case 3:
|
||||
if (i_this->mMorf->isStop()) {
|
||||
i_this->field_0x5d4 = 0;
|
||||
if ((l_HIO.field_0x18 + 200.0f) < i_this->field_0x5d8) {
|
||||
if (i_this->field_0x5d8 > (l_HIO.field_0x18 + 200.0f)) {
|
||||
i_this->field_0x5d2 = 0;
|
||||
}
|
||||
}
|
||||
|
@ -212,40 +230,42 @@ static void fr_away(fr_class* i_this) {
|
|||
|
||||
/* 8051A318-8051A558 000B18 0240+00 1/1 0/0 0/0 .text fr_s_normal__FP8fr_class */
|
||||
static void fr_s_normal(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp18;
|
||||
cXyz sp0c;
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4++;
|
||||
anm_init(i_this, 10, 5.0f, 2, cM_rndF(0.3f) + 1.5f);
|
||||
i_this->field_0x5cc = 0;
|
||||
i_this->field_0x5dc[0] = cM_rndF(100.0f) + 50.0f;
|
||||
if (l_HIO.field_0x24 < i_this->speedF) {
|
||||
if (i_this->speedF > l_HIO.field_0x24) {
|
||||
i_this->speedF = l_HIO.field_0x24;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (i_this->mMorf->getFrame() > 9) {
|
||||
if (i_this->mMorf->getFrame() < 0x1a) {
|
||||
if ((int)i_this->mMorf->getFrame() >= 10) {
|
||||
if ((int)i_this->mMorf->getFrame() <= 25) {
|
||||
cLib_addCalc2(&i_this->speedF, l_HIO.field_0x24, 1.0f, l_HIO.field_0x24 * 0.2f);
|
||||
if (i_this->mMorf->getFrame() > 9) {
|
||||
if (i_this->mMorf->getFrame() < 16 && i_this->field_0x5cc == 0) {
|
||||
if ((int)i_this->mMorf->getFrame() >= 10) {
|
||||
if ((int)i_this->mMorf->getFrame() <= 15 && (s8)i_this->field_0x5cc == 0) {
|
||||
if (way_bg_check(i_this)) {
|
||||
i_this->current.angle.y += -0x8000;
|
||||
i_this->current.angle.y += 0x8000;
|
||||
} else {
|
||||
i_this->field_0x5e8 = l_HIO.field_0x14;
|
||||
|
||||
cXyz sp28;
|
||||
sp28.x = i_this->home.pos.x + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.x;
|
||||
sp28.z = i_this->home.pos.z + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.z;
|
||||
s16 sVar2 = cM_atan2s(sp28.x, sp28.z);
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y, sVar2, 1, 0x2000);
|
||||
sp0c.x = i_this->home.pos.x + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.x;
|
||||
sp0c.z = i_this->home.pos.z + cM_rndFX(i_this->field_0x5e8) - i_this->current.pos.z;
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y, cM_atan2s(sp0c.x, sp0c.z), 1, 0x2000 + TREG_S(2));
|
||||
}
|
||||
|
||||
i_this->field_0x5cc = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_this->mMorf->getFrame() < 20) {
|
||||
if ((int)i_this->mMorf->getFrame() < 20) {
|
||||
return;
|
||||
}
|
||||
i_this->field_0x5cc = 0;
|
||||
|
@ -263,7 +283,11 @@ static void fr_s_normal(fr_class* i_this) {
|
|||
|
||||
/* 8051A558-8051A620 000D58 00C8+00 1/1 0/0 0/0 .text fr_s_wait__FP8fr_class */
|
||||
static void fr_s_wait(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp14;
|
||||
cXyz sp08;
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4++;
|
||||
|
@ -283,6 +307,11 @@ static void fr_s_wait(fr_class* i_this) {
|
|||
/* 8051A620-8051A820 000E20 0200+00 1/1 0/0 0/0 .text fr_s_away__FP8fr_class */
|
||||
static void fr_s_away(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp14;
|
||||
cXyz sp08;
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4++;
|
||||
|
@ -290,20 +319,20 @@ static void fr_s_away(fr_class* i_this) {
|
|||
i_this->field_0x5cc = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (i_this->mMorf->getFrame() > 9) {
|
||||
if (i_this->mMorf->getFrame() > 0x1a) {
|
||||
if ((int)i_this->mMorf->getFrame() >= 10) {
|
||||
if ((int)i_this->mMorf->getFrame() >= 25) {
|
||||
cLib_addCalc2(&i_this->speedF, l_HIO.field_0x28, 1.0f, l_HIO.field_0x28 * 0.2f);
|
||||
if (i_this->mMorf->getFrame() > 9) {
|
||||
if (i_this->mMorf->getFrame() < 16 && i_this->field_0x5cc == 0) {
|
||||
if ((int)i_this->mMorf->getFrame() >= 10) {
|
||||
if ((int)i_this->mMorf->getFrame() <= 15 && (s8)i_this->field_0x5cc == 0) {
|
||||
if (way_bg_check(i_this)) {
|
||||
i_this->current.angle.y += -0x8000;
|
||||
i_this->current.angle.y += 0x8000;
|
||||
} else {
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y,
|
||||
(fopAcM_searchPlayerAngleY(i_this) + cM_rndFX(8000.0f)) + -0x8000,
|
||||
1, 0x2000);
|
||||
(s16)(fopAcM_searchPlayerAngleY(i_this) + (s16)cM_rndFX(8000.0f)) + 0x8000,
|
||||
1, 0x2000 + TREG_S(2));
|
||||
}
|
||||
|
||||
if (l_HIO.field_0x18 + 200.0f < i_this->field_0x5d8) {
|
||||
if (i_this->field_0x5d8 > l_HIO.field_0x18 + 200.0f) {
|
||||
i_this->field_0x5d2 = 20;
|
||||
i_this->field_0x5d4 = 0;
|
||||
}
|
||||
|
@ -312,7 +341,7 @@ static void fr_s_away(fr_class* i_this) {
|
|||
}
|
||||
}
|
||||
|
||||
if (i_this->mMorf->getFrame() < 20) {
|
||||
if ((int)i_this->mMorf->getFrame() < 20) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -327,29 +356,34 @@ static void fr_s_away(fr_class* i_this) {
|
|||
|
||||
/* 8051A820-8051A904 001020 00E4+00 1/1 0/0 0/0 .text fr_eat__FP8fr_class */
|
||||
static void fr_eat(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* this_actor = i_this;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
cXyz sp14;
|
||||
cXyz sp08;
|
||||
fopAc_ac_c* actor = fopAcM_SearchByID(i_this->field_0x5f8);
|
||||
if (!actor) {
|
||||
fopAcM_delete(i_this);
|
||||
} else {
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
i_this->field_0x5d4++;
|
||||
anm_init(i_this, 10, 20.0f, 2, 0.0f);
|
||||
i_this->field_0x5dc[0] = 20;
|
||||
case 1:
|
||||
i_this->mMorf->setFrame(0.0f);
|
||||
case 0:
|
||||
i_this->field_0x5d4++;
|
||||
anm_init(i_this, 10, 20.0f, 2, 0.0f);
|
||||
i_this->field_0x5dc[0] = 20;
|
||||
case 1:
|
||||
i_this->mMorf->setFrame(0.0f);
|
||||
// not sure if this cast is right
|
||||
i_this->current.pos = ((mg_fish_class*)actor)->field_0x638;
|
||||
|
||||
if (i_this->field_0x5dc[0] == 0) {
|
||||
fopAcM_delete(i_this);
|
||||
}
|
||||
if (i_this->field_0x5dc[0] == 0) {
|
||||
fopAcM_delete(i_this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 8051A904-8051AA9C 001104 0198+00 2/2 0/0 0/0 .text swim_on__FP8fr_class */
|
||||
static void swim_on(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
if (i_this->field_0x5ec == 0) {
|
||||
i_this->field_0x5d2 = 0;
|
||||
i_this->field_0x5d4 = 0;
|
||||
|
@ -358,21 +392,20 @@ static void swim_on(fr_class* i_this) {
|
|||
i_this->gravity = 0.0f;
|
||||
i_this->speed.y = 0.0f;
|
||||
|
||||
f32 fVar3 = 0.5f * cM_ssin(i_this->field_0x5d0 * 0x5dc) - i_this->scale.x * 10.0f * 1.33f;
|
||||
f32 fVar3 = (0.5f + BREG_F(6)) * cM_ssin(i_this->field_0x5d0 * (1500 + BREG_S(5))) - i_this->scale.x * 10.0f * 1.33f;
|
||||
|
||||
s16 sVar2;
|
||||
if (i_this->field_0x5d2 == 0x1e) {
|
||||
sVar2 = -(5000 + 700 * cM_ssin(i_this->field_0x5d0 * 700));
|
||||
fVar3 -= 3.0f * i_this->scale.x * 1.33f;
|
||||
sVar2 = (cM_ssin(i_this->field_0x5d0 * (700 + BREG_S(3))) * (700 + BREG_S(4)) + -(5000 + BREG_S(7)));
|
||||
fVar3 -= (3.0f + BREG_F(4)) * i_this->scale.x * 1.33f;
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
}
|
||||
|
||||
cLib_addCalc2(&i_this->field_0x5f4, fVar3, 0.1f, 1.0f);
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.x, sVar2, 16, 0x100);
|
||||
fVar3 = cM_ssin(i_this->field_0x5d0 * 600);
|
||||
|
||||
i_this->shape_angle.z = 500 * fVar3;
|
||||
i_this->shape_angle.z = cM_ssin(i_this->field_0x5d0 * (600 + BREG_S(1))) * (500 + BREG_S(2));
|
||||
|
||||
if (((i_this->field_0x994 == -1 || !daPy_py_c::checkNowWolf()) &&
|
||||
i_this->field_0x5d2 != 0x28) && i_this->field_0x5d8 < l_HIO.field_0x18) {
|
||||
|
@ -384,14 +417,15 @@ static void swim_on(fr_class* i_this) {
|
|||
|
||||
/* 8051AA9C-8051AC2C 00129C 0190+00 1/1 0/0 0/0 .text swim_off__FP8fr_class */
|
||||
static void swim_off(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* this_actor = i_this;
|
||||
|
||||
cLib_addCalc0(&i_this->field_0x5f4, 0.1f, 1.0f);
|
||||
i_this->shape_angle.z = 0;
|
||||
|
||||
if (i_this->mAcch.ChkGroundHit() || i_this->field_0x5ce != 0) {
|
||||
i_this->shape_angle.x = 0;
|
||||
} else {
|
||||
i_this->shape_angle.x = i_this->speed.y * -500.0f;
|
||||
i_this->shape_angle.x = i_this->speed.y * (-500.0f + TREG_F(9));
|
||||
if (i_this->shape_angle.x > 0x1000) {
|
||||
i_this->shape_angle.x = 0x1000;
|
||||
} else if (i_this->shape_angle.x < -0x2000) {
|
||||
|
@ -414,11 +448,11 @@ static void swim_off(fr_class* i_this) {
|
|||
|
||||
/* 8051AC2C-8051AD04 00142C 00D8+00 1/1 0/0 0/0 .text fr_message__FP8fr_class */
|
||||
static void fr_message(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
s16 sVar1 = i_this->field_0x5d4;
|
||||
fopAc_ac_c* this_actor = i_this;
|
||||
|
||||
switch (i_this->field_0x5d4) {
|
||||
case 0:
|
||||
anm_init(i_this, 11, 400.0f, 2, cM_rndF(0.3f) + 0.8f);
|
||||
anm_init(i_this, 11, 5.0f, 2, cM_rndF(0.3f) + 0.8f);
|
||||
i_this->field_0x5d4++;
|
||||
case 1:
|
||||
default:
|
||||
|
@ -435,40 +469,46 @@ static void fr_message(fr_class* i_this) {
|
|||
/* 8051AD04-8051B04C 001504 0348+00 2/1 0/0 0/0 .text action__FP8fr_class */
|
||||
static void action(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* this_actor = i_this;
|
||||
|
||||
cXyz sp30;
|
||||
cXyz sp24;
|
||||
|
||||
char cVar4 = 0;
|
||||
i_this->gravity = l_HIO.field_0x10;
|
||||
i_this->field_0x991 = 0;
|
||||
switch (i_this->field_0x5d2) {
|
||||
case 0:
|
||||
fr_normal(i_this);
|
||||
i_this->field_0x991 = 1;
|
||||
break;
|
||||
case 5:
|
||||
fr_away(i_this);
|
||||
i_this->field_0x991 = 1;
|
||||
break;
|
||||
case 10:
|
||||
fr_message(i_this);
|
||||
i_this->field_0x991 = 2;
|
||||
break;
|
||||
case 15:
|
||||
cVar4 = -1;
|
||||
break;
|
||||
case 20:
|
||||
fr_s_normal(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 30:
|
||||
fr_s_wait(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 40:
|
||||
fr_s_away(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 50:
|
||||
fr_eat(i_this);
|
||||
cVar4 = -2;
|
||||
case 0:
|
||||
fr_normal(i_this);
|
||||
i_this->field_0x991 = 1;
|
||||
break;
|
||||
case 5:
|
||||
fr_away(i_this);
|
||||
i_this->field_0x991 = 1;
|
||||
break;
|
||||
case 10:
|
||||
fr_message(i_this);
|
||||
i_this->field_0x991 = 2;
|
||||
break;
|
||||
case 20:
|
||||
fr_s_normal(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 30:
|
||||
fr_s_wait(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 40:
|
||||
fr_s_away(i_this);
|
||||
cVar4 = 1;
|
||||
break;
|
||||
case 50:
|
||||
fr_eat(i_this);
|
||||
cVar4 = -2;
|
||||
break;
|
||||
case 15:
|
||||
cVar4 = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (((i_this->field_0x991 == 1 && i_this->field_0x994 != -1) && daPy_py_c::checkNowWolf()) && i_this->field_0x5d8 < 300.0f) {
|
||||
|
@ -479,11 +519,12 @@ static void action(fr_class* i_this) {
|
|||
if (cVar4 != -2) {
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->current.angle.y, 2, 0x4000);
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
cXyz sp90;
|
||||
cXyz sp84(0.0f, 0.0f, i_this->speedF);
|
||||
MtxPosition(&sp84, &sp90);
|
||||
i_this->speed.x = sp90.x;
|
||||
i_this->speed.z = sp90.z;
|
||||
sp24.x = 0.0f;
|
||||
sp24.y = 0.0f;
|
||||
sp24.z = i_this->speedF;
|
||||
MtxPosition(&sp24, &sp30);
|
||||
i_this->speed.x = sp30.x;
|
||||
i_this->speed.z = sp30.z;
|
||||
i_this->speed.y += i_this->gravity;
|
||||
|
||||
i_this->current.pos += (i_this->speed * i_this->scale.x) * 1.33f;
|
||||
|
@ -492,8 +533,8 @@ static void action(fr_class* i_this) {
|
|||
i_this->speed.y = -80.0f;
|
||||
}
|
||||
|
||||
sp84 = i_this->current.pos;
|
||||
sp84.y += 200.0f;
|
||||
sp24 = i_this->current.pos;
|
||||
sp24.y += 200.0f;
|
||||
f32 fVar6 = i_this->mAcch.GetGroundH();
|
||||
dBgS_ObjGndChk_Spl(cStack_78);
|
||||
i_this->field_0x5ec = 0;
|
||||
|
@ -502,12 +543,11 @@ static void action(fr_class* i_this) {
|
|||
if (wd_check(i_this)) {
|
||||
bVar2 = true;
|
||||
} else {
|
||||
cStack_78.SetPos(&sp84);
|
||||
f32 fVar5 = dComIfG_Bgsp().GroundCross(&cStack_78);
|
||||
i_this->field_0x5f0 = fVar5;
|
||||
cStack_78.SetPos(&sp24);
|
||||
i_this->field_0x5f0 = dComIfG_Bgsp().GroundCross(&cStack_78);
|
||||
|
||||
if (fVar6 < fVar5 && i_this->current.pos.y <= fVar5) {
|
||||
i_this->current.pos.y = i_this->field_0x5f0;
|
||||
if (fVar6 < i_this->field_0x5f0 && i_this->current.pos.y <= i_this->field_0x5f0 + YREG_F(0)) {
|
||||
i_this->current.pos.y = i_this->field_0x5f0 + YREG_F(0);
|
||||
i_this->field_0x5ec = 1;
|
||||
}
|
||||
}
|
||||
|
@ -521,8 +561,8 @@ static void action(fr_class* i_this) {
|
|||
|
||||
i_this->mAcch.CrrPos(dComIfG_Bgsp());
|
||||
i_this->field_0x5ce = 0;
|
||||
if ((bVar2 && i_this->speed.y <= 0.0f) && i_this->current.pos.y <= i_this->field_0x5f0 + i_this->scale.x * 5.0f) {
|
||||
i_this->current.pos.y = i_this->field_0x5f0 + i_this->scale.x * 5.0f;
|
||||
if ((bVar2 && i_this->speed.y <= 0.0f) && i_this->current.pos.y <= i_this->field_0x5f0 + i_this->scale.x * (5.0f + YREG_F(11))) {
|
||||
i_this->current.pos.y = i_this->field_0x5f0 + i_this->scale.x * (5.0f + YREG_F(11));
|
||||
i_this->speed.y = 0.0f;
|
||||
i_this->field_0x5ce = 1;
|
||||
}
|
||||
|
@ -531,7 +571,6 @@ static void action(fr_class* i_this) {
|
|||
|
||||
/* 8051B04C-8051B170 00184C 0124+00 1/1 0/0 0/0 .text message__FP8fr_class */
|
||||
static int message(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
if (i_this->field_0x992) {
|
||||
i_this->field_0x5e4 = 10;
|
||||
if (i_this->mMsgFlow.doFlow(i_this, NULL, 0)) {
|
||||
|
@ -553,20 +592,23 @@ static int message(fr_class* i_this) {
|
|||
i_this->eventInfo.onCondition(1);
|
||||
} else {
|
||||
fopAcM_OffStatus(i_this, 0);
|
||||
cLib_offBit<u32>(i_this->attention_info.flags, 1);
|
||||
#if DEBUG
|
||||
cLib_offBit<u32>(i_this->attention_info.flags, 0x42);
|
||||
#else
|
||||
cLib_offBit<u32>(i_this->attention_info.flags, 0xa);
|
||||
#endif
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/* 8051B170-8051B354 001970 01E4+00 2/1 0/0 0/0 .text daFr_Execute__FP8fr_class */
|
||||
static int daFr_Execute(fr_class* i_this) {
|
||||
// NONMATCHING
|
||||
if (cDmrNowMidnaTalk()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
cXyz sp18(0.0f, 0.0f, 0.0f);
|
||||
i_this->field_0x5d8 = fopAcM_searchPlayerDistance(i_this);
|
||||
i_this->field_0x5d0++;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
|
@ -582,8 +624,8 @@ static int daFr_Execute(fr_class* i_this) {
|
|||
action(i_this);
|
||||
|
||||
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y + i_this->field_0x5f4, i_this->current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(i_this->shape_angle.y);
|
||||
mDoMtx_stack_c::XrotM(i_this->shape_angle.x);
|
||||
mDoMtx_stack_c::YrotM((s16)i_this->shape_angle.y);
|
||||
mDoMtx_stack_c::XrotM((s16)i_this->shape_angle.x);
|
||||
mDoMtx_stack_c::ZrotM(i_this->shape_angle.z);
|
||||
mDoMtx_stack_c::scaleM(i_this->scale.x, i_this->scale.x, i_this->scale.x);
|
||||
|
||||
|
@ -609,11 +651,15 @@ static int daFr_IsDelete(fr_class* i_this) {
|
|||
|
||||
/* 8051B35C-8051B3B0 001B5C 0054+00 1/0 0/0 0/0 .text daFr_Delete__FP8fr_class */
|
||||
static int daFr_Delete(fr_class* i_this) {
|
||||
fpc_ProcID id = fopAcM_GetID(i_this);
|
||||
|
||||
dComIfG_resDelete(&i_this->mPhase, "Fr");
|
||||
if (i_this->field_0x9e4) {
|
||||
data_8051BC10[0] = 0;
|
||||
l_initHIO = false;
|
||||
}
|
||||
|
||||
mDoHIO_DELETE_CHILD(l_HIO.field_0x4);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -666,9 +712,9 @@ static int daFr_Create(fopAc_ac_c* a_this) {
|
|||
|
||||
OS_REPORT("//////////////FR SET 2 !!\n");
|
||||
|
||||
if (data_8051BC10[0] == 0) {
|
||||
if (!l_initHIO) {
|
||||
i_this->field_0x9e4 = 1;
|
||||
data_8051BC10[0] = 1;
|
||||
l_initHIO = true;
|
||||
l_HIO.field_0x4 = -1;
|
||||
}
|
||||
|
||||
|
@ -698,21 +744,6 @@ static int daFr_Create(fopAc_ac_c* a_this) {
|
|||
return phase_state;
|
||||
}
|
||||
|
||||
// /* 8051B920-8051B968 002120 0048+00 2/1 0/0 0/0 .text __dt__10daFr_HIO_cFv */
|
||||
// daFr_HIO_c::~daFr_HIO_c() {
|
||||
// // NONMATCHING
|
||||
// }
|
||||
|
||||
/* 8051B968-8051B9A4 002168 003C+00 0/0 1/0 0/0 .text __sinit_d_a_fr_cpp */
|
||||
void __sinit_d_a_fr_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x8051B968, __sinit_d_a_fr_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 8051BB60-8051BB80 -00001 0020+00 1/0 0/0 0/0 .data l_daFr_Method */
|
||||
static actor_method_class l_daFr_Method = {
|
||||
(process_method_func)daFr_Create,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,7 +24,7 @@ daObj_AriHIO_c::daObj_AriHIO_c() {
|
|||
}
|
||||
|
||||
/* 80BA5410-80BA5414 000008 0002+02 1/2 0/0 0/0 .rodata l_ari_itemno */
|
||||
static u8 const l_ari_itemno[2] = {0xD4, 0xD5};
|
||||
static u8 const l_ari_itemno[2] = {fpcNm_ITEM_M_ANT, fpcNm_ITEM_F_ANT};
|
||||
|
||||
/* 80BA26BC-80BA2728 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjARI_cFv */
|
||||
void daObjARI_c::InitCcSph() {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -292,7 +292,7 @@ void daObjCHO_c::Insect_Release() {
|
|||
}
|
||||
|
||||
/* 80BCC630-80BCC634 0000B8 0002+02 1/2 0/0 0/0 .rodata l_cho_itemno */
|
||||
static u8 const l_cho_itemno[2] = {0xC2, 0xC3};
|
||||
static u8 const l_cho_itemno[2] = {fpcNm_ITEM_M_BUTTERFLY, fpcNm_ITEM_F_BUTTERFLY};
|
||||
|
||||
// Some unused function went here.
|
||||
// This fake function is here in its place to make the literals match
|
||||
|
|
|
@ -274,7 +274,7 @@ void daObjDAN_c::Insect_Release() {
|
|||
}
|
||||
|
||||
/* 80BDC42C-80BDC430 00007C 0002+02 1/2 0/0 0/0 .rodata l_dan_itemno */
|
||||
static u8 const l_dan_itemno[2] = {0xCA, 0xCB};
|
||||
static u8 const l_dan_itemno[2] = {fpcNm_ITEM_M_DANGOMUSHI, fpcNm_ITEM_F_DANGOMUSHI};
|
||||
|
||||
/* 80BDB0E8-80BDB264 000C48 017C+00 1/1 0/0 0/0 .text Z_BufferChk__10daObjDAN_cFv */
|
||||
void daObjDAN_c::Z_BufferChk() {
|
||||
|
|
|
@ -140,123 +140,114 @@ int daObjFchain_c::execute() {
|
|||
} else {
|
||||
field_0x588 = 0;
|
||||
}
|
||||
cXyz* local_148 = ¤t.pos;
|
||||
cXyz local_54;
|
||||
cXyz cStack_60;
|
||||
cXyz* sp_38 = ¤t.pos;
|
||||
cXyz sp_12c;
|
||||
cXyz sp_120;
|
||||
if (field_0x586 != 0) {
|
||||
field_0x586--;
|
||||
}
|
||||
cXyz* pcVar12 = field_0x694;
|
||||
cXyz* local_150 = field_0x79c;
|
||||
int i;
|
||||
cXyz* var_r28 = field_0x694;
|
||||
cXyz* sp_30 = field_0x79c;
|
||||
u32 isWolf = daPy_py_c::checkNowWolf();
|
||||
daPy_py_c* player = daPy_getLinkPlayerActorClass();
|
||||
for (int i = 0; i < 22; i++) {
|
||||
local_54 = (*pcVar12 - *local_148) + *local_150;
|
||||
local_54.y += -1.5f;
|
||||
for (i = 0; i < 22; i++, var_r28++, sp_30++) {
|
||||
sp_12c = (*var_r28 - *sp_38) + *sp_30;
|
||||
sp_12c.y += -1.5f;
|
||||
if (dComIfGs_isEventBit(0x510)) {
|
||||
if (isWolf) {
|
||||
checkPlayerFoot(pcVar12, player->getLeftHandPosP(), &local_54);
|
||||
checkPlayerFoot(pcVar12, player->getRightHandPosP(), &local_54);
|
||||
checkPlayerFoot(var_r28, player->getLeftHandPosP(), &sp_12c);
|
||||
checkPlayerFoot(var_r28, player->getRightHandPosP(), &sp_12c);
|
||||
}
|
||||
checkPlayerFoot(pcVar12, player->getLeftFootPosP(), &local_54);
|
||||
checkPlayerFoot(pcVar12, player->getRightFootPosP(), &local_54);
|
||||
checkPlayerFoot(var_r28, player->getLeftFootPosP(), &sp_12c);
|
||||
checkPlayerFoot(var_r28, player->getRightFootPosP(), &sp_12c);
|
||||
}
|
||||
cStack_60 = local_54;
|
||||
local_54.normalizeZP();
|
||||
*pcVar12 = *local_148 + (local_54 * 9.0f);
|
||||
if (pcVar12->y < current.pos.y) {
|
||||
setGroundVec(&cStack_60, current.pos.y - pcVar12->y);
|
||||
*pcVar12 = *local_148 + (cStack_60 * 9.0f);
|
||||
sp_120 = sp_12c;
|
||||
sp_12c.normalizeZP();
|
||||
*var_r28 = *sp_38 + (sp_12c * 9.0f);
|
||||
if (var_r28->y < current.pos.y) {
|
||||
setGroundVec(&sp_120, current.pos.y - var_r28->y);
|
||||
*var_r28 = *sp_38 + (sp_120 * 9.0f);
|
||||
}
|
||||
local_150++;
|
||||
local_148 = pcVar12;
|
||||
pcVar12++;
|
||||
sp_38 = var_r28;
|
||||
}
|
||||
if (isWolf && !dComIfGs_isEventBit(0x510)) {
|
||||
mDoMtx_multVec(
|
||||
player->getModelJointMtx(17), &wolfChainBaseOffset,
|
||||
&field_0x694[21]);
|
||||
cXyz diff = (field_0x694[21] - current.pos);
|
||||
f32 dVar13 = diff.abs();
|
||||
sp_12c = (field_0x694[21] - current.pos);
|
||||
f32 dVar13 = sp_12c.abs();
|
||||
if (dVar13 > 198.0f) {
|
||||
s16 sVar10 = cM_atan2s(-local_54.x, -local_54.z);
|
||||
player->setOutPower(dVar13 - 198.0f, sVar10, 0);
|
||||
player->setOutPower(dVar13 - 198.0f, cM_atan2s(-sp_12c.x, -sp_12c.z), 0);
|
||||
player->onWolfFchainPull();
|
||||
cXyz* pcVar8 = field_0x694;
|
||||
local_148 = ¤t.pos;
|
||||
local_54 *= 9.0f / dVar13;
|
||||
for (int i = 0; pcVar12 = pcVar8, i < 22; i++) {
|
||||
*pcVar8 = *local_148 + local_54;
|
||||
local_148 = pcVar8;
|
||||
pcVar8++;
|
||||
var_r28 = field_0x694;
|
||||
sp_38 = ¤t.pos;
|
||||
sp_12c *= 9.0f / dVar13;
|
||||
for (i = 0; i < 22; i++, var_r28++) {
|
||||
*var_r28 = *sp_38 + sp_12c;
|
||||
sp_38 = var_r28;
|
||||
}
|
||||
field_0x584 = 0;
|
||||
} else {
|
||||
cXyz* pcVar8 = &field_0x694[20];
|
||||
local_150 = &field_0x79c[20];
|
||||
local_148 = pcVar8 + 1;
|
||||
for (int i = 20; i >= 0; i--) {
|
||||
local_54 = (*pcVar8 - *local_148) + *local_150;
|
||||
local_54.y += -1.5f;
|
||||
cStack_60 = local_54;
|
||||
local_54.normalizeZP();
|
||||
*pcVar8 = *local_148 + (local_54 * 9.0f);
|
||||
if (pcVar8->y < current.pos.y) {
|
||||
setGroundVec(&cStack_60, current.pos.y - pcVar8->y);
|
||||
*pcVar8 = *local_148 + (cStack_60 * 9.0f);
|
||||
var_r28 = &field_0x694[20];
|
||||
sp_30 = &field_0x79c[20];
|
||||
sp_38 = var_r28 + 1;
|
||||
for (i = 20; i >= 0; i--, var_r28--, sp_30--) {
|
||||
sp_12c = (*var_r28 - *sp_38) + *sp_30;
|
||||
sp_12c.y += -1.5f;
|
||||
sp_120 = sp_12c;
|
||||
sp_12c.normalizeZP();
|
||||
*var_r28 = *sp_38 + (sp_12c * 9.0f);
|
||||
if (var_r28->y < current.pos.y) {
|
||||
setGroundVec(&sp_120, current.pos.y - var_r28->y);
|
||||
*var_r28 = *sp_38 + (sp_120 * 9.0f);
|
||||
}
|
||||
local_150--;
|
||||
local_148 = pcVar8;
|
||||
pcVar8--;
|
||||
sp_38 = var_r28;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_148 = ¤t.pos;
|
||||
local_150 = field_0x694;
|
||||
cXyz* pcVar8 = field_0x79c;
|
||||
csXyz* local_15c = field_0x8a4;
|
||||
cXyz* local_160 = field_0x58c;
|
||||
s16 local_178 = 0;
|
||||
for (int i = 0; i < 22; i++) {
|
||||
*local_150 = (*pcVar8 - *local_160) * 0.3f;
|
||||
*local_160 = *pcVar8;
|
||||
local_54 = *local_148 - *pcVar8;
|
||||
local_15c->x = local_54.atan2sY_XZ();
|
||||
if (!(local_54.absXZ() < 3.5f)) {
|
||||
local_15c->y = local_54.atan2sX_Z();
|
||||
sp_38 = ¤t.pos;
|
||||
var_r28 = field_0x694;
|
||||
sp_30 = field_0x79c;
|
||||
csXyz* sp_24 = field_0x8a4;
|
||||
cXyz* sp_20 = field_0x58c;
|
||||
s16 sp_08 = 0;
|
||||
for (i = 0; i < 22; i++, var_r28++, sp_30++, sp_24++, sp_20++) {
|
||||
*sp_30 = (*var_r28 - *sp_20) * 0.3f;
|
||||
*sp_20 = *var_r28;
|
||||
sp_12c = *sp_38 - *var_r28;
|
||||
sp_24->x = sp_12c.atan2sY_XZ();
|
||||
if (!(sp_12c.absXZ() < 3.5f)) {
|
||||
sp_24->y = sp_12c.atan2sX_Z();
|
||||
}
|
||||
if (local_150->abs2() > 3.0f && field_0x586 == 0) {
|
||||
if (sp_30->abs2() > 3.0f && field_0x586 == 0) {
|
||||
f32 fVar1;
|
||||
if (cM_rnd() < 0.5f) {
|
||||
fVar1 = 1.0f;
|
||||
} else {
|
||||
fVar1 = -1.0f;
|
||||
}
|
||||
local_15c->z = local_178 + 0x4000 +
|
||||
sp_24->z = sp_08 + 0x4000 +
|
||||
(fVar1 * (cM_rndF(4096.0f) + 1536.0f));
|
||||
if (pcVar8->y <= current.pos.y + 2.0f) {
|
||||
if ((local_15c->z >= 0 && local_15c->z < 0x4000) ||
|
||||
(local_15c->z > -0x7fff && local_15c->z < -0x4000))
|
||||
if (var_r28->y <= current.pos.y + 2.0f) {
|
||||
if ((sp_24->z >= 0 && sp_24->z < 0x4000) ||
|
||||
(sp_24->z > -0x7fff && sp_24->z < -0x4000))
|
||||
{
|
||||
local_15c->z = cM_rndFX(2048.0f) + 4096.0f;
|
||||
sp_24->z = cM_rndFX(2048.0f) + 4096.0f;
|
||||
} else {
|
||||
local_15c->z = cM_rndFX(2048.0f) + -4096.0f;
|
||||
sp_24->z = cM_rndFX(2048.0f) + -4096.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_178 = local_15c->z;
|
||||
local_150++;
|
||||
local_15c++;
|
||||
local_160++;
|
||||
local_148 = pcVar8;
|
||||
pcVar8++;
|
||||
sp_08 = sp_24->z;
|
||||
sp_38 = var_r28;
|
||||
}
|
||||
if (field_0x584 == 0) {
|
||||
field_0x584 = 1;
|
||||
local_150 = field_0x79c;
|
||||
sp_30 = field_0x79c;
|
||||
for (int i = 0; i < 22; i++) {
|
||||
*local_150 = cXyz::Zero;
|
||||
local_150++;
|
||||
*sp_30 = cXyz::Zero;
|
||||
sp_30++;
|
||||
}
|
||||
field_0x586 = 5;
|
||||
}
|
||||
|
|
|
@ -512,7 +512,7 @@ void daObjKABUTO_c::Insect_Release() {
|
|||
}
|
||||
|
||||
/* 80C2E1E0-80C2E1E4 0000D0 0002+02 1/2 0/0 0/0 .rodata l_kab_itemno */
|
||||
static u8 const l_kab_itemno[2] = {0xC0, 0xC1};
|
||||
static u8 const l_kab_itemno[2] = {fpcNm_ITEM_M_BEETLE, fpcNm_ITEM_F_BEETLE};
|
||||
|
||||
// Some unused function went here.
|
||||
// This fake function is here in its place to make the literals match
|
||||
|
|
|
@ -520,7 +520,7 @@ void daObjKAM_c::Insect_Release() {
|
|||
field_0x980 = 1;
|
||||
}
|
||||
|
||||
static u8 const l_kam_itemno[2] = {0xCC, 0xCD};
|
||||
static u8 const l_kam_itemno[2] = {fpcNm_ITEM_M_MANTIS, fpcNm_ITEM_F_MANTIS};
|
||||
|
||||
f32 floatDummy() {
|
||||
return -9.0f;
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "d/actor/d_a_obj_kuwagata.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_pc/f_pc_name.h"
|
||||
|
||||
|
||||
|
||||
|
@ -550,12 +551,9 @@ void daObjKUW_c::Insect_Release() {
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 80C4D548-80C4D54C 0000B8 0002+02 1/2 0/0 0/0 .rodata l_kuw_itemno */
|
||||
SECTION_RODATA static u16 const l_kuw_itemno[1 + 1 /* padding */] = {
|
||||
0xC4C5,
|
||||
/* padding */
|
||||
0x0000,
|
||||
static u8 const l_kuw_itemno[2] = {
|
||||
fpcNm_ITEM_M_STAG_BEETLE, fpcNm_ITEM_F_STAG_BEETLE,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C4D548, &l_kuw_itemno);
|
||||
|
||||
/* 80C4D54C-80C4D550 0000BC 0004+00 0/0 0/0 0/0 .rodata @4438 */
|
||||
#pragma push
|
||||
|
|
|
@ -21,7 +21,7 @@ enum Obj_lv6bm_RES_File_ID {
|
|||
|
||||
/* BTK */
|
||||
/* 0x11 */ BTK_EF_BIMOBEAM = 0x11,
|
||||
/* 0x12 */ BTK_EF_BIMOBEAM_0FF,
|
||||
/* 0x12 */ BTK_EF_BIMOBEAM_OFF,
|
||||
/* 0x13 */ BTK_EF_BIMOBEAM_ON,
|
||||
|
||||
/* DZB */
|
||||
|
@ -194,12 +194,12 @@ int daObjL6Bm_c::CreateHeap() {
|
|||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_OFF);
|
||||
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_0FF);
|
||||
JUT_ASSERT(660, pbtk != 0);
|
||||
#endif
|
||||
|
||||
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM);
|
||||
JUT_ASSERT(0x29A, pbtk != 0);
|
||||
JUT_ASSERT(666, pbtk != 0);
|
||||
mpBtkAnm2 = new mDoExt_btkAnm();
|
||||
if (mpBtkAnm2 == NULL || mpBtkAnm2->init(modelData, pbtk, 1, 2, 1.0f, 0, -1) == 0) {
|
||||
return 0;
|
||||
|
@ -328,7 +328,7 @@ void daObjL6Bm_c::actionFindPlayer() {
|
|||
setAction(0);
|
||||
|
||||
if (field_0x891 != 0) {
|
||||
mpBtkAnm->init(mBeamEffectModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_0FF),
|
||||
mpBtkAnm->init(mBeamEffectModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_OFF),
|
||||
1, 0, 1.0f, 0, -1);
|
||||
field_0x891 = 0;
|
||||
}
|
||||
|
|
|
@ -220,7 +220,7 @@ int daObjLv6Bm_c::Create() {
|
|||
|
||||
#ifdef DEBUG
|
||||
if (mEyeMaterial == NULL) {
|
||||
OS_REPORT("Lv6ビーモス:目のマテリアル<%s>がありません\n", l_eye_matName) // Lv6 Beamos: Eye material <%s> is not available.
|
||||
OS_REPORT("Lv6ビーモス:目のマテリアル<%s>がありません\n", l_eye_matName); // Lv6 Beamos: Eye material <%s> is not available.
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -552,7 +552,7 @@ void daObjNAN_c::action() {
|
|||
/* ############################################################################################## */
|
||||
/* 80CA3270-80CA3274 0000B4 0002+02 0/1 0/0 0/0 .rodata l_nan_itemno */
|
||||
static u8 const l_nan_itemno[2] = {
|
||||
0xC8, 0xC9,
|
||||
fpcNm_ITEM_M_NANAFUSHI, fpcNm_ITEM_F_NANAFUSHI,
|
||||
};
|
||||
|
||||
/* 80CA276C-80CA2904 0022AC 0198+00 1/1 0/0 0/0 .text execute__10daObjNAN_cFv */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -89,7 +89,7 @@ void daObjTimer::Act_c::mode_count() {
|
|||
}
|
||||
|
||||
/* 804854BC-804855A4 00039C 00E8+00 1/1 0/0 0/0 .text _execute__Q210daObjTimer5Act_cFv */
|
||||
int daObjTimer::Act_c::_execute() {
|
||||
bool daObjTimer::Act_c::_execute() {
|
||||
static daObjTimer::Act_c::modeProc const mode_proc[2] = {
|
||||
&daObjTimer::Act_c::mode_wait,
|
||||
&daObjTimer::Act_c::mode_count,
|
||||
|
@ -97,10 +97,10 @@ int daObjTimer::Act_c::_execute() {
|
|||
|
||||
if (fopAcM_isSwitch(this, prm_get_sw2Save())) {
|
||||
fopAcM_delete(this);
|
||||
return 1;
|
||||
return true;
|
||||
} else {
|
||||
(this->*mode_proc[field_0x568])();
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,8 +136,8 @@ namespace {
|
|||
(process_method_func)Mthd_Create,
|
||||
(process_method_func)Mthd_Delete,
|
||||
(process_method_func)Mthd_Execute,
|
||||
(process_method_func)Mthd_Draw,
|
||||
(process_method_func)Mthd_IsDelete,
|
||||
(process_method_func)Mthd_Draw,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,244 +4,333 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_togeTrap.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
UNK_REL_DATA
|
||||
|
||||
/* 80D17B6C-80D17BD0 0000EC 0064+00 1/1 0/0 0/0 .text __ct__16daTogeTrap_HIO_cFv */
|
||||
daTogeTrap_HIO_c::daTogeTrap_HIO_c() {
|
||||
mInitialSpeed = 0.0f;
|
||||
mMaxSpeed = 250.0f;
|
||||
mInitialDownSpeed = 0.0f;
|
||||
mMaxDownSpeed = 10.0f;
|
||||
mSpinnerSpeed = 20.0f;
|
||||
mVibration = 3;
|
||||
mRange = 500.0f;
|
||||
}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__16daTogeTrap_HIO_cFv();
|
||||
extern "C" void __dt__18fOpAcm_HIO_entry_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__12daTogeTrap_cFv();
|
||||
extern "C" void CreateHeap__12daTogeTrap_cFv();
|
||||
extern "C" void create__12daTogeTrap_cFv();
|
||||
extern "C" void __dt__8dCcD_CylFv();
|
||||
extern "C" void __ct__8dCcD_CylFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" void rideCallBack__12daTogeTrap_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c();
|
||||
extern "C" void Execute__12daTogeTrap_cFPPA3_A4_f();
|
||||
extern "C" void moveMain__12daTogeTrap_cFv();
|
||||
extern "C" void playerAreaCheck__12daTogeTrap_cFv();
|
||||
extern "C" void init_modeWait__12daTogeTrap_cFv();
|
||||
extern "C" void modeWait__12daTogeTrap_cFv();
|
||||
extern "C" void init_modeMoveUp__12daTogeTrap_cFv();
|
||||
extern "C" void modeMoveUp__12daTogeTrap_cFv();
|
||||
extern "C" void init_modeMoveDown__12daTogeTrap_cFv();
|
||||
extern "C" void modeMoveDown__12daTogeTrap_cFv();
|
||||
extern "C" void init_modeBreak__12daTogeTrap_cFv();
|
||||
extern "C" void modeBreak__12daTogeTrap_cFv();
|
||||
extern "C" void Draw__12daTogeTrap_cFv();
|
||||
extern "C" void Delete__12daTogeTrap_cFv();
|
||||
extern "C" static void daTogeTrap_Draw__FP12daTogeTrap_c();
|
||||
extern "C" static void daTogeTrap_Execute__FP12daTogeTrap_c();
|
||||
extern "C" static void daTogeTrap_Delete__FP12daTogeTrap_c();
|
||||
extern "C" static void daTogeTrap_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
extern "C" void __dt__16daTogeTrap_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_togeTrap_cpp();
|
||||
extern "C" u8 const mCcDObjInfo__12daTogeTrap_c[48];
|
||||
extern "C" extern char const* const d_a_obj_togeTrap__stringBase0;
|
||||
extern "C" u8 mCcDCyl__12daTogeTrap_c[68];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void dComIfGs_wolfeye_effect_check__Fv();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void StartShock__12dVibration_cFii4cXyz();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__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 __ct__10dCcD_GSttsFv();
|
||||
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void getSpinnerRideSpeed__9daPy_py_cCFv();
|
||||
extern "C" void checkSpinnerReflectEffect__9daPy_py_cFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void SetH__8cM3dGCylFf();
|
||||
extern "C" void SetR__8cM3dGCylFf();
|
||||
extern "C" void cLib_addCalc__FPfffff();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
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 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18E98-80D18E9C 000000 0004+00 4/4 0/0 0/0 .rodata @3655 */
|
||||
SECTION_RODATA static u8 const lit_3655[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D18E98, &lit_3655);
|
||||
|
||||
/* 80D18E9C-80D18EA0 000004 0004+00 0/1 0/0 0/0 .rodata @3656 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3656 = 250.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18E9C, &lit_3656);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EA0-80D18EA4 000008 0004+00 0/1 0/0 0/0 .rodata @3657 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3657 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EA0, &lit_3657);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EA4-80D18EA8 00000C 0004+00 0/1 0/0 0/0 .rodata @3658 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3658 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EA4, &lit_3658);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EA8-80D18EAC 000010 0004+00 0/2 0/0 0/0 .rodata @3659 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3659 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EA8, &lit_3659);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18F10-80D18F1C 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,
|
||||
};
|
||||
|
||||
/* 80D18F1C-80D18F30 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
|
||||
/* 80D190B4-80D190D4 000014 0020+00 8/8 0/0 0/0 .bss l_HIO */
|
||||
static daTogeTrap_HIO_c l_HIO;
|
||||
|
||||
/* 80D18F30-80D18F74 000020 0044+00 2/2 0/0 0/0 .data mCcDCyl__12daTogeTrap_c */
|
||||
SECTION_DATA u8 daTogeTrap_c::mCcDCyl[68] = {
|
||||
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
const dCcD_SrcGObjInf daTogeTrap_c::mCcDObjInfo = {
|
||||
{0, {{2, 1, 0x1D}, {0x480028, 0x11}, {0}}},
|
||||
{dCcD_SE_SWORD, 0, 0, 0, 0},
|
||||
{dCcD_SE_STONE, 0, 0, 0, 0},
|
||||
{0},
|
||||
};
|
||||
|
||||
/* 80D18F74-80D18F80 -00001 000C+00 0/1 0/0 0/0 .data @3883 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3883[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__12daTogeTrap_cFv,
|
||||
/* 80CA9C38-80CA9C7C 000020 0044+00 2/2 0/0 0/0 .data mCcDCyl__11daOnsTaru_c */
|
||||
dCcD_SrcCyl daTogeTrap_c::mCcDCyl = {
|
||||
daTogeTrap_c::mCcDObjInfo,
|
||||
{
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
0.0f, // mRadius
|
||||
0.0f // mHeight
|
||||
} // mCyl
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80D18F80-80D18F8C -00001 000C+00 0/1 0/0 0/0 .data @3884 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3884[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeMoveUp__12daTogeTrap_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80D17C74-80D17D5C 0001F4 00E8+00 2/2 0/0 0/0 .text setBaseMtx__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mModel->setBaseScale(scale);
|
||||
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDoMtx_stack_c::transS(home.pos.x, home.pos.y, home.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mWolfEyeModel->setBaseScale(scale);
|
||||
mWolfEyeModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80D18F8C-80D18F98 -00001 000C+00 0/1 0/0 0/0 .data @3885 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3885[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeMoveDown__12daTogeTrap_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80D17D5C-80D17E14 0002DC 00B8+00 1/0 0/0 0/0 .text CreateHeap__12daTogeTrap_cFv */
|
||||
int daTogeTrap_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("P_Toge", 4);
|
||||
JUT_ASSERT(251, modelData != 0);
|
||||
mModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("P_Toge", 5);
|
||||
JUT_ASSERT(262, modelData != 0);
|
||||
mWolfEyeModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mWolfEyeModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80D18F98-80D18FA4 -00001 000C+00 0/1 0/0 0/0 .data @3886 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3886[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeBreak__12daTogeTrap_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D18FA4-80D18FD4 000094 0030+00 0/1 0/0 0/0 .data mode_proc$3882 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[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
|
||||
/* 80D17E14-80D18008 000394 01F4+00 1/1 0/0 0/0 .text create__12daTogeTrap_cFv */
|
||||
int daTogeTrap_c::create() {
|
||||
fopAcM_SetupActor(this, daTogeTrap_c);
|
||||
mSwBit = getSwBit();
|
||||
if (mSwBit != 0xff &&
|
||||
fopAcM_isSwitch(this, mSwBit))
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
int phase = dComIfG_resLoad(&mPhase, "P_Toge");
|
||||
if (phase == 4) {
|
||||
if (MoveBGCreate("P_Toge", 8, dBgS_MoveBGProc_TypicalRotY, 0x4000, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mModel->getModelData());
|
||||
mpBgW->SetRideCallback(rideCallBack);
|
||||
mStts.Init(0xff, 0xff, this);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mCyls[i].Set(mCcDCyl);
|
||||
mCyls[i].SetStts(&mStts);
|
||||
mCyls[i].OnTgSetBit();
|
||||
}
|
||||
current.pos.y -= 300.0f;
|
||||
mIsPlayerInArea = playerAreaCheck();
|
||||
mIsWolfEye = 0;
|
||||
init_modeWait();
|
||||
setBaseMtx();
|
||||
|
||||
#ifdef DEBUG
|
||||
// Spike traps
|
||||
l_HIO.entryHIO("トゲトラップ");
|
||||
#endif
|
||||
}
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80D18244-80D1825C 0007C4 0018+00 1/1 0/0 0/0 .text
|
||||
* rideCallBack__12daTogeTrap_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
void daTogeTrap_c::rideCallBack(dBgW* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3) {
|
||||
if (fopAcM_GetName(param_3) == PROC_Obj_Movebox) {
|
||||
((daTogeTrap_c*)param_2)->field_0xadd = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D1825C-80D182C8 0007DC 006C+00 1/0 0/0 0/0 .text Execute__12daTogeTrap_cFPPA3_A4_f
|
||||
*/
|
||||
int daTogeTrap_c::Execute(Mtx** i_mtx) {
|
||||
moveMain();
|
||||
*i_mtx = &mModel->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
if (!dComIfGs_wolfeye_effect_check()) {
|
||||
mIsWolfEye = false;
|
||||
}
|
||||
field_0xadd = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D182C8-80D185DC 000848 0314+00 1/1 0/0 0/0 .text moveMain__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::moveMain() {
|
||||
static daTogeTrap_c::modeFunc mode_proc[4] = {
|
||||
&daTogeTrap_c::modeWait,
|
||||
&daTogeTrap_c::modeMoveUp,
|
||||
&daTogeTrap_c::modeMoveDown,
|
||||
&daTogeTrap_c::modeBreak,
|
||||
};
|
||||
|
||||
int areaCheck = playerAreaCheck();
|
||||
if (areaCheck != mIsPlayerInArea) {
|
||||
if (areaCheck == 1) {
|
||||
init_modeMoveUp();
|
||||
} else {
|
||||
init_modeMoveDown();
|
||||
}
|
||||
mIsPlayerInArea = areaCheck;
|
||||
}
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mCyls[i].ChkTgHit()) {
|
||||
cCcD_ObjHitInf* hitObj = mCyls[i].GetTgHitGObj();
|
||||
if (hitObj->GetAtType() & (AT_TYPE_IRON_BALL | AT_TYPE_BOMB)) {
|
||||
init_modeBreak();
|
||||
break;
|
||||
}
|
||||
daPy_py_c* player = (daPy_py_c*)dComIfGp_getLinkPlayer();
|
||||
if (player->checkSpinnerRide() && (player->getSpinnerRideSpeed() >= l_HIO.mSpinnerSpeed ||
|
||||
player->checkSpinnerReflectEffect()))
|
||||
{
|
||||
init_modeBreak();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mCyls[i].SetR(60.0f);
|
||||
mCyls[i].SetH(290.0f);
|
||||
cXyz local_30(0.0f, 0.0f, 0.0f);
|
||||
local_30.x = (i * 100.0f) - 150.0f;
|
||||
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mDoMtx_stack_c::multVec(&local_30, &local_30);
|
||||
cXyz cStack_3c = current.pos;
|
||||
cStack_3c += local_30;
|
||||
mCyls[i].SetC(cStack_3c);
|
||||
dComIfG_Ccsp()->Set(&mCyls[i]);
|
||||
}
|
||||
if (field_0xadd != 0) {
|
||||
init_modeBreak();
|
||||
}
|
||||
(this->*mode_proc[mMode])();
|
||||
}
|
||||
|
||||
/* 80D185DC-80D186B0 000B5C 00D4+00 2/2 0/0 0/0 .text playerAreaCheck__12daTogeTrap_cFv
|
||||
*/
|
||||
BOOL daTogeTrap_c::playerAreaCheck() {
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
cXyz local_48 = current.pos - player->current.pos;
|
||||
mDoMtx_stack_c::YrotS(-current.angle.y);
|
||||
mDoMtx_stack_c::multVec(&local_48, &local_48);
|
||||
f32 absZ = fabsf(local_48.z);
|
||||
f32 absX = fabsf(local_48.x);
|
||||
BOOL rv = FALSE;
|
||||
if (absZ <= l_HIO.mRange && absX <= 225.0f) {
|
||||
rv = TRUE;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* 80D186B0-80D186BC 000C30 000C+00 3/3 0/0 0/0 .text init_modeWait__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::init_modeWait() {
|
||||
mMode = MODE_WAIT;
|
||||
}
|
||||
|
||||
/* 80D186BC-80D186C0 000C3C 0004+00 1/0 0/0 0/0 .text modeWait__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeWait() {}
|
||||
|
||||
/* 80D186C0-80D18784 000C40 00C4+00 1/1 0/0 0/0 .text init_modeMoveUp__12daTogeTrap_cFv
|
||||
*/
|
||||
void daTogeTrap_c::init_modeMoveUp() {
|
||||
fopAcM_SetSpeedF(this, l_HIO.mInitialSpeed);
|
||||
mDoAud_seStart(Z2SE_OBJ_SWD_FENCE_POP, &home.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mCyls[i].OnAtSetBit();
|
||||
mCyls[i].OnTgSetBit();
|
||||
}
|
||||
this->mMode = MODE_MOVE_UP;
|
||||
}
|
||||
|
||||
/* 80D18784-80D188C0 000D04 013C+00 1/0 0/0 0/0 .text modeMoveUp__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeMoveUp() {
|
||||
cLib_chaseF(&speedF, l_HIO.mMaxSpeed, l_HIO.mMaxSpeed / 30.0f);
|
||||
if (cLib_addCalc(¤t.pos.y, home.pos.y, 1.0f, fopAcM_GetSpeedF(this), 1.0f) == 0.0f) {
|
||||
dComIfGp_getVibration().StartShock(l_HIO.mVibration, 0xf, cXyz(0.0f, 1.0f, 0.0f));
|
||||
dComIfGp_particle_set(0x8ad9, ¤t.pos, &shape_angle, 0);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mCyls[i].OffAtSetBit();
|
||||
}
|
||||
if (dComIfGs_wolfeye_effect_check()) {
|
||||
mIsWolfEye = true;
|
||||
}
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D188C0-80D188DC 000E40 001C+00 1/1 0/0 0/0 .text init_modeMoveDown__12daTogeTrap_cFv
|
||||
*/
|
||||
void daTogeTrap_c::init_modeMoveDown() {
|
||||
fopAcM_SetSpeedF(this, l_HIO.mInitialDownSpeed);
|
||||
this->mMode = MODE_MOVE_DOWN;
|
||||
}
|
||||
|
||||
/* 80D188DC-80D18994 000E5C 00B8+00 1/0 0/0 0/0 .text modeMoveDown__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeMoveDown() {
|
||||
cLib_chaseF(&speedF, l_HIO.mMaxDownSpeed, l_HIO.mMaxDownSpeed / 30.0f);
|
||||
if (cLib_addCalc(¤t.pos.y, home.pos.y - 300.0f, 1.0f, fopAcM_GetSpeedF(this), 1.0f) == 0.0f) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mCyls[i].OffTgSetBit();
|
||||
mCyls[i].OffAtSetBit();
|
||||
}
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D18994-80D18A5C 000F14 00C8+00 1/1 0/0 0/0 .text init_modeBreak__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::init_modeBreak() {
|
||||
daPy_py_c* player = dComIfGp_getLinkPlayer();
|
||||
if (player->getSpinnerRideSpeed() >= l_HIO.mSpinnerSpeed && mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
mDoAud_seStart(Z2SE_OBJ_TRAP_BREAK_STN, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
this->mMode = MODE_BREAK;
|
||||
}
|
||||
|
||||
/* 80D18A5C-80D18BEC 000FDC 0190+00 1/0 0/0 0/0 .text modeBreak__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeBreak() {
|
||||
dComIfGp_particle_set(0x8ada, ¤t.pos, &shape_angle, 0);
|
||||
dComIfGp_particle_set(0x8adb, ¤t.pos, &shape_angle, 0);
|
||||
dComIfGp_particle_set(0x8adc, ¤t.pos, &shape_angle, 0);
|
||||
dComIfGp_particle_set(0x8add, ¤t.pos, &shape_angle, 0);
|
||||
if (mSwBit != 0xff) {
|
||||
fopAcM_onSwitch(this, mSwBit);
|
||||
}
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
/* 80D18BEC-80D18CA4 00116C 00B8+00 1/0 0/0 0/0 .text Draw__12daTogeTrap_cFv */
|
||||
int daTogeTrap_c::Draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mModel);
|
||||
if (mIsWolfEye) {
|
||||
mDoExt_modelUpdateDL(mWolfEyeModel);
|
||||
}
|
||||
dComIfGd_setList();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D18CA4-80D18CD4 001224 0030+00 1/0 0/0 0/0 .text Delete__12daTogeTrap_cFv */
|
||||
int daTogeTrap_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "P_Toge");
|
||||
|
||||
#ifdef DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D18CD4-80D18D00 001254 002C+00 1/0 0/0 0/0 .text daTogeTrap_Draw__FP12daTogeTrap_c
|
||||
*/
|
||||
static int daTogeTrap_Draw(daTogeTrap_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80D18D00-80D18D20 001280 0020+00 1/0 0/0 0/0 .text daTogeTrap_Execute__FP12daTogeTrap_c */
|
||||
static int daTogeTrap_Execute(daTogeTrap_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80D18D20-80D18D40 0012A0 0020+00 1/0 0/0 0/0 .text daTogeTrap_Delete__FP12daTogeTrap_c
|
||||
*/
|
||||
static int daTogeTrap_Delete(daTogeTrap_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80D18D40-80D18D60 0012C0 0020+00 1/0 0/0 0/0 .text daTogeTrap_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daTogeTrap_Create(fopAc_ac_c* i_this) {
|
||||
return ((daTogeTrap_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80D18FD4-80D18FF4 -00001 0020+00 1/0 0/0 0/0 .data l_daTogeTrap_Method */
|
||||
static actor_method_class l_daTogeTrap_Method = {
|
||||
(process_method_func)daTogeTrap_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daTogeTrap_Delete__FP12daTogeTrap_c,
|
||||
(process_method_func)daTogeTrap_Execute__FP12daTogeTrap_c,
|
||||
(process_method_func)daTogeTrap_Create,
|
||||
(process_method_func)daTogeTrap_Delete,
|
||||
(process_method_func)daTogeTrap_Execute,
|
||||
0,
|
||||
(process_method_func)daTogeTrap_Draw__FP12daTogeTrap_c,
|
||||
(process_method_func)daTogeTrap_Draw,
|
||||
};
|
||||
|
||||
/* 80D18FF4-80D19024 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TogeTrap */
|
||||
|
@ -262,337 +351,4 @@ extern actor_process_profile_definition g_profile_Obj_TogeTrap = {
|
|||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D19024-80D19030 000114 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10cCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80D19030-80D1903C 000120 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10dCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80D1903C-80D19048 00012C 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80D19048-80D19054 000138 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 80D19054-80D1907C 000144 0028+00 1/1 0/0 0/0 .data __vt__12daTogeTrap_c */
|
||||
SECTION_DATA extern void* __vt__12daTogeTrap_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daTogeTrap_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__12daTogeTrap_cFPPA3_A4_f,
|
||||
(void*)Draw__12daTogeTrap_cFv,
|
||||
(void*)Delete__12daTogeTrap_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80D1907C-80D19088 00016C 000C+00 2/2 0/0 0/0 .data __vt__16daTogeTrap_HIO_c */
|
||||
SECTION_DATA extern void* __vt__16daTogeTrap_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__16daTogeTrap_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80D19088-80D19094 000178 000C+00 3/3 0/0 0/0 .data __vt__18fOpAcm_HIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__18fOpAcm_HIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__18fOpAcm_HIO_entry_cFv,
|
||||
};
|
||||
|
||||
/* 80D19094-80D190A0 000184 000C+00 4/4 0/0 0/0 .data __vt__14mDoHIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14mDoHIO_entry_cFv,
|
||||
};
|
||||
|
||||
/* 80D17B6C-80D17BD0 0000EC 0064+00 1/1 0/0 0/0 .text __ct__16daTogeTrap_HIO_cFv */
|
||||
daTogeTrap_HIO_c::daTogeTrap_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D17BD0-80D17C2C 000150 005C+00 1/0 0/0 0/0 .text __dt__18fOpAcm_HIO_entry_cFv */
|
||||
// fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() {
|
||||
extern "C" void __dt__18fOpAcm_HIO_entry_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D17C2C-80D17C74 0001AC 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
|
||||
// mDoHIO_entry_c::~mDoHIO_entry_c() {
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D17C74-80D17D5C 0001F4 00E8+00 2/2 0/0 0/0 .text setBaseMtx__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18F08-80D18F08 000070 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D18F08 = "P_Toge";
|
||||
#pragma pop
|
||||
|
||||
/* 80D17D5C-80D17E14 0002DC 00B8+00 1/0 0/0 0/0 .text CreateHeap__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18EAC-80D18EDC 000014 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__12daTogeTrap_c */
|
||||
SECTION_RODATA u8 const daTogeTrap_c::mCcDObjInfo[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D,
|
||||
0x00, 0x48, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D18EAC, &daTogeTrap_c::mCcDObjInfo);
|
||||
|
||||
/* 80D18EDC-80D18EE0 000044 0004+00 1/2 0/0 0/0 .rodata @3780 */
|
||||
SECTION_RODATA static f32 const lit_3780 = 300.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EDC, &lit_3780);
|
||||
|
||||
/* 80D17E14-80D18008 000394 01F4+00 1/1 0/0 0/0 .text create__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18008-80D180D4 000588 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_CylFv */
|
||||
// dCcD_Cyl::~dCcD_Cyl() {
|
||||
extern "C" void __dt__8dCcD_CylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D180D4-80D18158 000654 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_CylFv */
|
||||
// dCcD_Cyl::dCcD_Cyl() {
|
||||
extern "C" void __ct__8dCcD_CylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18158-80D181A0 0006D8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D181A0-80D181E8 000720 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D181E8-80D18244 000768 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
// dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" void __dt__10dCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18244-80D1825C 0007C4 0018+00 1/1 0/0 0/0 .text
|
||||
* rideCallBack__12daTogeTrap_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
void daTogeTrap_c::rideCallBack(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D1825C-80D182C8 0007DC 006C+00 1/0 0/0 0/0 .text Execute__12daTogeTrap_cFPPA3_A4_f
|
||||
*/
|
||||
void daTogeTrap_c::Execute(f32 (**param_0)[3][4]) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18EE0-80D18EE4 000048 0004+00 0/1 0/0 0/0 .rodata @3940 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3940 = 60.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EE0, &lit_3940);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EE4-80D18EE8 00004C 0004+00 0/1 0/0 0/0 .rodata @3941 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3941 = 290.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EE4, &lit_3941);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EE8-80D18EEC 000050 0004+00 0/1 0/0 0/0 .rodata @3942 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3942 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EE8, &lit_3942);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EEC-80D18EF0 000054 0004+00 0/1 0/0 0/0 .rodata @3943 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3943 = 150.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EEC, &lit_3943);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18EF0-80D18EF8 000058 0008+00 0/1 0/0 0/0 .rodata @3945 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3945[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D18EF0, &lit_3945);
|
||||
#pragma pop
|
||||
|
||||
/* 80D190A8-80D190B4 000008 000C+00 1/1 0/0 0/0 .bss @3647 */
|
||||
static u8 lit_3647[12];
|
||||
|
||||
/* 80D190B4-80D190D4 000014 0020+00 8/8 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[32];
|
||||
|
||||
/* 80D190D4-80D190D8 000034 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80D190D4[4];
|
||||
|
||||
/* 80D182C8-80D185DC 000848 0314+00 1/1 0/0 0/0 .text moveMain__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::moveMain() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18EF8-80D18EFC 000060 0004+00 1/1 0/0 0/0 .rodata @3975 */
|
||||
SECTION_RODATA static f32 const lit_3975 = 225.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EF8, &lit_3975);
|
||||
|
||||
/* 80D185DC-80D186B0 000B5C 00D4+00 2/2 0/0 0/0 .text playerAreaCheck__12daTogeTrap_cFv
|
||||
*/
|
||||
void daTogeTrap_c::playerAreaCheck() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D186B0-80D186BC 000C30 000C+00 3/3 0/0 0/0 .text init_modeWait__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D186BC-80D186C0 000C3C 0004+00 1/0 0/0 0/0 .text modeWait__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeWait() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18EFC-80D18F00 000064 0004+00 3/5 0/0 0/0 .rodata @4006 */
|
||||
SECTION_RODATA static f32 const lit_4006 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18EFC, &lit_4006);
|
||||
|
||||
/* 80D18F00-80D18F04 000068 0004+00 2/2 0/0 0/0 .rodata @4007 */
|
||||
SECTION_RODATA static f32 const lit_4007 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18F00, &lit_4007);
|
||||
|
||||
/* 80D186C0-80D18784 000C40 00C4+00 1/1 0/0 0/0 .text init_modeMoveUp__12daTogeTrap_cFv
|
||||
*/
|
||||
void daTogeTrap_c::init_modeMoveUp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D18F04-80D18F08 00006C 0004+00 0/2 0/0 0/0 .rodata @4036 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4036 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80D18F04, &lit_4036);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18784-80D188C0 000D04 013C+00 1/0 0/0 0/0 .text modeMoveUp__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeMoveUp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D188C0-80D188DC 000E40 001C+00 1/1 0/0 0/0 .text init_modeMoveDown__12daTogeTrap_cFv
|
||||
*/
|
||||
void daTogeTrap_c::init_modeMoveDown() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D188DC-80D18994 000E5C 00B8+00 1/0 0/0 0/0 .text modeMoveDown__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeMoveDown() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18994-80D18A5C 000F14 00C8+00 1/1 0/0 0/0 .text init_modeBreak__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::init_modeBreak() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18A5C-80D18BEC 000FDC 0190+00 1/0 0/0 0/0 .text modeBreak__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::modeBreak() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18BEC-80D18CA4 00116C 00B8+00 1/0 0/0 0/0 .text Draw__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18CA4-80D18CD4 001224 0030+00 1/0 0/0 0/0 .text Delete__12daTogeTrap_cFv */
|
||||
void daTogeTrap_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18CD4-80D18D00 001254 002C+00 1/0 0/0 0/0 .text daTogeTrap_Draw__FP12daTogeTrap_c
|
||||
*/
|
||||
static void daTogeTrap_Draw(daTogeTrap_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18D00-80D18D20 001280 0020+00 1/0 0/0 0/0 .text daTogeTrap_Execute__FP12daTogeTrap_c */
|
||||
static void daTogeTrap_Execute(daTogeTrap_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18D20-80D18D40 0012A0 0020+00 1/0 0/0 0/0 .text daTogeTrap_Delete__FP12daTogeTrap_c
|
||||
*/
|
||||
static void daTogeTrap_Delete(daTogeTrap_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18D40-80D18D60 0012C0 0020+00 1/0 0/0 0/0 .text daTogeTrap_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daTogeTrap_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18D60-80D18DA8 0012E0 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18DA8-80D18E14 001328 006C+00 2/1 0/0 0/0 .text __dt__16daTogeTrap_HIO_cFv */
|
||||
daTogeTrap_HIO_c::~daTogeTrap_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D18E14-80D18E84 001394 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_togeTrap_cpp */
|
||||
void __sinit_d_a_obj_togeTrap_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80D18E14, __sinit_d_a_obj_togeTrap_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80D18F08-80D18F08 000070 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -83,7 +83,7 @@ int daTagWljump_c::execute() {
|
|||
if (!midna->checkShadowModeTalkWait()) {
|
||||
if (shape_angle.x != 0 && (field_0x571 == 0xff || !fopAcM_isSwitch(this, field_0x571))) {
|
||||
if (field_0x56f == 0) {
|
||||
mMsgFlow.init(this, shape_angle.x & 0xFFFF, 0, NULL);
|
||||
mMsgFlow.init(this, (u16)shape_angle.x, 0, NULL);
|
||||
field_0x56f = 1;
|
||||
mDoAud_seStart(Z2SE_NAVI_TALK_START, NULL, 0, 0);
|
||||
} else {
|
||||
|
@ -207,7 +207,11 @@ int daTagWljump_c::execute() {
|
|||
field_0x570 = field_0x568;
|
||||
field_0x568 = -1;
|
||||
} else {
|
||||
#if DEBUG
|
||||
attention_info.flags |= 0x801;
|
||||
#else
|
||||
attention_info.flags |= 0x81;
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
field_0x572 = 0;
|
||||
|
|
|
@ -0,0 +1,104 @@
|
|||
import sys
|
||||
|
||||
REG_F = {
|
||||
"TREG_F": 0x00c,
|
||||
"DREG_F": 0x09c,
|
||||
"IREG_F": 0x12c,
|
||||
"SREG_F": 0x1bc,
|
||||
"UREG_F": 0x24c,
|
||||
"OREG_F": 0x2dc,
|
||||
"YREG_F": 0x36c,
|
||||
"KREG_F": 0x3fc,
|
||||
"BREG_F": 0x48c,
|
||||
"MREG_F": 0x51c,
|
||||
"AREG_F": 0x5ac,
|
||||
"PREG_F": 0x63c,
|
||||
"NREG_F": 0x6cc,
|
||||
"WREG_F": 0x75c,
|
||||
"JREG_F": 0x7ec,
|
||||
"HREG_F": 0x87c,
|
||||
"VREG_F": 0x90c,
|
||||
"XREG_F": 0x99c,
|
||||
"ZREG_F": 0xa2c,
|
||||
"nREG_F": 0xabc,
|
||||
"kREG_F": 0xb4c,
|
||||
"oREG_F": 0xbdc,
|
||||
"yREG_F": 0xc6c,
|
||||
"aREG_F": 0xcfc,
|
||||
"hREG_F": 0xd8c,
|
||||
"tREG_F": 0xe1c
|
||||
}
|
||||
|
||||
REG_S = {
|
||||
"TREG_S": 0x084,
|
||||
"DREG_S": 0x114,
|
||||
"IREG_S": 0x1a4,
|
||||
"SREG_S": 0x234,
|
||||
"UREG_S": 0x2c4,
|
||||
"OREG_S": 0x354,
|
||||
"YREG_S": 0x3e4,
|
||||
"KREG_S": 0x474,
|
||||
"BREG_S": 0x504,
|
||||
"MREG_S": 0x594,
|
||||
"AREG_S": 0x624,
|
||||
"PREG_S": 0x6b4,
|
||||
"NREG_S": 0x744,
|
||||
"WREG_S": 0x7d4,
|
||||
"JREG_S": 0x864,
|
||||
"HREG_S": 0x8f4,
|
||||
"VREG_S": 0x984,
|
||||
"XREG_S": 0xa14,
|
||||
"ZREG_S": 0xaa4,
|
||||
"nREG_S": 0xb34,
|
||||
"kREG_S": 0xbc4,
|
||||
"oREG_S": 0xc54,
|
||||
"yREG_S": 0xce4,
|
||||
"aREG_S": 0xd74,
|
||||
"hREG_S": 0xe04,
|
||||
"tREG_S": 0xe94
|
||||
}
|
||||
|
||||
|
||||
def find_register(hex_val, reg_map, step):
|
||||
best_match = None
|
||||
best_base = -1
|
||||
|
||||
for name, base in reg_map.items():
|
||||
if base <= hex_val and base > best_base:
|
||||
best_match = name
|
||||
best_base = base
|
||||
|
||||
if best_match is not None:
|
||||
index = (hex_val - best_base) // step
|
||||
expected = best_base + index * step
|
||||
if expected == hex_val:
|
||||
return f"{best_match}({index})"
|
||||
|
||||
raise ValueError("No matching register found.")
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 3:
|
||||
print("Usage: greg_calc.py [s|f] [hex_val]")
|
||||
return
|
||||
|
||||
mode = sys.argv[1].lower()
|
||||
try:
|
||||
hex_val = int(sys.argv[2], 16)
|
||||
except ValueError:
|
||||
print("Invalid hex value. Use format like 0x75c")
|
||||
return
|
||||
|
||||
if mode == 'f':
|
||||
result = find_register(hex_val, REG_F, 4)
|
||||
elif mode == 's':
|
||||
result = find_register(hex_val, REG_S, 2)
|
||||
else:
|
||||
print("Invalid mode. Use 's' for short or 'f' for float.")
|
||||
return
|
||||
|
||||
print(result)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue