summaryrefslogtreecommitdiff
path: root/include/d/col
diff options
context:
space:
mode:
authorelijah-thomas774 <elijahthomas774@gmail.com>2025-05-26 22:12:25 -0400
committerelijah-thomas774 <elijahthomas774@gmail.com>2025-05-26 22:12:25 -0400
commit00a4d0a1665af090e9829ee246cdfce27c39c657 (patch)
tree1c2ead4822a670153a22c22122c0c7817322baf4 /include/d/col
parent01839e716fb4c7ac9afd4fb3d5c05ed1c6516db7 (diff)
intial progress
Diffstat (limited to 'include/d/col')
-rw-r--r--include/d/col/bg/d_bg_s_acch.h24
-rw-r--r--include/d/col/bg/d_bg_s_roof_chk.h4
-rw-r--r--include/d/col/c/c_bg_s_lin_chk.h3
-rw-r--r--include/d/col/c/c_cc_d.h18
4 files changed, 47 insertions, 2 deletions
diff --git a/include/d/col/bg/d_bg_s_acch.h b/include/d/col/bg/d_bg_s_acch.h
index 6682fac3..ef546f23 100644
--- a/include/d/col/bg/d_bg_s_acch.h
+++ b/include/d/col/bg/d_bg_s_acch.h
@@ -146,6 +146,7 @@ public:
/* 0x 0800 0000 */ ACCH_FLAG_0x8000000 = (1 << 27),
/* 0x 1000 0000 */ ACCH_FLAG_0x10000000 = (1 << 28),
/* 0x 2000 0000 */ ACCH_FLAG_0x20000000 = (1 << 29),
+ /* 0x 4000 0000 */ ACCH_FLAG_0x40000000 = (1 << 30),
/* 0x 8000 0000 */ ACCH_FLAG_0x80000000 = (1 << 31),
};
@@ -314,6 +315,12 @@ public:
return mFlags & ACCH_FLAG_0x10000000;
}
+ void ClrLineDown() {
+ mFlags &= ~LINE_DOWN;
+ }
+ void SetLineDown() {
+ mFlags |= LINE_DOWN;
+ }
void Clr_0x20000() {
mFlags &= ~ACCH_FLAG_0x20000;
}
@@ -323,6 +330,15 @@ public:
bool Chk_0x20000() {
return mFlags & ACCH_FLAG_0x20000;
}
+ void Clr_0x40000000() {
+ mFlags &= ~ACCH_FLAG_0x40000000;
+ }
+ void Set_0x40000000() {
+ mFlags |= ACCH_FLAG_0x40000000;
+ }
+ bool Chk_0x40000000() {
+ return mFlags & ACCH_FLAG_0x40000000;
+ }
void Clr_0x80000000() {
mFlags &= ~ACCH_FLAG_0x80000000;
}
@@ -506,6 +522,14 @@ public:
return mGnd;
}
+ dBgS_RoofChk &GetRoof() {
+ return mRoof;
+ }
+
+ void SetField_0xD4(f32 v) {
+ mField_0x0D4 = v;
+ }
+
public:
/* 0x040 */ u32 mFlags;
/* 0x044 */ mVec3_c *mpPos;
diff --git a/include/d/col/bg/d_bg_s_roof_chk.h b/include/d/col/bg/d_bg_s_roof_chk.h
index 214cef0b..0e012dd1 100644
--- a/include/d/col/bg/d_bg_s_roof_chk.h
+++ b/include/d/col/bg/d_bg_s_roof_chk.h
@@ -23,6 +23,10 @@ public:
void SetPos(mVec3_c const *);
+ void SetField_0x7C(u8 param0) {
+ mField_0x7C = param0;
+ }
+
void SetNowY(f32 y) {
mNowY = y;
}
diff --git a/include/d/col/c/c_bg_s_lin_chk.h b/include/d/col/c/c_bg_s_lin_chk.h
index 4d5e8141..e3cafb41 100644
--- a/include/d/col/c/c_bg_s_lin_chk.h
+++ b/include/d/col/c/c_bg_s_lin_chk.h
@@ -50,6 +50,9 @@ public:
bool GetPreGroundChk() const {
return mPreGroundChk;
}
+ void SetPreRoofChk(bool b) {
+ mPreRoofChk = b;
+ }
bool GetPreRoofChk() const {
return mPreRoofChk;
}
diff --git a/include/d/col/c/c_cc_d.h b/include/d/col/c/c_cc_d.h
index d3a0cf5a..975c2b36 100644
--- a/include/d/col/c/c_cc_d.h
+++ b/include/d/col/c/c_cc_d.h
@@ -338,7 +338,7 @@ enum dCcD_ObjAtType {
/* 0x 0000 0008 */ AT_TYPE_PHYSICS = (1 << 3),
/* 0x 0000 0010 */ AT_TYPE_0x10 = (1 << 4),
/* 0x 0000 0020 */ AT_TYPE_BOMB = (1 << 5),
- /* 0x 0000 0040 */ AT_TYPE_0x40 = (1 << 6),
+ /* 0x 0000 0040 */ AT_TYPE_0x40 = (1 << 6), // Used in Beetle
/* 0x 0000 0080 */ AT_TYPE_SLINGSHOT = (1 << 7),
/* 0x 0000 0100 */ AT_TYPE_0x100 = (1 << 8),
/* 0x 0000 0200 */ AT_TYPE_WIND = (1 << 9),
@@ -686,7 +686,7 @@ public:
cCcD_ObjCo();
virtual ~cCcD_ObjCo();
void Set(const cCcD_SrcGObjCo &);
- void SetCoFlag(u32);
+ void SetGrp(u32);
void AdjustHitPos(f32, f32);
void ClrSet() {
@@ -815,6 +815,9 @@ public:
mCo.OnSPrm(f);
}
+ void SetAtType(u32 type) {
+ mAt.SetType(type);
+ }
void SetTgType(u32 type) {
mTg.SetType(type);
}
@@ -932,6 +935,11 @@ public:
void OnAt_0x40() {
mAt.OnSPrm(0x40);
}
+ // Related to Beetle (no hook)
+ void OnAt_0x4000() {
+ mAt.OnSPrm(0x4000);
+ }
+
void SetAtDamage(u8 amount) {
@@ -967,6 +975,9 @@ public:
void ClrTgElectric() {
return mTg.OffSPrm(0x40000);
}
+ u32 ChkTgBonk() const {
+ return mTg.MskSPrm(0x200000);
+ }
void OnTg_0x200000() {
mTg.OnSPrm(0x200000);
@@ -990,6 +1001,9 @@ public:
// Co
+ void SetCoGrp(u32 grp) {
+ mCo.SetGrp(grp << 4);
+ }
void OnCoSet() {
mCo.OnSPrm(1);
}