mirror of
https://github.com/PrimeDecomp/PrimeRemasterStructs.git
synced 2026-07-12 18:18:58 -07:00
Add Reflection and Light probes
This commit is contained in:
+3
-3
@@ -6,10 +6,10 @@ typedef struct
|
||||
uint64 size <format=hex>;
|
||||
uint64 unk1;
|
||||
FourCC id;
|
||||
uint32 versionA <format=decimal>;
|
||||
uint32 versionB <format=decimal>;
|
||||
uint32 readerVersion <format=decimal>;
|
||||
uint32 writerVersion <format=decimal>;
|
||||
} FormDescriptor <
|
||||
name=(Str("%s v%d form header", id, versionA)),
|
||||
name=(Str("%s rv%d wv%d form header", id, readerVersion, writerVersion)),
|
||||
comment=(SizeComment(size)),
|
||||
bgcolor=cLtAqua
|
||||
>;
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
#ifndef _CLIGHTPROBEDATA
|
||||
#define _CLIGHTPROBEDATA
|
||||
|
||||
#include "CChunkDescriptor.bt"
|
||||
#include "CFormDescriptor.bt"
|
||||
#include "NTextureFormat.bt"
|
||||
#include "CVector3f.bt"
|
||||
#include "CVector3i.bt"
|
||||
|
||||
typedef struct CBakedLightingUniformProbeGridIndex {
|
||||
ushort unk1;
|
||||
ushort unk2;
|
||||
ushort unk3;
|
||||
} CBakedLightingUniformProbeGridIndex;
|
||||
|
||||
struct LightProbeBundleHeader {
|
||||
uint unk1;
|
||||
uint unk2;
|
||||
CVector3f unk3;
|
||||
CBakedLightingUniformProbeGridIndex unk4;
|
||||
CBakedLightingUniformProbeGridIndex unk5;
|
||||
};
|
||||
|
||||
struct SReadInfo {
|
||||
uchar unk1;
|
||||
uint unk2;
|
||||
uint unk3;
|
||||
};
|
||||
|
||||
struct ReadInfoVector {
|
||||
uint count;
|
||||
SReadInfo readInfos[count];
|
||||
};
|
||||
|
||||
struct SCompressedBufferInfo {
|
||||
uint unk1;
|
||||
uint unk2;
|
||||
uint unk3;
|
||||
uint unk4;
|
||||
uint unk5;
|
||||
};
|
||||
|
||||
struct SMetaData {
|
||||
uint unk1;
|
||||
uint unk2;
|
||||
uint unk3;
|
||||
uint unk4;
|
||||
uint unk5;
|
||||
uint unk6;
|
||||
uint readInfoCount;
|
||||
SReadInfo readInfos[readInfoCount];
|
||||
uint compressedBufferInfoCount;
|
||||
SCompressedBufferInfo compressedBufferInfos[compressedBufferInfoCount];
|
||||
};
|
||||
|
||||
struct LightProbeBundle {
|
||||
SMetaData metaData;
|
||||
CVector3i unkVector;
|
||||
uint unk;
|
||||
FormDescriptor textureForm;
|
||||
NTextureFormat txtrChunk(textureForm.size);
|
||||
};
|
||||
|
||||
typedef struct CLightProbeData(uint64 size) {
|
||||
local uint64 start <hidden=true> = FTell();
|
||||
ChunkDescriptor phdr;
|
||||
LightProbeBundleHeader bundleHeader;
|
||||
ChunkDescriptor ptext;
|
||||
while (FTell() < start + size) {
|
||||
LightProbeBundle bundle;
|
||||
}
|
||||
} CLightProbeData;
|
||||
|
||||
#endif// _CLIGHTPROBEDATA
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef _CREFLECTIONPROBE
|
||||
#define _CREFLECTIONPROBE
|
||||
|
||||
#include "CChunkDescriptor.bt"
|
||||
|
||||
typedef struct CReflectionProbeData {
|
||||
ChunkDescriptor chunkHeader;
|
||||
uint unk1;
|
||||
GUID textureId;
|
||||
float unk2;
|
||||
} CReflectionProbeData;
|
||||
|
||||
#endif// _CREFLECTIONPROBE
|
||||
@@ -9,12 +9,14 @@
|
||||
|
||||
// Files
|
||||
#include "CCharInfo.bt"
|
||||
#include "CLightProbeData.bt"
|
||||
#include "CGraphicsModel.bt"
|
||||
#include "CPakFile.bt"
|
||||
#include "MessageStudioBinaryText.bt"
|
||||
#include "MaterialArchive.bt"
|
||||
#include "CVectorField.bt"
|
||||
#include "CAABoxCollisionTree.bt"
|
||||
#include "CReflectionProbeData.bt"
|
||||
//#include "CRuleSet.bt"
|
||||
#include "CScaleformFlashLibrary.bt"
|
||||
|
||||
@@ -36,6 +38,9 @@ typedef struct
|
||||
Assert("Invalid version!");
|
||||
}
|
||||
break;
|
||||
case "LTPB":
|
||||
CLightProbeData lightProbe(form.size);
|
||||
break;
|
||||
case "CLSN":
|
||||
CAABoxCollisionTree aaboxCollisionTree(form.size);
|
||||
break;
|
||||
@@ -56,6 +61,9 @@ typedef struct
|
||||
case "TXTR":
|
||||
NTextureFormat texture(form.size);
|
||||
break;
|
||||
case "REFL":
|
||||
CReflectionProbeData probeData;
|
||||
break;
|
||||
/*case "RULE":
|
||||
CRuleSet rulesetconfig(form.size);
|
||||
break;*/
|
||||
@@ -78,7 +86,7 @@ local uint isDKCTF <hidden=true> = (ReadInt(4) & 0xFFFFFF) == 0;
|
||||
if (!isDKCTF) {
|
||||
LittleEndian();
|
||||
}
|
||||
File file <bgcolor=cGray, name=(Str("%s v%d file", form.id, form.versionA))>;
|
||||
File file <bgcolor=cGray, name=(Str("%s rv%d wv%d file", form.id, form.readerVersion, form.readerVersion))>;
|
||||
|
||||
// Custom footer for extracted files
|
||||
if (ReadString(FTell(), 4) == "RFRM")
|
||||
|
||||
Reference in New Issue
Block a user