summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorElijah Thomas <42302100+elijah-thomas774@users.noreply.github.com>2024-11-12 22:30:01 -0500
committerGitHub <noreply@github.com>2024-11-12 22:30:01 -0500
commit2ecf6509dd625096fe6c7841a36bb4c7ec954cb6 (patch)
treeb9f2af52c8ef6bbaed59cb9d708e2c3500f06b53 /src/d
parent9525f8e9e5c20dccd8a9848fb6a3625f88c3e803 (diff)
Tubo! (d_a_obj_tubo) (#95)
* begin work * fixup modifications to d_a_base header * progress * update from main again (forgor to fetch) * progress * Basically done * clean up some inlines * some at/tg hit typing and tubo naming * more naming
Diffstat (limited to 'src/d')
-rw-r--r--src/d/a/d_a_base.cpp12
-rw-r--r--src/d/a/d_a_insect.cpp19
-rw-r--r--src/d/a/obj/d_a_obj_arrow.cpp9
-rw-r--r--src/d/a/obj/d_a_obj_fairy.cpp2
-rw-r--r--src/d/a/obj/d_a_obj_switch.cpp2
-rw-r--r--src/d/col/bg/d_bg_s_gnd_chk.cpp4
-rw-r--r--src/d/col/c/c_cc_d.cpp17
-rw-r--r--src/d/col/c/c_m3d_g_sph.cpp8
-rw-r--r--src/d/col/cc/d_cc_d.cpp6
-rw-r--r--src/d/tg/d_t_switch.cpp1
10 files changed, 34 insertions, 46 deletions
diff --git a/src/d/a/d_a_base.cpp b/src/d/a/d_a_base.cpp
index cf0f361d..a5b0492f 100644
--- a/src/d/a/d_a_base.cpp
+++ b/src/d/a/d_a_base.cpp
@@ -3,12 +3,12 @@
#include "d/a/d_a_player.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/d_heap.h"
+#include "d/flag/enemyflag_manager.h"
#include "f/f_list_nd.h"
#include "m/m_vec.h"
#include "toBeSorted/event.h"
#include "toBeSorted/event_manager.h"
#include "toBeSorted/file_manager.h"
-#include "d/flag/enemyflag_manager.h"
#include "toBeSorted/room_manager.h"
#include "toBeSorted/scgame.h"
#include "toBeSorted/special_item_drop_mgr.h"
@@ -243,9 +243,7 @@ u32 dAcBase_c::itemDroppingAndGivingRelated(mVec3_c *spawnPos, int subtype) {
u32 param2Copy = params2;
params2 = param2Copy | 0xFF000000;
// mAng3_c rot = {};
- return SpecialItemDropMgr::sInstance->giveSpecialDropItem(
- param2Copy >> 0x18, roomid, spawnPos, subtype, 0, -1
- );
+ return SpecialItemDropMgr::sInstance->giveSpecialDropItem(param2Copy >> 0x18, roomid, spawnPos, subtype, 0, -1);
}
// 8002cf90
@@ -264,7 +262,7 @@ void dAcBase_c::setParams2Upper_ignoreLower(u32 val) {
}
// 8002cfc0
-u8 dAcBase_c::getParams2UpperByte() {
+int dAcBase_c::getParams2UpperByte() {
return params2 >> 0x18;
}
@@ -450,7 +448,7 @@ void dAcBase_c::FUN_8002d6d0() {}
// currently named ActorBase__playSoundEffect1
void dAcBase_c::playSoundEffect1(u16) {}
void dAcBase_c::FUN_8002d740() {}
-void dAcBase_c::FUN_8002d770() {}
+void dAcBase_c::FUN_8002d770(u16, f32) {}
void dAcBase_c::FUN_8002d7a0() {}
void dAcBase_c::FUN_8002d7d0() {}
void dAcBase_c::FUN_8002d7f0() {}
@@ -551,7 +549,7 @@ dAcBase_c *dAcBase_c::createActorStage(
}
// 8002db80
-void *dAcBase_c::getCurrentEventActor() {}
+void dAcBase_c::registerInEvent() {}
// 8002db90
void dAcBase_c::unkVirtFunc_0x6C() {}
diff --git a/src/d/a/d_a_insect.cpp b/src/d/a/d_a_insect.cpp
index 1cebf79e..c9529bf5 100644
--- a/src/d/a/d_a_insect.cpp
+++ b/src/d/a/d_a_insect.cpp
@@ -10,20 +10,11 @@
#include "d/col/bg/d_bg_w_base.h"
#include "d/col/c/c_cc_d.h"
#include "d/col/c/c_m3d_g_pla.h"
-#include "egg/math/eggMath.h"
#include "m/m_angle.h"
#include "m/m_mtx.h"
#include "m/m_vec.h"
-#include "rvl/MTX/mtxvec.h"
#include "toBeSorted/attention.h"
-#include <cmath.h>
-
-// Very Hack ??
-static inline bool IsZero(f32 in) {
- return in <= EGG::Math<f32>::epsilon();
-}
-
extern "C" void fn_800298B0(u16, mVec3_c *, mVec3_c *, u32, u32, u32, u32, u32);
extern "C" u16 PARTICLE_RESOURCE_ID_MAPPING_394_;
@@ -179,10 +170,10 @@ bool dAcOInsect_c::checkDeath(cCcD_Obj &col) {
}
if (col.ChkTgHit() &&
- (col.ChkTgAtHitType(AT_TYPE_0x2) || col.ChkTgAtHitType(AT_TYPE_0x8) || col.ChkTgAtHitType(AT_TYPE_0x20) ||
- col.ChkTgAtHitType(AT_TYPE_0x40) || col.ChkTgAtHitType(AT_TYPE_0x80) || col.ChkTgAtHitType(AT_TYPE_0x2000) ||
- col.ChkTgAtHitType(AT_TYPE_0x4000) || col.ChkTgAtHitType(AT_TYPE_0x800000) ||
- col.ChkTgAtHitType(AT_TYPE_0x800))) {
+ (col.ChkTgAtHitType(AT_TYPE_SWORD) || col.ChkTgAtHitType(AT_TYPE_PHYSICS) || col.ChkTgAtHitType(AT_TYPE_BOMB) ||
+ col.ChkTgAtHitType(AT_TYPE_0x40) || col.ChkTgAtHitType(AT_TYPE_SLINGSHOT) ||
+ col.ChkTgAtHitType(AT_TYPE_ARROW) || col.ChkTgAtHitType(AT_TYPE_CLAWSHOT) ||
+ col.ChkTgAtHitType(AT_TYPE_0x800000) || col.ChkTgAtHitType(AT_TYPE_WHIP))) {
mLinkNearby = 0;
return true;
}
@@ -212,7 +203,7 @@ bool dAcOInsect_c::fn_8018FAA0() {
bool dAcOInsect_c::fn_8018FAD0() {
f32 speed = fabsf(forwardSpeed);
- if (IsZero(speed)) {
+ if (cM::isLessThanZero(speed)) {
fn_8018FDF0(mPlane_0x3A8.GetN());
return true;
} else {
diff --git a/src/d/a/obj/d_a_obj_arrow.cpp b/src/d/a/obj/d_a_obj_arrow.cpp
index bf3a7c44..0cf14a1c 100644
--- a/src/d/a/obj/d_a_obj_arrow.cpp
+++ b/src/d/a/obj/d_a_obj_arrow.cpp
@@ -16,8 +16,11 @@ STATE_DEFINE(dAcArrow_c, Bound);
cCcD_SrcGObj dAcArrow_c::sCcSrcInf = {
- {0x2000, 0x8BB, 0x15000000, 0, 0, 0, 0, 0, 0},
- {0xFEB75C7F, 0x210, 0, 0x407, 0, 0},
+ {AT_TYPE_ARROW, 0x8BB, {0x15,0, 0}, 0, 0, 0, 0, 0, 0},
+ {
+ ~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x80000 | AT_TYPE_0x8000 | AT_TYPE_ARROW | AT_TYPE_0x100 | AT_TYPE_WIND | AT_TYPE_SLINGSHOT),
+ 0x210, 0, 0x407, 0, 0
+ },
{0},
};
@@ -28,7 +31,7 @@ dCcD_SrcCps dAcArrow_c::sCc1 = {
const dCcD_SrcSph dAcArrow_c::sCc2 = {
{{0x0, 0x0, 0x0, 0, 0, 0, 0, 0, 0},
- {0x2, 0x211, 0, 0x407, 0, 0},
+ {AT_TYPE_SWORD, 0x211, 0, 0x407, 0, 0},
{0xC28}},
{100.0f},
};
diff --git a/src/d/a/obj/d_a_obj_fairy.cpp b/src/d/a/obj/d_a_obj_fairy.cpp
index 8d961727..7854e03b 100644
--- a/src/d/a/obj/d_a_obj_fairy.cpp
+++ b/src/d/a/obj/d_a_obj_fairy.cpp
@@ -96,7 +96,7 @@ void dAcObjFairy_c::executeState_CatchDemo() {
}
void dAcObjFairy_c::finalizeState_CatchDemo() {
field_0xB89 = 0;
- mObjectActorFlags &= ~0x00000200;
+ clearObjectProperty(0x200);
}
bool dAcObjFairy_c::shouldAvoidLink() const {
diff --git a/src/d/a/obj/d_a_obj_switch.cpp b/src/d/a/obj/d_a_obj_switch.cpp
index 4c3e6ec3..23052b7f 100644
--- a/src/d/a/obj/d_a_obj_switch.cpp
+++ b/src/d/a/obj/d_a_obj_switch.cpp
@@ -58,7 +58,7 @@ void dAcOsw_c::rideCallback(dBgW *unknown, dAcObjBase_c *actor, dAcObjBase_c *in
}
}
}
- interactor->mObjectActorFlags |= 0x40;
+ interactor->setObjectProperty(0x40);
}
}
diff --git a/src/d/col/bg/d_bg_s_gnd_chk.cpp b/src/d/col/bg/d_bg_s_gnd_chk.cpp
index 8a06c4e4..9c8fdab3 100644
--- a/src/d/col/bg/d_bg_s_gnd_chk.cpp
+++ b/src/d/col/bg/d_bg_s_gnd_chk.cpp
@@ -58,8 +58,8 @@ void dBgS_ObjGndChk::ClearInstance() {
sInstance.ClearPi();
}
-bool dBgS_ObjGndChk::CheckPos(const mVec3_c *pPos) {
- sInstance.SetPos(pPos);
+bool dBgS_ObjGndChk::CheckPos(const mVec3_c &pPos) {
+ sInstance.SetPos(&pPos);
sGroundHeight = dBgS::GetInstance()->GroundCross(&sInstance);
return sGroundHeight != -1e9f;
}
diff --git a/src/d/col/c/c_cc_d.cpp b/src/d/col/c/c_cc_d.cpp
index 67140f50..1dd65c6d 100644
--- a/src/d/col/c/c_cc_d.cpp
+++ b/src/d/col/c/c_cc_d.cpp
@@ -1,5 +1,6 @@
#include "d/col/c/c_cc_d.h"
+#include "c/c_math.h"
#include "common.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/col/c/c_m3d.h"
@@ -16,10 +17,6 @@
#include "rvl/MTX.h" // IWYU pragma: export
#include "s/s_Math.h"
-// Very Hack ??
-static inline bool IsZero(f32 in) {
- return fabsf(in) <= EGG::Math<f32>::epsilon();
-}
static inline void MtxTransMinusXYZ(mMtx_c &mtx, f32 x, f32 y, f32 z) {
PSMTXTrans(mtx, -x, -y, -z);
}
@@ -441,7 +438,7 @@ bool cCcD_Obj::ChkTgAtHitType(u32 mask) const {
return mTg.mAtHitSrc.mType & mask;
}
-u32 cCcD_Obj::GetTg_0x58() const {
+u32 cCcD_Obj::GetTgAtHitType() const {
return mTg.mAtHitSrc.mType;
}
@@ -508,8 +505,8 @@ dAcObjBase_c *cCcD_Obj::GetTgActor() {
return mTg.GetActor();
}
-const mVec3_c &cCcD_Obj::GetTg_0x2C() const {
- return mTg.mField_0x2C;
+const mVec3_c &cCcD_Obj::GetTgAtHitDir() const {
+ return mTg.mAtHitDir;
}
dAcObjBase_c *cCcD_Obj::GetCoActor() {
@@ -612,7 +609,7 @@ bool cCcD_TriAttr::Calc(const mVec3_c &start, const mVec3_c &end, mVec3_c *pOut)
}
mVec3_c tmp2 = tmp1 - tmp0;
f32 mag = tmp2.squaredLength();
- if (IsZero(mag)) {
+ if (cM::isZero(mag)) {
bVar1 = true;
} else {
mag = tmp2.dot(*pOut - tmp0) / mag;
@@ -978,7 +975,7 @@ bool cCcD_CpsAttr::Calc(const mVec3_c &start, const mVec3_c &end, mVec3_c *pOut)
bool bInverse;
f32 dist = EGG::Math<f32>::sqrt(tmp0.x * tmp0.x + tmp0.z * tmp0.z);
- if (IsZero(dist)) {
+ if (cM::isZero(dist)) {
tmp1 = start;
tmp2 = end;
if (endRef.y > startRef.y) {
@@ -1308,7 +1305,7 @@ void cCcD_SphAttr::Set(const cCcD_SrcSphAttr &src) {
a.z = 0.0f;
a.y = 0.0f;
a.x = 0.0f;
- SetC(&a);
+ SetC(a);
}
mVec3_c &cCcD_SphAttr::GetCoP() {
diff --git a/src/d/col/c/c_m3d_g_sph.cpp b/src/d/col/c/c_m3d_g_sph.cpp
index 5f377f98..a5292fe8 100644
--- a/src/d/col/c/c_m3d_g_sph.cpp
+++ b/src/d/col/c/c_m3d_g_sph.cpp
@@ -6,12 +6,12 @@ cM3dGSph::cM3dGSph() {
mRatio = 1.0f;
}
-void cM3dGSph::SetC(const mVec3_c *c) {
- mCenter = *c;
+void cM3dGSph::SetC(const mVec3_c &c) {
+ mCenter = c;
}
void cM3dGSph::Set(const mVec3_c *c, f32 r) {
- SetC(c);
+ SetC(*c);
SetR(r);
}
@@ -24,7 +24,7 @@ void cM3dGSph::SetR(f32 r) {
void cM3dGSph::SetC(f32 x, f32 y, f32 z) {
mVec3_c c(x, y, z);
- SetC(&c);
+ SetC(c);
}
bool cM3dGSph::Cross(cM3dGUnk &pUnk, mVec3_c *pOut) {
diff --git a/src/d/col/cc/d_cc_d.cpp b/src/d/col/cc/d_cc_d.cpp
index 3524192f..ce7e720f 100644
--- a/src/d/col/cc/d_cc_d.cpp
+++ b/src/d/col/cc/d_cc_d.cpp
@@ -62,17 +62,17 @@ void dCcD_Sph::Set(const dCcD_SrcSph &src) {
void dCcD_Sph::setCenter(const mVec3_c &c) {
SetAtVec(mVec3_c::Zero);
- SetC(&c);
+ SetC(c);
}
void dCcD_Sph::moveCenter(const mVec3_c &c) {
SetAtVec(c - GetC());
- SetC(&c);
+ SetC(c);
}
void dCcD_Sph::setCenterAndAtVec(const mVec3_c &a, const mVec3_c &b) {
SetAtVec(b);
- SetC(&a);
+ SetC(a);
}
cCcD_ShapeAttr *dCcD_Sph::GetShapeAttr() {
diff --git a/src/d/tg/d_t_switch.cpp b/src/d/tg/d_t_switch.cpp
index c7f400da..22e358fc 100644
--- a/src/d/tg/d_t_switch.cpp
+++ b/src/d/tg/d_t_switch.cpp
@@ -5,7 +5,6 @@
#include "toBeSorted/event.h"
#include "toBeSorted/scgame.h"
-
SPECIAL_ACTOR_PROFILE(SW_TAG, dTgSw_c, fProfile::SW_TAG, 0x24, 0, 0);
STATE_DEFINE(dTgSw_c, OnWait);