mirror of https://github.com/AxioDL/metaforce.git
CGameArea: PostConstructArea fixes for lights
This commit is contained in:
parent
0f0e91a021
commit
ff64acad67
|
@ -917,16 +917,18 @@ void CGameArea::PostConstructArea() {
|
||||||
/* Lights section */
|
/* Lights section */
|
||||||
if (header.version > 6) {
|
if (header.version > 6) {
|
||||||
CMemoryInStream r(secIt->first, secIt->second, CMemoryInStream::EOwnerShip::NotOwned);
|
CMemoryInStream r(secIt->first, secIt->second, CMemoryInStream::EOwnerShip::NotOwned);
|
||||||
u32 magic = r.ReadLong();
|
u32 aCount = r.ReadLong();
|
||||||
if (magic == 0xBABEDEAD) {
|
if (aCount == 0xBABEDEAD) {
|
||||||
u32 aCount = r.ReadLong();
|
aCount = r.ReadLong();
|
||||||
x12c_postConstructed->x60_lightsA.reserve(aCount);
|
}
|
||||||
x12c_postConstructed->x70_gfxLightsA.reserve(aCount);
|
x12c_postConstructed->x60_lightsA.reserve(aCount);
|
||||||
for (u32 i = 0; i < aCount; ++i) {
|
x12c_postConstructed->x70_gfxLightsA.reserve(aCount);
|
||||||
x12c_postConstructed->x60_lightsA.emplace_back(r);
|
for (u32 i = 0; i < aCount; ++i) {
|
||||||
x12c_postConstructed->x70_gfxLightsA.push_back(x12c_postConstructed->x60_lightsA.back().GetAsCGraphicsLight());
|
x12c_postConstructed->x60_lightsA.emplace_back(r);
|
||||||
}
|
x12c_postConstructed->x70_gfxLightsA.push_back(x12c_postConstructed->x60_lightsA.back().GetAsCGraphicsLight());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aCount == 0xBABEDEAD) {
|
||||||
u32 bCount = r.ReadLong();
|
u32 bCount = r.ReadLong();
|
||||||
x12c_postConstructed->x80_lightsB.reserve(bCount);
|
x12c_postConstructed->x80_lightsB.reserve(bCount);
|
||||||
x12c_postConstructed->x90_gfxLightsB.reserve(bCount);
|
x12c_postConstructed->x90_gfxLightsB.reserve(bCount);
|
||||||
|
@ -936,6 +938,11 @@ void CGameArea::PostConstructArea() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (x12c_postConstructed->x80_lightsB.empty()) {
|
||||||
|
x12c_postConstructed->x80_lightsB = x12c_postConstructed->x60_lightsA;
|
||||||
|
x12c_postConstructed->x90_gfxLightsB = x12c_postConstructed->x70_gfxLightsA;
|
||||||
|
}
|
||||||
|
|
||||||
++secIt;
|
++secIt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue