Add missing d_bg_* TUs (#3058)

* Implement d_bg_s_capt_poly

* Add d_bg_s_func

* Ad d_bg_w_deform

* Add empty source file for d_bg_w_hf
This commit is contained in:
Max Roncace 2026-01-20 19:29:47 -05:00 committed by GitHub
parent 6472d5a4a6
commit e023387d7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 75 additions and 3 deletions

View File

@ -716,9 +716,9 @@ config.libs = [
Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bg_plc.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_s.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_s_acch.cpp"),
Object(NonMatching, "d/d_bg_s_capt_poly.cpp"),
Object(MatchingFor(ALL_WII), "d/d_bg_s_capt_poly.cpp"),
Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bg_s_chk.cpp"),
Object(NonMatching, "d/d_bg_s_func.cpp"),
Object(MatchingFor("ShieldD"), "d/d_bg_s_func.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_s_gnd_chk.cpp"), # debug weak func order
Object(MatchingFor(ALL_GCN), "d/d_bg_s_grp_pass_chk.cpp"), # debug weak func order
Object(MatchingFor(ALL_GCN), "d/d_bg_s_lin_chk.cpp"),
@ -730,7 +730,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "d/d_bg_s_wtr_chk.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_w.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_w_base.cpp"),
Object(NonMatching, "d/d_bg_w_deform.cpp"),
Object(MatchingFor("ShieldD"), "d/d_bg_w_deform.cpp"),
Object(NonMatching, "d/d_bg_w_hf.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_w_kcol.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_bg_w_sv.cpp"),

View File

@ -0,0 +1,18 @@
#ifndef _D_BG_S_CAPT_POLY_H
#define _D_BG_S_CAPT_POLY_H
#include "d/d_bg_s_chk.h"
#include "SSystem/SComponent/c_m3d_g_aab.h"
#include "SSystem/SComponent/c_xyz.h"
class dBgS_CaptPoly : public cBgS_Chk, public dBgS_Chk {
public:
dBgS_CaptPoly();
~dBgS_CaptPoly() {}
void Set(cXyz&, cXyz&);
/* 0x24 */ cM3dGAab aab;
/* 0x48 */ int field_0x48;
};
#endif /* _D_BG_S_CAPT_POLY_H */

View File

@ -0,0 +1,30 @@
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/d_bg_s_capt_poly.h"
#include "JSystem/JUtility/JUTAssert.h"
dBgS_CaptPoly::dBgS_CaptPoly() {
SetPolyPassChk(GetPolyPassChkInfo());
SetGrpPassChk(GetGrpPassChkInfo());
field_0x48 = 0;
}
void dBgS_CaptPoly::Set(cXyz& min, cXyz& max) {
aab.Set(&min, &max);
JUT_ASSERT(36, !(fpclassify(min.x) == FP_QNAN));
JUT_ASSERT(37, !(fpclassify(min.y) == FP_QNAN));
JUT_ASSERT(38, !(fpclassify(min.z) == FP_QNAN));
JUT_ASSERT(39, !(fpclassify(max.x) == FP_QNAN));
JUT_ASSERT(40, !(fpclassify(max.y) == FP_QNAN));
// BUG: Assertion on wrong cXyz member (should be max.z)
JUT_ASSERT(41, !(fpclassify(max.y) == FP_QNAN));
JUT_ASSERT(45, -INF < min.x && min.x < INF);
JUT_ASSERT(46, -INF < min.y && min.y < INF);
JUT_ASSERT(47, -INF < min.z && min.z < INF);
JUT_ASSERT(48, -INF < max.x && max.x < INF);
JUT_ASSERT(49, -INF < max.y && max.y < INF);
JUT_ASSERT(50, -INF < max.z && max.z < INF);
}

6
src/d/d_bg_s_func.cpp Normal file
View File

@ -0,0 +1,6 @@
#include "d/dolzel.h" // IWYU pragma: keep
static void dummy() {
((dBgS*)NULL)->GetMtrlSndId(*(const cBgS_PolyInfo*)NULL);
}

7
src/d/d_bg_w_deform.cpp Normal file
View File

@ -0,0 +1,7 @@
#include "d/dolzel.h" // IWYU pragma: keep
static void dummy() {
((J3DModel*)NULL)->offFlag(0);
((J3DModel*)NULL)->onFlag(0);
((J3DVertexBuffer*)NULL)->getCurrentVtxPos();
}

11
src/d/d_bg_w_hf.cpp Normal file
View File

@ -0,0 +1,11 @@
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/d_bg_w_sv.h"
// need to pull in dBgWSv RTTI somehow but not sure if this is correct
class dBgWHf : public dBgWSv {
};
static void dummy() {
dBgWHf dummy;
}