// // Generated By: dol2asm // Translation Unit: d/d_cc_d // #include "d/dolzel.h" // IWYU pragma: keep #include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" #include "f_pc/f_pc_searcher.h" /* 8008364C-80083660 07DF8C 0014+00 3/3 0/0 0/0 .text ClrActorInfo__22dCcD_GAtTgCoCommonBaseFv */ void dCcD_GAtTgCoCommonBase::ClrActorInfo() { mApid = -1; mAc = NULL; } /* 80083660-80083678 07DFA0 0018+00 1/1 0/0 0/0 .text ct__22dCcD_GAtTgCoCommonBaseFv */ void dCcD_GAtTgCoCommonBase::ct() { mGFlag = 0; mRPrm = 0; mHitCallback = NULL; mEffCounter = 0; } /* 80083678-80083688 07DFB8 0010+00 0/0 2/2 0/0 .text SetHitApid__22dCcD_GAtTgCoCommonBaseFUi */ void dCcD_GAtTgCoCommonBase::SetHitApid(fpc_ProcID hitApid) { mApid = hitApid; mAc = NULL; } /* 80083688-80083704 07DFC8 007C+00 6/6 17/17 43/43 .text GetAc__22dCcD_GAtTgCoCommonBaseFv */ fopAc_ac_c* dCcD_GAtTgCoCommonBase::GetAc() { if (mApid == -1) { return NULL; } if (mAc == NULL) { mAc = fopAcM_SearchByID(mApid); if (mAc == NULL) { mApid = -1; } } return mAc; } /* 80083704-80083718 07E044 0014+00 3/3 0/0 0/0 .text * Set__22dCcD_GAtTgCoCommonBaseFRC25dCcD_SrcGAtTgCoCommonBase */ void dCcD_GAtTgCoCommonBase::Set(dCcD_SrcGAtTgCoCommonBase const& src) { mGFlag = src.mGFlag; mEffCounter = 0; } /* 80083718-80083724 07E058 000C+00 0/0 1/1 0/0 .text * SetEffCounterTimer__22dCcD_GAtTgCoCommonBaseFv */ void dCcD_GAtTgCoCommonBase::SetEffCounterTimer() { mEffCounter = 5; } /* 80083724-80083748 07E064 0024+00 3/3 0/0 0/0 .text * SubtractEffCounter__22dCcD_GAtTgCoCommonBaseFv */ void dCcD_GAtTgCoCommonBase::SubtractEffCounter() { mEffCounter--; if (mEffCounter < 0) { mEffCounter = 0; } } /* 80083748-80083760 07E088 0018+00 0/0 1/1 0/0 .text ChkEffCounter__22dCcD_GAtTgCoCommonBaseFv */ bool dCcD_GAtTgCoCommonBase::ChkEffCounter() { return mEffCounter > 0; } /* 80083760-800837B0 07E0A0 0050+00 0/0 3/3 446/446 .text __ct__10dCcD_GSttsFv */ dCcD_GStts::dCcD_GStts() { mAt = 0; mTg = 0; mRoomId = 0; field_0x08 = -1; mAtApid = -1; mAtOldApid = -1; mTgApid = -1; mTgOldApid = -1; field_0x1C = 0; } /* 800837F8-80083830 07E138 0038+00 1/1 0/0 0/0 .text Ct__10dCcD_GSttsFv */ void dCcD_GStts::Ct() { mAt = 0; mTg = 0; mRoomId = 0; field_0x08 = -1; mAtApid = -1; mAtOldApid = -1; mTgApid = -1; mTgOldApid = -1; field_0x1C = 0; } /* 80083830-80083850 07E170 0020+00 0/0 3/3 160/160 .text Move__10dCcD_GSttsFv */ void dCcD_GStts::Move() { mAtOldApid = mAtApid; mAtApid = 0; mTgOldApid = mTgApid; mTgApid = 0; } /* 80083850-80083860 07E190 0010+00 1/0 0/0 0/0 .text GetGStts__9dCcD_SttsFv */ cCcD_GStts* dCcD_Stts::GetGStts() { return this; } /* 80083860-800838F4 07E1A0 0094+00 0/0 3/3 416/416 .text Init__9dCcD_SttsFiiP10fopAc_ac_c */ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) { u32 actorPid; if (pActor != NULL) { actorPid = fopAcM_GetID(pActor); } else { actorPid = -1; } cCcD_Stts::Init(param_0, param_1, pActor, actorPid); s32 roomNo; if (pActor != NULL) { roomNo = fopAcM_GetRoomNo(pActor); } else { roomNo = 0; OnNoActor(); } if (roomNo != -1) { SetRoomId(roomNo); } else { SetRoomId(0); } } /* 800838F4-80083928 07E234 0034+00 1/0 0/0 0/0 .text Ct__9dCcD_SttsFv */ void dCcD_Stts::Ct() { cCcD_Stts::Ct(); dCcD_GStts::Ct(); } /* 80083928-80083934 07E268 000C+00 1/0 0/0 0/0 .text ClrAt__9dCcD_SttsFv */ void dCcD_Stts::ClrAt() { cCcD_Stts::ClrAt(); dCcD_GStts::ClrAt(); } /* 80083934-80083944 07E274 0010+00 1/0 0/0 0/0 .text ClrTg__9dCcD_SttsFv */ void dCcD_Stts::ClrTg() { cCcD_Stts::ClrTg(); dCcD_GStts::ClrTg(); } /* 80083944-800839A0 07E284 005C+00 1/1 0/0 0/0 .text Set__11dCcD_GObjAtFRC14dCcD_SrcGObjAt */ void dCcD_GObjAt::Set(dCcD_SrcGObjAt const& src) { dCcD_GAtTgCoCommonBase::Set(src.mBase); mSe = src.mSe; mMtrl = src.mMtrl; mHitMark = src.mHitMark; mSpl = src.mSpl; } /* 800839A0-80083A28 07E2E0 0088+00 1/1 0/0 0/0 .text Set__11dCcD_GObjTgFRC14dCcD_SrcGObjTg */ void dCcD_GObjTg::Set(dCcD_SrcGObjTg const& src) { dCcD_GAtTgCoCommonBase::Set(src.mBase); mSe = src.mSe; mMtrl = src.mMtrl; mHitMark = src.mHitMark; mSpl = src.mSpl; mHitPos = cXyz::Zero; mShieldFrontRangeYAngle = NULL; mShieldRange = 0x4000; } /* 80083A28-80083B8C 07E368 0164+00 0/0 4/4 496/496 .text __ct__12dCcD_GObjInfFv */ dCcD_GObjInf::dCcD_GObjInf() {} dCcD_GObjInf::~dCcD_GObjInf() {} cCcD_GObjInf* dCcD_GObjInf::GetGObjInf() { return this; } /* 8008426C-800842C0 07EBAC 0054+00 5/0 0/0 0/0 .text ClrAtHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrAtHit() { cCcD_ObjHitInf::ClrAtHit(); mGObjAt.ClrHit(); OffAtShieldHit(); OffAtHitNoActor(); SubtractAtEffCounter(); } /* 800842C0-80084318 07EC00 0058+00 0/0 12/12 78/78 .text ChkAtHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkAtHit() { if (cCcD_ObjHitInf::ChkAtHit() == 0) { return 0; } else if (ChkAtHitNoActor() == 0 && GetAtHitAc() == NULL) { return 0; } else { return 1; } } /* 80084318-80084358 07EC58 0040+00 0/0 10/10 7/7 .text ResetAtHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ResetAtHit() { ClrAtHit(); ClrAtEffCounter(); } /* 80084358-800843A8 07EC98 0050+00 1/1 0/0 31/31 .text GetAtHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetAtHitObj() { if (ChkAtHitNoActor() == 0 && GetAtHitAc() == NULL) { return NULL; } else { return cCcD_ObjHitInf::GetAtHitObj(); } } /* 800843A8-800843DC 07ECE8 0034+00 0/0 2/2 3/3 .text GetAtHitGObj__12dCcD_GObjInfFv */ cCcD_GObjInf* dCcD_GObjInf::GetAtHitGObj() { cCcD_Obj* obj = GetAtHitObj(); if (obj == NULL) { return NULL; } else { return dCcD_GetGObjInf(obj); } } /* 800843DC-800843FC 07ED1C 0020+00 0/0 1/1 0/0 .text ChkAtNoGuard__12dCcD_GObjInfFv */ u8 dCcD_GObjInf::ChkAtNoGuard() { return GetAtSpl() >= 12; } /* 800843FC-80084460 07ED3C 0064+00 5/0 0/0 0/0 .text ClrTgHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrTgHit() { cCcD_ObjHitInf::ClrTgHit(); mGObjTg.ClrHit(); OffTgHitNoActor(); OffTgShieldHit(); OffTgMagneHit(); SubtractTgEffCounter(); } /* 80084460-800844B8 07EDA0 0058+00 0/0 6/6 305/305 .text ChkTgHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkTgHit() { if (cCcD_ObjHitInf::ChkTgHit() == 0) { return false; } else if (ChkTgHitNoActor() == 0 && GetTgHitAc() == NULL) { return false; } else { return true; } } /* 800844B8-800844F8 07EDF8 0040+00 0/0 1/1 5/5 .text ResetTgHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ResetTgHit() { ClrTgHit(); ClrTgEffCounter(); } /* 800844F8-80084548 07EE38 0050+00 1/1 3/3 228/228 .text GetTgHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetTgHitObj() { if (ChkTgHitNoActor() == 0 && GetTgHitAc() == NULL) { return NULL; } else { return cCcD_ObjHitInf::GetTgHitObj(); } } /* 80084548-8008457C 07EE88 0034+00 1/1 5/5 63/63 .text GetTgHitGObj__12dCcD_GObjInfFv */ dCcD_GObjInf* dCcD_GObjInf::GetTgHitGObj() { cCcD_Obj* obj = GetTgHitObj(); if (obj == NULL) { return NULL; } else { return dCcD_GetGObjInf(obj); } } /* 8008457C-800845B0 07EEBC 0034+00 0/0 2/2 18/18 .text GetTgHitObjSe__12dCcD_GObjInfFv */ u8 dCcD_GObjInf::GetTgHitObjSe() { dCcD_GObjInf* objInf = GetTgHitGObj(); if (objInf == NULL) { return NULL; } else { return objInf->GetAtSe(); } } /* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */ Z2SoundID const dCcD_GObjInf::m_hitSeID[24] = { Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK, Z2SE_HIT_WOLFKICK, Z2SE_HIT_WOLFBITE, Z2SE_HIT_WOOD_WEAPON, Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON, Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY, Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB, Z2SE_HIT_WOLFKICK, Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON, Z2SE_HIT_THOROW_OBJ, Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD, Z2SE_HIT_STATUE_HAMMER, Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK, }; /* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */ Z2SoundID dCcD_GObjInf::getHitSeID(u8 seIdx, int useRebound) { if (useRebound) { if (seIdx == 23) { return Z2SE_HIT_AL_ARROW_REBOUND; } if (seIdx == 7) { return Z2SE_HIT_ARROW_REBOUND; } if (seIdx == 8) { return Z2SE_HIT_HOOKSHOT_REBOUND; } } return m_hitSeID[seIdx]; } /* 8008460C-80084658 07EF4C 004C+00 5/0 0/0 0/0 .text ClrCoHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ClrCoHit() { cCcD_ObjHitInf::ClrCoHit(); mGObjCo.ClrHit(); OffCoHitNoActor(); SubtractCoEffCounter(); } /* 80084658-800846B0 07EF98 0058+00 0/0 5/5 74/74 .text ChkCoHit__12dCcD_GObjInfFv */ u32 dCcD_GObjInf::ChkCoHit() { if (cCcD_ObjHitInf::ChkCoHit() == 0) { return false; } else if (ChkCoHitNoActor() == 0 && GetCoHitAc() == NULL) { return false; } else { return true; } } /* 800846B0-800846F0 07EFF0 0040+00 0/0 1/1 2/2 .text ResetCoHit__12dCcD_GObjInfFv */ void dCcD_GObjInf::ResetCoHit() { ClrCoHit(); ClrCoEffCounter(); } /* 800846F0-80084740 07F030 0050+00 0/0 0/0 36/36 .text GetCoHitObj__12dCcD_GObjInfFv */ cCcD_Obj* dCcD_GObjInf::GetCoHitObj() { if (ChkCoHitNoActor() == 0 && GetCoHitAc() == NULL) { return NULL; } else { return cCcD_ObjHitInf::GetCoHitObj(); } } /* 80084740-8008479C 07F080 005C+00 4/4 0/0 0/0 .text Set__12dCcD_GObjInfFRC15dCcD_SrcGObjInf */ void dCcD_GObjInf::Set(dCcD_SrcGObjInf const& src) { cCcD_Obj::Set(src.mObj); mGObjAt.Set(src.mGObjAt); mGObjTg.Set(src.mGObjTg); mGObjCo.Set(src.mGObjCo); } /* 8008479C-800847C8 07F0DC 002C+00 2/2 1/1 3/3 .text dCcD_GetGObjInf__FP8cCcD_Obj */ dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* p_obj) { return (dCcD_GObjInf*)p_obj->GetGObjInf(); } cCcD_ShapeAttr* dCcD_Pnt::GetShapeAttr() { return this; } /* 800847D0-80084814 07F110 0044+00 0/0 1/1 20/20 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */ void dCcD_Cps::Set(dCcD_SrcCps const& src) { dCcD_GObjInf::Set(src.mObjInf); cCcD_CpsAttr::Set(src.mCpsAttr); } /* 80084814-80084824 07F154 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CpsFv */ cCcD_ShapeAttr* dCcD_Cps::GetShapeAttr() { return this; } /* 80084824-80084854 07F164 0030+00 0/0 0/0 6/6 .text CalcAtVec__8dCcD_CpsFv */ void dCcD_Cps::CalcAtVec() { cXyz* dest = GetAtVecP(); CalcVec(dest); } /* 80084854-80084884 07F194 0030+00 0/0 0/0 2/2 .text CalcTgVec__8dCcD_CpsFv */ void dCcD_Cps::CalcTgVec() { cXyz* dest = GetTgVecP(); CalcVec(dest); } /* 80084884-800848A4 07F1C4 0020+00 0/0 0/0 5/5 .text Set__8dCcD_TriFRC11dCcD_SrcTri */ void dCcD_Tri::Set(dCcD_SrcTri const& src) { dCcD_GObjInf::Set(src.mObjInf); } /* 800848A4-800848B4 07F1E4 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_TriFv */ cCcD_ShapeAttr* dCcD_Tri::GetShapeAttr() { return this; } /* 800848B4-800848F8 07F1F4 0044+00 0/0 2/2 245/245 .text Set__8dCcD_CylFRC11dCcD_SrcCyl */ void dCcD_Cyl::Set(dCcD_SrcCyl const& src) { dCcD_GObjInf::Set(src.mObjInf); cCcD_CylAttr::Set(src.mCyl); } /* 800848F8-80084908 07F238 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CylFv */ cCcD_ShapeAttr* dCcD_Cyl::GetShapeAttr() { return this; } /* 80084908-80084954 07F248 004C+00 0/0 3/3 3/3 .text StartCAt__8dCcD_CylFR4cXyz */ void dCcD_Cyl::StartCAt(cXyz& pos) { cXyz zero(cXyz::Zero); SetAtVec(zero); SetC(pos); } /* 80084954-800849C4 07F294 0070+00 0/0 3/3 4/4 .text MoveCAt__8dCcD_CylFR4cXyz */ void dCcD_Cyl::MoveCAt(cXyz& pos) { const cXyz* center = GetCP(); cXyz diff = pos - *center; SetAtVec(diff); SetC(pos); } /* 800849C4-80084A34 07F304 0070+00 0/0 0/0 1/1 .text MoveCTg__8dCcD_CylFR4cXyz */ void dCcD_Cyl::MoveCTg(cXyz& pos) { const cXyz* center = GetCP(); cXyz diff = pos - *center; SetTgVec(diff); SetC(pos); } /* 80084A34-80084A78 07F374 0044+00 0/0 2/2 196/196 .text Set__8dCcD_SphFRC11dCcD_SrcSph */ void dCcD_Sph::Set(dCcD_SrcSph const& src) { dCcD_GObjInf::Set(src.mObjInf); cCcD_SphAttr::Set(src.mSphAttr); } /* 80084A78-80084AC4 07F3B8 004C+00 0/0 3/3 25/25 .text StartCAt__8dCcD_SphFR4cXyz */ void dCcD_Sph::StartCAt(cXyz& pos) { cXyz zero(cXyz::Zero); SetAtVec(zero); cM3dGSph::SetC(pos); } /* 80084AC4-80084B34 07F404 0070+00 0/0 2/2 23/23 .text MoveCAt__8dCcD_SphFR4cXyz */ void dCcD_Sph::MoveCAt(cXyz& pos) { const cXyz* center = GetCP(); cXyz diff = pos - *center; SetAtVec(diff); SetC(pos); } cCcD_ShapeAttr* dCcD_Sph::GetShapeAttr() { return this; }