This commit is contained in:
TakaRikka
2026-03-13 01:54:42 -07:00
4 changed files with 45 additions and 0 deletions
+5
View File
@@ -106,6 +106,11 @@ public:
/* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
/* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
/* 0x1D714 */ s16 field_0x1d714;
#if TARGET_PC
GXTexObj mTexObj_l_M_Hijiki00TEX{};
GXTexObj mTexObj_l_M_kusa05_RGBATEX{};
#endif
}; // Size: 0x1D718
STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
+4
View File
@@ -81,6 +81,10 @@ void daGrass_c::deleteGrass() {
}
dGrass_packet_c::~dGrass_packet_c() {
#if TARGET_PC
GXDestroyTexObj(&mTexObj_l_M_kusa05_RGBATEX);
GXDestroyTexObj(&mTexObj_l_M_Hijiki00TEX);
#endif
}
void daGrass_c::executeGrass() {
+5
View File
@@ -3861,6 +3861,11 @@ int daHorse_c::procStop() {
}
f32 var_f30;
#if AVOID_UB
var_f30 = 0;
#endif
if (frame_ctrl->checkAnmEnd() || checkEndResetStateFlg0(ERFLG0_CUT_TURN_CANCEL)) {
if (m_demoMode == 8 || m_demoMode == 16) {
dComIfGp_evmng_cutEnd(m_demoStaffId);
+31
View File
@@ -449,6 +449,31 @@ dGrass_packet_c::dGrass_packet_c() {
mp_normal = (Vec*)&l_normal;
mp_colors = (GXColor*)l_color;
mp_texCoords = (Vec*)l_texCoord;
#if TARGET_LITTLE_ENDIAN
static bool initialized = false;
if (!initialized) {
for (int i = 0; i < (ARRAY_SIZE(l_pos) / sizeof(Vec)); i++) {
be_swap(mp_pos[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_texCoord) / sizeof(Vec)); i++) {
be_swap(mp_texCoords[i]);
}
initialized = true;
}
#endif
#if TARGET_PC
GXInitTexObj(&mTexObj_l_M_kusa05_RGBATEX, l_M_kusa05_RGBATEX,
l_M_kusa05_RGBATEX__width, l_M_kusa05_RGBATEX__height, GX_TF_RGB5A3, GX_REPEAT, GX_CLAMP, GX_FALSE
);
GXInitTexObj(&mTexObj_l_M_Hijiki00TEX, l_M_Hijiki00TEX,
l_M_Hijiki00TEX__width, l_M_Hijiki00TEX__height, GX_TF_RGB5A3, GX_REPEAT, GX_CLAMP, GX_FALSE
);
#endif
mp_kusa9q_DL = l_kusa9q_matDL;
m_kusa9q_DL_size = 0xA0;
mp_kusa9q_14_DL = l_kusa9q_l4_matDL;
@@ -593,12 +618,18 @@ void dGrass_packet_c::draw() {
}
if (var_r29->field_0x05 <= 3 || var_r29->field_0x05 >= 10) {
#if TARGET_PC
GXLoadTexObj(&mTexObj_l_M_kusa05_RGBATEX, GX_TEXMAP0);
#endif
if (sp48 <= 3) {
GXCallDisplayList(mp_kusa9q_14_DL, m_kusa9q_DL_14_size);
} else {
GXCallDisplayList(mp_kusa9q_DL, m_kusa9q_DL_size);
}
} else {
#if TARGET_PC
GXLoadTexObj(&mTexObj_l_M_Hijiki00TEX, GX_TEXMAP0);
#endif
GXCallDisplayList(l_Tengusa_matDL, 0xA0);
}