mirror of https://github.com/zeldaret/tp.git
d_a_obj_cb almost matching (#2265)
* d_a_obj_cb almost matching * d_a_obj_bubblePillar OK * Work on d_a_obj_fchain * d_a_obj_gb OK * daTimeFire_c OK * d_a_obj_toaru_maki OK * d_a_obj_ten OK
This commit is contained in:
parent
ee992eb80c
commit
c5ab943cfc
|
@ -18,10 +18,10 @@ initModeEffOn__13daBubbPilar_cFv = .text:0x00000974; // type:function size:0x24
|
|||
modeEffOn__13daBubbPilar_cFv = .text:0x00000998; // type:function size:0x118 scope:global
|
||||
Draw__13daBubbPilar_cFv = .text:0x00000AB0; // type:function size:0xDC scope:global
|
||||
Delete__13daBubbPilar_cFv = .text:0x00000B8C; // type:function size:0x30 scope:global
|
||||
daBubbPilar_Draw__FP13daBubbPilar_c = .text:0x00000BBC; // type:function size:0x2C scope:global
|
||||
daBubbPilar_Execute__FP13daBubbPilar_c = .text:0x00000BE8; // type:function size:0x20 scope:global
|
||||
daBubbPilar_Delete__FP13daBubbPilar_c = .text:0x00000C08; // type:function size:0x20 scope:global
|
||||
daBubbPilar_Create__FP10fopAc_ac_c = .text:0x00000C28; // type:function size:0x20 scope:global
|
||||
daBubbPilar_Draw__FP13daBubbPilar_c = .text:0x00000BBC; // type:function size:0x2C scope:local
|
||||
daBubbPilar_Execute__FP13daBubbPilar_c = .text:0x00000BE8; // type:function size:0x20 scope:local
|
||||
daBubbPilar_Delete__FP13daBubbPilar_c = .text:0x00000C08; // type:function size:0x20 scope:local
|
||||
daBubbPilar_Create__FP10fopAc_ac_c = .text:0x00000C28; // type:function size:0x20 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x00000C48; // type:function size:0x48 scope:global
|
||||
__dt__17daBubbPilar_HIO_cFv = .text:0x00000C90; // type:function size:0x5C scope:global
|
||||
__sinit_d_a_obj_bubblePilar_cpp = .text:0x00000CEC; // type:function size:0x70 scope:local
|
||||
|
@ -36,13 +36,13 @@ mCcDObjInfo__13daBubbPilar_c = .rodata:0x00000000; // type:object size:0x30 scop
|
|||
particle_id$3953 = .rodata:0x0000003C; // type:object size:0x6 scope:local
|
||||
@stringBase0 = .rodata:0x00000044; // type:object size:0x8 scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
mCcDCyl__13daBubbPilar_c = .data:0x00000020; // type:object size:0x44 scope:global
|
||||
@3843 = .data:0x00000064; // type:object size:0xC scope:local
|
||||
@3844 = .data:0x00000070; // type:object size:0xC scope:local
|
||||
mode_proc$3842 = .data:0x0000007C; // type:object size:0x18 scope:local
|
||||
l_daBubbPilar_Method = .data:0x00000094; // type:object size:0x20 scope:global
|
||||
l_daBubbPilar_Method = .data:0x00000094; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_awaPlar = .data:0x000000B4; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x000000E4; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x000000F0; // type:object size:0xC scope:global
|
||||
|
@ -53,5 +53,5 @@ __vt__17daBubbPilar_HIO_c = .data:0x0000013C; // type:object size:0xC scope:glob
|
|||
__vt__14mDoHIO_entry_c = .data:0x00000148; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
@3623 = .bss:0x00000008; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:global
|
||||
lbl_416_bss_1C = .bss:0x0000001C; // type:object size:0x1 data:byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:local
|
||||
init$1367 = .bss:0x0000001C; // type:object size:0x1 scope:local data:byte
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
|
||||
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
|
||||
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
|
||||
daObj_Gb_Draw__FP12obj_gb_class = .text:0x00000078; // type:function size:0xE0 scope:global
|
||||
daObj_Gb_Execute__FP12obj_gb_class = .text:0x00000158; // type:function size:0x394 scope:global
|
||||
daObj_Gb_Draw__FP12obj_gb_class = .text:0x00000078; // type:function size:0xE0 scope:local
|
||||
daObj_Gb_Execute__FP12obj_gb_class = .text:0x00000158; // type:function size:0x394 scope:local
|
||||
__dt__4cXyzFv = .text:0x000004EC; // type:function size:0x3C scope:global
|
||||
daObj_Gb_IsDelete__FP12obj_gb_class = .text:0x00000528; // type:function size:0x8 scope:global
|
||||
daObj_Gb_Delete__FP12obj_gb_class = .text:0x00000530; // type:function size:0x5C scope:global
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x0000058C; // type:function size:0x26C scope:global
|
||||
daObj_Gb_IsDelete__FP12obj_gb_class = .text:0x00000528; // type:function size:0x8 scope:local
|
||||
daObj_Gb_Delete__FP12obj_gb_class = .text:0x00000530; // type:function size:0x5C scope:local
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x0000058C; // type:function size:0x26C scope:local
|
||||
__dt__12J3DFrameCtrlFv = .text:0x000007F8; // type:function size:0x48 scope:global
|
||||
daObj_Gb_Create__FP10fopAc_ac_c = .text:0x00000840; // type:function size:0x2D0 scope:global
|
||||
daObj_Gb_Create__FP10fopAc_ac_c = .text:0x00000840; // type:function size:0x2D0 scope:local
|
||||
__ct__4cXyzFv = .text:0x00000B10; // type:function size:0x4 scope:global
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
|
@ -26,12 +26,12 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@4088 = .rodata:0x00000028; // type:object size:0x8 scope:local
|
||||
@stringBase0 = .rodata:0x00000030; // type:object size:0xF 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
|
||||
bmd$3914 = .data:0x00000020; // type:object size:0x8 scope:local
|
||||
brk$3915 = .data:0x00000028; // type:object size:0x8 scope:local
|
||||
btk$3916 = .data:0x00000030; // type:object size:0x8 scope:local
|
||||
dzb$3917 = .data:0x00000038; // type:object size:0x8 scope:local
|
||||
l_daObj_Gb_Method = .data:0x00000040; // type:object size:0x20 scope:global
|
||||
l_daObj_Gb_Method = .data:0x00000040; // type:object size:0x20 scope:local
|
||||
g_profile_OBJ_GB = .data:0x00000060; // type:object size:0x30 scope:global
|
||||
__vt__12J3DFrameCtrl = .data:0x00000090; // type:object size:0xC scope:global
|
||||
|
|
|
@ -6,10 +6,10 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob
|
|||
__ct__14daObj_TenHIO_cFv = .text:0x000000EC; // type:function size:0x28 scope:global
|
||||
InitCcSph__10daObjTEN_cFv = .text:0x00000114; // type:function size:0x6C scope:global
|
||||
SetCcSph__10daObjTEN_cFv = .text:0x00000180; // type:function size:0x58 scope:global
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x000001D8; // type:function size:0x2CC scope:global
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x000001D8; // type:function size:0x2CC scope:local
|
||||
__dt__12J3DFrameCtrlFv = .text:0x000004A4; // type:function size:0x48 scope:global
|
||||
daObjTEN_Create__FP10fopAc_ac_c = .text:0x000004EC; // type:function size:0x20 scope:global
|
||||
daObjTEN_Delete__FP10daObjTEN_c = .text:0x0000050C; // type:function size:0x24 scope:global
|
||||
daObjTEN_Create__FP10fopAc_ac_c = .text:0x000004EC; // type:function size:0x20 scope:local
|
||||
daObjTEN_Delete__FP10daObjTEN_c = .text:0x0000050C; // type:function size:0x24 scope:local
|
||||
WaitAction__10daObjTEN_cFv = .text:0x00000530; // type:function size:0x184 scope:global
|
||||
WallCheck__10daObjTEN_cFv = .text:0x000006B4; // type:function size:0x22C scope:global
|
||||
__dt__8cM3dGPlaFv = .text:0x000008E0; // type:function size:0x48 scope:global
|
||||
|
@ -28,14 +28,14 @@ ObjHit__10daObjTEN_cFv = .text:0x000021E8; // type:function size:0x188 scope:glo
|
|||
Z_BufferChk__10daObjTEN_cFv = .text:0x00002370; // type:function size:0x17C scope:global
|
||||
Delete__10daObjTEN_cFv = .text:0x000024EC; // type:function size:0x68 scope:global
|
||||
setBaseMtx__10daObjTEN_cFv = .text:0x00002554; // type:function size:0x68 scope:global
|
||||
daObjTEN_Draw__FP10daObjTEN_c = .text:0x000025BC; // type:function size:0xE0 scope:global
|
||||
daObjTEN_Execute__FP10daObjTEN_c = .text:0x0000269C; // type:function size:0x20 scope:global
|
||||
daObjTEN_Draw__FP10daObjTEN_c = .text:0x000025BC; // type:function size:0xE0 scope:local
|
||||
daObjTEN_Execute__FP10daObjTEN_c = .text:0x0000269C; // type:function size:0x20 scope:local
|
||||
CreateChk__10daObjTEN_cFv = .text:0x000026BC; // type:function size:0x1AC scope:global
|
||||
create__10daObjTEN_cFv = .text:0x00002868; // type:function size:0x7F8 scope:global
|
||||
__dt__12dBgS_ObjAcchFv = .text:0x00003060; // type:function size:0x70 scope:global
|
||||
__dt__8cM3dGSphFv = .text:0x000030D0; // type:function size:0x48 scope:global
|
||||
__dt__8cM3dGAabFv = .text:0x00003118; // type:function size:0x48 scope:global
|
||||
daObjTEN_IsDelete__FP10daObjTEN_c = .text:0x00003160; // type:function size:0x8 scope:global
|
||||
daObjTEN_IsDelete__FP10daObjTEN_c = .text:0x00003160; // type:function size:0x8 scope:local
|
||||
__dt__14daObj_TenHIO_cFv = .text:0x00003168; // type:function size:0x48 scope:global
|
||||
__sinit_d_a_obj_ten_cpp = .text:0x000031B0; // type:function size:0x3C scope:local
|
||||
@36@__dt__12dBgS_ObjAcchFv = .text:0x000031EC; // type:function size:0x8 scope:local
|
||||
|
@ -45,7 +45,7 @@ __destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 sc
|
|||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
...rodata.0 = .rodata:0x00000000; // type:label scope:local
|
||||
@3775 = .rodata:0x00000000; // type:object size:0x4 scope:local
|
||||
l_ten_itemno = .rodata:0x00000004; // type:object size:0x2 scope:global
|
||||
l_ten_itemno = .rodata:0x00000004; // type:object size:0x2 scope:local
|
||||
ccSphSrc$3779 = .rodata:0x00000008; // type:object size:0x40 scope:local
|
||||
@3788 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float
|
||||
@3939 = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float
|
||||
|
@ -80,13 +80,13 @@ ccSphSrc$3779 = .rodata:0x00000008; // type:object size:0x40 scope:local
|
|||
@4675 = .rodata:0x000000D4; // type:object size:0x4 scope:local
|
||||
@4738 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
|
||||
@4739 = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float
|
||||
l_musiya_num = .rodata:0x000000E0; // type:object size:0x4 scope:global data:2byte
|
||||
l_musiya_num = .rodata:0x000000E0; // type:object size:0x4 scope:local data:2byte
|
||||
@5101 = .rodata:0x000000E4; // type:object size:0x4 scope:local
|
||||
@5102 = .rodata:0x000000E8; // type:object size:0x4 scope:local
|
||||
@5103 = .rodata:0x000000EC; // type:object size:0x4 scope:local
|
||||
@5104 = .rodata:0x000000F0; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x000000F4; // type:object size:0xE scope:local data:string_table
|
||||
l_daObjTEN_Method = .data:0x00000000; // type:object size:0x20 scope:global
|
||||
l_daObjTEN_Method = .data:0x00000000; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_Ten = .data:0x00000020; // type:object size:0x30 scope:global
|
||||
__vt__12dBgS_ObjAcch = .data:0x00000050; // type:object size:0x24 scope:global
|
||||
__vt__8cM3dGSph = .data:0x00000074; // type:object size:0xC scope:global
|
||||
|
@ -96,6 +96,6 @@ __vt__8cM3dGPla = .data:0x00000098; // type:object size:0xC scope:global
|
|||
__vt__12J3DFrameCtrl = .data:0x000000A4; // type:object size:0xC scope:global
|
||||
__vt__14daObj_TenHIO_c = .data:0x000000B0; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_654_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
data_80D0BAB8 = .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:0x10 scope:global data:float
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x10 scope:local data:float
|
||||
|
|
|
@ -14,10 +14,10 @@ Execute__12daTimeFire_cFv = .text:0x00000388; // type:function size:0x1E0 scope:
|
|||
fireCheck__12daTimeFire_cFUc = .text:0x00000568; // type:function size:0x220 scope:global
|
||||
Draw__12daTimeFire_cFv = .text:0x00000788; // type:function size:0x8 scope:global
|
||||
Delete__12daTimeFire_cFv = .text:0x00000790; // type:function size:0x28 scope:global
|
||||
daTimeFire_Draw__FP12daTimeFire_c = .text:0x000007B8; // type:function size:0x20 scope:global
|
||||
daTimeFire_Execute__FP12daTimeFire_c = .text:0x000007D8; // type:function size:0x20 scope:global
|
||||
daTimeFire_Delete__FP12daTimeFire_c = .text:0x000007F8; // type:function size:0x20 scope:global
|
||||
daTimeFire_Create__FP10fopAc_ac_c = .text:0x00000818; // type:function size:0x20 scope:global
|
||||
daTimeFire_Draw__FP12daTimeFire_c = .text:0x000007B8; // type:function size:0x20 scope:local
|
||||
daTimeFire_Execute__FP12daTimeFire_c = .text:0x000007D8; // type:function size:0x20 scope:local
|
||||
daTimeFire_Delete__FP12daTimeFire_c = .text:0x000007F8; // type:function size:0x20 scope:local
|
||||
daTimeFire_Create__FP10fopAc_ac_c = .text:0x00000818; // type:function size:0x20 scope:local
|
||||
__dt__16daTimeFire_HIO_cFv = .text:0x00000838; // type:function size:0x5C scope:global
|
||||
__sinit_d_a_obj_timeFire_cpp = .text:0x00000894; // type:function size:0x3C scope:local
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
|
@ -29,10 +29,10 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@3707 = .rodata:0x00000010; // type:object size:0x4 scope:local
|
||||
@3708 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
@3757 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
|
||||
l_daTimeFire_Method = .data:0x00000000; // type:object size:0x20 scope:global
|
||||
l_daTimeFire_Method = .data:0x00000000; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_TimeFire = .data:0x00000020; // type:object size:0x30 scope:global
|
||||
__vt__16daTimeFire_HIO_c = .data:0x00000050; // type:object size:0xC scope:global
|
||||
__vt__14mDoHIO_entry_c = .data:0x0000005C; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
@3621 = .bss:0x00000008; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:global
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:local
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
|
||||
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
|
||||
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
|
||||
daObjToaruMaki_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global
|
||||
daObjToaruMaki_c_createHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local
|
||||
__ct__16daObjToaruMaki_cFv = .text:0x00000098; // type:function size:0x48 scope:global
|
||||
__dt__16daObjToaruMaki_cFv = .text:0x000000E0; // type:function size:0x8C scope:global
|
||||
createHeap__16daObjToaruMaki_cFv = .text:0x0000016C; // type:function size:0x148 scope:global
|
||||
|
@ -10,16 +10,16 @@ Delete__16daObjToaruMaki_cFv = .text:0x000003C0; // type:function size:0x7C scop
|
|||
setModelMtx__16daObjToaruMaki_cFv = .text:0x0000043C; // type:function size:0x64 scope:global
|
||||
draw__16daObjToaruMaki_cFv = .text:0x000004A0; // type:function size:0x84 scope:global data:4byte
|
||||
execute__16daObjToaruMaki_cFv = .text:0x00000524; // type:function size:0x24 scope:global
|
||||
daObjToaruMaki_create__FP16daObjToaruMaki_c = .text:0x00000548; // type:function size:0x54 scope:global
|
||||
daObjToaruMaki_Delete__FP16daObjToaruMaki_c = .text:0x0000059C; // type:function size:0x20 scope:global
|
||||
daObjToaruMaki_execute__FP16daObjToaruMaki_c = .text:0x000005BC; // type:function size:0x20 scope:global
|
||||
daObjToaruMaki_draw__FP16daObjToaruMaki_c = .text:0x000005DC; // type:function size:0x20 scope:global
|
||||
daObjToaruMaki_create__FP16daObjToaruMaki_c = .text:0x00000548; // type:function size:0x54 scope:local
|
||||
daObjToaruMaki_Delete__FP16daObjToaruMaki_c = .text:0x0000059C; // type:function size:0x20 scope:local
|
||||
daObjToaruMaki_execute__FP16daObjToaruMaki_c = .text:0x000005BC; // type:function size:0x20 scope:local
|
||||
daObjToaruMaki_draw__FP16daObjToaruMaki_c = .text:0x000005DC; // type:function size:0x20 scope:local
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
l_bmdIdx = .rodata:0x00000000; // type:object size:0x8 scope:global
|
||||
l_heapSize = .rodata:0x00000008; // type:object size:0x8 scope:global
|
||||
l_bmdIdx = .rodata:0x00000000; // type:object size:0x8 scope:local
|
||||
l_heapSize = .rodata:0x00000008; // type:object size:0x8 scope:local
|
||||
@stringBase0 = .rodata:0x00000010; // type:object size:0x10 scope:local data:string_table
|
||||
l_arcName = .data:0x00000000; // type:object size:0x8 scope:global
|
||||
daObjToaruMaki_METHODS = .data:0x00000008; // type:object size:0x20 scope:global
|
||||
l_arcName = .data:0x00000000; // type:object size:0x8 scope:local
|
||||
daObjToaruMaki_METHODS = .data:0x00000008; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_ToaruMaki = .data:0x00000028; // type:object size:0x30 scope:global
|
||||
__vt__16daObjToaruMaki_c = .data:0x00000058; // type:object size:0xC scope:global
|
||||
|
|
12
configure.py
12
configure.py
|
@ -1781,9 +1781,9 @@ config.libs = [
|
|||
ActorRel(Matching, "d_a_obj_boumato"),
|
||||
ActorRel(NonMatching, "d_a_obj_brg"),
|
||||
ActorRel(Matching, "d_a_obj_bsGate"),
|
||||
ActorRel(NonMatching, "d_a_obj_bubblePilar"),
|
||||
ActorRel(Matching, "d_a_obj_bubblePilar"),
|
||||
ActorRel(Matching, "d_a_obj_catdoor"),
|
||||
ActorRel(NonMatching, "d_a_obj_cb"),
|
||||
ActorRel(Equivalent, "d_a_obj_cb"),
|
||||
ActorRel(NonMatching, "d_a_obj_cblock"),
|
||||
ActorRel(Matching, "d_a_obj_cdoor"),
|
||||
ActorRel(Matching, "d_a_obj_chandelier"),
|
||||
|
@ -1822,7 +1822,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_gadget"),
|
||||
ActorRel(NonMatching, "d_a_obj_ganonwall"),
|
||||
ActorRel(NonMatching, "d_a_obj_ganonwall2"),
|
||||
ActorRel(NonMatching, "d_a_obj_gb"),
|
||||
ActorRel(Matching, "d_a_obj_gb"),
|
||||
ActorRel(NonMatching, "d_a_obj_geyser"),
|
||||
ActorRel(NonMatching, "d_a_obj_glowSphere"),
|
||||
ActorRel(NonMatching, "d_a_obj_gm"),
|
||||
|
@ -2019,15 +2019,15 @@ config.libs = [
|
|||
ActorRel(Matching, "d_a_obj_table"),
|
||||
ActorRel(NonMatching, "d_a_obj_takaraDai"),
|
||||
ActorRel(NonMatching, "d_a_obj_tatigi"),
|
||||
ActorRel(NonMatching, "d_a_obj_ten"),
|
||||
ActorRel(Matching, "d_a_obj_ten"),
|
||||
ActorRel(Matching, "d_a_obj_testcube"),
|
||||
ActorRel(Matching, "d_a_obj_tgake"),
|
||||
ActorRel(NonMatching, "d_a_obj_thashi"),
|
||||
ActorRel(NonMatching, "d_a_obj_thdoor"),
|
||||
ActorRel(NonMatching, "d_a_obj_timeFire"),
|
||||
ActorRel(Matching, "d_a_obj_timeFire"),
|
||||
ActorRel(NonMatching, "d_a_obj_tks"),
|
||||
ActorRel(Matching, "d_a_obj_tmoon"),
|
||||
ActorRel(NonMatching, "d_a_obj_toaru_maki"),
|
||||
ActorRel(Matching, "d_a_obj_toaru_maki"),
|
||||
ActorRel(NonMatching, "d_a_obj_toby"),
|
||||
ActorRel(NonMatching, "d_a_obj_tobyhouse"),
|
||||
ActorRel(NonMatching, "d_a_obj_togeTrap"),
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef D_A_OBJ_BUBBLEPILAR_H
|
||||
#define D_A_OBJ_BUBBLEPILAR_H
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
@ -11,32 +13,58 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daBubbPilar_c : public fopAc_ac_c {
|
||||
class daBubbPilar_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
typedef void (daBubbPilar_c::*modeProc)();
|
||||
|
||||
enum Mode {
|
||||
MODE_WAIT,
|
||||
MODE_EFF_ON,
|
||||
};
|
||||
|
||||
/* 80BC3460 */ void setBaseMtx();
|
||||
/* 80BC3518 */ void CreateHeap();
|
||||
/* 80BC35D0 */ void create();
|
||||
/* 80BC3934 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80BC3518 */ int CreateHeap();
|
||||
/* 80BC35D0 */ int create();
|
||||
/* 80BC3934 */ int Execute(Mtx**);
|
||||
/* 80BC3AB8 */ void initModeWait();
|
||||
/* 80BC3AC4 */ void modeWait();
|
||||
/* 80BC3C74 */ void initModeEffOn();
|
||||
/* 80BC3C98 */ void modeEffOn();
|
||||
/* 80BC3DB0 */ void Draw();
|
||||
/* 80BC3E8C */ void Delete();
|
||||
/* 80BC3DB0 */ int Draw();
|
||||
/* 80BC3E8C */ int Delete();
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
static u8 mCcDCyl[68];
|
||||
u8 getArg0() { return fopAcM_GetParamBit(this, 8, 4); }
|
||||
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
static dCcD_SrcGObjInf const mCcDObjInfo;
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x750 - 0x568];
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mModels[2];
|
||||
/* 0x5B0 */ dCcD_Stts mStts;
|
||||
/* 0x5EC */ dCcD_Cyl mCyl;
|
||||
/* 0x728 */ u8 field_0x728;
|
||||
/* 0x729 */ u8 mMode;
|
||||
/* 0x72A */ u8 mSw;
|
||||
/* 0x72B */ u8 mArg0;
|
||||
/* 0x72C */ u8 mIsSw;
|
||||
/* 0x72D */ u8 mModelMode;
|
||||
/* 0x72E */ s16 field_0x72e;
|
||||
/* 0x730 */ int mEmitterIds[3];
|
||||
/* 0x73C */ int mEmitterId;
|
||||
/* 0x740 */ JPABaseEmitter* mEmitters[4];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daBubbPilar_c) == 0x750);
|
||||
|
||||
class daBubbPilar_HIO_c {
|
||||
class daBubbPilar_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80BC33EC */ daBubbPilar_HIO_c();
|
||||
/* 80BC3F90 */ ~daBubbPilar_HIO_c();
|
||||
/* 80BC3F90 */ virtual ~daBubbPilar_HIO_c() {};
|
||||
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef D_A_OBJ_CB_H
|
||||
#define D_A_OBJ_CB_H
|
||||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
@ -12,8 +14,27 @@
|
|||
*
|
||||
*/
|
||||
class obj_cb_class : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x97c - 0x568];
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mModel;
|
||||
/* 0x574 */ Z2SoundObjSimple mSoundObj;
|
||||
/* 0x594 */ s16 field_0x594;
|
||||
/* 0x596 */ s16 field_0x596;
|
||||
/* 0x598 */ s16 field_0x598[2];
|
||||
/* 0x59C */ s16 field_0x59c;
|
||||
/* 0x59E */ s16 field_0x59e;
|
||||
/* 0x5A0 */ csXyz field_0x5a0;
|
||||
/* 0x5A8 */ f32 field_0x5a8;
|
||||
/* 0x5AC */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x5EC */ dBgS_ObjAcch mAcch;
|
||||
/* 0x7C4 */ int field_0x7c4;
|
||||
/* 0x7C8 */ Mtx mBgMtx;
|
||||
/* 0x7F8 */ dBgW* mBgW;
|
||||
/* 0x7FC */ dCcD_Stts mStts;
|
||||
/* 0x838 */ dCcD_Sph mSph;
|
||||
/* 0x970 */ u32 field_0x970;
|
||||
/* 0x974 */ u32 field_0x974;
|
||||
/* 0x978 */ u8 field_0x978;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
|
||||
|
@ -21,7 +42,9 @@ STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
|
|||
class daObj_Cb_HIO_c {
|
||||
public:
|
||||
/* 80BC4B2C */ daObj_Cb_HIO_c();
|
||||
/* 80BC573C */ ~daObj_Cb_HIO_c();
|
||||
/* 80BC573C */ virtual ~daObj_Cb_HIO_c() {}
|
||||
|
||||
s8 field_0x4;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daObjFchain_shape_c {
|
||||
class daObjFchain_shape_c : public J3DPacket {
|
||||
public:
|
||||
/* 80BE7194 */ void draw();
|
||||
/* 80BE73D4 */ ~daObjFchain_shape_c();
|
||||
/* 80BE7194 */ virtual void draw();
|
||||
/* 80BE73D4 */ virtual ~daObjFchain_shape_c() {}
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -19,16 +19,29 @@ public:
|
|||
*/
|
||||
class daObjFchain_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80BE5FF8 */ void createHeap();
|
||||
/* 80BE6074 */ void create();
|
||||
/* 80BE5FF8 */ int createHeap();
|
||||
/* 80BE6074 */ int create();
|
||||
/* 80BE63C8 */ ~daObjFchain_c();
|
||||
/* 80BE64E0 */ void checkPlayerFoot(cXyz const*, cXyz const*, cXyz*);
|
||||
/* 80BE66B4 */ void setGroundVec(cXyz*, f32);
|
||||
/* 80BE6868 */ void execute();
|
||||
/* 80BE7324 */ void draw();
|
||||
/* 80BE6868 */ int execute();
|
||||
/* 80BE7324 */ int draw();
|
||||
|
||||
cXyz* getPos() { return field_0x694; }
|
||||
csXyz* getAngle() { return field_0x8a4; }
|
||||
J3DModelData* getModelData() { return mModelData; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x928 - 0x568];
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModelData* mModelData;
|
||||
/* 0x574 */ daObjFchain_shape_c mShape;
|
||||
/* 0x584 */ s16 field_0x584;
|
||||
/* 0x586 */ u16 field_0x586;
|
||||
/* 0x588 */ s16 field_0x588;
|
||||
/* 0x58C */ cXyz field_0x58c[22];
|
||||
/* 0x694 */ cXyz field_0x694[22];
|
||||
/* 0x79C */ cXyz field_0x79c[22];
|
||||
/* 0x8A4 */ csXyz field_0x8a4[22];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjFchain_c) == 0x928);
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#ifndef D_A_OBJ_GB_H
|
||||
#define D_A_OBJ_GB_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class dBgW;
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -12,8 +15,23 @@
|
|||
*
|
||||
*/
|
||||
class obj_gb_class : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x6bc - 0x568];
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mModel;
|
||||
/* 0x574 */ mDoExt_btkAnm* mBtk;
|
||||
/* 0x578 */ mDoExt_brkAnm* mBrk;
|
||||
/* 0x57C */ u8 field_0x57c;
|
||||
/* 0x57D */ u8 mColorAlpha;
|
||||
/* 0x580 */ int mSw1;
|
||||
/* 0x584 */ int mSw2;
|
||||
/* 0x588 */ s16 mIsFinalBattle;
|
||||
/* 0x58A */ s16 field_0x58a[2];
|
||||
/* 0x58E */ s16 field_0x58e;
|
||||
/* 0x58E */ f32 mBrkFrame;
|
||||
/* 0x594 */ cXyz field_0x594[20];
|
||||
/* 0x684 */ f32 field_0x684;
|
||||
/* 0x688 */ Mtx mBgMtx;
|
||||
/* 0x6B8 */ dBgW* mpBgW;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_gb_class) == 0x6bc);
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef D_A_OBJ_TEN_H
|
||||
#define D_A_OBJ_TEN_H
|
||||
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_insect.h"
|
||||
|
||||
/**
|
||||
|
@ -11,12 +15,18 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjTEN_c : public fopAc_ac_c {
|
||||
class daObjTEN_c : public dInsect_c {
|
||||
public:
|
||||
enum Action {
|
||||
ACTION_WAIT,
|
||||
ACTION_MOVE,
|
||||
ACTION_WALK,
|
||||
};
|
||||
|
||||
/* 80D087F4 */ void InitCcSph();
|
||||
/* 80D08860 */ void SetCcSph();
|
||||
/* 80D08C10 */ void WaitAction();
|
||||
/* 80D08D94 */ void WallCheck();
|
||||
/* 80D08D94 */ BOOL WallCheck();
|
||||
/* 80D09008 */ void SpeedSet();
|
||||
/* 80D09114 */ void WallWalk();
|
||||
/* 80D09548 */ void WalkAction();
|
||||
|
@ -24,19 +34,48 @@ public:
|
|||
/* 80D09F58 */ void Action();
|
||||
/* 80D0A01C */ void ShopAction();
|
||||
/* 80D0A0D8 */ void checkGroundPos();
|
||||
/* 80D0A13C */ void Insect_Release();
|
||||
/* 80D0A13C */ virtual void Insect_Release();
|
||||
/* 80D0A154 */ void ParticleSet();
|
||||
/* 80D0A278 */ void BoomChk();
|
||||
/* 80D0A644 */ void Execute();
|
||||
/* 80D0A644 */ int Execute();
|
||||
/* 80D0A8C8 */ void ObjHit();
|
||||
/* 80D0AA50 */ void Z_BufferChk();
|
||||
/* 80D0ABCC */ void Delete();
|
||||
/* 80D0ABCC */ int Delete();
|
||||
/* 80D0AC34 */ void setBaseMtx();
|
||||
/* 80D0AD9C */ void CreateChk();
|
||||
/* 80D0AF48 */ void create();
|
||||
/* 80D0AD9C */ bool CreateChk();
|
||||
/* 80D0AF48 */ int create();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xa68 - 0x568];
|
||||
/* 0x590 */ dBgS_GndChk mGndChk;
|
||||
/* 0x5E4 */ f32 field_0x5e4;
|
||||
/* 0x5E8 */ u8 mAction;
|
||||
/* 0x5E9 */ u8 field_0x5e9;
|
||||
/* 0x5EA */ s16 field_0x5ea[3];
|
||||
/* 0x5F0 */ f32 field_0x5f0;
|
||||
/* 0x5F4 */ f32 field_0x5f4;
|
||||
/* 0x5F8 */ s16 field_0x5f8;
|
||||
/* 0x5EC */ u8 field_0x5fa[0x602 - 0x5fa];
|
||||
/* 0x602 */ csXyz field_0x602;
|
||||
/* 0x608 */ s16 field_0x608;
|
||||
/* 0x60A */ s16 field_0x60a;
|
||||
/* 0x60C */ u8 field_0x60c;
|
||||
/* 0x60D */ u8 field_0x60d;
|
||||
/* 0x610 */ mDoExt_brkAnm* mBrk;
|
||||
/* 0x614 */ mDoExt_btkAnm* mBtk;
|
||||
/* 0x618 */ f32 field_0x618;
|
||||
/* 0x61C */ u32 field_0x61c;
|
||||
/* 0x620 */ f32 mParticleScale;
|
||||
/* 0x624 */ u8 field_0x624;
|
||||
/* 0x628 */ dCcD_Stts mStts;
|
||||
/* 0x664 */ dCcD_Sph mSph;
|
||||
/* 0x79C */ daPy_boomerangMove_c mBoomerang;
|
||||
/* 0x7A8 */ u8 field_0x7a8;
|
||||
/* 0x7AC */ dBgS_ObjAcch mAcch;
|
||||
/* 0x984 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x9C4 */ Z2Creature mCreature;
|
||||
/* 0xA54 */ int field_0xa54;
|
||||
/* 0xA58 */ mDoExt_McaMorfSO* mMorf;
|
||||
/* 0xA5C */ request_of_phase_process_class mPhase;
|
||||
/* 0xA64 */ u8 field_0xa64;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68);
|
||||
|
@ -44,7 +83,11 @@ STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68);
|
|||
class daObj_TenHIO_c {
|
||||
public:
|
||||
/* 80D087CC */ daObj_TenHIO_c();
|
||||
/* 80D0B848 */ ~daObj_TenHIO_c();
|
||||
/* 80D0B848 */ virtual ~daObj_TenHIO_c() {}
|
||||
|
||||
s8 field_0x4;
|
||||
f32 field_0x8;
|
||||
f32 field_0xc;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -14,25 +14,44 @@
|
|||
class daTimeFire_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80D0E958 */ void setBaseMtx();
|
||||
/* 80D0E9B0 */ void create();
|
||||
/* 80D0E9B0 */ int create();
|
||||
/* 80D0EACC */ void lightInit();
|
||||
/* 80D0EB40 */ void setLight();
|
||||
/* 80D0EB64 */ void cutLight();
|
||||
/* 80D0EB88 */ void Execute();
|
||||
/* 80D0ED68 */ void fireCheck(u8);
|
||||
/* 80D0EF88 */ bool Draw();
|
||||
/* 80D0EF90 */ void Delete();
|
||||
/* 80D0EB88 */ int Execute();
|
||||
/* 80D0ED68 */ bool fireCheck(u8);
|
||||
/* 80D0EF88 */ int Draw();
|
||||
/* 80D0EF90 */ int Delete();
|
||||
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u8 getStartTime() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getEndTime() { return fopAcM_GetParamBit(this, 16, 8); }
|
||||
u8 getScale() { return fopAcM_GetParamBit(this, 24, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5c0 - 0x568];
|
||||
/* 0x568 */ u8 field_0x568;
|
||||
/* 0x569 */ u8 field_0x569;
|
||||
/* 0x56A */ u8 mStartTime;
|
||||
/* 0x56B */ u8 mEndTime;
|
||||
/* 0x56C */ bool field_0x56c;
|
||||
/* 0x56D */ bool field_0x56d;
|
||||
/* 0x570 */ cXyz field_0x570;
|
||||
/* 0x57C */ cXyz mParticleScale;
|
||||
/* 0x588 */ int mParticleId1;
|
||||
/* 0x58c */ int mParticleId2;
|
||||
/* 0x590 */ int mParticleId3;
|
||||
/* 0x594 */ cXyz field_0x594;
|
||||
/* 0x5A0 */ LIGHT_INFLUENCE mLightInfluence;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTimeFire_c) == 0x5c0);
|
||||
|
||||
class daTimeFire_HIO_c {
|
||||
class daTimeFire_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80D0E8EC */ daTimeFire_HIO_c();
|
||||
/* 80D0F038 */ ~daTimeFire_HIO_c();
|
||||
/* 80D0F038 */ virtual ~daTimeFire_HIO_c() {}
|
||||
|
||||
u8 field_0x4;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public:
|
|||
|
||||
private:
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ s32 field_0x578;
|
||||
/* 0x578 */ dBgW* mpBgW;
|
||||
/* 0x57C */ Mtx mMtx;
|
||||
};
|
||||
|
||||
|
|
|
@ -463,7 +463,7 @@ public:
|
|||
ERFLG0_UNK_80000000 = 0x80000000,
|
||||
ERFLG0_UNK_40000000 = 0x40000000,
|
||||
ERFLG0_UNK_20000000 = 0x20000000,
|
||||
ERFLG0_UNK_10000000 = 0x10000000,
|
||||
ERFLG0_WOLF_FCHAIN_PULL = 0x10000000,
|
||||
ERFLG0_UNK_8000000 = 0x8000000,
|
||||
ERFLG0_UNK_4000000 = 0x4000000,
|
||||
ERFLG0_BOSS_ROOM_WAIT = 0x2000000,
|
||||
|
@ -920,6 +920,7 @@ public:
|
|||
void onForceAutoJump() { onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
|
||||
void onNotAutoJump() { onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
|
||||
void onNotHang() { onEndResetFlg0(ERFLG0_NOT_HANG); }
|
||||
void onWolfFchainPull() { onEndResetFlg0(ERFLG0_WOLF_FCHAIN_PULL); }
|
||||
void onShieldBackBone() { onEndResetFlg1(ERFLG1_GANON_FINISH); }
|
||||
void onWolfEyeKeep() { onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); }
|
||||
void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); }
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
void setItemNo(u8 i_itemNo) { m_itemNo = i_itemNo; }
|
||||
void setSaveBitNo(s16 i_saveBitNo) { m_saveBitNo = i_saveBitNo; }
|
||||
|
||||
protected:
|
||||
public:
|
||||
/* 0x56C */ u8 field_0x56C;
|
||||
/* 0x56D */ bool mDraw;
|
||||
/* 0x570 */ u32 mParticleKey1;
|
||||
|
|
|
@ -14274,7 +14274,7 @@ void daAlink_c::posMove() {
|
|||
}
|
||||
|
||||
setFootSpeed();
|
||||
if (checkEndResetFlg0(ERFLG0_UNK_10000000)) {
|
||||
if (checkEndResetFlg0(ERFLG0_WOLF_FCHAIN_PULL)) {
|
||||
speedF = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
}
|
||||
|
|
|
@ -4,116 +4,18 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_bubblePilar.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__17daBubbPilar_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__13daBubbPilar_cFv();
|
||||
extern "C" void CreateHeap__13daBubbPilar_cFv();
|
||||
extern "C" void create__13daBubbPilar_cFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" void Execute__13daBubbPilar_cFPPA3_A4_f();
|
||||
extern "C" void initModeWait__13daBubbPilar_cFv();
|
||||
extern "C" void modeWait__13daBubbPilar_cFv();
|
||||
extern "C" void initModeEffOn__13daBubbPilar_cFv();
|
||||
extern "C" void modeEffOn__13daBubbPilar_cFv();
|
||||
extern "C" void Draw__13daBubbPilar_cFv();
|
||||
extern "C" void Delete__13daBubbPilar_cFv();
|
||||
extern "C" static void daBubbPilar_Draw__FP13daBubbPilar_c();
|
||||
extern "C" static void daBubbPilar_Execute__FP13daBubbPilar_c();
|
||||
extern "C" static void daBubbPilar_Delete__FP13daBubbPilar_c();
|
||||
extern "C" static void daBubbPilar_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
extern "C" void __dt__17daBubbPilar_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_bubblePilar_cpp();
|
||||
extern "C" u8 const mCcDObjInfo__13daBubbPilar_c[48];
|
||||
extern "C" extern char const* const d_a_obj_bubblePilar__stringBase0;
|
||||
extern "C" u8 mCcDCyl__13daBubbPilar_c[68];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
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 onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void dBgS_MoveBGProc_Typical__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 ChkTgHit__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_camera_water_in_status_check__Fv();
|
||||
extern "C" void dKy_bg_MAxx_proc__FPv();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void SetH__8cM3dGCylFf();
|
||||
extern "C" void SetR__8cM3dGCylFf();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC40BC-80BC40C8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80BC40C8-80BC40DC 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 */] = {
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
|
@ -123,51 +25,242 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
|||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC4224-80BC422C 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static daBubbPilar_HIO_c l_HIO;
|
||||
|
||||
/* 80BC4070-80BC40A0 000000 0030+00 3/3 0/0 0/0 .rodata mCcDObjInfo__13daBubbPilar_c */
|
||||
const dCcD_SrcGObjInf daBubbPilar_c::mCcDObjInfo = {
|
||||
{0, {{0, 0, 0}, {0x20, 0x11}, {0}}},
|
||||
{dCcD_SE_NONE, 0, 1, 0, 0},
|
||||
{dCcD_SE_NONE, 0, 0, 0, 2},
|
||||
{0},
|
||||
};
|
||||
|
||||
/* 80BC40DC-80BC4120 000020 0044+00 2/2 0/0 0/0 .data mCcDCyl__13daBubbPilar_c */
|
||||
SECTION_DATA u8 daBubbPilar_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,
|
||||
dCcD_SrcCyl daBubbPilar_c::mCcDCyl = {
|
||||
daBubbPilar_c::mCcDObjInfo,
|
||||
{{0.0f, 0.0f, 0.0f}, 0.0f, 0.0f}
|
||||
};
|
||||
|
||||
/* 80BC4120-80BC412C -00001 000C+00 0/1 0/0 0/0 .data @3843 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3843[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__13daBubbPilar_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80BC33EC-80BC3418 0000EC 002C+00 1/1 0/0 0/0 .text __ct__17daBubbPilar_HIO_cFv */
|
||||
daBubbPilar_HIO_c::daBubbPilar_HIO_c() {
|
||||
field_0x4 = 20;
|
||||
field_0x5 = 0;
|
||||
}
|
||||
|
||||
/* 80BC412C-80BC4138 -00001 000C+00 0/1 0/0 0/0 .data @3844 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3844[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeEffOn__13daBubbPilar_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80BC3460-80BC3518 000160 00B8+00 2/2 0/0 0/0 .text setBaseMtx__13daBubbPilar_cFv */
|
||||
void daBubbPilar_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);
|
||||
mDoMtx_stack_c::scaleM(scale.x, scale.y, scale.z);
|
||||
cXyz baseScale(1.0f, 1.0f, 1.0f);
|
||||
mModels[mModelMode]->setBaseScale(baseScale);
|
||||
mModels[mModelMode]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80BC4138-80BC4150 00007C 0018+00 0/1 0/0 0/0 .data mode_proc$3842 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[24] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 80BC3518-80BC35D0 000218 00B8+00 1/0 0/0 0/0 .text CreateHeap__13daBubbPilar_cFv */
|
||||
int daBubbPilar_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("M_Crack", 4);
|
||||
JUT_ASSERT(226, modelData != 0);
|
||||
mModels[MODE_WAIT] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mModels[MODE_WAIT] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("M_Crack", 5);
|
||||
JUT_ASSERT(237, modelData != 0);
|
||||
mModels[MODE_EFF_ON] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mModels[MODE_EFF_ON] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC35D0-80BC3848 0002D0 0278+00 1/1 0/0 0/0 .text create__13daBubbPilar_cFv */
|
||||
int daBubbPilar_c::create() {
|
||||
fopAcM_SetupActor(this, daBubbPilar_c);
|
||||
int rv = dComIfG_resLoad(&mPhase, "M_Crack");
|
||||
switch (rv) {
|
||||
case cPhs_COMPLEATE_e:
|
||||
if (MoveBGCreate("M_Crack", 8, dBgS_MoveBGProc_Typical, 0x1900, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
mStts.Init(200, 0xff, this);
|
||||
mCyl.Set(mCcDCyl);
|
||||
mCyl.SetStts(&mStts);
|
||||
mArg0 = getArg0();
|
||||
mSw = getSw();
|
||||
if (mArg0 != 0) {
|
||||
if (mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
mCyl.OffTgSetBit();
|
||||
}
|
||||
if (mSw == 0xff) {
|
||||
initModeEffOn();
|
||||
mModelMode = MODE_EFF_ON;
|
||||
} else {
|
||||
mIsSw = fopAcM_isSwitch(this, mSw);
|
||||
if (mIsSw != 0) {
|
||||
initModeEffOn();
|
||||
mModelMode = MODE_EFF_ON;
|
||||
} else {
|
||||
initModeWait();
|
||||
mModelMode = MODE_WAIT;
|
||||
}
|
||||
}
|
||||
fopAcM_SetMtx(this, mModels[mModelMode]->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mModels[mModelMode]->getModelData());
|
||||
setBaseMtx();
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mEmitters[i] = NULL;
|
||||
}
|
||||
rv = cPhs_COMPLEATE_e;
|
||||
break;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* 80BC3934-80BC3AB8 000634 0184+00 1/0 0/0 0/0 .text Execute__13daBubbPilar_cFPPA3_A4_f
|
||||
*/
|
||||
int daBubbPilar_c::Execute(Mtx** param_1) {
|
||||
static daBubbPilar_c::modeProc const mode_proc[2] = {
|
||||
&daBubbPilar_c::modeWait,
|
||||
&daBubbPilar_c::modeEffOn,
|
||||
};
|
||||
#pragma pop
|
||||
if (mSw != 0xff) {
|
||||
u8 prevIsSw = mIsSw;
|
||||
mIsSw = fopAcM_isSwitch(this, mSw);
|
||||
if (prevIsSw != mIsSw) {
|
||||
if (mIsSw != 0) {
|
||||
initModeEffOn();
|
||||
} else {
|
||||
initModeWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
(this->*(mode_proc[mMode]))();
|
||||
if (dKy_camera_water_in_status_check()) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mEmitters[i] != NULL) {
|
||||
mEmitters[i]->setGlobalAlpha(0xff);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mEmitters[i] != NULL) {
|
||||
mEmitters[i]->setGlobalAlpha(0x20);
|
||||
}
|
||||
}
|
||||
}
|
||||
*param_1 = &mModels[mModelMode]->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC3AB8-80BC3AC4 0007B8 000C+00 2/2 0/0 0/0 .text initModeWait__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::initModeWait() {
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80BC3AC4-80BC3C74 0007C4 01B0+00 1/0 0/0 0/0 .text modeWait__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::modeWait() {
|
||||
if (mArg0 == 0) {
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_WTR_STREAM_S, ¤t.pos, 0, reverb);
|
||||
mEmitterId = dComIfGp_particle_set(mEmitterId, 0x88bd, ¤t.pos, &shape_angle, &scale);
|
||||
mEmitters[3] = (JPABaseEmitter*)dComIfGp_particle_getEmitter(mEmitterId);
|
||||
if (mCyl.ChkTgHit()) {
|
||||
if ((mCyl.GetTgHitGObj()->GetAtType() & AT_TYPE_BOMB) != 0) {
|
||||
mModelMode = MODE_EFF_ON;
|
||||
fopAcM_SetMtx(this, mModels[mModelMode]->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mModels[mModelMode]->getModelData());
|
||||
fopAcM_onSwitch(this, mSw);
|
||||
}
|
||||
}
|
||||
mCyl.SetR(100.0f);
|
||||
mCyl.SetH(100.0f);
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BC3C74-80BC3C98 000974 0024+00 2/2 0/0 0/0 .text initModeEffOn__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::initModeEffOn() {
|
||||
if (mArg0 == 0) {
|
||||
mCyl.OffTgSetBit();
|
||||
}
|
||||
mMode = 1;
|
||||
}
|
||||
|
||||
/* 80BC40AC-80BC40B4 00003C 0006+02 0/1 0/0 0/0 .rodata particle_id$3953 */
|
||||
static u16 const particle_id[3] = {
|
||||
0x88BE,
|
||||
0x88BF,
|
||||
0x88C0,
|
||||
};
|
||||
|
||||
/* 80BC3C98-80BC3DB0 000998 0118+00 1/0 0/0 0/0 .text modeEffOn__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::modeEffOn() {
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_WTR_STREAM, ¤t.pos, 0, reverb);
|
||||
for (int i = 0; i < 3; i = i + 1) {
|
||||
mEmitterIds[i] = dComIfGp_particle_set(
|
||||
mEmitterIds[i],
|
||||
particle_id[i],
|
||||
¤t.pos, &shape_angle,
|
||||
&scale);
|
||||
mEmitters[i] = dComIfGp_particle_getEmitter(mEmitterIds[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BC3DB0-80BC3E8C 000AB0 00DC+00 1/0 0/0 0/0 .text Draw__13daBubbPilar_cFv */
|
||||
int daBubbPilar_c::Draw() {
|
||||
if (mArg0 == 0) {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mModels[mModelMode], &tevStr);
|
||||
dKy_bg_MAxx_proc(mModels[mModelMode]);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mModels[mModelMode]);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC3E8C-80BC3EBC 000B8C 0030+00 1/0 0/0 0/0 .text Delete__13daBubbPilar_cFv */
|
||||
int daBubbPilar_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "M_Crack");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC3EBC-80BC3EE8 000BBC 002C+00 1/0 0/0 0/0 .text daBubbPilar_Draw__FP13daBubbPilar_c
|
||||
*/
|
||||
static int daBubbPilar_Draw(daBubbPilar_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80BC3EE8-80BC3F08 000BE8 0020+00 1/0 0/0 0/0 .text daBubbPilar_Execute__FP13daBubbPilar_c */
|
||||
static int daBubbPilar_Execute(daBubbPilar_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80BC3F08-80BC3F28 000C08 0020+00 1/0 0/0 0/0 .text daBubbPilar_Delete__FP13daBubbPilar_c */
|
||||
static int daBubbPilar_Delete(daBubbPilar_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80BC3F28-80BC3F48 000C28 0020+00 1/0 0/0 0/0 .text daBubbPilar_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daBubbPilar_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daBubbPilar_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80BC4150-80BC4170 -00001 0020+00 1/0 0/0 0/0 .data l_daBubbPilar_Method */
|
||||
static actor_method_class l_daBubbPilar_Method = {
|
||||
(process_method_func)daBubbPilar_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daBubbPilar_Delete__FP13daBubbPilar_c,
|
||||
(process_method_func)daBubbPilar_Execute__FP13daBubbPilar_c,
|
||||
0,
|
||||
(process_method_func)daBubbPilar_Draw__FP13daBubbPilar_c,
|
||||
(process_method_func)daBubbPilar_Create,
|
||||
(process_method_func)daBubbPilar_Delete,
|
||||
(process_method_func)daBubbPilar_Execute,
|
||||
NULL,
|
||||
(process_method_func)daBubbPilar_Draw,
|
||||
};
|
||||
|
||||
/* 80BC4170-80BC41A0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_awaPlar */
|
||||
|
@ -188,246 +281,4 @@ extern actor_process_profile_definition g_profile_Obj_awaPlar = {
|
|||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BC41A0-80BC41AC 0000E4 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,
|
||||
};
|
||||
|
||||
/* 80BC41AC-80BC41B8 0000F0 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,
|
||||
};
|
||||
|
||||
/* 80BC41B8-80BC41C4 0000FC 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 80BC41C4-80BC41D0 000108 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80BC41D0-80BC41F8 000114 0028+00 1/1 0/0 0/0 .data __vt__13daBubbPilar_c */
|
||||
SECTION_DATA extern void* __vt__13daBubbPilar_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__13daBubbPilar_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__13daBubbPilar_cFPPA3_A4_f,
|
||||
(void*)Draw__13daBubbPilar_cFv,
|
||||
(void*)Delete__13daBubbPilar_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80BC41F8-80BC4204 00013C 000C+00 2/2 0/0 0/0 .data __vt__17daBubbPilar_HIO_c */
|
||||
SECTION_DATA extern void* __vt__17daBubbPilar_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17daBubbPilar_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80BC4204-80BC4210 000148 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,
|
||||
};
|
||||
|
||||
/* 80BC33EC-80BC3418 0000EC 002C+00 1/1 0/0 0/0 .text __ct__17daBubbPilar_HIO_cFv */
|
||||
daBubbPilar_HIO_c::daBubbPilar_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3418-80BC3460 000118 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
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC4070-80BC40A0 000000 0030+00 3/3 0/0 0/0 .rodata mCcDObjInfo__13daBubbPilar_c */
|
||||
SECTION_RODATA u8 const daBubbPilar_c::mCcDObjInfo[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC4070, &daBubbPilar_c::mCcDObjInfo);
|
||||
|
||||
/* 80BC40A0-80BC40A4 000030 0004+00 1/3 0/0 0/0 .rodata @3654 */
|
||||
SECTION_RODATA static f32 const lit_3654 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC40A0, &lit_3654);
|
||||
|
||||
/* 80BC3460-80BC3518 000160 00B8+00 2/2 0/0 0/0 .text setBaseMtx__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC40B4-80BC40B4 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BC40B4 = "M_Crack";
|
||||
#pragma pop
|
||||
|
||||
/* 80BC3518-80BC35D0 000218 00B8+00 1/0 0/0 0/0 .text CreateHeap__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC35D0-80BC3848 0002D0 0278+00 1/1 0/0 0/0 .text create__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3848-80BC3890 000548 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3890-80BC38D8 000590 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC38D8-80BC3934 0005D8 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
// dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" void __dt__10dCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC4218-80BC4224 000008 000C+00 1/1 0/0 0/0 .bss @3623 */
|
||||
static u8 lit_3623[12];
|
||||
|
||||
/* 80BC4224-80BC422C 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[8];
|
||||
|
||||
/* 80BC422C-80BC4230 00001C 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80BC422C[4];
|
||||
|
||||
/* 80BC3934-80BC3AB8 000634 0184+00 1/0 0/0 0/0 .text Execute__13daBubbPilar_cFPPA3_A4_f
|
||||
*/
|
||||
void daBubbPilar_c::Execute(f32 (**param_0)[3][4]) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3AB8-80BC3AC4 0007B8 000C+00 2/2 0/0 0/0 .text initModeWait__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::initModeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC40A4-80BC40A8 000034 0004+00 0/2 0/0 0/0 .rodata @3939 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3939 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC40A4, &lit_3939);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC40A8-80BC40AC 000038 0004+00 0/1 0/0 0/0 .rodata @3940 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3940 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC40A8, &lit_3940);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC3AC4-80BC3C74 0007C4 01B0+00 1/0 0/0 0/0 .text modeWait__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::modeWait() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3C74-80BC3C98 000974 0024+00 2/2 0/0 0/0 .text initModeEffOn__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::initModeEffOn() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC40AC-80BC40B4 00003C 0006+02 0/1 0/0 0/0 .rodata particle_id$3953 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const particle_id[6 + 2 /* padding */] = {
|
||||
0x88,
|
||||
0xBE,
|
||||
0x88,
|
||||
0xBF,
|
||||
0x88,
|
||||
0xC0,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC40AC, &particle_id);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC3C98-80BC3DB0 000998 0118+00 1/0 0/0 0/0 .text modeEffOn__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::modeEffOn() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3DB0-80BC3E8C 000AB0 00DC+00 1/0 0/0 0/0 .text Draw__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::Draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3E8C-80BC3EBC 000B8C 0030+00 1/0 0/0 0/0 .text Delete__13daBubbPilar_cFv */
|
||||
void daBubbPilar_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3EBC-80BC3EE8 000BBC 002C+00 1/0 0/0 0/0 .text daBubbPilar_Draw__FP13daBubbPilar_c
|
||||
*/
|
||||
static void daBubbPilar_Draw(daBubbPilar_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3EE8-80BC3F08 000BE8 0020+00 1/0 0/0 0/0 .text daBubbPilar_Execute__FP13daBubbPilar_c */
|
||||
static void daBubbPilar_Execute(daBubbPilar_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3F08-80BC3F28 000C08 0020+00 1/0 0/0 0/0 .text daBubbPilar_Delete__FP13daBubbPilar_c */
|
||||
static void daBubbPilar_Delete(daBubbPilar_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3F28-80BC3F48 000C28 0020+00 1/0 0/0 0/0 .text daBubbPilar_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daBubbPilar_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3F48-80BC3F90 000C48 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3F90-80BC3FEC 000C90 005C+00 2/1 0/0 0/0 .text __dt__17daBubbPilar_HIO_cFv */
|
||||
daBubbPilar_HIO_c::~daBubbPilar_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC3FEC-80BC405C 000CEC 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_bubblePilar_cpp */
|
||||
void __sinit_d_a_obj_bubblePilar_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80BC3FEC, __sinit_d_a_obj_bubblePilar_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC40B4-80BC40B4 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -4,105 +4,248 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_cb.h"
|
||||
#include "dol2asm.h"
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
/* 80BC4B2C-80BC4B44 0000EC 0018+00 1/1 0/0 0/0 .text __ct__14daObj_Cb_HIO_cFv */
|
||||
daObj_Cb_HIO_c::daObj_Cb_HIO_c() {
|
||||
field_0x4 = -1;
|
||||
}
|
||||
|
||||
/* 80BC4B44-80BC4BA8 000104 0064+00 1/0 0/0 0/0 .text daObj_Cb_Draw__FP12obj_cb_class */
|
||||
static int daObj_Cb_Draw(obj_cb_class* i_this) {
|
||||
g_env_light.settingTevStruct(0x10, &i_this->current.pos, &i_this->tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(i_this->mModel, &i_this->tevStr);
|
||||
mDoExt_modelUpdateDL(i_this->mModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
/* 80BC4BA8-80BC4BB4 000168 000C+00 1/1 0/0 0/0 .text
|
||||
* ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
static void ride_call_back(dBgW* param_0, fopAc_ac_c* i_this, fopAc_ac_c* param_2) {
|
||||
static_cast<obj_cb_class*>(i_this)->field_0x59c = 3;
|
||||
}
|
||||
|
||||
extern "C" void __ct__14daObj_Cb_HIO_cFv();
|
||||
extern "C" static void daObj_Cb_Draw__FP12obj_cb_class();
|
||||
extern "C" static void ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c();
|
||||
extern "C" static void action__FP12obj_cb_class();
|
||||
extern "C" static void daObj_Cb_Execute__FP12obj_cb_class();
|
||||
extern "C" static bool daObj_Cb_IsDelete__FP12obj_cb_class();
|
||||
extern "C" static void daObj_Cb_Delete__FP12obj_cb_class();
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" static void daObj_Cb_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__8cM3dGSphFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__12dBgS_ObjAcchFv();
|
||||
extern "C" void __dt__14daObj_Cb_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_cb_cpp();
|
||||
extern "C" static void func_80BC57C0();
|
||||
extern "C" static void func_80BC57C8();
|
||||
extern "C" extern char const* const d_a_obj_cb__stringBase0;
|
||||
/* 80BC4BB4-80BC51B8 000174 0604+00 1/1 0/0 0/0 .text action__FP12obj_cb_class */
|
||||
// NONMATCHING - i_this regalloc. Assigning i_this to a variable with a conversion
|
||||
// fixes the regalloc but the assignment is in wrong place
|
||||
static void action(obj_cb_class* i_this) {
|
||||
cXyz local_60;
|
||||
int local_78 = 0;
|
||||
switch(i_this->field_0x596) {
|
||||
case 0:
|
||||
if (i_this->field_0x59c != 0) {
|
||||
i_this->field_0x59c--;
|
||||
i_this->field_0x59e++;
|
||||
f32 dist = (i_this->home.pos - i_this->current.pos).abs();
|
||||
if ((i_this->field_0x59e & 4) != 0) {
|
||||
local_78 = 0x100;
|
||||
} else {
|
||||
local_78 = -0x100;
|
||||
}
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
local_60.x = 0.0f;
|
||||
local_60.y = 0.0f;
|
||||
local_60.z = i_this->speedF;
|
||||
MtxPosition(&local_60, &i_this->speed);
|
||||
i_this->current.pos += i_this->speed;
|
||||
if (dist > 30.0f) {
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.x, 0x2000, 2, 0x200);
|
||||
}
|
||||
cLib_addCalc2(&i_this->speedF, 5.0f, 1.0f, 0.5f);
|
||||
if (dist > 60.0f) {
|
||||
i_this->field_0x596 = 10;
|
||||
local_60.x = 0.0f;
|
||||
local_60.y = 0.0f;
|
||||
local_60.z = 5.0f;
|
||||
MtxPosition(&local_60, &i_this->speed);
|
||||
i_this->field_0x5a0.x = 0x900;
|
||||
dComIfG_Bgsp().Release(i_this->mBgW);
|
||||
i_this->mBgW = 0;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_CTL_ROCK_FALL, &i_this->current.pos, 0, 0, 1.0f,
|
||||
1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
} else {
|
||||
i_this->field_0x59e = 0;
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.x, 0, 1, 0x1000);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (fopAcM_searchPlayerDistanceXZ(i_this) < 90.0f) {
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
i_this->field_0x596 = 10;
|
||||
local_60.x = 0.0;
|
||||
local_60.y = 0.0;
|
||||
local_60.z = 20.0f;
|
||||
MtxPosition(&local_60, &i_this->speed);
|
||||
i_this->field_0x5a0.x = 0x900;
|
||||
i_this->field_0x598[0] = 20;
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_CTL_ROCK_FALL, &i_this->current.pos, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
i_this->current.pos += i_this->speed;
|
||||
i_this->speed.y += -5.0f;
|
||||
i_this->shape_angle.x += i_this->field_0x5a0.x;
|
||||
i_this->shape_angle.y += i_this->field_0x5a0.y;
|
||||
f32 speedY = i_this->speed.y;
|
||||
i_this->mAcch.CrrPos(dComIfG_Bgsp());
|
||||
if (i_this->field_0x598[0] == 0 && i_this->mAcch.ChkGroundHit()) {
|
||||
if (speedY <= -30.0f) {
|
||||
i_this->field_0x5a0.y = cM_rndFX(5000.0f);
|
||||
i_this->field_0x5a0.x = cM_rndFX(5000.0f);
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y + (s16)cM_rndFX(7000.0f));
|
||||
local_60.x = 0.0f;
|
||||
local_60.y = 0.0f;
|
||||
local_60.z = 15.0f + cM_rndF(10.0f);
|
||||
MtxPosition(&local_60, &i_this->speed);
|
||||
i_this->speed.y = -0.3f * speedY;
|
||||
fopAcM_effSmokeSet1(&i_this->field_0x970, &i_this->field_0x974,
|
||||
&i_this->current.pos, 0, 2.0f, &i_this->tevStr, 1);
|
||||
} else {
|
||||
i_this->field_0x5a0.set(0, 0, 0);
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.y, 0, 1, 0x1000);
|
||||
cLib_addCalcAngleS2(&i_this->shape_angle.x, 0, 1, 0x1000);
|
||||
i_this->speed.set(0.0f, -5.0f, 0.0f);
|
||||
// !@bug field_0x594 is never initialized
|
||||
i_this->field_0x594++;
|
||||
if (i_this->field_0x594 > 150) {
|
||||
fopAcM_delete(i_this);
|
||||
}
|
||||
}
|
||||
cLib_addCalc0(&i_this->field_0x5a8, 1.0f, 5.0f);
|
||||
} else {
|
||||
cLib_addCalc2(&i_this->field_0x5a8, -25.0f, 1.0f, 1.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, 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::transM(0.0f, i_this->field_0x5a8, 0.0f);
|
||||
mDoMtx_stack_c::XrotM(local_78);
|
||||
i_this->mModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDoMtx_stack_c::XrotM(-local_78);
|
||||
if (i_this->mBgW != NULL) {
|
||||
MTXCopy(mDoMtx_stack_c::get(), i_this->mBgMtx);
|
||||
i_this->mBgW->Move();
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void mDoMtx_XrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci();
|
||||
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 getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__12dBgS_AcchCirFv();
|
||||
extern "C" void SetWall__12dBgS_AcchCirFff();
|
||||
extern "C" void __dt__9dBgS_AcchFv();
|
||||
extern "C" void __ct__9dBgS_AcchFv();
|
||||
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
|
||||
extern "C" void SetObj__16dBgS_PolyPassChkFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void __ct__10dCcD_GSttsFv();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void cLib_addCalc0__FPfff();
|
||||
extern "C" void cLib_addCalcAngleS2__FPssss();
|
||||
extern "C" void MtxPosition__FP4cXyzP4cXyz();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void deleteObject__14Z2SoundObjBaseFv();
|
||||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8dCcD_Sph[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_SphAttr[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" extern void* calc_mtx[1 + 1 /* padding */];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
/* 80BC51B8-80BC5240 000778 0088+00 2/1 0/0 0/0 .text daObj_Cb_Execute__FP12obj_cb_class
|
||||
*/
|
||||
static int daObj_Cb_Execute(obj_cb_class* i_this) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (i_this->field_0x598[i] != 0) {
|
||||
i_this->field_0x598[i]--;
|
||||
}
|
||||
}
|
||||
action(i_this);
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(i_this));
|
||||
i_this->mSoundObj.framework(0, reverb);
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
/* 80BC5240-80BC5248 000800 0008+00 1/0 0/0 0/0 .text daObj_Cb_IsDelete__FP12obj_cb_class
|
||||
*/
|
||||
static int daObj_Cb_IsDelete(obj_cb_class* param_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC58F8-80BC58FC 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 data_80BC58F8;
|
||||
|
||||
/* 80BC5248-80BC52CC 000808 0084+00 1/0 0/0 0/0 .text daObj_Cb_Delete__FP12obj_cb_class
|
||||
*/
|
||||
static int daObj_Cb_Delete(obj_cb_class* i_this) {
|
||||
fopAcM_GetID(i_this);
|
||||
dComIfG_resDelete(&i_this->mPhase, "Obj_cb");
|
||||
if (i_this->field_0x978 != 0) {
|
||||
data_80BC58F8 = 0;
|
||||
}
|
||||
if (i_this->mBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(i_this->mBgW);
|
||||
}
|
||||
if (i_this->heap != NULL) {
|
||||
i_this->mSoundObj.deleteObject();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC52CC-80BC5408 00088C 013C+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static int useHeapInit(fopAc_ac_c* actor) {
|
||||
obj_cb_class* i_this = (obj_cb_class*)actor;
|
||||
J3DModelData* modelData = (J3DModelData*) dComIfG_getObjectRes("Obj_cb", 4);
|
||||
JUT_ASSERT(502, modelData != 0);
|
||||
i_this->mModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (i_this->mModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
if (i_this->home.angle.x == 0) {
|
||||
i_this->mBgW = new dBgW();
|
||||
if (i_this->mBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
cBgD_t* bGd = (cBgD_t*)dComIfG_getObjectRes("Obj_cb", 7);
|
||||
if (i_this->mBgW->Set(bGd, 1, &i_this->mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
i_this->mBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
i_this->mBgW->SetRideCallback(ride_call_back);
|
||||
}
|
||||
i_this->mSoundObj.init(&i_this->current.pos, 1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC5908-80BC5910 000018 0008+00 2/2 0/0 0/0 .bss l_HIO */
|
||||
static daObj_Cb_HIO_c l_HIO;
|
||||
|
||||
/* 80BC5408-80BC563C 0009C8 0234+00 1/0 0/0 0/0 .text daObj_Cb_Create__FP10fopAc_ac_c */
|
||||
static int daObj_Cb_Create(fopAc_ac_c* actor) {
|
||||
fopAcM_SetupActor(actor, obj_cb_class);
|
||||
obj_cb_class* i_this = (obj_cb_class*)actor;
|
||||
int rv = dComIfG_resLoad(&i_this->mPhase, "Obj_cb");
|
||||
if (rv == cPhs_COMPLEATE_e) {
|
||||
OS_REPORT("OBJ_CB PARAM %x\n", fopAcM_GetParam(i_this));
|
||||
if (i_this->home.angle.x != 0) {
|
||||
i_this->field_0x596 = 5;
|
||||
}
|
||||
OS_REPORT("OBJ_CB//////////////OBJ_CB SET 1 !!\n");
|
||||
if (fopAcM_entrySolidHeap(i_this, useHeapInit, 0x800) == 0) {
|
||||
OS_REPORT("//////////////OBJ_CB SET NON !!\n");
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
OS_REPORT("//////////////OBJ_CB SET 2 !!\n");
|
||||
if (i_this->home.angle.x == 0 && i_this->mBgW != NULL) {
|
||||
if (dComIfG_Bgsp().Regist(i_this->mBgW, i_this) != 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
if (data_80BC58F8 == 0) {
|
||||
i_this->field_0x978 = 1;
|
||||
data_80BC58F8 = 1;
|
||||
l_HIO.field_0x4 = -1;
|
||||
}
|
||||
fopAcM_SetMtx(i_this, i_this->mModel->getBaseTRMtx());
|
||||
i_this->mAcch.Set(fopAcM_GetPosition_p(i_this), fopAcM_GetOldPosition_p(i_this), i_this, 1,
|
||||
&i_this->mAcchCir, fopAcM_GetSpeed_p(i_this), NULL, NULL);
|
||||
i_this->mAcchCir.SetWall(50.0f, 50.0f);
|
||||
daObj_Cb_Execute(i_this);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC5854-80BC5874 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Cb_Method */
|
||||
static actor_method_class l_daObj_Cb_Method = {
|
||||
(process_method_func)daObj_Cb_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObj_Cb_Delete__FP12obj_cb_class,
|
||||
(process_method_func)daObj_Cb_Execute__FP12obj_cb_class,
|
||||
(process_method_func)daObj_Cb_IsDelete__FP12obj_cb_class,
|
||||
(process_method_func)daObj_Cb_Draw__FP12obj_cb_class,
|
||||
(process_method_func)daObj_Cb_Create,
|
||||
(process_method_func)daObj_Cb_Delete,
|
||||
(process_method_func)daObj_Cb_Execute,
|
||||
(process_method_func)daObj_Cb_IsDelete,
|
||||
(process_method_func)daObj_Cb_Draw,
|
||||
};
|
||||
|
||||
/* 80BC5874-80BC58A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_CB */
|
||||
|
@ -123,312 +266,4 @@ extern actor_process_profile_definition g_profile_OBJ_CB = {
|
|||
fopAc_CULLBOX_0_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BC58A4-80BC58B0 000050 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */
|
||||
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGSphFv,
|
||||
};
|
||||
|
||||
/* 80BC58B0-80BC58BC 00005C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80BC58BC-80BC58E0 000068 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
|
||||
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12dBgS_ObjAcchFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80BC57C8,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80BC57C0,
|
||||
};
|
||||
|
||||
/* 80BC58E0-80BC58EC 00008C 000C+00 2/2 0/0 0/0 .data __vt__14daObj_Cb_HIO_c */
|
||||
SECTION_DATA extern void* __vt__14daObj_Cb_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14daObj_Cb_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80BC4B2C-80BC4B44 0000EC 0018+00 1/1 0/0 0/0 .text __ct__14daObj_Cb_HIO_cFv */
|
||||
daObj_Cb_HIO_c::daObj_Cb_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC4B44-80BC4BA8 000104 0064+00 1/0 0/0 0/0 .text daObj_Cb_Draw__FP12obj_cb_class */
|
||||
static void daObj_Cb_Draw(obj_cb_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC4BA8-80BC4BB4 000168 000C+00 1/1 0/0 0/0 .text
|
||||
* ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
static void ride_call_back(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC57E4-80BC57EC 000000 0004+04 1/1 0/0 0/0 .rodata @3882 */
|
||||
SECTION_RODATA static u8 const lit_3882[4 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC57E4, &lit_3882);
|
||||
|
||||
/* 80BC57EC-80BC57F4 000008 0008+00 0/1 0/0 0/0 .rodata @3883 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3883[8] = {
|
||||
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC57EC, &lit_3883);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC57F4-80BC57FC 000010 0008+00 0/1 0/0 0/0 .rodata @3884 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3884[8] = {
|
||||
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC57F4, &lit_3884);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC57FC-80BC5804 000018 0008+00 0/1 0/0 0/0 .rodata @3885 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3885[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC57FC, &lit_3885);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5804-80BC5808 000020 0004+00 0/1 0/0 0/0 .rodata @3886 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3886 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5804, &lit_3886);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5808-80BC580C 000024 0004+00 0/1 0/0 0/0 .rodata @3887 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3887 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5808, &lit_3887);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC580C-80BC5810 000028 0004+00 0/1 0/0 0/0 .rodata @3888 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3888 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC580C, &lit_3888);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5810-80BC5814 00002C 0004+00 0/1 0/0 0/0 .rodata @3889 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3889 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80BC5810, &lit_3889);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5814-80BC5818 000030 0004+00 0/1 0/0 0/0 .rodata @3890 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3890 = 60.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5814, &lit_3890);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5818-80BC581C 000034 0004+00 0/1 0/0 0/0 .rodata @3891 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3891 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5818, &lit_3891);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC581C-80BC5820 000038 0004+00 0/1 0/0 0/0 .rodata @3892 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3892 = 90.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC581C, &lit_3892);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5820-80BC5824 00003C 0004+00 0/1 0/0 0/0 .rodata @3893 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3893 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5820, &lit_3893);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5824-80BC5828 000040 0004+00 0/1 0/0 0/0 .rodata @3894 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3894 = -5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5824, &lit_3894);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5828-80BC582C 000044 0004+00 0/1 0/0 0/0 .rodata @3895 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3895 = -30.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5828, &lit_3895);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC582C-80BC5830 000048 0004+00 0/1 0/0 0/0 .rodata @3896 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3896 = 5000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC582C, &lit_3896);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5830-80BC5834 00004C 0004+00 0/1 0/0 0/0 .rodata @3897 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3897 = 7000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5830, &lit_3897);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5834-80BC5838 000050 0004+00 0/1 0/0 0/0 .rodata @3898 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3898 = 15.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5834, &lit_3898);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5838-80BC583C 000054 0004+00 0/1 0/0 0/0 .rodata @3899 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3899 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5838, &lit_3899);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC583C-80BC5840 000058 0004+00 0/1 0/0 0/0 .rodata @3900 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3900 = -3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC583C, &lit_3900);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5840-80BC5844 00005C 0004+00 0/1 0/0 0/0 .rodata @3901 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3901 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5840, &lit_3901);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC5844-80BC5848 000060 0004+00 0/1 0/0 0/0 .rodata @3902 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3902 = -25.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5844, &lit_3902);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC4BB4-80BC51B8 000174 0604+00 1/1 0/0 0/0 .text action__FP12obj_cb_class */
|
||||
static void action(obj_cb_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC51B8-80BC5240 000778 0088+00 2/1 0/0 0/0 .text daObj_Cb_Execute__FP12obj_cb_class
|
||||
*/
|
||||
static void daObj_Cb_Execute(obj_cb_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC5240-80BC5248 000800 0008+00 1/0 0/0 0/0 .text daObj_Cb_IsDelete__FP12obj_cb_class
|
||||
*/
|
||||
static bool daObj_Cb_IsDelete(obj_cb_class* param_0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC584C-80BC584C 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BC584C = "Obj_cb";
|
||||
#pragma pop
|
||||
|
||||
/* 80BC58F8-80BC58FC 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 data_80BC58F8[4];
|
||||
|
||||
/* 80BC5248-80BC52CC 000808 0084+00 1/0 0/0 0/0 .text daObj_Cb_Delete__FP12obj_cb_class
|
||||
*/
|
||||
static void daObj_Cb_Delete(obj_cb_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC52CC-80BC5408 00088C 013C+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static void useHeapInit(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC5848-80BC584C 000064 0004+00 1/1 0/0 0/0 .rodata @4038 */
|
||||
SECTION_RODATA static f32 const lit_4038 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC5848, &lit_4038);
|
||||
|
||||
/* 80BC58FC-80BC5908 00000C 000C+00 1/1 0/0 0/0 .bss @3763 */
|
||||
static u8 lit_3763[12];
|
||||
|
||||
/* 80BC5908-80BC5910 000018 0008+00 2/2 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[8];
|
||||
|
||||
/* 80BC5408-80BC563C 0009C8 0234+00 1/0 0/0 0/0 .text daObj_Cb_Create__FP10fopAc_ac_c */
|
||||
static void daObj_Cb_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC563C-80BC5684 000BFC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
|
||||
// cM3dGSph::~cM3dGSph() {
|
||||
extern "C" void __dt__8cM3dGSphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC5684-80BC56CC 000C44 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC56CC-80BC573C 000C8C 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
|
||||
// dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" void __dt__12dBgS_ObjAcchFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC573C-80BC5784 000CFC 0048+00 2/1 0/0 0/0 .text __dt__14daObj_Cb_HIO_cFv */
|
||||
daObj_Cb_HIO_c::~daObj_Cb_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC5784-80BC57C0 000D44 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_cb_cpp */
|
||||
void __sinit_d_a_obj_cb_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80BC5784, __sinit_d_a_obj_cb_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC57C0-80BC57C8 000D80 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
|
||||
static void func_80BC57C0() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC57C8-80BC57D0 000D88 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
|
||||
static void func_80BC57C8() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BC584C-80BC584C 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -4,200 +4,336 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_fchain.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void createHeap__13daObjFchain_cFv();
|
||||
extern "C" static void daObjFchain_createHeap__FP10fopAc_ac_c();
|
||||
extern "C" void create__13daObjFchain_cFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __ct__5csXyzFv();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" static void daObjFchain_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__13daObjFchain_cFv();
|
||||
extern "C" static void daObjFchain_Delete__FP13daObjFchain_c();
|
||||
extern "C" void checkPlayerFoot__13daObjFchain_cFPC4cXyzPC4cXyzP4cXyz();
|
||||
extern "C" void setGroundVec__13daObjFchain_cFP4cXyzf();
|
||||
extern "C" void execute__13daObjFchain_cFv();
|
||||
extern "C" static void daObjFchain_Execute__FP13daObjFchain_c();
|
||||
extern "C" void draw__19daObjFchain_shape_cFv();
|
||||
extern "C" void draw__13daObjFchain_cFv();
|
||||
extern "C" static void daObjFchain_Draw__FP13daObjFchain_c();
|
||||
extern "C" void __dt__19daObjFchain_shape_cFv();
|
||||
extern "C" extern char const* const d_a_obj_fchain__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void transM__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
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 isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void getRunEventName__16dEvent_manager_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 dKy_setLight_again__Fv();
|
||||
extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c();
|
||||
extern "C" void __pl__4cXyzCFRC3Vec();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void __ml__4cXyzCFf();
|
||||
extern "C" void normalizeZP__4cXyzFv();
|
||||
extern "C" void atan2sX_Z__4cXyzCFv();
|
||||
extern "C" void atan2sY_XZ__4cXyzCFv();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cM_rnd__Fv();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
|
||||
extern "C" void loadPreDrawSetting__8J3DShapeCFv();
|
||||
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _restgpr_23();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" extern void* __vt__9J3DPacket[5];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BE7438-80BE7440 000000 0007+01 6/6 0/0 0/0 .rodata l_arcName */
|
||||
SECTION_RODATA static u8 const l_arcName[7 + 1 /* padding */] = {
|
||||
0x46,
|
||||
0x63,
|
||||
0x68,
|
||||
0x61,
|
||||
0x69,
|
||||
0x6E,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7438, &l_arcName);
|
||||
static char const l_arcName[] = "Fchain";
|
||||
|
||||
/* 80BE5FF8-80BE6054 000078 005C+00 1/1 0/0 0/0 .text createHeap__13daObjFchain_cFv */
|
||||
void daObjFchain_c::createHeap() {
|
||||
// NONMATCHING
|
||||
int daObjFchain_c::createHeap() {
|
||||
mModelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
|
||||
return mModelData != NULL ? 1 : 0;
|
||||
}
|
||||
|
||||
/* 80BE6054-80BE6074 0000D4 0020+00 1/1 0/0 0/0 .text daObjFchain_createHeap__FP10fopAc_ac_c */
|
||||
static void daObjFchain_createHeap(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjFchain_createHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjFchain_c*>(i_this)->createHeap();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BE7440-80BE744C 000008 000C+00 0/1 0/0 0/0 .rodata localVec$3662 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const localVec[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x10, 0x00, 0x00,
|
||||
static Vec const localVec = {
|
||||
0.0f, 0.0f, -9.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7440, &localVec);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE744C-80BE7450 000014 0004+00 0/2 0/0 0/0 .rodata @3710 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3710 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE744C, &lit_3710);
|
||||
#pragma pop
|
||||
/* 80BE6074-80BE6328 0000F4 02B4+00 1/1 0/0 0/0 .text create__13daObjFchain_cFv */
|
||||
int daObjFchain_c::create() {
|
||||
fopAcM_SetupActor(this, daObjFchain_c);
|
||||
int rv = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
switch (rv) {
|
||||
case cPhs_COMPLEATE_e:
|
||||
if (fopAcM_entrySolidHeap(this, daObjFchain_createHeap,
|
||||
0x10) == 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
tevStr.mRoomNo = dComIfGp_roomControl_getStayNo();
|
||||
mShape.setUserArea((u32)this);
|
||||
current.pos.y += 3.0f;
|
||||
s16 local_58 = shape_angle.y;
|
||||
cXyz* local_44 = ¤t.pos;
|
||||
cXyz* local_48 = field_0x694;
|
||||
csXyz* pdVar5 = field_0x8a4;
|
||||
for (int i = 0; i < 22; i++) {
|
||||
if ((i & 1) != 0) {
|
||||
pdVar5->z = cM_rndFX(2048.0f) + 4096.0f;
|
||||
} else {
|
||||
pdVar5->z = cM_rndFX(2048.0f) + -4096.0f;
|
||||
}
|
||||
f32 fVar1;
|
||||
if (cM_rnd() < 0.5f) {
|
||||
fVar1 = 1.0f;
|
||||
} else {
|
||||
fVar1 = -1.0f;
|
||||
}
|
||||
pdVar5->y = local_58 + (fVar1 * (cM_rndF(3072.0f) + 1024.0f));
|
||||
mDoMtx_stack_c::transS(*local_44);
|
||||
mDoMtx_stack_c::YrotM(pdVar5->y);
|
||||
mDoMtx_stack_c::multVec(&localVec, local_48);
|
||||
local_58 = pdVar5->y;
|
||||
local_44 = local_48;
|
||||
pdVar5++;
|
||||
local_48++;
|
||||
}
|
||||
rv = cPhs_COMPLEATE_e;
|
||||
break;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* 80BE7450-80BE7454 000018 0004+00 0/2 0/0 0/0 .rodata @3711 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3711 = 4096.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7450, &lit_3711);
|
||||
#pragma pop
|
||||
/* 80BE63A8-80BE63C8 000428 0020+00 1/0 0/0 0/0 .text daObjFchain_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daObjFchain_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjFchain_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80BE7454-80BE7458 00001C 0004+00 0/2 0/0 0/0 .rodata @3712 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3712 = 2048.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7454, &lit_3712);
|
||||
#pragma pop
|
||||
/* 80BE63C8-80BE64B8 000448 00F0+00 1/1 0/0 0/0 .text __dt__13daObjFchain_cFv */
|
||||
daObjFchain_c::~daObjFchain_c() {
|
||||
dComIfG_resDelete(&mPhase,l_arcName);
|
||||
}
|
||||
|
||||
/* 80BE7458-80BE745C 000020 0004+00 0/2 0/0 0/0 .rodata @3713 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3713 = -4096.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7458, &lit_3713);
|
||||
#pragma pop
|
||||
/* 80BE64B8-80BE64E0 000538 0028+00 1/0 0/0 0/0 .text daObjFchain_Delete__FP13daObjFchain_c */
|
||||
static int daObjFchain_Delete(daObjFchain_c* i_this) {
|
||||
i_this->~daObjFchain_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BE745C-80BE7460 000024 0004+00 0/3 0/0 0/0 .rodata @3714 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3714 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE745C, &lit_3714);
|
||||
#pragma pop
|
||||
/* 80BE64E0-80BE66B4 000560 01D4+00 1/1 0/0 0/0 .text
|
||||
* checkPlayerFoot__13daObjFchain_cFPC4cXyzPC4cXyzP4cXyz */
|
||||
void daObjFchain_c::checkPlayerFoot(cXyz const* param_1, cXyz const* param_2, cXyz* param_3) {
|
||||
cXyz local_24 = *param_1 - *param_2;
|
||||
f32 dVar4 = local_24.absXZ();
|
||||
if (fabsf(local_24.y) < 5.0f && dVar4 < 20.0f) {
|
||||
local_24.y = 0.0f;
|
||||
local_24.normalizeZP();
|
||||
f32 fVar1 = 20.0f - dVar4;
|
||||
param_3->x += local_24.x * fVar1;
|
||||
param_3->z += local_24.z * fVar1;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BE7460-80BE7464 000028 0004+00 0/2 0/0 0/0 .rodata @3715 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3715 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7460, &lit_3715);
|
||||
#pragma pop
|
||||
/* 80BE66B4-80BE6868 000734 01B4+00 1/1 0/0 0/0 .text setGroundVec__13daObjFchain_cFP4cXyzf */
|
||||
void daObjFchain_c::setGroundVec(cXyz* param_1, f32 param_2) {
|
||||
f32 dVar6 = param_1->absXZ();
|
||||
param_1->y += param_2;
|
||||
if (dVar6 < 0.1f) {
|
||||
param_1->z += param_2;
|
||||
} else {
|
||||
f32 fVar1 = (1.0f / dVar6);
|
||||
param_1->x += fVar1 * (param_2 * param_1->x);
|
||||
param_1->z += fVar1 * (param_2 * param_1->z);
|
||||
}
|
||||
param_1->normalizeZP();
|
||||
}
|
||||
|
||||
/* 80BE7464-80BE7468 00002C 0004+00 0/2 0/0 0/0 .rodata @3716 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3716 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80BE7464, &lit_3716);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7468-80BE746C 000030 0004+00 0/1 0/0 0/0 .rodata @3717 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3717 = 1024.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7468, &lit_3717);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE746C-80BE7470 000034 0004+00 0/1 0/0 0/0 .rodata @3718 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3718 = 3072.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE746C, &lit_3718);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7470-80BE7478 000038 0008+00 0/2 0/0 0/0 .rodata @3720 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3720[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
/* 80BE74A4-80BE74B0 00006C 000C+00 0/1 0/0 0/0 .rodata wolfChainBaseOffset$3862 */
|
||||
static Vec const wolfChainBaseOffset = {
|
||||
22.0f, 0.0f, -12.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7470, &lit_3720);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE6868-80BE7174 0008E8 090C+00 1/1 0/0 0/0 .text execute__13daObjFchain_cFv */
|
||||
// NONMATCHING - regalloc, stack
|
||||
int daObjFchain_c::execute() {
|
||||
if (dComIfGp_event_runCheck()) {
|
||||
if (dComIfGp_getEventManager().getRunEventName() != NULL) {
|
||||
if (strcmp("demo06_01", dComIfGp_getEventManager().getRunEventName()) == 0 &&
|
||||
field_0x588 >= 0)
|
||||
{
|
||||
field_0x588++;
|
||||
if (field_0x588 > 310) {
|
||||
field_0x588 = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
field_0x588 = 0;
|
||||
}
|
||||
cXyz* local_148 = ¤t.pos;
|
||||
cXyz local_54;
|
||||
cXyz cStack_60;
|
||||
if (field_0x586 != 0) {
|
||||
field_0x586--;
|
||||
}
|
||||
cXyz* pcVar12 = field_0x694;
|
||||
cXyz* local_150 = field_0x79c;
|
||||
u32 isWolf = daPy_py_c::i_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;
|
||||
if (dComIfGs_isEventBit(0x510)) {
|
||||
if (isWolf) {
|
||||
checkPlayerFoot(pcVar12, player->getLeftHandPosP(), &local_54);
|
||||
checkPlayerFoot(pcVar12, player->getRightHandPosP(), &local_54);
|
||||
}
|
||||
checkPlayerFoot(pcVar12, player->getLeftFootPosP(), &local_54);
|
||||
checkPlayerFoot(pcVar12, player->getRightFootPosP(), &local_54);
|
||||
}
|
||||
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);
|
||||
}
|
||||
local_150++;
|
||||
local_148 = pcVar12;
|
||||
pcVar12++;
|
||||
}
|
||||
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();
|
||||
if (dVar13 > 198.0f) {
|
||||
s16 sVar10 = cM_atan2s(-local_54.x, -local_54.z);
|
||||
player->setOutPower(dVar13 - 198.0f, sVar10, 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++;
|
||||
}
|
||||
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);
|
||||
}
|
||||
local_150--;
|
||||
local_148 = pcVar8;
|
||||
pcVar8--;
|
||||
}
|
||||
}
|
||||
}
|
||||
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();
|
||||
}
|
||||
if (local_150->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 +
|
||||
(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))
|
||||
{
|
||||
local_15c->z = cM_rndFX(2048.0f) + 4096.0f;
|
||||
} else {
|
||||
local_15c->z = cM_rndFX(2048.0f) + -4096.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_178 = local_15c->z;
|
||||
local_150++;
|
||||
local_15c++;
|
||||
local_160++;
|
||||
local_148 = pcVar8;
|
||||
pcVar8++;
|
||||
}
|
||||
if (field_0x584 == 0) {
|
||||
field_0x584 = 1;
|
||||
local_150 = field_0x79c;
|
||||
for (int i = 0; i < 22; i++) {
|
||||
*local_150 = cXyz::Zero;
|
||||
local_150++;
|
||||
}
|
||||
field_0x586 = 5;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BE7174-80BE7194 0011F4 0020+00 1/0 0/0 0/0 .text daObjFchain_Execute__FP13daObjFchain_c */
|
||||
static int daObjFchain_Execute(daObjFchain_c* i_this) {
|
||||
return static_cast<daObjFchain_c*>(i_this)->execute();
|
||||
}
|
||||
|
||||
/* 80BE7194-80BE7324 001214 0190+00 1/0 0/0 0/0 .text draw__19daObjFchain_shape_cFv */
|
||||
void daObjFchain_shape_c::draw() {
|
||||
daObjFchain_c* i_this = (daObjFchain_c*)getUserArea();
|
||||
cXyz* pPos = i_this->getPos();
|
||||
csXyz* pAngle = i_this->getAngle();
|
||||
J3DModelData* modelData = i_this->getModelData();
|
||||
J3DMaterial* material = modelData->getMaterialNodePointer(0);
|
||||
dKy_tevstr_c* tevStr = &i_this->tevStr;
|
||||
j3dSys.setVtxPos(modelData->getVtxPosArray());
|
||||
j3dSys.setVtxNrm(modelData->getVtxNrmArray());
|
||||
j3dSys.setVtxCol(modelData->getVtxColorArray(0));
|
||||
J3DShape::resetVcdVatCache();
|
||||
material->loadSharedDL();
|
||||
material->getShape()->loadPreDrawSetting();
|
||||
GXColor ambColor;
|
||||
ambColor.r = tevStr->mColorC0.r;
|
||||
ambColor.g = tevStr->mColorC0.g;
|
||||
ambColor.b = tevStr->mColorC0.b;
|
||||
ambColor.a = tevStr->mColorC0.a;
|
||||
GXSetChanAmbColor(GX_COLOR0A0, ambColor);
|
||||
GXSetChanMatColor(GX_COLOR0A0, g_whiteColor);
|
||||
dKy_setLight_again();
|
||||
dKy_GxFog_tevstr_set(tevStr);
|
||||
GXLoadLightObjImm(&tevStr->mLightObj.mLightObj, GX_LIGHT0);
|
||||
int local_30;
|
||||
if (dComIfGs_isEventBit(0x510)) {
|
||||
local_30 = 17;
|
||||
} else {
|
||||
local_30 = 22;
|
||||
}
|
||||
for (int i = 0; i < local_30; i++, pPos++, pAngle++) {
|
||||
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
|
||||
mDoMtx_stack_c::transM(*pPos);
|
||||
mDoMtx_stack_c::ZXYrotM(*pAngle);
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
material->getShape()->simpleDrawCache();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BE7324-80BE73B4 0013A4 0090+00 1/1 0/0 0/0 .text draw__13daObjFchain_cFv */
|
||||
int daObjFchain_c::draw() {
|
||||
if (field_0x584 != 0) {
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mModelData, &tevStr);
|
||||
if (field_0x588 > 0) {
|
||||
return 1;
|
||||
}
|
||||
dComIfGd_getOpaListDark()->entryImm(&mShape, 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BE73B4-80BE73D4 001434 0020+00 1/0 0/0 0/0 .text daObjFchain_Draw__FP13daObjFchain_c
|
||||
*/
|
||||
static int daObjFchain_Draw(daObjFchain_c* i_this) {
|
||||
return static_cast<daObjFchain_c*>(i_this)->draw();
|
||||
}
|
||||
|
||||
/* 80BE74D8-80BE74F8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjFchain_Method */
|
||||
static actor_method_class l_daObjFchain_Method = {
|
||||
(process_method_func)daObjFchain_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjFchain_Delete__FP13daObjFchain_c,
|
||||
(process_method_func)daObjFchain_Execute__FP13daObjFchain_c,
|
||||
0,
|
||||
(process_method_func)daObjFchain_Draw__FP13daObjFchain_c,
|
||||
(process_method_func)daObjFchain_Create,
|
||||
(process_method_func)daObjFchain_Delete,
|
||||
(process_method_func)daObjFchain_Execute,
|
||||
NULL,
|
||||
(process_method_func)daObjFchain_Draw,
|
||||
};
|
||||
|
||||
/* 80BE74F8-80BE7528 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Fchain */
|
||||
|
@ -218,232 +354,4 @@ extern actor_process_profile_definition g_profile_Obj_Fchain = {
|
|||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BE7528-80BE753C 000050 0014+00 3/3 0/0 0/0 .data __vt__19daObjFchain_shape_c */
|
||||
SECTION_DATA extern void* __vt__19daObjFchain_shape_c[5] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
|
||||
(void*)draw__19daObjFchain_shape_cFv,
|
||||
(void*)__dt__19daObjFchain_shape_cFv,
|
||||
};
|
||||
|
||||
/* 80BE6074-80BE6328 0000F4 02B4+00 1/1 0/0 0/0 .text create__13daObjFchain_cFv */
|
||||
void daObjFchain_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE6328-80BE6364 0003A8 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
|
||||
// csXyz::~csXyz() {
|
||||
extern "C" void __dt__5csXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE6364-80BE6368 0003E4 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
|
||||
// csXyz::csXyz() {
|
||||
extern "C" void __ct__5csXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80BE6368-80BE63A4 0003E8 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE63A4-80BE63A8 000424 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80BE63A8-80BE63C8 000428 0020+00 1/0 0/0 0/0 .text daObjFchain_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daObjFchain_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE63C8-80BE64B8 000448 00F0+00 1/1 0/0 0/0 .text __dt__13daObjFchain_cFv */
|
||||
daObjFchain_c::~daObjFchain_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE64B8-80BE64E0 000538 0028+00 1/0 0/0 0/0 .text daObjFchain_Delete__FP13daObjFchain_c */
|
||||
static void daObjFchain_Delete(daObjFchain_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BE7478-80BE7480 000040 0004+04 0/3 0/0 0/0 .rodata @3809 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3809[4 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7478, &lit_3809);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7480-80BE7488 000048 0008+00 0/3 0/0 0/0 .rodata @3810 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3810[8] = {
|
||||
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7480, &lit_3810);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7488-80BE7490 000050 0008+00 0/3 0/0 0/0 .rodata @3811 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3811[8] = {
|
||||
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7488, &lit_3811);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7490-80BE7498 000058 0008+00 0/3 0/0 0/0 .rodata @3812 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3812[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE7490, &lit_3812);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE7498-80BE749C 000060 0004+00 0/1 0/0 0/0 .rodata @3813 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3813 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE7498, &lit_3813);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE749C-80BE74A0 000064 0004+00 0/1 0/0 0/0 .rodata @3814 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3814 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE749C, &lit_3814);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE64E0-80BE66B4 000560 01D4+00 1/1 0/0 0/0 .text
|
||||
* checkPlayerFoot__13daObjFchain_cFPC4cXyzPC4cXyzP4cXyz */
|
||||
void daObjFchain_c::checkPlayerFoot(cXyz const* param_0, cXyz const* param_1, cXyz* param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BE74A0-80BE74A4 000068 0004+00 0/1 0/0 0/0 .rodata @3857 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3857 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74A0, &lit_3857);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE66B4-80BE6868 000734 01B4+00 1/1 0/0 0/0 .text setGroundVec__13daObjFchain_cFP4cXyzf */
|
||||
void daObjFchain_c::setGroundVec(cXyz* param_0, f32 param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BE74A4-80BE74B0 00006C 000C+00 0/1 0/0 0/0 .rodata wolfChainBaseOffset$3862 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const wolfChainBaseOffset[12] = {
|
||||
0x41, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x40, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BE74A4, &wolfChainBaseOffset);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74B0-80BE74B4 000078 0004+00 0/1 0/0 0/0 .rodata @4159 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4159 = -1.5f;
|
||||
COMPILER_STRIP_GATE(0x80BE74B0, &lit_4159);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74B4-80BE74B8 00007C 0004+00 0/1 0/0 0/0 .rodata @4160 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4160 = 9.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74B4, &lit_4160);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74B8-80BE74BC 000080 0004+00 0/1 0/0 0/0 .rodata @4161 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4161 = 198.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74B8, &lit_4161);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74BC-80BE74C0 000084 0004+00 0/1 0/0 0/0 .rodata @4162 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4162 = 3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74BC, &lit_4162);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74C0-80BE74C4 000088 0004+00 0/1 0/0 0/0 .rodata @4163 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4163 = 3.5f;
|
||||
COMPILER_STRIP_GATE(0x80BE74C0, &lit_4163);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74C4-80BE74C8 00008C 0004+00 0/1 0/0 0/0 .rodata @4164 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4164 = 1536.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74C4, &lit_4164);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74C8-80BE74CC 000090 0004+00 0/1 0/0 0/0 .rodata @4165 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4165 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80BE74C8, &lit_4165);
|
||||
#pragma pop
|
||||
|
||||
/* 80BE74CC-80BE74CC 000094 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BE74CC = "demo06_01";
|
||||
#pragma pop
|
||||
|
||||
/* 80BE6868-80BE7174 0008E8 090C+00 1/1 0/0 0/0 .text execute__13daObjFchain_cFv */
|
||||
void daObjFchain_c::execute() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE7174-80BE7194 0011F4 0020+00 1/0 0/0 0/0 .text daObjFchain_Execute__FP13daObjFchain_c */
|
||||
static void daObjFchain_Execute(daObjFchain_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE7194-80BE7324 001214 0190+00 1/0 0/0 0/0 .text draw__19daObjFchain_shape_cFv */
|
||||
void daObjFchain_shape_c::draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE7324-80BE73B4 0013A4 0090+00 1/1 0/0 0/0 .text draw__13daObjFchain_cFv */
|
||||
void daObjFchain_c::draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE73B4-80BE73D4 001434 0020+00 1/0 0/0 0/0 .text daObjFchain_Draw__FP13daObjFchain_c
|
||||
*/
|
||||
static void daObjFchain_Draw(daObjFchain_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE73D4-80BE7430 001454 005C+00 1/0 0/0 0/0 .text __dt__19daObjFchain_shape_cFv */
|
||||
daObjFchain_shape_c::~daObjFchain_shape_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BE74CC-80BE74CC 000094 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -4,170 +4,123 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_gb.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void daObj_Gb_Draw__FP12obj_gb_class();
|
||||
extern "C" static void daObj_Gb_Execute__FP12obj_gb_class();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" static bool daObj_Gb_IsDelete__FP12obj_gb_class();
|
||||
extern "C" static void daObj_Gb_Delete__FP12obj_gb_class();
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daObj_Gb_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" extern char const* const d_a_obj_gb__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
|
||||
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__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 isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_bg_MAxx_proc__FPv();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void MtxPosition__FP4cXyzP4cXyz();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 80BF6318-80BF63F8 000078 00E0+00 1/0 0/0 0/0 .text daObj_Gb_Draw__FP12obj_gb_class */
|
||||
static void daObj_Gb_Draw(obj_gb_class* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObj_Gb_Draw(obj_gb_class* i_this) {
|
||||
g_env_light.settingTevStruct(0x10, &i_this->current.pos, &i_this->tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(i_this->mModel, &i_this->tevStr);
|
||||
J3DModelData* modelData = (J3DModelData*)i_this->mModel->getModelData();
|
||||
for (u16 i = 0; i <= 1; i++) {
|
||||
J3DMaterial* material = (J3DMaterial*)modelData->getMaterialNodePointer(i);
|
||||
material->getTevKColor(1)->a = i_this->mColorAlpha;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF6DBC-80BF6DC0 000000 0004+00 2/2 0/0 0/0 .rodata @3890 */
|
||||
SECTION_RODATA static f32 const lit_3890 = 0.5f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DBC, &lit_3890);
|
||||
|
||||
/* 80BF6DC0-80BF6DC4 000004 0004+00 1/2 0/0 0/0 .rodata @3891 */
|
||||
SECTION_RODATA static f32 const lit_3891 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DC0, &lit_3891);
|
||||
|
||||
/* 80BF6DC4-80BF6DC8 000008 0004+00 0/1 0/0 0/0 .rodata @3892 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3892 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DC4, &lit_3892);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DC8-80BF6DCC 00000C 0004+00 0/1 0/0 0/0 .rodata @3893 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3893 = 29.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DC8, &lit_3893);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DCC-80BF6DD0 000010 0004+00 1/3 0/0 0/0 .rodata @3894 */
|
||||
SECTION_RODATA static u8 const lit_3894[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BF6DCC, &lit_3894);
|
||||
|
||||
/* 80BF6DD0-80BF6DD4 000014 0004+00 0/1 0/0 0/0 .rodata @3895 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3895 = -200.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DD0, &lit_3895);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DEC-80BF6DEC 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BF6DEC = "D_MN09B";
|
||||
#pragma pop
|
||||
dKy_bg_MAxx_proc(i_this->mModel);
|
||||
i_this->mBtk->entry(modelData);
|
||||
i_this->mBrk->entry(modelData);
|
||||
mDoExt_modelUpdateDL(i_this->mModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF63F8-80BF678C 000158 0394+00 2/1 0/0 0/0 .text daObj_Gb_Execute__FP12obj_gb_class
|
||||
*/
|
||||
static void daObj_Gb_Execute(obj_gb_class* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObj_Gb_Execute(obj_gb_class* i_this) {
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
cXyz acStack_30;
|
||||
cXyz cStack_3c;
|
||||
i_this->field_0x58e++;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (i_this->field_0x58a[i] != 0) {
|
||||
i_this->field_0x58a[i]--;
|
||||
}
|
||||
|
||||
/* 80BF678C-80BF67C8 0004EC 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
switch(i_this->mIsFinalBattle) {
|
||||
case 0:
|
||||
if (i_this->field_0x57c == 0) {
|
||||
for (int i = 0; i < 20; i++) {
|
||||
if (i_this->mBrkFrame < 0.5f) {
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_GANON_BARRIER_APPR, &i_this->field_0x594[i],
|
||||
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_GANON_BARRIER, &i_this->field_0x594[i], 0, 0,
|
||||
1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
} else {
|
||||
if (i_this->mBrkFrame < 0.5f) {
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_GANON_BARRIER_APPR, &i_this->current.pos, 0, 0,
|
||||
1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_GANON_BARRIER, &i_this->current.pos, 0, 0, 1.0f,
|
||||
1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
cLib_addCalc2(&i_this->mBrkFrame, 29.0f, 1.0f, 1.0f);
|
||||
if (strcmp(dComIfGp_getStartStageName(), "D_MN09B") != 0) {
|
||||
if (dComIfGs_isSwitch(i_this->mSw2, fopAcM_GetRoomNo(i_this)) ||
|
||||
!dComIfGs_isSwitch(i_this->mSw1, fopAcM_GetRoomNo(i_this)))
|
||||
{
|
||||
i_this->mIsFinalBattle = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
cLib_addCalc2(&i_this->mBrkFrame, 0, 1.0f, 1.0f);
|
||||
if (!dComIfGs_isSwitch(i_this->mSw2, fopAcM_GetRoomNo(i_this)) &&
|
||||
dComIfGs_isSwitch(i_this->mSw1, fopAcM_GetRoomNo(i_this)))
|
||||
{
|
||||
i_this->mIsFinalBattle = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(i_this->current.angle.y);
|
||||
if (i_this->field_0x57c == 0) {
|
||||
mDoMtx_stack_c::scaleM(i_this->scale.x, i_this->scale.y, i_this->scale.x);
|
||||
} else {
|
||||
mDoMtx_stack_c::scaleM(i_this->scale.x, i_this->scale.y, 1.0f);
|
||||
}
|
||||
i_this->mModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
i_this->mBtk->play();
|
||||
i_this->mBrk->setFrame(i_this->mBrkFrame);
|
||||
if (i_this->mBrkFrame < 1.0f) {
|
||||
mDoMtx_stack_c::transM(0.0f, -200.0f, 0.0f);
|
||||
mDoMtx_stack_c::scaleM(1.0f, 0.0f, 1.0f);
|
||||
}
|
||||
MTXCopy(mDoMtx_stack_c::get(), i_this->mBgMtx);
|
||||
i_this->mpBgW->Move();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF67C8-80BF67D0 000528 0008+00 1/0 0/0 0/0 .text daObj_Gb_IsDelete__FP12obj_gb_class
|
||||
*/
|
||||
static bool daObj_Gb_IsDelete(obj_gb_class* param_0) {
|
||||
return true;
|
||||
static int daObj_Gb_IsDelete(obj_gb_class* param_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF6DEC-80BF6DEC 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BF6DF4 = "Obj_gb";
|
||||
#pragma pop
|
||||
|
||||
/* 80BF67D0-80BF682C 000530 005C+00 1/0 0/0 0/0 .text daObj_Gb_Delete__FP12obj_gb_class
|
||||
*/
|
||||
static void daObj_Gb_Delete(obj_gb_class* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObj_Gb_Delete(obj_gb_class* i_this) {
|
||||
fopAcM_GetID(i_this);
|
||||
dComIfG_resDelete(&i_this->mPhase, "Obj_gb");
|
||||
if (i_this->mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(i_this->mpBgW);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF6DFC-80BF6E08 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80BF6E08-80BF6E1C 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 */] = {
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
|
@ -178,44 +131,132 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
|||
#pragma pop
|
||||
|
||||
/* 80BF6E1C-80BF6E24 000020 0008+00 0/1 0/0 0/0 .data bmd$3914 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 bmd[8] = {
|
||||
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07,
|
||||
static int bmd[2] = {
|
||||
6, 7,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6E24-80BF6E2C 000028 0008+00 0/1 0/0 0/0 .data brk$3915 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 brk[8] = {
|
||||
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B,
|
||||
static int brk[2] = {
|
||||
10, 11,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6E2C-80BF6E34 000030 0008+00 0/1 0/0 0/0 .data btk$3916 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 btk[8] = {
|
||||
0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F,
|
||||
static int btk[2] = {
|
||||
14, 15,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6E34-80BF6E3C 000038 0008+00 0/1 0/0 0/0 .data dzb$3917 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 dzb[8] = {
|
||||
0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13,
|
||||
static int dzb[2] = {
|
||||
18, 19,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BF682C-80BF6A98 00058C 026C+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static int useHeapInit(fopAc_ac_c* actor) {
|
||||
obj_gb_class* i_this = (obj_gb_class*)actor;
|
||||
J3DModelData* modelData = (J3DModelData*) dComIfG_getObjectRes("Obj_gb", bmd[i_this->field_0x57c]);
|
||||
JUT_ASSERT(324, modelData != 0);
|
||||
i_this->mModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284);
|
||||
if (i_this->mModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
i_this->mBtk = new mDoExt_btkAnm();
|
||||
if (i_this->mBtk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
J3DAnmTextureSRTKey* anmTexture = (J3DAnmTextureSRTKey*) dComIfG_getObjectRes(
|
||||
"Obj_gb", btk[i_this->field_0x57c]);
|
||||
if (i_this->mBtk->init(i_this->mModel->getModelData(), anmTexture, 1, 2, 1.0f, 0, -1) == 0) {
|
||||
return 0;
|
||||
}
|
||||
i_this->mBrk = new mDoExt_brkAnm();
|
||||
if (i_this->mBrk== NULL) {
|
||||
return 0;
|
||||
}
|
||||
J3DAnmTevRegKey* anmTevKey = (J3DAnmTevRegKey*)dComIfG_getObjectRes(
|
||||
"Obj_gb", brk[i_this->field_0x57c]);
|
||||
if (i_this->mBrk->init(i_this->mModel->getModelData(), anmTevKey, 1, 2, 0.0f, 0, -1) == 0) {
|
||||
return 0;
|
||||
}
|
||||
i_this->mpBgW = new dBgW();
|
||||
if (i_this->mpBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
cBgD_t* pbGd = (cBgD_t*)dComIfG_getObjectRes(
|
||||
"Obj_gb", dzb[i_this->field_0x57c]);
|
||||
return i_this->mpBgW->Set(pbGd, 1, &i_this->mBgMtx) == 1 ? 0 : 1;
|
||||
}
|
||||
|
||||
/* 80BF6AE0-80BF6DB0 000840 02D0+00 1/0 0/0 0/0 .text daObj_Gb_Create__FP10fopAc_ac_c */
|
||||
static int daObj_Gb_Create(fopAc_ac_c* actor) {
|
||||
fopAcM_SetupActor(actor, obj_gb_class);
|
||||
obj_gb_class* i_this = (obj_gb_class*)actor;
|
||||
int rv = dComIfG_resLoad(&i_this->mPhase, "Obj_gb");
|
||||
|
||||
if (rv == cPhs_COMPLEATE_e) {
|
||||
OS_REPORT("OBJ_GB PARAM %x\n", fopAcM_GetParam(i_this));
|
||||
i_this->field_0x57c = fopAcM_GetParam(i_this);
|
||||
if (i_this->field_0x57c == 0xff) {
|
||||
i_this->field_0x57c = 0;
|
||||
}
|
||||
u8 local_47 = (fopAcM_GetParam(i_this) >> 8) & 0xff;
|
||||
if (local_47 == 0xff) {
|
||||
if (i_this->field_0x57c == 0) {
|
||||
local_47 = 100;
|
||||
} else {
|
||||
local_47 = 10;
|
||||
}
|
||||
}
|
||||
if (i_this->field_0x57c == 0) {
|
||||
i_this->scale.x = local_47 * 0.01f;
|
||||
} else {
|
||||
i_this->scale.x = local_47 * 0.5f;
|
||||
}
|
||||
i_this->scale.y = ((fopAcM_GetParam(i_this) >> 16) & 0xff) * 0.333333f * 0.5f;
|
||||
i_this->mColorAlpha = fopAcM_GetParam(i_this) >> 24;
|
||||
i_this->mSw1 = i_this->current.angle.x & 0xff;
|
||||
i_this->mSw2 = (i_this->current.angle.x & 0xff00) >> 8;
|
||||
i_this->shape_angle.x = 0;
|
||||
i_this->current.angle.x = 0;
|
||||
OS_REPORT("OBJ_GB//////////////OBJ_GB SET 1 !!\n");
|
||||
int heapSize;
|
||||
if (i_this->field_0x57c == 0) {
|
||||
heapSize = 0x1c40;
|
||||
} else {
|
||||
heapSize = 0x1320;
|
||||
}
|
||||
if (fopAcM_entrySolidHeap(i_this, useHeapInit, heapSize) == 0) {
|
||||
OS_REPORT("//////////////OBJ_GB SET NON !!\n");
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
OS_REPORT("//////////////OBJ_GB SET 2 !!\n");
|
||||
if (i_this->mpBgW != NULL) {
|
||||
if (dComIfG_Bgsp().Regist(i_this->mpBgW, i_this) != 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
i_this->field_0x58e = cM_rndF(65536.0f);
|
||||
if (strcmp(dComIfGp_getStartStageName(), "D_MN09B") != 0) {
|
||||
i_this->mIsFinalBattle = 1;
|
||||
}
|
||||
s16 local_44 = 0;
|
||||
cXyz cStack_30(0.0f, 0.0f, i_this->scale.x * 1000.0f);
|
||||
for (int i = 0; i < 20; i++, local_44 += 0xccc) {
|
||||
cMtx_YrotS(*calc_mtx, local_44);
|
||||
MtxPosition(&cStack_30, &i_this->field_0x594[i]);
|
||||
i_this->field_0x594[i] += i_this->current.pos;
|
||||
}
|
||||
daObj_Gb_Execute(i_this);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* 80BF6E3C-80BF6E5C -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Gb_Method */
|
||||
static actor_method_class l_daObj_Gb_Method = {
|
||||
(process_method_func)daObj_Gb_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObj_Gb_Delete__FP12obj_gb_class,
|
||||
(process_method_func)daObj_Gb_Execute__FP12obj_gb_class,
|
||||
(process_method_func)daObj_Gb_IsDelete__FP12obj_gb_class,
|
||||
(process_method_func)daObj_Gb_Draw__FP12obj_gb_class,
|
||||
(process_method_func)daObj_Gb_Create,
|
||||
(process_method_func)daObj_Gb_Delete,
|
||||
(process_method_func)daObj_Gb_Execute,
|
||||
(process_method_func)daObj_Gb_IsDelete,
|
||||
(process_method_func)daObj_Gb_Draw,
|
||||
};
|
||||
|
||||
/* 80BF6E5C-80BF6E8C -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_GB */
|
||||
|
@ -236,71 +277,4 @@ extern actor_process_profile_definition g_profile_OBJ_GB = {
|
|||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BF6E8C-80BF6E98 000090 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
|
||||
/* 80BF682C-80BF6A98 00058C 026C+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static void useHeapInit(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF6A98-80BF6AE0 0007F8 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF6DD4-80BF6DD8 000018 0004+00 0/1 0/0 0/0 .rodata @4083 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4083 = 1.0f / 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DD4, &lit_4083);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DD8-80BF6DDC 00001C 0004+00 0/1 0/0 0/0 .rodata @4084 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_4084 = 0x3EAAAA9F;
|
||||
COMPILER_STRIP_GATE(0x80BF6DD8, &lit_4084);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DDC-80BF6DE0 000020 0004+00 0/1 0/0 0/0 .rodata @4085 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4085 = 65536.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DDC, &lit_4085);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DE0-80BF6DE4 000024 0004+00 0/1 0/0 0/0 .rodata @4086 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4086 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF6DE0, &lit_4086);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6DE4-80BF6DEC 000028 0008+00 0/1 0/0 0/0 .rodata @4088 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4088[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BF6DE4, &lit_4088);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF6AE0-80BF6DB0 000840 02D0+00 1/0 0/0 0/0 .text daObj_Gb_Create__FP10fopAc_ac_c */
|
||||
static void daObj_Gb_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF6DB0-80BF6DB4 000B10 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80BF6DEC-80BF6DEC 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,68 +4,172 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_timeFire.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
/* 80D0E8EC-80D0E910 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daTimeFire_HIO_cFv */
|
||||
daTimeFire_HIO_c::daTimeFire_HIO_c() {
|
||||
field_0x4 = 20;
|
||||
}
|
||||
|
||||
/* 80D0E958-80D0E9B0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daTimeFire_cFv */
|
||||
void daTimeFire_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);
|
||||
}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
/* 80D0E9B0-80D0EACC 0001B0 011C+00 1/1 0/0 0/0 .text create__12daTimeFire_cFv */
|
||||
int daTimeFire_c::create() {
|
||||
fopAcM_SetupActor(this, daTimeFire_c);
|
||||
setBaseMtx();
|
||||
field_0x570 = current.pos;
|
||||
lightInit();
|
||||
mStartTime = getStartTime();
|
||||
mEndTime = getEndTime();
|
||||
int scaleParam = getScale();
|
||||
f32 fVar1 = scaleParam / 10.0f;
|
||||
mParticleScale.set(fVar1, fVar1, fVar1);
|
||||
field_0x56c = fireCheck(1);
|
||||
if (!field_0x56c) {
|
||||
cutLight();
|
||||
field_0x56d = false;
|
||||
} else {
|
||||
setLight();
|
||||
field_0x56d = true;
|
||||
}
|
||||
field_0x568 = 0;
|
||||
field_0x569 = 0;
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
extern "C" void __ct__16daTimeFire_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__12daTimeFire_cFv();
|
||||
extern "C" void create__12daTimeFire_cFv();
|
||||
extern "C" void lightInit__12daTimeFire_cFv();
|
||||
extern "C" void setLight__12daTimeFire_cFv();
|
||||
extern "C" void cutLight__12daTimeFire_cFv();
|
||||
extern "C" void Execute__12daTimeFire_cFv();
|
||||
extern "C" void fireCheck__12daTimeFire_cFUc();
|
||||
extern "C" bool Draw__12daTimeFire_cFv();
|
||||
extern "C" void Delete__12daTimeFire_cFv();
|
||||
extern "C" static void daTimeFire_Draw__FP12daTimeFire_c();
|
||||
extern "C" static void daTimeFire_Execute__FP12daTimeFire_c();
|
||||
extern "C" static void daTimeFire_Delete__FP12daTimeFire_c();
|
||||
extern "C" static void daTimeFire_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__16daTimeFire_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_timeFire_cpp();
|
||||
/* 80D0EACC-80D0EB40 0002CC 0074+00 1/1 0/0 0/0 .text lightInit__12daTimeFire_cFv */
|
||||
void daTimeFire_c::lightInit() {
|
||||
field_0x594 = field_0x570;
|
||||
field_0x594.y += 10.0f;
|
||||
mLightInfluence.mPosition = field_0x594;
|
||||
mLightInfluence.mColor.r = 0xbc;
|
||||
mLightInfluence.mColor.g = 0x66;
|
||||
mLightInfluence.mColor.b = 0x42;
|
||||
mLightInfluence.mPow = 500.0f;
|
||||
mLightInfluence.mFluctuation = 1.0f;
|
||||
}
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
/* 80D0EB40-80D0EB64 000340 0024+00 2/2 0/0 0/0 .text setLight__12daTimeFire_cFv */
|
||||
void daTimeFire_c::setLight() {
|
||||
dKy_plight_set(&mLightInfluence);
|
||||
}
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void dKy_getdaytime_hour__Fv();
|
||||
extern "C" void dKy_getdaytime_minute__Fv();
|
||||
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
|
||||
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
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();
|
||||
/* 80D0EB64-80D0EB88 000364 0024+00 2/2 0/0 0/0 .text cutLight__12daTimeFire_cFv */
|
||||
void daTimeFire_c::cutLight() {
|
||||
dKy_plight_cut(&mLightInfluence);
|
||||
}
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
/* 80D0EB88-80D0ED68 000388 01E0+00 1/1 0/0 0/0 .text Execute__12daTimeFire_cFv */
|
||||
int daTimeFire_c::Execute() {
|
||||
bool prevFireCheck = field_0x56c;
|
||||
field_0x56c = fireCheck(0);
|
||||
if (prevFireCheck != field_0x56c) {
|
||||
if (field_0x56c == 0) {
|
||||
cutLight();
|
||||
field_0x56d = false;
|
||||
} else {
|
||||
setLight();
|
||||
field_0x56d = true;
|
||||
}
|
||||
}
|
||||
if (field_0x56d) {
|
||||
mParticleId1 = dComIfGp_particle_set(mParticleId1, 0x3ad, &field_0x570, NULL, &mParticleScale);
|
||||
mParticleId2 = dComIfGp_particle_set(mParticleId2, 0x3af, &field_0x570, NULL, &mParticleScale);
|
||||
mParticleId3 = dComIfGp_particle_set(mParticleId3, 0x3ae, &field_0x570, NULL, &mParticleScale);
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
|
||||
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &field_0x570, 0, reverb);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D0ED68-80D0EF88 000568 0220+00 2/2 0/0 0/0 .text fireCheck__12daTimeFire_cFUc */
|
||||
bool daTimeFire_c::fireCheck(u8 param_1) {
|
||||
bool inTime = false;
|
||||
BOOL isSw;
|
||||
if (getSw() == 0xff) {
|
||||
isSw = 1;
|
||||
} else {
|
||||
isSw = fopAcM_isSwitch(this, getSw()) & 0xff;
|
||||
}
|
||||
if (mStartTime > mEndTime) {
|
||||
if (dKy_getdaytime_hour() >= mStartTime || dKy_getdaytime_hour() <= mEndTime) {
|
||||
inTime = true;
|
||||
}
|
||||
} else {
|
||||
if (dKy_getdaytime_hour() >= mStartTime && dKy_getdaytime_hour() <= mEndTime) {
|
||||
inTime = true;
|
||||
}
|
||||
}
|
||||
if (inTime && (isSw & 0xff) && dKy_getdaytime_hour() == mStartTime && dKy_getdaytime_minute() == 0 &&
|
||||
field_0x569 == 0 && param_1 == 0)
|
||||
{
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
|
||||
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &field_0x570, 0, reverb);
|
||||
field_0x569 = 1;
|
||||
}
|
||||
if (inTime && (isSw & 0xff) && dKy_getdaytime_hour() == mEndTime && dKy_getdaytime_minute() == 0 &&
|
||||
field_0x569 == 1 && param_1 == 0)
|
||||
{
|
||||
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
|
||||
mDoAud_seStart(Z2SE_OBJ_FIRE_OFF, &field_0x570, 0, reverb);
|
||||
field_0x569 = 2;
|
||||
}
|
||||
if (inTime && (isSw & 0xff)) {
|
||||
return 1;
|
||||
}
|
||||
field_0x569 = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80D0EF88-80D0EF90 000788 0008+00 1/1 0/0 0/0 .text Draw__12daTimeFire_cFv */
|
||||
int daTimeFire_c::Draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D0EF90-80D0EFB8 000790 0028+00 1/1 0/0 0/0 .text Delete__12daTimeFire_cFv */
|
||||
int daTimeFire_c::Delete() {
|
||||
dKy_plight_cut(&mLightInfluence);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D0EFB8-80D0EFD8 0007B8 0020+00 1/0 0/0 0/0 .text daTimeFire_Draw__FP12daTimeFire_c
|
||||
*/
|
||||
static int daTimeFire_Draw(daTimeFire_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80D0EFD8-80D0EFF8 0007D8 0020+00 1/0 0/0 0/0 .text daTimeFire_Execute__FP12daTimeFire_c */
|
||||
static int daTimeFire_Execute(daTimeFire_c* i_this) {
|
||||
return i_this->Execute();
|
||||
}
|
||||
|
||||
/* 80D0EFF8-80D0F018 0007F8 0020+00 1/0 0/0 0/0 .text daTimeFire_Delete__FP12daTimeFire_c
|
||||
*/
|
||||
static int daTimeFire_Delete(daTimeFire_c* i_this) {
|
||||
return i_this->Delete();
|
||||
}
|
||||
|
||||
/* 80D0F018-80D0F038 000818 0020+00 1/0 0/0 0/0 .text daTimeFire_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daTimeFire_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daTimeFire_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80D0F17C-80D0F184 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static daTimeFire_HIO_c l_HIO;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0F100-80D0F120 -00001 0020+00 1/0 0/0 0/0 .data l_daTimeFire_Method */
|
||||
static actor_method_class l_daTimeFire_Method = {
|
||||
(process_method_func)daTimeFire_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daTimeFire_Delete__FP12daTimeFire_c,
|
||||
(process_method_func)daTimeFire_Execute__FP12daTimeFire_c,
|
||||
0,
|
||||
(process_method_func)daTimeFire_Draw__FP12daTimeFire_c,
|
||||
(process_method_func)daTimeFire_Create,
|
||||
(process_method_func)daTimeFire_Delete,
|
||||
(process_method_func)daTimeFire_Execute,
|
||||
NULL,
|
||||
(process_method_func)daTimeFire_Draw,
|
||||
};
|
||||
|
||||
/* 80D0F120-80D0F150 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TimeFire */
|
||||
|
@ -85,150 +189,3 @@ extern actor_process_profile_definition g_profile_Obj_TimeFire = {
|
|||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D0F150-80D0F15C 000050 000C+00 2/2 0/0 0/0 .data __vt__16daTimeFire_HIO_c */
|
||||
SECTION_DATA extern void* __vt__16daTimeFire_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__16daTimeFire_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80D0F15C-80D0F168 00005C 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,
|
||||
};
|
||||
|
||||
/* 80D0E8EC-80D0E910 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daTimeFire_HIO_cFv */
|
||||
daTimeFire_HIO_c::daTimeFire_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0E910-80D0E958 000110 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
|
||||
}
|
||||
|
||||
/* 80D0E958-80D0E9B0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daTimeFire_cFv */
|
||||
void daTimeFire_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0F0E4-80D0F0EC 000000 0004+04 2/2 0/0 0/0 .rodata @3686 */
|
||||
SECTION_RODATA static f32 const lit_3686[1 + 1 /* padding */] = {
|
||||
10.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0F0E4, &lit_3686);
|
||||
|
||||
/* 80D0F0EC-80D0F0F4 000008 0008+00 1/1 0/0 0/0 .rodata @3688 */
|
||||
SECTION_RODATA static u8 const lit_3688[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0F0EC, &lit_3688);
|
||||
|
||||
/* 80D0E9B0-80D0EACC 0001B0 011C+00 1/1 0/0 0/0 .text create__12daTimeFire_cFv */
|
||||
void daTimeFire_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0F0F4-80D0F0F8 000010 0004+00 0/1 0/0 0/0 .rodata @3707 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3707 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0F0F4, &lit_3707);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0F0F8-80D0F0FC 000014 0004+00 2/3 0/0 0/0 .rodata @3708 */
|
||||
SECTION_RODATA static f32 const lit_3708 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0F0F8, &lit_3708);
|
||||
|
||||
/* 80D0EACC-80D0EB40 0002CC 0074+00 1/1 0/0 0/0 .text lightInit__12daTimeFire_cFv */
|
||||
void daTimeFire_c::lightInit() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EB40-80D0EB64 000340 0024+00 2/2 0/0 0/0 .text setLight__12daTimeFire_cFv */
|
||||
void daTimeFire_c::setLight() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EB64-80D0EB88 000364 0024+00 2/2 0/0 0/0 .text cutLight__12daTimeFire_cFv */
|
||||
void daTimeFire_c::cutLight() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0F0FC-80D0F100 000018 0004+00 2/2 0/0 0/0 .rodata @3757 */
|
||||
SECTION_RODATA static f32 const lit_3757 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0F0FC, &lit_3757);
|
||||
|
||||
/* 80D0EB88-80D0ED68 000388 01E0+00 1/1 0/0 0/0 .text Execute__12daTimeFire_cFv */
|
||||
void daTimeFire_c::Execute() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0ED68-80D0EF88 000568 0220+00 2/2 0/0 0/0 .text fireCheck__12daTimeFire_cFUc */
|
||||
void daTimeFire_c::fireCheck(u8 param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EF88-80D0EF90 000788 0008+00 1/1 0/0 0/0 .text Draw__12daTimeFire_cFv */
|
||||
bool daTimeFire_c::Draw() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D0EF90-80D0EFB8 000790 0028+00 1/1 0/0 0/0 .text Delete__12daTimeFire_cFv */
|
||||
void daTimeFire_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EFB8-80D0EFD8 0007B8 0020+00 1/0 0/0 0/0 .text daTimeFire_Draw__FP12daTimeFire_c
|
||||
*/
|
||||
static void daTimeFire_Draw(daTimeFire_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EFD8-80D0EFF8 0007D8 0020+00 1/0 0/0 0/0 .text daTimeFire_Execute__FP12daTimeFire_c */
|
||||
static void daTimeFire_Execute(daTimeFire_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0EFF8-80D0F018 0007F8 0020+00 1/0 0/0 0/0 .text daTimeFire_Delete__FP12daTimeFire_c
|
||||
*/
|
||||
static void daTimeFire_Delete(daTimeFire_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0F018-80D0F038 000818 0020+00 1/0 0/0 0/0 .text daTimeFire_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daTimeFire_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0F038-80D0F094 000838 005C+00 2/1 0/0 0/0 .text __dt__16daTimeFire_HIO_cFv */
|
||||
daTimeFire_HIO_c::~daTimeFire_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0F170-80D0F17C 000008 000C+00 1/1 0/0 0/0 .bss @3621 */
|
||||
static u8 lit_3621[12];
|
||||
|
||||
/* 80D0F17C-80D0F184 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[8];
|
||||
|
||||
/* 80D0F094-80D0F0D0 000894 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_timeFire_cpp */
|
||||
void __sinit_d_a_obj_timeFire_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80D0F094, __sinit_d_a_obj_timeFire_cpp);
|
||||
#pragma pop
|
||||
|
|
|
@ -4,77 +4,148 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_toaru_maki.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void daObjToaruMaki_c_createHeap__FP10fopAc_ac_c();
|
||||
extern "C" void __ct__16daObjToaruMaki_cFv();
|
||||
extern "C" void __dt__16daObjToaruMaki_cFv();
|
||||
extern "C" void createHeap__16daObjToaruMaki_cFv();
|
||||
extern "C" void create__16daObjToaruMaki_cFv();
|
||||
extern "C" void Delete__16daObjToaruMaki_cFv();
|
||||
extern "C" void setModelMtx__16daObjToaruMaki_cFv();
|
||||
extern "C" void draw__16daObjToaruMaki_cFv();
|
||||
extern "C" void execute__16daObjToaruMaki_cFv();
|
||||
extern "C" static void daObjToaruMaki_create__FP16daObjToaruMaki_c();
|
||||
extern "C" static void daObjToaruMaki_Delete__FP16daObjToaruMaki_c();
|
||||
extern "C" static void daObjToaruMaki_execute__FP16daObjToaruMaki_c();
|
||||
extern "C" static void daObjToaruMaki_draw__FP16daObjToaruMaki_c();
|
||||
extern "C" extern char const* const d_a_obj_toaru_maki__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_setupStageTexture__FP12J3DModelData();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
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 getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
/* 80D13078-80D13098 000078 0020+00 1/1 0/0 0/0 .text daObjToaruMaki_c_createHeap__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daObjToaruMaki_c_createHeap(fopAc_ac_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjToaruMaki_c*>(i_this)->createHeap();
|
||||
}
|
||||
|
||||
/* 80D13624-80D1362C -00001 0008+00 3/3 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName[2] = {"T_Maki1", "T_Maki2"};
|
||||
|
||||
/* 80D13098-80D130E0 000098 0048+00 2/2 0/0 0/0 .text __ct__16daObjToaruMaki_cFv */
|
||||
daObjToaruMaki_c::daObjToaruMaki_c() {
|
||||
mpBgW = NULL;
|
||||
mpModel = NULL;
|
||||
}
|
||||
|
||||
/* 80D130E0-80D1316C 0000E0 008C+00 1/0 0/0 0/0 .text __dt__16daObjToaruMaki_cFv */
|
||||
daObjToaruMaki_c::~daObjToaruMaki_c() {
|
||||
dComIfG_resDelete(this, l_arcName[getNameArg_0()]);
|
||||
}
|
||||
|
||||
/* 80D13604-80D1360C 000000 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
|
||||
static const u32 l_bmdIdx[2] = {4, 3};
|
||||
|
||||
/* 80D1316C-80D132B4 00016C 0148+00 1/1 0/0 0/0 .text createHeap__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::createHeap() {
|
||||
u32 nameArg = getNameArg_0();
|
||||
J3DModelData* a_model_data_p =
|
||||
(J3DModelData*)dComIfG_getObjectRes(l_arcName[nameArg], l_bmdIdx[nameArg]);
|
||||
JUT_ASSERT(101, a_model_data_p != 0);
|
||||
mpModel = mDoExt_J3DModel__create(a_model_data_p, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
if (nameArg == 0) {
|
||||
mpBgW = new dBgW();
|
||||
if (mpBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
MTXCopy(mDoMtx_stack_c::get(), mMtx);
|
||||
cBgD_t* cBgD = (cBgD_t*)dComIfG_getObjectRes(l_arcName[nameArg], 7);
|
||||
if (mpBgW->Set(cBgD, 1, &mMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D1360C-80D13614 000008 0008+00 1/1 0/0 0/0 .rodata l_heapSize */
|
||||
static const u32 l_heapSize[2] = {
|
||||
0x2000,
|
||||
0x0EB0,
|
||||
};
|
||||
|
||||
/* 80D132B4-80D133C0 0002B4 010C+00 1/1 0/0 0/0 .text create__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::create() {
|
||||
fopAcM_SetupActor(this, daObjToaruMaki_c);
|
||||
u32 nameArg = getNameArg_0();
|
||||
int rv = dComIfG_resLoad(this, l_arcName[nameArg]);
|
||||
if (rv == cPhs_COMPLEATE_e) {
|
||||
if (fopAcM_entrySolidHeap(this, daObjToaruMaki_c_createHeap, l_heapSize[nameArg]) == 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
mDoExt_setupStageTexture(mpModel->getModelData());
|
||||
if (nameArg == 0) {
|
||||
if (dComIfG_Bgsp().Regist(mpBgW, this) != 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
setModelMtx();
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/* 80D133C0-80D1343C 0003C0 007C+00 1/1 0/0 0/0 .text Delete__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::Delete() {
|
||||
if (getNameArg_0() == 0 && mpBgW != NULL && mpBgW->ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
this->~daObjToaruMaki_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D1343C-80D134A0 00043C 0064+00 2/2 0/0 0/0 .text setModelMtx__16daObjToaruMaki_cFv
|
||||
*/
|
||||
void daObjToaruMaki_c::setModelMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* 80D134A0-80D13524 0004A0 0084+00 1/1 0/0 0/0 .text draw__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
dComIfGd_setList();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D13524-80D13548 000524 0024+00 1/1 0/0 0/0 .text execute__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::execute() {
|
||||
setModelMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D13548-80D1359C 000548 0054+00 1/0 0/0 0/0 .text daObjToaruMaki_create__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_create(daObjToaruMaki_c* i_this) {
|
||||
// !@bug this setup is called twice. No adverse effects though.
|
||||
fopAcM_SetupActor(i_this, daObjToaruMaki_c);
|
||||
return i_this->create();
|
||||
}
|
||||
|
||||
/* 80D1359C-80D135BC 00059C 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_Delete__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_Delete(daObjToaruMaki_c* i_this) {
|
||||
return i_this->Delete();
|
||||
}
|
||||
|
||||
/* 80D135BC-80D135DC 0005BC 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_execute__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_execute(daObjToaruMaki_c* i_this) {
|
||||
return i_this->execute();;
|
||||
}
|
||||
|
||||
/* 80D135DC-80D135FC 0005DC 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_draw__FP16daObjToaruMaki_c */
|
||||
static int daObjToaruMaki_draw(daObjToaruMaki_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
/* 80D1362C-80D1364C -00001 0020+00 1/0 0/0 0/0 .data daObjToaruMaki_METHODS */
|
||||
static actor_method_class daObjToaruMaki_METHODS = {
|
||||
(process_method_func)daObjToaruMaki_create__FP16daObjToaruMaki_c,
|
||||
(process_method_func)daObjToaruMaki_Delete__FP16daObjToaruMaki_c,
|
||||
(process_method_func)daObjToaruMaki_execute__FP16daObjToaruMaki_c,
|
||||
0,
|
||||
(process_method_func)daObjToaruMaki_draw__FP16daObjToaruMaki_c,
|
||||
(process_method_func)daObjToaruMaki_create,
|
||||
(process_method_func)daObjToaruMaki_Delete,
|
||||
(process_method_func)daObjToaruMaki_execute,
|
||||
NULL,
|
||||
(process_method_func)daObjToaruMaki_draw,
|
||||
};
|
||||
|
||||
/* 80D1364C-80D1367C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_ToaruMaki */
|
||||
|
@ -94,83 +165,3 @@ extern actor_process_profile_definition g_profile_Obj_ToaruMaki = {
|
|||
fopAc_ENV_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D1367C-80D13688 000058 000C+00 2/2 0/0 0/0 .data __vt__16daObjToaruMaki_c */
|
||||
SECTION_DATA extern void* __vt__16daObjToaruMaki_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__16daObjToaruMaki_cFv,
|
||||
};
|
||||
|
||||
/* 80D13098-80D130E0 000098 0048+00 2/2 0/0 0/0 .text __ct__16daObjToaruMaki_cFv */
|
||||
daObjToaruMaki_c::daObjToaruMaki_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D130E0-80D1316C 0000E0 008C+00 1/0 0/0 0/0 .text __dt__16daObjToaruMaki_cFv */
|
||||
daObjToaruMaki_c::~daObjToaruMaki_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D13604-80D1360C 000000 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
|
||||
static const u32 l_bmdIdx[2] = {4, 3};
|
||||
|
||||
/* 80D1316C-80D132B4 00016C 0148+00 1/1 0/0 0/0 .text createHeap__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::createHeap() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D1360C-80D13614 000008 0008+00 1/1 0/0 0/0 .rodata l_heapSize */
|
||||
static const u32 l_heapSize[2] = {
|
||||
0x2000,
|
||||
0x0EB0,
|
||||
};
|
||||
|
||||
/* 80D132B4-80D133C0 0002B4 010C+00 1/1 0/0 0/0 .text create__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D133C0-80D1343C 0003C0 007C+00 1/1 0/0 0/0 .text Delete__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::Delete() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D1343C-80D134A0 00043C 0064+00 2/2 0/0 0/0 .text setModelMtx__16daObjToaruMaki_cFv
|
||||
*/
|
||||
void daObjToaruMaki_c::setModelMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D134A0-80D13524 0004A0 0084+00 1/1 0/0 0/0 .text draw__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::draw() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D13524-80D13548 000524 0024+00 1/1 0/0 0/0 .text execute__16daObjToaruMaki_cFv */
|
||||
int daObjToaruMaki_c::execute() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D13548-80D1359C 000548 0054+00 1/0 0/0 0/0 .text daObjToaruMaki_create__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_create(daObjToaruMaki_c* i_this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D1359C-80D135BC 00059C 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_Delete__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_Delete(daObjToaruMaki_c* i_this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D135BC-80D135DC 0005BC 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_execute__FP16daObjToaruMaki_c
|
||||
*/
|
||||
static int daObjToaruMaki_execute(daObjToaruMaki_c* i_this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D135DC-80D135FC 0005DC 0020+00 1/0 0/0 0/0 .text daObjToaruMaki_draw__FP16daObjToaruMaki_c */
|
||||
static int daObjToaruMaki_draw(daObjToaruMaki_c* i_this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue