mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-05 03:29:45 -04:00
fix flowers
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user