diff options
Diffstat (limited to 'src/d/actor/d_a_boko.cpp')
| -rw-r--r-- | src/d/actor/d_a_boko.cpp | 172 |
1 files changed, 166 insertions, 6 deletions
diff --git a/src/d/actor/d_a_boko.cpp b/src/d/actor/d_a_boko.cpp index 3d2cfa8d..a7786d02 100644 --- a/src/d/actor/d_a_boko.cpp +++ b/src/d/actor/d_a_boko.cpp @@ -1,7 +1,7 @@ -// -// Generated by dtk -// Translation Unit: d_a_boko.cpp -// +/** + * d_a_boko.cpp + * Object - Enemy weapons + */ #include "d/actor/d_a_boko.h" #include "d/d_com_inf_game.h" @@ -10,11 +10,167 @@ #include "d/d_bg_s_lin_chk.h" #include "weak_bss_936_to_1036.h" // IWYU pragma: keep +#include "weak_data_2100_2080.h" // IWYU pragma: keep +#include "weak_data_1811.h" // IWYU pragma: keep + +u32 daBoko_c::m_bound_se[6] = { + JA_SE_CM_BOKOBOU_BOUND, + JA_SE_CM_NATA_BOUND, + JA_SE_OBJ_ST_CLUB_FALL, + JA_SE_OBJ_TN_SWORD_FALL, + JA_SE_CM_LANCE_BOUND, + JA_SE_OBJ_TN_SWORD_FALL +}; + +s32 daBoko_c::m_heap_size[6] = { + 0x2300, + 0x1240, + 0x1240, + 0x1240, + 0x4200, + 0x2000 +}; + +char* daBoko_c::m_arc_name[6] = { + "Boko", /* Boko stick */ + "Nata", /* Bokoblin machete */ + "Club", /* Stalfos mace/club */ + "Tkwn", /* Darknut sword */ + "Spear", /* Moblin spear */ + "Pgsw" /* Phantom Ganon's sword */ +}; + +Vec daBoko_c::m_cull_min[6] = { + { + -20.0f, + -10.0f, + -95.0f, + }, + { + -20.0f, + -10.0f, + -95.0f, + }, + { + -35.0f, + -35.0f, + -125.0f, + }, + { + -45.0f, + -10.0f, + -145.0f, + }, + { + -20.0f, + -20.0f, + -180.0f, + }, + { + -50.0f, + -20.0f, + -140.0f, + }, +}; + +Vec daBoko_c::m_cull_max[6] = { + { + 20.0f, + 10.0f, + 95.0f, + }, + { + 20.0f, + 10.0f, + 95.0f, + }, + { + 35.0f, + 35.0f, + 120.0f, + }, + { + 45.0f, + 10.0f, + 130.0f, + }, + { + 20.0f, + 20.0f, + 200.0f, + }, + { + 50.0f, + 20.0f, + 120.0f, + }, +}; static cXyz l_break_particle_offset(0.0f, 0.0f, 30.0f); dBgS_ObjGndChk daBoko_c::m_ground_check; dBgS_ObjLinChk daBoko_c::m_line_check; +static dCcD_SrcSph sph_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ AT_TYPE_UNK20000, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ cCcD_AtSPrm_GrpAll_e, + /* SrcObjTg Type */ AT_TYPE_WATER | AT_TYPE_FIRE | AT_TYPE_UNK20000, + /* SrcObjTg SPrm */ cCcD_TgSPrm_Set_e | cCcD_TgSPrm_IsOther_e, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt SPrm */ dCcG_TgSPrm_NoConHit_e, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg SPrm */ 0, + /* SrcGObjCo SPrm */ 0, + + }, + // cM3dGSphS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 20.0f, + }, +}; + +static dCcD_SrcCps at_cps_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ AT_TYPE_BOKO_STICK, + /* SrcObjAt Atp */ 0x01, + /* SrcObjAt SPrm */ cCcD_AtSPrm_Set_e | cCcD_AtSPrm_VsEnemy_e | cCcD_AtSPrm_VsOther_e, + /* SrcObjTg Type */ 0, + /* SrcObjTg SPrm */ 0, + /* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IGrpAll_e, + /* SrcGObjAt Se */ dCcG_SE_UNK1, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt SPrm */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg SPrm */ 0, + /* SrcGObjCo SPrm */ 0, + + }, + // cM3dGCpsS + { + /* Start */ 0.0f, 0.0f, 0.0f, + /* End */ 0.0f, 0.0f, 0.0f, + /* Radius */ 20.0f, + }, +}; + const s16 daBoko_HIO_c0::throw_timer = 2; const f32 daBoko_HIO_c0::throw_speed = 70.0f; @@ -231,8 +387,12 @@ static BOOL daBoko_IsDelete(daBoko_c* i_this) { } /* 00002A2C-00002AA4 .text bokoDelete__8daBoko_cFv */ -void daBoko_c::bokoDelete() { - /* Nonmatching */ +BOOL daBoko_c::bokoDelete() { + mDoAud_seDeleteObject(&m2D0); + mParticleCallBack.end(); + dKy_plight_cut(&mLight); + dComIfG_resDelete(&mPhs, m_arc_name[fopAcM_GetParam(this)]); + return TRUE; } /* 00002AA4-00002AC8 .text daBoko_Delete__FP8daBoko_c */ |
