A bit of findings about MRF structs

This commit is contained in:
Disquse 2021-06-12 14:20:21 +03:00
parent fdf2c166f7
commit 8d399945cd

View File

@ -80,7 +80,7 @@ namespace CodeWalker.GameFiles
public uint Unk2 { get; set; } public uint Unk2 { get; set; }
public uint Unk3 { get; set; } public uint Unk3 { get; set; }
public uint Unk4 { get; set; } public uint Unk4 { get; set; }
public uint Unk5 { get; set; } public MetaHash Unk5 { get; set; }
public uint Unk6 { get; set; } public uint Unk6 { get; set; }
public override void Parse(DataReader r) public override void Parse(DataReader r)
@ -103,7 +103,7 @@ namespace CodeWalker.GameFiles
if (unkTypeFlag != 1) if (unkTypeFlag != 1)
return; return;
Unk5 = r.ReadUInt32(); Unk5 = new MetaHash(r.ReadUInt32());
} }
Unk6 = r.ReadUInt32(); Unk6 = r.ReadUInt32();
@ -140,7 +140,7 @@ namespace CodeWalker.GameFiles
{ {
public MrfHeaderNameFlag Header { get; set; } public MrfHeaderNameFlag Header { get; set; }
public uint Unk1 { get; set; } public uint Unk1 { get; set; }
public uint Unk2 { get; set; } public MetaHash Unk2 { get; set; }
public uint Unk3 { get; set; } public uint Unk3 { get; set; }
public override void Parse(DataReader r) public override void Parse(DataReader r)
@ -156,7 +156,7 @@ namespace CodeWalker.GameFiles
if (unkTypeFlag != 1) if (unkTypeFlag != 1)
return; return;
Unk2 = r.ReadUInt32(); Unk2 = new MetaHash(r.ReadUInt32());
} }
Unk3 = r.ReadUInt32(); Unk3 = r.ReadUInt32();
@ -1049,9 +1049,9 @@ namespace CodeWalker.GameFiles
public MrfHeaderNameFlag Header { get; set; } public MrfHeaderNameFlag Header { get; set; }
public uint Unk1 { get; set; } public uint Unk1 { get; set; }
public uint Unk2 { get; set; } public uint Unk2 { get; set; }
public MetaHash Unk3 { get; set; } public MetaHash DictName { get; set; }
public uint Unk4 { get; set; } public MetaHash ClipName { get; set; }
public uint Unk5 { get; set; } public float Unk5 { get; set; }
public uint Unk6 { get; set; } public uint Unk6 { get; set; }
public uint Unk7 { get; set; } public uint Unk7 { get; set; }
public uint Unk8 { get; set; } public uint Unk8 { get; set; }
@ -1065,10 +1065,10 @@ namespace CodeWalker.GameFiles
case 1: case 1:
{ {
Unk2 = r.ReadUInt32(); Unk2 = r.ReadUInt32();
Unk3 = new MetaHash(r.ReadUInt32()); DictName = new MetaHash(r.ReadUInt32());
if (Unk2 != 3) if (Unk2 != 3)
Unk4 = r.ReadUInt32(); ClipName = new MetaHash(r.ReadUInt32());
break; break;
} }
@ -1078,7 +1078,7 @@ namespace CodeWalker.GameFiles
} }
if (((Header.Flags >> 2) & 3) != 0) if (((Header.Flags >> 2) & 3) != 0)
Unk5 = r.ReadUInt32(); Unk5 = r.ReadSingle();
if (((Header.Flags >> 4) & 3) != 0) if (((Header.Flags >> 4) & 3) != 0)
Unk6 = r.ReadUInt32(); Unk6 = r.ReadUInt32();
@ -1278,10 +1278,10 @@ namespace CodeWalker.GameFiles
public MrfHeaderNameFlag Header { get; set; } public MrfHeaderNameFlag Header { get; set; }
public uint Unk1 { get; set; } public uint Unk1 { get; set; }
public uint Unk2 { get; set; } public uint Unk2 { get; set; }
public uint Unk3 { get; set; } public MetaHash Unk3 { get; set; }
public uint Unk4 { get; set; } public uint Unk4 { get; set; }
public uint Unk5 { get; set; } public uint Unk5 { get; set; }
public uint Unk6 { get; set; } public float Unk6 { get; set; }
public uint[][] Unk7 { get; set; } public uint[][] Unk7 { get; set; }
public override void Parse(DataReader r) public override void Parse(DataReader r)
@ -1292,7 +1292,7 @@ namespace CodeWalker.GameFiles
switch (Header.Flags & 3) switch (Header.Flags & 3)
{ {
case 1: case 1:
Unk3 = r.ReadUInt32(); Unk3 = new MetaHash(r.ReadUInt32());
Unk4 = r.ReadUInt32(); Unk4 = r.ReadUInt32();
break; break;
case 2: case 2:
@ -1301,7 +1301,7 @@ namespace CodeWalker.GameFiles
} }
if (((Header.Flags >> 2) & 3) != 0) if (((Header.Flags >> 2) & 3) != 0)
Unk6 = r.ReadUInt32(); Unk6 = r.ReadSingle();
var unk7Count = (Header.Flags >> 28); var unk7Count = (Header.Flags >> 28);
@ -1453,7 +1453,7 @@ namespace CodeWalker.GameFiles
public uint Unk1 { get; set; } public uint Unk1 { get; set; }
public uint Unk2 { get; set; } public uint Unk2 { get; set; }
public uint Unk3 { get; set; } public uint Unk3 { get; set; }
public uint Unk4 { get; set; } public MetaHash Unk4 { get; set; }
public uint Unk5 { get; set; } public uint Unk5 { get; set; }
public override void Parse(DataReader r) public override void Parse(DataReader r)
@ -1473,7 +1473,7 @@ namespace CodeWalker.GameFiles
if (unkTypeFlag != 1) if (unkTypeFlag != 1)
return; return;
Unk4 = r.ReadUInt32(); Unk4 = new MetaHash(r.ReadUInt32());
} }
Unk5 = r.ReadUInt32(); Unk5 = r.ReadUInt32();