fix flowers

This commit is contained in:
TakaRikka
2026-03-30 00:08:07 -07:00
parent 9bca40c062
commit f9a986cf28
4 changed files with 52 additions and 8 deletions
+5
View File
@@ -103,6 +103,11 @@ public:
/* 0x12A48 */ u32 m_Jhana01DL_size;
/* 0x12A4C */ u8* mp_Jhana01_cDL;
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
#if TARGET_PC
TGXTexObj mTexObj_l_J_Ohana00_64TEX;
TGXTexObj mTexObj_l_J_Ohana01_64128_0419TEX;
#endif
}; // Size: 0x12A54
#endif /* D_FLOWER_H */
+2 -2
View File
@@ -108,8 +108,8 @@ public:
/* 0x1D714 */ s16 field_0x1d714;
#if TARGET_PC
GXTexObj mTexObj_l_M_Hijiki00TEX{};
GXTexObj mTexObj_l_M_kusa05_RGBATEX{};
TGXTexObj mTexObj_l_M_Hijiki00TEX;
TGXTexObj mTexObj_l_M_kusa05_RGBATEX;
#endif
}; // Size: 0x1D718
+1 -6
View File
@@ -80,12 +80,7 @@ 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
}
dGrass_packet_c::~dGrass_packet_c() {}
void daGrass_c::executeGrass() {
if (m_grass != NULL) {
+44
View File
@@ -509,6 +509,42 @@ dFlower_packet_c::dFlower_packet_c() {
unused += 0x2000;
}
#if TARGET_LITTLE_ENDIAN
static bool initialized = false;
if (!initialized) {
for (int i = 0; i < (ARRAY_SIZE(l_flowerPos) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerPos)[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_flowerTexCoord) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerTexCoord)[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_flowerPos2) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerPos2)[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_flowerTexCoord2) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerTexCoord2)[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_flowerNormal) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerNormal)[i]);
}
for (int i = 0; i < (ARRAY_SIZE(l_flowerNormal2) / sizeof(Vec)); i++) {
be_swap(((Vec*)l_flowerNormal2)[i]);
}
initialized = true;
}
#endif
#if TARGET_PC
GXInitTexObj(&mTexObj_l_J_Ohana00_64TEX, l_J_Ohana00_64TEX,
l_J_Ohana00_64TEX__width, l_J_Ohana00_64TEX__height, GX_TF_CMPR, GX_MIRROR, GX_MIRROR, GX_FALSE
);
GXInitTexObj(&mTexObj_l_J_Ohana01_64128_0419TEX, l_J_Ohana01_64128_0419TEX,
l_J_Ohana01_64128_0419TEX__width, l_J_Ohana01_64128_0419TEX__height, GX_TF_CMPR, GX_MIRROR, GX_MIRROR, GX_FALSE
);
#endif
m_deleteRoom = &dFlower_packet_c::deleteRoom;
#if AVOID_UB
@@ -615,6 +651,10 @@ void dFlower_packet_c::draw() {
GXLoadPosMtxImm(sp44->m_modelMtx, 0);
GXLoadNrmMtxImm(j3dSys.getViewMtx(), 0);
#if TARGET_PC
GXLoadTexObj(&mTexObj_l_J_Ohana00_64TEX, GX_TEXMAP0);
#endif
if (!cLib_checkBit<u8>(sp44->m_state, 8)) {
GXCallDisplayList(&l_J_hana00DL, 0x140);
} else {
@@ -757,6 +797,10 @@ void dFlower_packet_c::draw() {
GXLoadPosMtxImm(sp34->m_modelMtx, 0);
GXLoadNrmMtxImm(j3dSys.getViewMtx(), 0);
#if TARGET_PC
GXLoadTexObj(&mTexObj_l_J_Ohana01_64128_0419TEX, GX_TEXMAP0);
#endif
if (!cLib_checkBit<u8>(sp34->m_state, 8)) {
if (!cLib_checkBit<u8>(sp34->m_state, 0x10)) {
GXCallDisplayList(mp_Jhana01DL, m_Jhana01DL_size);