2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 13:44:56 +00:00

PVS and DCLN bug fixes

This commit is contained in:
Jack Andersen
2018-06-27 20:47:34 -10:00
parent 680cb7b353
commit 3a9e7b2f9b
14 changed files with 44 additions and 44 deletions

View File

@@ -337,7 +337,7 @@ bool MREA::Extract(const SpecBase& dataSpec,
for (int i=0 ; i<entityCount ; ++i)
{
uint32_t entityId = rs.readUint32Big();
visiWriter.writeUint16(nullptr, entityId & 0xffff);
visiWriter.writeUint32(nullptr, entityId);
}
}
hecl::ProjectPath visiMetadataPath(outPath.getParentPath(), _S("!visi.yaml"));
@@ -681,12 +681,12 @@ bool MREA::Cook(const hecl::ProjectPath& outPath,
entities.reserve(entityCount);
for (size_t i=0 ; i<entityCount ; ++i)
{
uint16_t entityId = r.readUint16(nullptr);
uint32_t entityId = r.readUint32(nullptr);
for (const SCLY::ScriptLayer& layer : sclyData.layers)
{
for (const std::unique_ptr<IScriptObject>& obj : layer.objects)
{
if ((obj->id & 0xffff) == entityId)
if ((obj->id & ~0x03FF0000) == entityId)
{
zeus::CAABox entAABB = obj->getVISIAABB(btok);
if (!entAABB.invalid())

View File

@@ -32,7 +32,7 @@ struct CameraHint : IScriptObject
Value<bool> hintDistanceSelfPos; // 0x100
Value<bool> controlInterpolation; // 0x200
Value<bool> sinusoidalInterpolation; // 0x400
Value<bool> unknown12; // 0x800
Value<bool> sinusoidalInterpolationHintless; // 0x800
Value<bool> clampVelocity; // 0x1000
Value<bool> skipCinematic; // 0x2000
Value<bool> noElevationInterp; // 0x4000