Fixed casing issues with MetaNames which probably was causing XML issues. Moved shader param names to new ShaderParamNames enum to preserve casing. Moved meta type names to new MetaTypeName enum to avoid polluting MetaNames.

This commit is contained in:
dexy 2019-10-31 17:11:12 +11:00
parent 262e6666c9
commit 4834b8c520
25 changed files with 3728 additions and 2272 deletions

View File

@ -105,6 +105,7 @@
<Compile Include="GameFiles\Resources\ResourceBuilder.cs" /> <Compile Include="GameFiles\Resources\ResourceBuilder.cs" />
<Compile Include="GameFiles\Resources\ResourceData.cs" /> <Compile Include="GameFiles\Resources\ResourceData.cs" />
<Compile Include="GameFiles\Resources\ResourceFile.cs" /> <Compile Include="GameFiles\Resources\ResourceFile.cs" />
<Compile Include="GameFiles\Resources\ShaderParams.cs" />
<Compile Include="GameFiles\Resources\Texture.cs" /> <Compile Include="GameFiles\Resources\Texture.cs" />
<Compile Include="GameFiles\Resources\VehicleRecord.cs" /> <Compile Include="GameFiles\Resources\VehicleRecord.cs" />
<Compile Include="GameFiles\Resources\VertexType.cs" /> <Compile Include="GameFiles\Resources\VertexType.cs" />

View File

@ -139,11 +139,11 @@ namespace CodeWalker.GameFiles
//{ //{
// switch (block.StructureNameHash) // switch (block.StructureNameHash)
// { // {
// case MetaName.STRING: // case (MetaName)MetaTypeName.STRING:
// case MetaName.POINTER: // case (MetaName)MetaTypeName.POINTER:
// case MetaName.HASH: // case (MetaName)MetaTypeName.HASH:
// case MetaName.UINT: // case (MetaName)MetaTypeName.UINT:
// case MetaName.VECTOR3: //distant lod lights uses this // case (MetaName)MetaTypeName.VECTOR3: //distant lod lights uses this
// case MetaName.CMapData: // case MetaName.CMapData:
// case MetaName.CEntityDef: // case MetaName.CEntityDef:
// case MetaName.CTimeCycleModifier: //these sections are handled already // case MetaName.CTimeCycleModifier: //these sections are handled already
@ -389,7 +389,7 @@ namespace CodeWalker.GameFiles
LODLights = new YmapLODLights(); LODLights = new YmapLODLights();
LODLights.Ymap = this; LODLights.Ymap = this;
LODLights.CLODLight = soa; LODLights.CLODLight = soa;
LODLights.direction = MetaTypes.ConvertDataArray<MetaVECTOR3>(Meta, MetaName.VECTOR3, soa.direction); LODLights.direction = MetaTypes.ConvertDataArray<MetaVECTOR3>(Meta, (MetaName)MetaTypeName.VECTOR3, soa.direction);
LODLights.falloff = MetaTypes.GetFloatArray(Meta, soa.falloff); LODLights.falloff = MetaTypes.GetFloatArray(Meta, soa.falloff);
LODLights.falloffExponent = MetaTypes.GetFloatArray(Meta, soa.falloffExponent); LODLights.falloffExponent = MetaTypes.GetFloatArray(Meta, soa.falloffExponent);
LODLights.timeAndStateFlags = MetaTypes.GetUintArray(Meta, soa.timeAndStateFlags); LODLights.timeAndStateFlags = MetaTypes.GetUintArray(Meta, soa.timeAndStateFlags);
@ -409,7 +409,7 @@ namespace CodeWalker.GameFiles
DistantLODLights.Ymap = this; DistantLODLights.Ymap = this;
DistantLODLights.CDistantLODLight = soa; DistantLODLights.CDistantLODLight = soa;
DistantLODLights.colours = MetaTypes.GetUintArray(Meta, soa.RGBI); DistantLODLights.colours = MetaTypes.GetUintArray(Meta, soa.RGBI);
DistantLODLights.positions = MetaTypes.ConvertDataArray<MetaVECTOR3>(Meta, MetaName.VECTOR3, soa.position); DistantLODLights.positions = MetaTypes.ConvertDataArray<MetaVECTOR3>(Meta, (MetaName)MetaTypeName.VECTOR3, soa.position);
DistantLODLights.CalcBB(); DistantLODLights.CalcBB();
} }
} }
@ -678,7 +678,7 @@ namespace CodeWalker.GameFiles
if ((LODLights != null) && (LODLights.direction != null)) if ((LODLights != null) && (LODLights.direction != null))
{ {
var soa = new CLODLight(); var soa = new CLODLight();
soa.direction = mb.AddItemArrayPtr(MetaName.VECTOR3, LODLights.direction); soa.direction = mb.AddItemArrayPtr((MetaName)MetaTypeName.VECTOR3, LODLights.direction);
soa.falloff = mb.AddFloatArrayPtr(LODLights.falloff); soa.falloff = mb.AddFloatArrayPtr(LODLights.falloff);
soa.falloffExponent = mb.AddFloatArrayPtr(LODLights.falloffExponent); soa.falloffExponent = mb.AddFloatArrayPtr(LODLights.falloffExponent);
soa.timeAndStateFlags = mb.AddUintArrayPtr(LODLights.timeAndStateFlags); soa.timeAndStateFlags = mb.AddUintArrayPtr(LODLights.timeAndStateFlags);
@ -695,7 +695,7 @@ namespace CodeWalker.GameFiles
if ((DistantLODLights != null) && (DistantLODLights.positions != null)) if ((DistantLODLights != null) && (DistantLODLights.positions != null))
{ {
var soa = DistantLODLights.CDistantLODLight;//to copy base vars var soa = DistantLODLights.CDistantLODLight;//to copy base vars
soa.position = mb.AddItemArrayPtr(MetaName.VECTOR3, DistantLODLights.positions); soa.position = mb.AddItemArrayPtr((MetaName)MetaTypeName.VECTOR3, DistantLODLights.positions);
soa.RGBI = mb.AddUintArrayPtr(DistantLODLights.colours); soa.RGBI = mb.AddUintArrayPtr(DistantLODLights.colours);
mapdata.DistantLODLightsSOA = soa; mapdata.DistantLODLightsSOA = soa;
} }
@ -744,11 +744,11 @@ namespace CodeWalker.GameFiles
} }
if ((LODLights != null) && (LODLights.direction != null)) if ((LODLights != null) && (LODLights.direction != null))
{ {
mb.AddStructureInfo(MetaName.VECTOR3); mb.AddStructureInfo((MetaName)MetaTypeName.VECTOR3);
} }
if ((DistantLODLights != null) && (DistantLODLights.positions != null)) if ((DistantLODLights != null) && (DistantLODLights.positions != null))
{ {
mb.AddStructureInfo(MetaName.VECTOR3); mb.AddStructureInfo((MetaName)MetaTypeName.VECTOR3);
} }
mb.AddEnumInfo(MetaName.rage__eLodType); //LODTYPES_ mb.AddEnumInfo(MetaName.rage__eLodType); //LODTYPES_

View File

@ -339,10 +339,10 @@ namespace CodeWalker.GameFiles
// case MetaName.CExtensionDefWindDisturbance: // case MetaName.CExtensionDefWindDisturbance:
// case MetaName.CExtensionDefProcObject: // case MetaName.CExtensionDefProcObject:
// case MetaName.CLightAttrDef: // case MetaName.CLightAttrDef:
// case MetaName.STRING: // case (MetaName)MetaTypeName.STRING:
// case MetaName.POINTER: // case (MetaName)MetaTypeName.POINTER:
// case MetaName.UINT: // case (MetaName)MetaTypeName.UINT:
// case MetaName.VECTOR4: // case (MetaName)MetaTypeName.VECTOR4:
// break; // break;
// default: // default:
// break; // break;

View File

@ -92,7 +92,7 @@ namespace CodeWalker.GameFiles
public MetaBuilderPointer AddString(string str) public MetaBuilderPointer AddString(string str)
{ {
MetaBuilderBlock block = EnsureBlock(MetaName.STRING); MetaBuilderBlock block = EnsureBlock((MetaName)MetaTypeName.STRING);
byte[] data = Encoding.ASCII.GetBytes(str); byte[] data = Encoding.ASCII.GetBytes(str);
int datalen = data.Length; int datalen = data.Length;
int newlen = datalen + 1; //include null terminator int newlen = datalen + 1; //include null terminator
@ -154,37 +154,37 @@ namespace CodeWalker.GameFiles
public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items) public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_Vector3(); if ((items == null) || (items.Length == 0)) return new Array_Vector3();
var ptr = AddItemArray(MetaName.VECTOR4, items); //padded to vec4... var ptr = AddItemArray((MetaName)MetaTypeName.VECTOR4, items); //padded to vec4...
return new Array_Vector3(ptr); return new Array_Vector3(ptr);
} }
public Array_uint AddHashArrayPtr(MetaHash[] items) public Array_uint AddHashArrayPtr(MetaHash[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_uint(); if ((items == null) || (items.Length == 0)) return new Array_uint();
var ptr = AddItemArray(MetaName.HASH, items); var ptr = AddItemArray((MetaName)MetaTypeName.HASH, items);
return new Array_uint(ptr); return new Array_uint(ptr);
} }
public Array_uint AddUintArrayPtr(uint[] items) public Array_uint AddUintArrayPtr(uint[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_uint(); if ((items == null) || (items.Length == 0)) return new Array_uint();
var ptr = AddItemArray(MetaName.UINT, items); var ptr = AddItemArray((MetaName)MetaTypeName.UINT, items);
return new Array_uint(ptr); return new Array_uint(ptr);
} }
public Array_ushort AddUshortArrayPtr(ushort[] items) public Array_ushort AddUshortArrayPtr(ushort[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_ushort(); if ((items == null) || (items.Length == 0)) return new Array_ushort();
var ptr = AddItemArray(MetaName.USHORT, items); var ptr = AddItemArray((MetaName)MetaTypeName.USHORT, items);
return new Array_ushort(ptr); return new Array_ushort(ptr);
} }
public Array_byte AddByteArrayPtr(byte[] items) public Array_byte AddByteArrayPtr(byte[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_byte(); if ((items == null) || (items.Length == 0)) return new Array_byte();
var ptr = AddItemArray(MetaName.BYTE, items); var ptr = AddItemArray((MetaName)MetaTypeName.BYTE, items);
return new Array_byte(ptr); return new Array_byte(ptr);
} }
public Array_float AddFloatArrayPtr(float[] items) public Array_float AddFloatArrayPtr(float[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_float(); if ((items == null) || (items.Length == 0)) return new Array_float();
var ptr = AddItemArray(MetaName.FLOAT, items); var ptr = AddItemArray((MetaName)MetaTypeName.FLOAT, items);
return new Array_float(ptr); return new Array_float(ptr);
} }
public CharPointer AddStringPtr(string str) //helper method for AddString public CharPointer AddStringPtr(string str) //helper method for AddString
@ -205,7 +205,7 @@ namespace CodeWalker.GameFiles
public Array_StructurePointer AddPointerArray(MetaPOINTER[] arr) public Array_StructurePointer AddPointerArray(MetaPOINTER[] arr)
{ {
if ((arr == null) || (arr.Length == 0)) return new Array_StructurePointer(); if ((arr == null) || (arr.Length == 0)) return new Array_StructurePointer();
var ptr = AddItemArray(MetaName.POINTER, arr); var ptr = AddItemArray((MetaName)MetaTypeName.POINTER, arr);
Array_StructurePointer sp = new Array_StructurePointer(); Array_StructurePointer sp = new Array_StructurePointer();
sp.Count1 = (ushort)arr.Length; sp.Count1 = (ushort)arr.Length;
sp.Count2 = sp.Count1; sp.Count2 = sp.Count1;
@ -232,7 +232,7 @@ namespace CodeWalker.GameFiles
//{ //{
// var item = items[i]; // var item = items[i];
// var meptr = AddItemPtr(type, item); // var meptr = AddItemPtr(type, item);
// var mptr = AddItem(MetaName.POINTER, meptr); // var mptr = AddItem((MetaName)MetaTypeName.POINTER, meptr);
// if (i == 0) // if (i == 0)
// { // {
// sp.Pointer = mptr.Pointer; //main pointer points to the first item. // sp.Pointer = mptr.Pointer; //main pointer points to the first item.
@ -261,7 +261,7 @@ namespace CodeWalker.GameFiles
//{ //{
// var item = items[i]; // var item = items[i];
// var meptr = item.Save(this); // var meptr = item.Save(this);
// var mptr = AddItem(MetaName.POINTER, meptr); // var mptr = AddItem((MetaName)MetaTypeName.POINTER, meptr);
// if (i == 0) // if (i == 0)
// { // {
// sp.Pointer = mptr.Pointer; //main pointer points to the first item. // sp.Pointer = mptr.Pointer; //main pointer points to the first item.

File diff suppressed because it is too large Load Diff

View File

@ -148,7 +148,7 @@ namespace CodeWalker.GameFiles
{ {
var entry = msi.Entries[i]; var entry = msi.Entries[i];
if ((entry.DataOffset == 0) && (entry.EntryNameHash == MetaName.ARRAYINFO)) //referred to by array if ((entry.DataOffset == 0) && (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)) //referred to by array
{ {
} }
else else
@ -301,18 +301,18 @@ namespace CodeWalker.GameFiles
{ {
case MetaName.CScenarioPointContainer: case MetaName.CScenarioPointContainer:
return new MetaStructureInfo(MetaName.CScenarioPointContainer, 2489654897, 768, 48, return new MetaStructureInfo(MetaName.CScenarioPointContainer, 2489654897, 768, 48,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CExtensionDefSpawnPoint), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CExtensionDefSpawnPoint),
new MetaStructureEntryInfo_s(MetaName.LoadSavePoints, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.LoadSavePoints, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPoint), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPoint),
new MetaStructureEntryInfo_s(MetaName.MyPoints, 16, MetaStructureEntryDataType.Array, 0, 2, 0) new MetaStructureEntryInfo_s(MetaName.MyPoints, 16, MetaStructureEntryDataType.Array, 0, 2, 0)
); );
case (MetaName)4023740759: case (MetaName)4023740759:
return new MetaStructureInfo((MetaName)4023740759, 88255871, 768, 88, return new MetaStructureInfo((MetaName)4023740759, 88255871, 768, 88,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChainingNode), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChainingNode),
new MetaStructureEntryInfo_s(MetaName.Nodes, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.Nodes, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChainingEdge), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChainingEdge),
new MetaStructureEntryInfo_s(MetaName.Edges, 16, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.Edges, 16, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChain), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioChain),
new MetaStructureEntryInfo_s(MetaName.Chains, 32, MetaStructureEntryDataType.Array, 0, 4, 0) new MetaStructureEntryInfo_s(MetaName.Chains, 32, MetaStructureEntryDataType.Array, 0, 4, 0)
); );
case MetaName.rage__spdGrid2D: case MetaName.rage__spdGrid2D:
@ -326,30 +326,30 @@ namespace CodeWalker.GameFiles
); );
case MetaName.CScenarioPointLookUps: case MetaName.CScenarioPointLookUps:
return new MetaStructureInfo(MetaName.CScenarioPointLookUps, 2669361587, 768, 96, return new MetaStructureInfo(MetaName.CScenarioPointLookUps, 2669361587, 768, 96,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.TypeNames, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.TypeNames, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.PedModelSetNames, 16, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.PedModelSetNames, 16, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.VehicleModelSetNames, 32, MetaStructureEntryDataType.Array, 0, 4, 0), new MetaStructureEntryInfo_s(MetaName.VehicleModelSetNames, 32, MetaStructureEntryDataType.Array, 0, 4, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.GroupNames, 48, MetaStructureEntryDataType.Array, 0, 6, 0), new MetaStructureEntryInfo_s(MetaName.GroupNames, 48, MetaStructureEntryDataType.Array, 0, 6, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.InteriorNames, 64, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s(MetaName.InteriorNames, 64, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.RequiredIMapNames, 80, MetaStructureEntryDataType.Array, 0, 10, 0) new MetaStructureEntryInfo_s(MetaName.RequiredIMapNames, 80, MetaStructureEntryDataType.Array, 0, 10, 0)
); );
case MetaName.CScenarioPointRegion: case MetaName.CScenarioPointRegion:
return new MetaStructureInfo(MetaName.CScenarioPointRegion, 3501351821, 768, 376, return new MetaStructureInfo(MetaName.CScenarioPointRegion, 3501351821, 768, 376,
new MetaStructureEntryInfo_s(MetaName.VersionNumber, 0, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.VersionNumber, 0, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Points, 8, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointContainer), new MetaStructureEntryInfo_s(MetaName.Points, 8, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointContainer),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioEntityOverride), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioEntityOverride),
new MetaStructureEntryInfo_s(MetaName.EntityOverrides, 72, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.EntityOverrides, 72, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s((MetaName)3696045377, 96, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)4023740759), new MetaStructureEntryInfo_s((MetaName)3696045377, 96, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)4023740759),
new MetaStructureEntryInfo_s(MetaName.AccelGrid, 184, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__spdGrid2D), new MetaStructureEntryInfo_s(MetaName.AccelGrid, 184, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__spdGrid2D),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)3844724227, 248, MetaStructureEntryDataType.Array, 0, 6, 0), new MetaStructureEntryInfo_s((MetaName)3844724227, 248, MetaStructureEntryDataType.Array, 0, 6, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointCluster), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointCluster),
new MetaStructureEntryInfo_s(MetaName.Clusters, 264, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s(MetaName.Clusters, 264, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.LookUps, 280, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointLookUps) new MetaStructureEntryInfo_s(MetaName.LookUps, 280, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointLookUps)
); );
@ -373,7 +373,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CScenarioEntityOverride, 1271200492, 1024, 80, return new MetaStructureInfo(MetaName.CScenarioEntityOverride, 1271200492, 1024, 80,
new MetaStructureEntryInfo_s(MetaName.EntityPosition, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.EntityPosition, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.EntityType, 16, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.EntityType, 16, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CExtensionDefSpawnPoint), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CExtensionDefSpawnPoint),
new MetaStructureEntryInfo_s(MetaName.ScenarioPoints, 24, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.ScenarioPoints, 24, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s((MetaName)538733109, 64, MetaStructureEntryDataType.Boolean, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)538733109, 64, MetaStructureEntryDataType.Boolean, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)1035513142, 65, MetaStructureEntryDataType.Boolean, 0, 0, 0) new MetaStructureEntryInfo_s((MetaName)1035513142, 65, MetaStructureEntryDataType.Boolean, 0, 0, 0)
@ -418,7 +418,7 @@ namespace CodeWalker.GameFiles
case MetaName.CScenarioChain: case MetaName.CScenarioChain:
return new MetaStructureInfo(MetaName.CScenarioChain, 2751910366, 768, 40, return new MetaStructureInfo(MetaName.CScenarioChain, 2751910366, 768, 40,
new MetaStructureEntryInfo_s((MetaName)1156691834, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)1156691834, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.EdgeIds, 8, MetaStructureEntryDataType.Array, 0, 1, 0) new MetaStructureEntryInfo_s(MetaName.EdgeIds, 8, MetaStructureEntryDataType.Array, 0, 1, 0)
); );
case MetaName.rage__spdSphere: case MetaName.rage__spdSphere:
@ -434,53 +434,53 @@ namespace CodeWalker.GameFiles
); );
case MetaName.CStreamingRequestRecord: case MetaName.CStreamingRequestRecord:
return new MetaStructureInfo(MetaName.CStreamingRequestRecord, 3825587854, 768, 40, return new MetaStructureInfo(MetaName.CStreamingRequestRecord, 3825587854, 768, 40,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CStreamingRequestFrame), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CStreamingRequestFrame),
new MetaStructureEntryInfo_s(MetaName.Frames, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.Frames, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1358189812), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1358189812),
new MetaStructureEntryInfo_s(MetaName.CommonSets, 16, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.CommonSets, 16, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.NewStyle, 32, MetaStructureEntryDataType.Boolean, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.NewStyle, 32, MetaStructureEntryDataType.Boolean, 0, 0, 0)
); );
case MetaName.CStreamingRequestFrame: case MetaName.CStreamingRequestFrame:
return new MetaStructureInfo(MetaName.CStreamingRequestFrame, 1112444512, 1024, 112, return new MetaStructureInfo(MetaName.CStreamingRequestFrame, 1112444512, 1024, 112,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.AddList, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.AddList, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.RemoveList, 16, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.RemoveList, 16, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)896120921, 32, MetaStructureEntryDataType.Array, 0, 4, 0), new MetaStructureEntryInfo_s((MetaName)896120921, 32, MetaStructureEntryDataType.Array, 0, 4, 0),
new MetaStructureEntryInfo_s(MetaName.CamPos, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.CamPos, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.CamDir, 64, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.CamDir, 64, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)1762439591, 80, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s((MetaName)1762439591, 80, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.Flags, 96, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.Flags, 96, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
); );
//case MetaName.CStreamingRequestFrame: //case MetaName.CStreamingRequestFrame:
// return new MetaStructureInfo(MetaName.CStreamingRequestFrame, 3672937465, 1024, 96, // return new MetaStructureInfo(MetaName.CStreamingRequestFrame, 3672937465, 1024, 96,
// new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), // new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.AddList, 0, MetaStructureEntryDataType.Array, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.AddList, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), // new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.RemoveList, 16, MetaStructureEntryDataType.Array, 0, 2, 0), // new MetaStructureEntryInfo_s(MetaName.RemoveList, 16, MetaStructureEntryDataType.Array, 0, 2, 0),
// new MetaStructureEntryInfo_s(MetaName.CamPos, 32, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.CamPos, 32, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.CamDir, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.CamDir, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), // new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
// new MetaStructureEntryInfo_s((MetaName)1762439591, 64, MetaStructureEntryDataType.Array, 0, 6, 0), // new MetaStructureEntryInfo_s((MetaName)1762439591, 64, MetaStructureEntryDataType.Array, 0, 6, 0),
// new MetaStructureEntryInfo_s(MetaName.Flags, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0) // new MetaStructureEntryInfo_s(MetaName.Flags, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
// ); // );
case (MetaName)1358189812: case (MetaName)1358189812:
return new MetaStructureInfo((MetaName)1358189812, 3710200606, 768, 16, return new MetaStructureInfo((MetaName)1358189812, 3710200606, 768, 16,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Requests, 0, MetaStructureEntryDataType.Array, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.Requests, 0, MetaStructureEntryDataType.Array, 0, 0, 0)
); );
case MetaName.CMapTypes: case MetaName.CMapTypes:
return new MetaStructureInfo(MetaName.CMapTypes, 2608875220, 768, 80, return new MetaStructureInfo(MetaName.CMapTypes, 2608875220, 768, 80,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 8, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.extensions, 8, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.archetypes, 24, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.archetypes, 24, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.name, 40, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.name, 40, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.dependencies, 48, MetaStructureEntryDataType.Array, 0, 5, 0), new MetaStructureEntryInfo_s(MetaName.dependencies, 48, MetaStructureEntryDataType.Array, 0, 5, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompositeEntityType), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompositeEntityType),
new MetaStructureEntryInfo_s(MetaName.compositeEntityTypes, 64, MetaStructureEntryDataType.Array, 0, 7, 0) new MetaStructureEntryInfo_s(MetaName.compositeEntityTypes, 64, MetaStructureEntryDataType.Array, 0, 7, 0)
); );
case MetaName.CBaseArchetypeDef: case MetaName.CBaseArchetypeDef:
@ -500,7 +500,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType), new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType),
new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0) new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0)
); );
//case MetaName.CBaseArchetypeDef: //case MetaName.CBaseArchetypeDef:
@ -518,16 +518,16 @@ namespace CodeWalker.GameFiles
// new MetaStructureEntryInfo_s(MetaName.clipDictionary, 96, MetaStructureEntryDataType.Hash, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.clipDictionary, 96, MetaStructureEntryDataType.Hash, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.drawableDictionary, 100, MetaStructureEntryDataType.Hash, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.drawableDictionary, 100, MetaStructureEntryDataType.Hash, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0), // new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), // new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
// new MetaStructureEntryInfo_s(MetaName.extensions, 112, MetaStructureEntryDataType.Array, 0, 13, 0) // new MetaStructureEntryInfo_s(MetaName.extensions, 112, MetaStructureEntryDataType.Array, 0, 13, 0)
// ); // );
case MetaName.CCreatureMetaData: case MetaName.CCreatureMetaData:
return new MetaStructureInfo(MetaName.CCreatureMetaData, 2181653572, 768, 56, return new MetaStructureInfo(MetaName.CCreatureMetaData, 2181653572, 768, 56,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CShaderVariableComponent), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CShaderVariableComponent),
new MetaStructureEntryInfo_s(MetaName.shaderVariableComponents, 8, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.shaderVariableComponents, 8, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropExpressionData), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropExpressionData),
new MetaStructureEntryInfo_s(MetaName.pedPropExpressions, 24, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.pedPropExpressions, 24, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedCompExpressionData), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedCompExpressionData),
new MetaStructureEntryInfo_s(MetaName.pedCompExpressions, 40, MetaStructureEntryDataType.Array, 0, 4, 0) new MetaStructureEntryInfo_s(MetaName.pedCompExpressions, 40, MetaStructureEntryDataType.Array, 0, 4, 0)
); );
case MetaName.CShaderVariableComponent: case MetaName.CShaderVariableComponent:
@ -535,11 +535,11 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.pedcompID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedcompID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.maskID, 12, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.maskID, 12, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.shaderVariableHashString, 16, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.shaderVariableHashString, 16, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0), new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0), new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.components, 56, MetaStructureEntryDataType.Array, 0, 7, 0) new MetaStructureEntryInfo_s(MetaName.components, 56, MetaStructureEntryDataType.Array, 0, 7, 0)
); );
case MetaName.CPedPropExpressionData: case MetaName.CPedPropExpressionData:
@ -547,13 +547,13 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.pedPropID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedPropID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.pedPropVarIndex, 12, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedPropVarIndex, 12, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.pedPropExpressionIndex, 16, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedPropExpressionIndex, 16, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0), new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0), new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.types, 56, MetaStructureEntryDataType.Array, 0, 7, 0), new MetaStructureEntryInfo_s(MetaName.types, 56, MetaStructureEntryDataType.Array, 0, 7, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.components, 72, MetaStructureEntryDataType.Array, 0, 9, 0) new MetaStructureEntryInfo_s(MetaName.components, 72, MetaStructureEntryDataType.Array, 0, 9, 0)
); );
case MetaName.CPedCompExpressionData: case MetaName.CPedCompExpressionData:
@ -561,47 +561,47 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.pedCompID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedCompID, 8, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.pedCompVarIndex, 12, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedCompVarIndex, 12, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.pedCompExpressionIndex, 16, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.pedCompExpressionIndex, 16, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0), new MetaStructureEntryInfo_s(MetaName.tracks, 24, MetaStructureEntryDataType.Array, 0, 3, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0), new MetaStructureEntryInfo_s(MetaName.ids, 40, MetaStructureEntryDataType.Array, 0, 5, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.types, 56, MetaStructureEntryDataType.Array, 0, 7, 0), new MetaStructureEntryInfo_s(MetaName.types, 56, MetaStructureEntryDataType.Array, 0, 7, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.components, 72, MetaStructureEntryDataType.Array, 0, 9, 0) new MetaStructureEntryInfo_s(MetaName.components, 72, MetaStructureEntryDataType.Array, 0, 9, 0)
); );
case MetaName.rage__fwInstancedMapData: case MetaName.rage__fwInstancedMapData:
return new MetaStructureInfo(MetaName.rage__fwInstancedMapData, 1836780118, 768, 48, return new MetaStructureInfo(MetaName.rage__fwInstancedMapData, 1836780118, 768, 48,
new MetaStructureEntryInfo_s(MetaName.ImapLink, 8, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.ImapLink, 8, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwPropInstanceListDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwPropInstanceListDef),
new MetaStructureEntryInfo_s(MetaName.PropInstanceList, 16, MetaStructureEntryDataType.Array, 0, 1, 0), new MetaStructureEntryInfo_s(MetaName.PropInstanceList, 16, MetaStructureEntryDataType.Array, 0, 1, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwGrassInstanceListDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwGrassInstanceListDef),
new MetaStructureEntryInfo_s(MetaName.GrassInstanceList, 32, MetaStructureEntryDataType.Array, 0, 3, 0) new MetaStructureEntryInfo_s(MetaName.GrassInstanceList, 32, MetaStructureEntryDataType.Array, 0, 3, 0)
); );
case MetaName.CLODLight: case MetaName.CLODLight:
return new MetaStructureInfo(MetaName.CLODLight, 2325189228, 768, 136, return new MetaStructureInfo(MetaName.CLODLight, 2325189228, 768, 136,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.VECTOR3), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)MetaTypeName.VECTOR3),
new MetaStructureEntryInfo_s(MetaName.direction, 8, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.direction, 8, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.falloff, 24, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.falloff, 24, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.falloffExponent, 40, MetaStructureEntryDataType.Array, 0, 4, 0), new MetaStructureEntryInfo_s(MetaName.falloffExponent, 40, MetaStructureEntryDataType.Array, 0, 4, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.timeAndStateFlags, 56, MetaStructureEntryDataType.Array, 0, 6, 0), new MetaStructureEntryInfo_s(MetaName.timeAndStateFlags, 56, MetaStructureEntryDataType.Array, 0, 6, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.hash, 72, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.HASH, 72, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coneInnerAngle, 88, MetaStructureEntryDataType.Array, 0, 10, 0), new MetaStructureEntryInfo_s(MetaName.coneInnerAngle, 88, MetaStructureEntryDataType.Array, 0, 10, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coneOuterAngleOrCapExt, 104, MetaStructureEntryDataType.Array, 0, 12, 0), new MetaStructureEntryInfo_s(MetaName.coneOuterAngleOrCapExt, 104, MetaStructureEntryDataType.Array, 0, 12, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coronaIntensity, 120, MetaStructureEntryDataType.Array, 0, 14, 0) new MetaStructureEntryInfo_s(MetaName.coronaIntensity, 120, MetaStructureEntryDataType.Array, 0, 14, 0)
); );
case MetaName.CDistantLODLight: case MetaName.CDistantLODLight:
return new MetaStructureInfo(MetaName.CDistantLODLight, 2820908419, 768, 48, return new MetaStructureInfo(MetaName.CDistantLODLight, 2820908419, 768, 48,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.VECTOR3), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)MetaTypeName.VECTOR3),
new MetaStructureEntryInfo_s(MetaName.position, 8, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.position, 8, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.RGBI, 24, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.RGBI, 24, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.numStreetLights, 40, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numStreetLights, 40, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.category, 42, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.category, 42, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0)
@ -625,20 +625,20 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.streamingExtentsMax, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.streamingExtentsMax, 48, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.entitiesExtentsMin, 64, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.entitiesExtentsMin, 64, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.entitiesExtentsMax, 80, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.entitiesExtentsMax, 80, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.entities, 96, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s(MetaName.entities, 96, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwContainerLodDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwContainerLodDef),
new MetaStructureEntryInfo_s(MetaName.containerLods, 112, MetaStructureEntryDataType.Array, 0, 10, 0), new MetaStructureEntryInfo_s(MetaName.containerLods, 112, MetaStructureEntryDataType.Array, 0, 10, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.BoxOccluder), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.BoxOccluder),
new MetaStructureEntryInfo_s(MetaName.boxOccluders, 128, MetaStructureEntryDataType.Array, 4, 12, 0), new MetaStructureEntryInfo_s(MetaName.boxOccluders, 128, MetaStructureEntryDataType.Array, 4, 12, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.OccludeModel), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.OccludeModel),
new MetaStructureEntryInfo_s(MetaName.occludeModels, 144, MetaStructureEntryDataType.Array, 4, 14, 0), new MetaStructureEntryInfo_s(MetaName.occludeModels, 144, MetaStructureEntryDataType.Array, 4, 14, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.physicsDictionaries, 160, MetaStructureEntryDataType.Array, 0, 16, 0), new MetaStructureEntryInfo_s(MetaName.physicsDictionaries, 160, MetaStructureEntryDataType.Array, 0, 16, 0),
new MetaStructureEntryInfo_s(MetaName.instancedData, 176, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwInstancedMapData), new MetaStructureEntryInfo_s(MetaName.instancedData, 176, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwInstancedMapData),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CTimeCycleModifier), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CTimeCycleModifier),
new MetaStructureEntryInfo_s(MetaName.timeCycleModifiers, 224, MetaStructureEntryDataType.Array, 0, 19, 0), new MetaStructureEntryInfo_s(MetaName.timeCycleModifiers, 224, MetaStructureEntryDataType.Array, 0, 19, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCarGen), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCarGen),
new MetaStructureEntryInfo_s(MetaName.carGenerators, 240, MetaStructureEntryDataType.Array, 0, 21, 0), new MetaStructureEntryInfo_s(MetaName.carGenerators, 240, MetaStructureEntryDataType.Array, 0, 21, 0),
new MetaStructureEntryInfo_s(MetaName.LODLightsSOA, 256, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CLODLight), new MetaStructureEntryInfo_s(MetaName.LODLightsSOA, 256, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CLODLight),
new MetaStructureEntryInfo_s(MetaName.DistantLODLightsSOA, 392, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CDistantLODLight), new MetaStructureEntryInfo_s(MetaName.DistantLODLightsSOA, 392, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CDistantLODLight),
@ -659,7 +659,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.lodLevel, 84, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__eLodType), new MetaStructureEntryInfo_s(MetaName.lodLevel, 84, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__eLodType),
new MetaStructureEntryInfo_s(MetaName.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.priorityLevel, 92, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__ePriorityLevel), new MetaStructureEntryInfo_s(MetaName.priorityLevel, 92, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__ePriorityLevel),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 96, MetaStructureEntryDataType.Array, 0, 13, 0), new MetaStructureEntryInfo_s(MetaName.extensions, 96, MetaStructureEntryDataType.Array, 0, 13, 0),
new MetaStructureEntryInfo_s(MetaName.ambientOcclusionMultiplier, 112, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.ambientOcclusionMultiplier, 112, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.artificialAmbientOcclusion, 116, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.artificialAmbientOcclusion, 116, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
@ -692,7 +692,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType), new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType),
new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0), new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0),
new MetaStructureEntryInfo_s(MetaName.timeFlags, 144, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.timeFlags, 144, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
); );
@ -700,14 +700,14 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CExtensionDefLightEffect, 2436199897, 1024, 48, return new MetaStructureInfo(MetaName.CExtensionDefLightEffect, 2436199897, 1024, 48,
new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.offsetPosition, 16, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.offsetPosition, 16, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CLightAttrDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CLightAttrDef),
new MetaStructureEntryInfo_s(MetaName.instances, 32, MetaStructureEntryDataType.Array, 0, 2, 0) new MetaStructureEntryInfo_s(MetaName.instances, 32, MetaStructureEntryDataType.Array, 0, 2, 0)
); );
case MetaName.CLightAttrDef: case MetaName.CLightAttrDef:
return new MetaStructureInfo(MetaName.CLightAttrDef, 2363260268, 768, 160, return new MetaStructureInfo(MetaName.CLightAttrDef, 2363260268, 768, 160,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.posn, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 0, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.posn, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 0, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.colour, 20, MetaStructureEntryDataType.ArrayOfBytes, 0, 2, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.colour, 20, MetaStructureEntryDataType.ArrayOfBytes, 0, 2, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.flashiness, 23, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.flashiness, 23, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.intensity, 24, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.intensity, 24, MetaStructureEntryDataType.Float, 0, 0, 0),
@ -718,7 +718,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.timeFlags, 36, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.timeFlags, 36, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.falloff, 40, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.falloff, 40, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.falloffExponent, 44, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.falloffExponent, 44, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.cullingPlane, 48, MetaStructureEntryDataType.ArrayOfBytes, 0, 13, (MetaName)4), new MetaStructureEntryInfo_s(MetaName.cullingPlane, 48, MetaStructureEntryDataType.ArrayOfBytes, 0, 13, (MetaName)4),
new MetaStructureEntryInfo_s(MetaName.shadowBlur, 64, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.shadowBlur, 64, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.padding1, 65, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.padding1, 65, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
@ -726,7 +726,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.padding3, 68, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.padding3, 68, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.volIntensity, 72, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.volIntensity, 72, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.volSizeScale, 76, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.volSizeScale, 76, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.volOuterColour, 80, MetaStructureEntryDataType.ArrayOfBytes, 0, 21, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.volOuterColour, 80, MetaStructureEntryDataType.ArrayOfBytes, 0, 21, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.lightHash, 83, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.lightHash, 83, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.volOuterIntensity, 84, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.volOuterIntensity, 84, MetaStructureEntryDataType.Float, 0, 0, 0),
@ -739,13 +739,13 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.shadowNearClip, 100, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.shadowNearClip, 100, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coronaIntensity, 104, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.coronaIntensity, 104, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coronaZBias, 108, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.coronaZBias, 108, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.direction, 112, MetaStructureEntryDataType.ArrayOfBytes, 0, 34, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.direction, 112, MetaStructureEntryDataType.ArrayOfBytes, 0, 34, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.tangent, 124, MetaStructureEntryDataType.ArrayOfBytes, 0, 36, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.tangent, 124, MetaStructureEntryDataType.ArrayOfBytes, 0, 36, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.coneInnerAngle, 136, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.coneInnerAngle, 136, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.coneOuterAngle, 140, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.coneOuterAngle, 140, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extents, 144, MetaStructureEntryDataType.ArrayOfBytes, 0, 40, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.extents, 144, MetaStructureEntryDataType.ArrayOfBytes, 0, 40, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.projectedTextureKey, 156, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.projectedTextureKey, 156, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
); );
@ -764,14 +764,14 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.lodLevel, 84, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__eLodType), new MetaStructureEntryInfo_s(MetaName.lodLevel, 84, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__eLodType),
new MetaStructureEntryInfo_s(MetaName.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.priorityLevel, 92, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__ePriorityLevel), new MetaStructureEntryInfo_s(MetaName.priorityLevel, 92, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__ePriorityLevel),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 96, MetaStructureEntryDataType.Array, 0, 13, 0), new MetaStructureEntryInfo_s(MetaName.extensions, 96, MetaStructureEntryDataType.Array, 0, 13, 0),
new MetaStructureEntryInfo_s(MetaName.ambientOcclusionMultiplier, 112, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.ambientOcclusionMultiplier, 112, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.artificialAmbientOcclusion, 116, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.artificialAmbientOcclusion, 116, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.tintValue, 120, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.tintValue, 120, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.groupId, 128, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.groupId, 128, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.floorId, 132, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.floorId, 132, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.defaultEntitySets, 136, MetaStructureEntryDataType.Array, 0, 20, 0), new MetaStructureEntryInfo_s(MetaName.defaultEntitySets, 136, MetaStructureEntryDataType.Array, 0, 20, 0),
new MetaStructureEntryInfo_s(MetaName.numExitPortals, 152, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numExitPortals, 152, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.MLOInstflags, 156, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.MLOInstflags, 156, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
@ -792,7 +792,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.bmin, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.bmin, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.bmax, 16, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.bmax, 16, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.dataSize, 32, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.dataSize, 32, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.verts, 40, MetaStructureEntryDataType.DataBlockPointer, 4, 3, (MetaName)2), new MetaStructureEntryInfo_s(MetaName.verts, 40, MetaStructureEntryDataType.DataBlockPointer, 4, 3, (MetaName)2),
new MetaStructureEntryInfo_s(MetaName.numVertsInBytes, 48, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numVertsInBytes, 48, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.numTris, 50, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.numTris, 50, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
@ -815,18 +815,18 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.physicsDictionary, 104, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType), new MetaStructureEntryInfo_s(MetaName.assetType, 108, MetaStructureEntryDataType.IntEnum, 0, 0, MetaName.rage__fwArchetypeDef__eAssetType),
new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.assetName, 112, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0), new MetaStructureEntryInfo_s(MetaName.extensions, 120, MetaStructureEntryDataType.Array, 0, 15, 0),
new MetaStructureEntryInfo_s(MetaName.mloFlags, 144, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.mloFlags, 144, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.entities, 152, MetaStructureEntryDataType.Array, 0, 18, 0), new MetaStructureEntryInfo_s(MetaName.entities, 152, MetaStructureEntryDataType.Array, 0, 18, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloRoomDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloRoomDef),
new MetaStructureEntryInfo_s(MetaName.rooms, 168, MetaStructureEntryDataType.Array, 0, 20, 0), new MetaStructureEntryInfo_s(MetaName.rooms, 168, MetaStructureEntryDataType.Array, 0, 20, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloPortalDef), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloPortalDef),
new MetaStructureEntryInfo_s(MetaName.portals, 184, MetaStructureEntryDataType.Array, 0, 22, 0), new MetaStructureEntryInfo_s(MetaName.portals, 184, MetaStructureEntryDataType.Array, 0, 22, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloEntitySet), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloEntitySet),
new MetaStructureEntryInfo_s(MetaName.entitySets, 200, MetaStructureEntryDataType.Array, 0, 24, 0), new MetaStructureEntryInfo_s(MetaName.entitySets, 200, MetaStructureEntryDataType.Array, 0, 24, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloTimeCycleModifier), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CMloTimeCycleModifier),
new MetaStructureEntryInfo_s(MetaName.timeCycleModifiers, 216, MetaStructureEntryDataType.Array, 0, 26, 0) new MetaStructureEntryInfo_s(MetaName.timeCycleModifiers, 216, MetaStructureEntryDataType.Array, 0, 26, 0)
); );
case MetaName.CMloRoomDef: case MetaName.CMloRoomDef:
@ -841,7 +841,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.portalCount, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.portalCount, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.floorId, 84, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.floorId, 84, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.exteriorVisibiltyDepth, 88, MetaStructureEntryDataType.SignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.exteriorVisibiltyDepth, 88, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.attachedObjects, 96, MetaStructureEntryDataType.Array, 0, 10, 0) new MetaStructureEntryInfo_s(MetaName.attachedObjects, 96, MetaStructureEntryDataType.Array, 0, 10, 0)
); );
case MetaName.CMloPortalDef: case MetaName.CMloPortalDef:
@ -852,9 +852,9 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.mirrorPriority, 20, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.mirrorPriority, 20, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.opacity, 24, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.opacity, 24, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.audioOcclusion, 28, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.audioOcclusion, 28, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.corners, 32, MetaStructureEntryDataType.Array, 0, 6, 0), new MetaStructureEntryInfo_s(MetaName.corners, 32, MetaStructureEntryDataType.Array, 0, 6, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.attachedObjects, 48, MetaStructureEntryDataType.Array, 0, 8, 0) new MetaStructureEntryInfo_s(MetaName.attachedObjects, 48, MetaStructureEntryDataType.Array, 0, 8, 0)
); );
case MetaName.CMloTimeCycleModifier: case MetaName.CMloTimeCycleModifier:
@ -894,7 +894,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.StartImapFile, 264, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.StartImapFile, 264, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.EndImapFile, 268, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.EndImapFile, 268, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.PtFxAssetName, 272, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.PtFxAssetName, 272, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompEntityAnims), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompEntityAnims),
new MetaStructureEntryInfo_s(MetaName.Animations, 280, MetaStructureEntryDataType.Array, 0, 13, 0) new MetaStructureEntryInfo_s(MetaName.Animations, 280, MetaStructureEntryDataType.Array, 0, 13, 0)
); );
case MetaName.CCompEntityAnims: case MetaName.CCompEntityAnims:
@ -904,7 +904,7 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.AnimatedModel, 128, MetaStructureEntryDataType.ArrayOfChars, 0, 0, (MetaName)64), new MetaStructureEntryInfo_s(MetaName.AnimatedModel, 128, MetaStructureEntryDataType.ArrayOfChars, 0, 0, (MetaName)64),
new MetaStructureEntryInfo_s(MetaName.punchInPhase, 192, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.punchInPhase, 192, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.punchOutPhase, 196, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.punchOutPhase, 196, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompEntityEffectsData), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CCompEntityEffectsData),
new MetaStructureEntryInfo_s(MetaName.effectsData, 200, MetaStructureEntryDataType.Array, 0, 5, 0) new MetaStructureEntryInfo_s(MetaName.effectsData, 200, MetaStructureEntryDataType.Array, 0, 5, 0)
); );
case MetaName.CCompEntityEffectsData: case MetaName.CCompEntityEffectsData:
@ -1001,8 +1001,8 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.softness, 168, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.softness, 168, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.scaleBySunIntensity, 172, MetaStructureEntryDataType.Boolean, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.scaleBySunIntensity, 172, MetaStructureEntryDataType.Boolean, 0, 0, 0)
); );
case MetaName.VECTOR3: case (MetaName)MetaTypeName.VECTOR3:
return new MetaStructureInfo(MetaName.VECTOR3, 2751397072, 512, 12, return new MetaStructureInfo((MetaName)MetaTypeName.VECTOR3, 2751397072, 512, 12,
new MetaStructureEntryInfo_s(MetaName.x, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.x, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.y, 4, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.y, 4, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.z, 8, MetaStructureEntryDataType.Float, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.z, 8, MetaStructureEntryDataType.Float, 0, 0, 0)
@ -1010,9 +1010,9 @@ namespace CodeWalker.GameFiles
case MetaName.CPedPropInfo: case MetaName.CPedPropInfo:
return new MetaStructureInfo(MetaName.CPedPropInfo, 1792487819, 768, 40, return new MetaStructureInfo(MetaName.CPedPropInfo, 1792487819, 768, 40,
new MetaStructureEntryInfo_s((MetaName)2598445407, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)2598445407, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropMetaData), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropMetaData),
new MetaStructureEntryInfo_s((MetaName)3902803273, 8, MetaStructureEntryDataType.Array, 0, 1, 0), new MetaStructureEntryInfo_s((MetaName)3902803273, 8, MetaStructureEntryDataType.Array, 0, 1, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CAnchorProps), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CAnchorProps),
new MetaStructureEntryInfo_s(MetaName.aAnchors, 24, MetaStructureEntryDataType.Array, 0, 3, 0) new MetaStructureEntryInfo_s(MetaName.aAnchors, 24, MetaStructureEntryDataType.Array, 0, 3, 0)
); );
case MetaName.CPedVariationInfo: case MetaName.CPedVariationInfo:
@ -1021,13 +1021,13 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s((MetaName)4086467184, 1, MetaStructureEntryDataType.Boolean, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)4086467184, 1, MetaStructureEntryDataType.Boolean, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)911147899, 2, MetaStructureEntryDataType.Boolean, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)911147899, 2, MetaStructureEntryDataType.Boolean, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)315291935, 3, MetaStructureEntryDataType.Boolean, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)315291935, 3, MetaStructureEntryDataType.Boolean, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2996560424, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, MetaName.PsoPOINTER), new MetaStructureEntryInfo_s((MetaName)2996560424, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, (MetaName)MetaTypeName.PsoPOINTER),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)3538495220), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)3538495220),
new MetaStructureEntryInfo_s((MetaName)3796409423, 16, MetaStructureEntryDataType.Array, 0, 6, 0), new MetaStructureEntryInfo_s((MetaName)3796409423, 16, MetaStructureEntryDataType.Array, 0, 6, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedSelectionSet), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedSelectionSet),
new MetaStructureEntryInfo_s(MetaName.aSelectionSets, 32, MetaStructureEntryDataType.Array, 0, 8, 0), new MetaStructureEntryInfo_s(MetaName.aSelectionSets, 32, MetaStructureEntryDataType.Array, 0, 8, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CComponentInfo), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CComponentInfo),
new MetaStructureEntryInfo_s(MetaName.compInfos, 48, MetaStructureEntryDataType.Array, 0, 10, 0), new MetaStructureEntryInfo_s(MetaName.compInfos, 48, MetaStructureEntryDataType.Array, 0, 10, 0),
new MetaStructureEntryInfo_s(MetaName.propInfo, 64, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropInfo), new MetaStructureEntryInfo_s(MetaName.propInfo, 64, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropInfo),
new MetaStructureEntryInfo_s(MetaName.dlcName, 104, MetaStructureEntryDataType.Hash, 0, 0, 0) new MetaStructureEntryInfo_s(MetaName.dlcName, 104, MetaStructureEntryDataType.Hash, 0, 0, 0)
@ -1035,7 +1035,7 @@ namespace CodeWalker.GameFiles
case (MetaName)3538495220: case (MetaName)3538495220:
return new MetaStructureInfo((MetaName)3538495220, 2024084511, 768, 24, return new MetaStructureInfo((MetaName)3538495220, 2024084511, 768, 24,
new MetaStructureEntryInfo_s((MetaName)3371516811, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)3371516811, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1535046754), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1535046754),
new MetaStructureEntryInfo_s((MetaName)1756136273, 8, MetaStructureEntryDataType.Array, 0, 1, 0) new MetaStructureEntryInfo_s((MetaName)1756136273, 8, MetaStructureEntryDataType.Array, 0, 1, 0)
); );
case (MetaName)2236980467: case (MetaName)2236980467:
@ -1046,7 +1046,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo((MetaName)1535046754, 124073662, 768, 48, return new MetaStructureInfo((MetaName)1535046754, 124073662, 768, 48,
new MetaStructureEntryInfo_s(MetaName.propMask, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.propMask, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2806194106, 1, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)2806194106, 1, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1036962405), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1036962405),
new MetaStructureEntryInfo_s(MetaName.aTexData, 8, MetaStructureEntryDataType.Array, 0, 2, 0), new MetaStructureEntryInfo_s(MetaName.aTexData, 8, MetaStructureEntryDataType.Array, 0, 2, 0),
new MetaStructureEntryInfo_s(MetaName.clothData, 24, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)2236980467) new MetaStructureEntryInfo_s(MetaName.clothData, 24, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)2236980467)
); );
@ -1059,7 +1059,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CComponentInfo, 3693847250, 512, 48, return new MetaStructureInfo(MetaName.CComponentInfo, 3693847250, 512, 48,
new MetaStructureEntryInfo_s((MetaName)802196719, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)802196719, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)4233133352, 4, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)4233133352, 4, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)128864925, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 2, (MetaName)5), new MetaStructureEntryInfo_s((MetaName)128864925, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 2, (MetaName)5),
new MetaStructureEntryInfo_s(MetaName.flags, 28, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.flags, 28, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.inclusions, 32, MetaStructureEntryDataType.IntFlags2, 0, 32, 0), new MetaStructureEntryInfo_s(MetaName.inclusions, 32, MetaStructureEntryDataType.IntFlags2, 0, 32, 0),
@ -1072,9 +1072,9 @@ namespace CodeWalker.GameFiles
case MetaName.CPedPropMetaData: case MetaName.CPedPropMetaData:
return new MetaStructureInfo(MetaName.CPedPropMetaData, 2029738350, 768, 56, return new MetaStructureInfo(MetaName.CPedPropMetaData, 2029738350, 768, 56,
new MetaStructureEntryInfo_s(MetaName.audioId, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.audioId, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.expressionMods, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, (MetaName)5), new MetaStructureEntryInfo_s(MetaName.expressionMods, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, (MetaName)5),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)254518642), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)254518642),
new MetaStructureEntryInfo_s(MetaName.texData, 24, MetaStructureEntryDataType.Array, 0, 3, 0), new MetaStructureEntryInfo_s(MetaName.texData, 24, MetaStructureEntryDataType.Array, 0, 3, 0),
new MetaStructureEntryInfo_s(MetaName.renderFlags, 40, MetaStructureEntryDataType.IntFlags1, 0, 3, (MetaName)4212977111), new MetaStructureEntryInfo_s(MetaName.renderFlags, 40, MetaStructureEntryDataType.IntFlags1, 0, 3, (MetaName)4212977111),
new MetaStructureEntryInfo_s(MetaName.propFlags, 44, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.propFlags, 44, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
@ -1094,22 +1094,22 @@ namespace CodeWalker.GameFiles
); );
case MetaName.CAnchorProps: case MetaName.CAnchorProps:
return new MetaStructureInfo(MetaName.CAnchorProps, 403574180, 768, 24, return new MetaStructureInfo(MetaName.CAnchorProps, 403574180, 768, 24,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.props, 0, MetaStructureEntryDataType.Array, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.props, 0, MetaStructureEntryDataType.Array, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.anchor, 16, MetaStructureEntryDataType.IntEnum, 0, 0, (MetaName)2834549053) new MetaStructureEntryInfo_s(MetaName.anchor, 16, MetaStructureEntryDataType.IntEnum, 0, 0, (MetaName)2834549053)
); );
case MetaName.CPedSelectionSet: case MetaName.CPedSelectionSet:
return new MetaStructureInfo(MetaName.CPedSelectionSet, 3120284999, 512, 48, return new MetaStructureInfo(MetaName.CPedSelectionSet, 3120284999, 512, 48,
new MetaStructureEntryInfo_s(MetaName.name, 0, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.name, 0, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)173599222, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, MetaName.PsoPOINTER), new MetaStructureEntryInfo_s((MetaName)173599222, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, (MetaName)MetaTypeName.PsoPOINTER),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2991454271, 16, MetaStructureEntryDataType.ArrayOfBytes, 0, 3, MetaName.PsoPOINTER), new MetaStructureEntryInfo_s((MetaName)2991454271, 16, MetaStructureEntryDataType.ArrayOfBytes, 0, 3, (MetaName)MetaTypeName.PsoPOINTER),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)3598106198, 28, MetaStructureEntryDataType.ArrayOfBytes, 0, 5, (MetaName)6), new MetaStructureEntryInfo_s((MetaName)3598106198, 28, MetaStructureEntryDataType.ArrayOfBytes, 0, 5, (MetaName)6),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2095974912, 34, MetaStructureEntryDataType.ArrayOfBytes, 0, 7, (MetaName)6), new MetaStructureEntryInfo_s((MetaName)2095974912, 34, MetaStructureEntryDataType.ArrayOfBytes, 0, 7, (MetaName)6),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)672172037, 40, MetaStructureEntryDataType.ArrayOfBytes, 0, 9, (MetaName)6) new MetaStructureEntryInfo_s((MetaName)672172037, 40, MetaStructureEntryDataType.ArrayOfBytes, 0, 9, (MetaName)6)
); );
case MetaName.CExtensionDefDoor: case MetaName.CExtensionDefDoor:
@ -1126,9 +1126,9 @@ namespace CodeWalker.GameFiles
case MetaName.CMloEntitySet: case MetaName.CMloEntitySet:
return new MetaStructureInfo(MetaName.CMloEntitySet, 4180211587, 768, 48, return new MetaStructureInfo(MetaName.CMloEntitySet, 4180211587, 768, 48,
new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.locations, 16, MetaStructureEntryDataType.Array, 0, 1, 0), new MetaStructureEntryInfo_s(MetaName.locations, 16, MetaStructureEntryDataType.Array, 0, 1, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.StructurePointer, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.entities, 32, MetaStructureEntryDataType.Array, 0, 3, 0) new MetaStructureEntryInfo_s(MetaName.entities, 32, MetaStructureEntryDataType.Array, 0, 3, 0)
); );
case MetaName.CExtensionDefSpawnPointOverride: case MetaName.CExtensionDefSpawnPointOverride:
@ -1185,20 +1185,20 @@ namespace CodeWalker.GameFiles
new MetaStructureEntryInfo_s(MetaName.LodFadeStartDist, 56, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.LodFadeStartDist, 56, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.LodInstFadeRange, 60, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.LodInstFadeRange, 60, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.OrientToTerrain, 64, MetaStructureEntryDataType.Float, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.OrientToTerrain, 64, MetaStructureEntryDataType.Float, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwGrassInstanceListDef__InstanceData), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, MetaName.rage__fwGrassInstanceListDef__InstanceData),
new MetaStructureEntryInfo_s(MetaName.InstanceList, 72, MetaStructureEntryDataType.Array, 36, 7, 0) new MetaStructureEntryInfo_s(MetaName.InstanceList, 72, MetaStructureEntryDataType.Array, 36, 7, 0)
); );
case MetaName.rage__fwGrassInstanceListDef__InstanceData: case MetaName.rage__fwGrassInstanceListDef__InstanceData:
return new MetaStructureInfo(MetaName.rage__fwGrassInstanceListDef__InstanceData, 2740378365, 256, 16, return new MetaStructureInfo(MetaName.rage__fwGrassInstanceListDef__InstanceData, 2740378365, 256, 16,
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedShort, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Position, 0, MetaStructureEntryDataType.ArrayOfBytes, 0, 0, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.Position, 0, MetaStructureEntryDataType.ArrayOfBytes, 0, 0, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.NormalX, 6, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.NormalX, 6, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.NormalY, 7, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.NormalY, 7, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Color, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, (MetaName)3), new MetaStructureEntryInfo_s(MetaName.Color, 8, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, (MetaName)3),
new MetaStructureEntryInfo_s(MetaName.Scale, 11, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.Scale, 11, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Ao, 12, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.Ao, 12, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.Pad, 13, MetaStructureEntryDataType.ArrayOfBytes, 0, 8, (MetaName)3) new MetaStructureEntryInfo_s(MetaName.Pad, 13, MetaStructureEntryDataType.ArrayOfBytes, 0, 8, (MetaName)3)
); );
case MetaName.CExtensionDefProcObject: case MetaName.CExtensionDefProcObject:
@ -1220,7 +1220,7 @@ namespace CodeWalker.GameFiles
case MetaName.rage__phVerletClothCustomBounds: case MetaName.rage__phVerletClothCustomBounds:
return new MetaStructureInfo(MetaName.rage__phVerletClothCustomBounds, 2075461750, 768, 32, return new MetaStructureInfo(MetaName.rage__phVerletClothCustomBounds, 2075461750, 768, 32,
new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.name, 8, MetaStructureEntryDataType.Hash, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1701774085), new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)1701774085),
new MetaStructureEntryInfo_s(MetaName.CollisionData, 16, MetaStructureEntryDataType.Array, 0, 1, 0) new MetaStructureEntryInfo_s(MetaName.CollisionData, 16, MetaStructureEntryDataType.Array, 0, 1, 0)
); );
case (MetaName)1701774085:/*.SectionUNKNOWN1*/ case (MetaName)1701774085:/*.SectionUNKNOWN1*/
@ -1675,7 +1675,7 @@ namespace CodeWalker.GameFiles
int ptrsize = Marshal.SizeOf(typeof(MetaPOINTER)); int ptrsize = Marshal.SizeOf(typeof(MetaPOINTER));
int ptroffset = (int)array.PointerDataOffset; int ptroffset = (int)array.PointerDataOffset;
var ptrblock = meta.GetBlock((int)array.PointerDataId); var ptrblock = meta.GetBlock((int)array.PointerDataId);
if ((ptrblock == null) || (ptrblock.Data == null) || (ptrblock.StructureNameHash != MetaName.POINTER)) if ((ptrblock == null) || (ptrblock.Data == null) || (ptrblock.StructureNameHash != (MetaName)MetaTypeName.POINTER))
{ return null; } { return null; }
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
@ -1691,27 +1691,27 @@ namespace CodeWalker.GameFiles
public static MetaHash[] GetHashArray(Meta meta, Array_uint array) public static MetaHash[] GetHashArray(Meta meta, Array_uint array)
{ {
return ConvertDataArray<MetaHash>(meta, MetaName.HASH, array.Pointer, array.Count1); return ConvertDataArray<MetaHash>(meta, (MetaName)MetaTypeName.HASH, array.Pointer, array.Count1);
} }
public static Vector4[] GetPaddedVector3Array(Meta meta, Array_Vector3 array) public static Vector4[] GetPaddedVector3Array(Meta meta, Array_Vector3 array)
{ {
return ConvertDataArray<Vector4>(meta, MetaName.VECTOR4, array.Pointer, array.Count1); return ConvertDataArray<Vector4>(meta, (MetaName)MetaTypeName.VECTOR4, array.Pointer, array.Count1);
} }
public static uint[] GetUintArray(Meta meta, Array_uint array) public static uint[] GetUintArray(Meta meta, Array_uint array)
{ {
return ConvertDataArray<uint>(meta, MetaName.UINT, array.Pointer, array.Count1); return ConvertDataArray<uint>(meta, (MetaName)MetaTypeName.UINT, array.Pointer, array.Count1);
} }
public static ushort[] GetUshortArray(Meta meta, Array_ushort array) public static ushort[] GetUshortArray(Meta meta, Array_ushort array)
{ {
return ConvertDataArray<ushort>(meta, MetaName.USHORT, array.Pointer, array.Count1); return ConvertDataArray<ushort>(meta, (MetaName)MetaTypeName.USHORT, array.Pointer, array.Count1);
} }
public static short[] GetShortArray(Meta meta, Array_ushort array) public static short[] GetShortArray(Meta meta, Array_ushort array)
{ {
return ConvertDataArray<short>(meta, MetaName.USHORT, array.Pointer, array.Count1); return ConvertDataArray<short>(meta, (MetaName)MetaTypeName.USHORT, array.Pointer, array.Count1);
} }
public static float[] GetFloatArray(Meta meta, Array_float array) public static float[] GetFloatArray(Meta meta, Array_float array)
{ {
return ConvertDataArray<float>(meta, MetaName.FLOAT, array.Pointer, array.Count1); return ConvertDataArray<float>(meta, (MetaName)MetaTypeName.FLOAT, array.Pointer, array.Count1);
} }
public static byte[] GetByteArray(Meta meta, Array_byte array) public static byte[] GetByteArray(Meta meta, Array_byte array)
{ {
@ -1813,7 +1813,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < datablocks.Count; i++) for (int i = 0; i < datablocks.Count; i++)
{ {
var block = datablocks[i]; var block = datablocks[i];
if (block.StructureNameHash == MetaName.STRING) if (block.StructureNameHash == (MetaName)MetaTypeName.STRING)
{ {
startblock = block; startblock = block;
startblockind = i; startblockind = i;
@ -1865,7 +1865,7 @@ namespace CodeWalker.GameFiles
currentblockind++; currentblockind++;
if (currentblockind >= datablocks.Count) break; //last block, can't go any further if (currentblockind >= datablocks.Count) break; //last block, can't go any further
currentblock = datablocks[currentblockind]; currentblock = datablocks[currentblockind];
if (currentblock.StructureNameHash != MetaName.STRING) break; //not the right block type, can't go further if (currentblock.StructureNameHash != (MetaName)MetaTypeName.STRING) break; //not the right block type, can't go further
} }
@ -1882,7 +1882,7 @@ namespace CodeWalker.GameFiles
if ((blocki < 0) || (blocki >= meta.DataBlocks.BlockLength)) if ((blocki < 0) || (blocki >= meta.DataBlocks.BlockLength))
{ return null; } { return null; }
var block = meta.DataBlocks[blocki]; var block = meta.DataBlocks[blocki];
if (block.StructureNameHash != MetaName.STRING) if (block.StructureNameHash != (MetaName)MetaTypeName.STRING)
{ return null; } { return null; }
//var byteoffset = offset * 16 + offset2; //var byteoffset = offset * 16 + offset2;
var length = ptr.Count1; var length = ptr.Count1;
@ -2063,6 +2063,36 @@ namespace CodeWalker.GameFiles
public enum MetaTypeName : uint
{
//SectionUNKNOWN1 = 1701774085, //cloth CollisionData (child of rage__phVerletClothCustomBounds)
////SectionUNKNOWN2 = 1185771007, //CCompositeEntityType
//SectionUNKNOWN3 = 1980345114,
////SectionUNKNOWN4 = 2085051229,
//SectionUNKNOWN5 = 2741784237, //OccludeModel
////SectionUNKNOWN6 = 3985044770,
//SectionUNKNOWN7 = 975711773, //BoxOccluder
//SectionUNKNOWN8 = 3430328684,//0xCC76A96C,
VECTOR3 = 3805007828,//0xe2cbcfd4, //this hash isn't correct, but is a placeholder used in various places, incl CDistantLODLight - TODO: figure out the actual name for this and add it to MetaNames!!!
VECTOR4 = 0x33, //(was SectionUNKNOWN12)
HASH = 0x4a,
STRING = 0x10,
POINTER = 0x7,
USHORT = 0x13,
UINT = 0x15,
ARRAYINFO = 0x100,
BYTE = 17,
FLOAT = 33, //0x21
PsoPOINTER = 12,
}
[TC(typeof(EXP))] public abstract class MetaWrapper [TC(typeof(EXP))] public abstract class MetaWrapper
{ {
public virtual string Name { get { return ToString(); } } public virtual string Name { get { return ToString(); } }
@ -4195,8 +4225,8 @@ namespace CodeWalker.GameFiles
{ {
var sprb = mb.EnsureBlock(MetaName.CScenarioPointRegion); var sprb = mb.EnsureBlock(MetaName.CScenarioPointRegion);
//var hashb = mb.EnsureBlock(MetaName.HASH); //var hashb = mb.EnsureBlock((MetaName)MetaTypeName.HASH);
//var ushb = mb.EnsureBlock(MetaName.USHORT); //var ushb = mb.EnsureBlock((MetaName)MetaTypeName.USHORT);
//var pntb = mb.EnsureBlock(MetaName.CScenarioPoint); //var pntb = mb.EnsureBlock(MetaName.CScenarioPoint);
mb.AddStructureInfo(MetaName.CScenarioPointContainer); mb.AddStructureInfo(MetaName.CScenarioPointContainer);
@ -5525,8 +5555,8 @@ namespace CodeWalker.GameFiles
//TODO! //TODO!
//if (EdgeIds != null) //if (EdgeIds != null)
//{ //{
// mb.AddStructureInfo(MetaName.ushort); // mb.AddStructureInfo((MetaName)MetaTypeName.USHORT);
// _Data.EdgeIds = mb.AddItemArrayPtr(MetaName.ushort, EdgeIds); // _Data.EdgeIds = mb.AddItemArrayPtr((MetaName)MetaTypeName.USHORT, EdgeIds);
//} //}
mb.AddStructureInfo(MetaName.CScenarioChain); mb.AddStructureInfo(MetaName.CScenarioChain);

View File

@ -183,7 +183,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < structInfo.Entries.Length; i++) for (int i = 0; i < structInfo.Entries.Length; i++)
{ {
var entry = structInfo.Entries[i]; var entry = structInfo.Entries[i];
if (entry.EntryNameHash == MetaName.ARRAYINFO) if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{ {
arrEntry = entry; arrEntry = entry;
continue; continue;
@ -418,7 +418,7 @@ namespace CodeWalker.GameFiles
break; break;
case MetaStructureEntryDataType.Float_XYZ: case MetaStructureEntryDataType.Float_XYZ:
var arrV3 = MetaTypes.ConvertData<Array_Vector3>(data, eoffset); var arrV3 = MetaTypes.ConvertData<Array_Vector3>(data, eoffset);
var v4Arr = MetaTypes.ConvertDataArray<Vector4>(cont.Meta, MetaName.VECTOR4, arrV3.Pointer, arrV3.Count1); var v4Arr = MetaTypes.ConvertDataArray<Vector4>(cont.Meta, (MetaName)MetaTypeName.VECTOR4, arrV3.Pointer, arrV3.Count1);
WriteItemArray(sb, v4Arr, indent, ename, "Vector3/4", FormatVector4); WriteItemArray(sb, v4Arr, indent, ename, "Vector3/4", FormatVector4);
break; break;
case MetaStructureEntryDataType.CharPointer: case MetaStructureEntryDataType.CharPointer:
@ -684,7 +684,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < structInfo.Entries.Length; i++) for (int i = 0; i < structInfo.Entries.Length; i++)
{ {
var entry = structInfo.Entries[i]; var entry = structInfo.Entries[i];
if (entry.EntryNameHash == MetaName.ARRAYINFO) if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{ {
continue; continue;
} }
@ -741,7 +741,7 @@ namespace CodeWalker.GameFiles
uint fEntry = (entry.ReferenceKey & 0xFFF); uint fEntry = (entry.ReferenceKey & 0xFFF);
var fEnt = (fEntry != 0xFFF) ? structInfo.GetEntry((int)fEntry) : null; var fEnt = (fEntry != 0xFFF) ? structInfo.GetEntry((int)fEntry) : null;
PsoEnumInfo flagsInfo = null; PsoEnumInfo flagsInfo = null;
if ((fEnt != null) && (fEnt.EntryNameHash == MetaName.ARRAYINFO)) if ((fEnt != null) && (fEnt.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO))
{ {
flagsInfo = cont.GetEnumInfo((MetaName)fEnt.ReferenceKey); flagsInfo = cont.GetEnumInfo((MetaName)fEnt.ReferenceKey);
} }
@ -1068,7 +1068,7 @@ namespace CodeWalker.GameFiles
{ {
ErrorXml(sb, indent, ename + ": Array block not found: " + aBlockId.ToString()); ErrorXml(sb, indent, ename + ": Array block not found: " + aBlockId.ToString());
} }
else if (aBlock.NameHash != MetaName.PsoPOINTER) else if (aBlock.NameHash != (MetaName)MetaTypeName.PsoPOINTER)
{ {
OpenTag(sb, indent, arrTag); OpenTag(sb, indent, arrTag);
if (atyp == null) if (atyp == null)
@ -1255,7 +1255,7 @@ namespace CodeWalker.GameFiles
{ {
ErrorXml(sb, aind, ename + ": Map struct type not found: " + HashString(xBlock.NameHash)); ErrorXml(sb, aind, ename + ": Map struct type not found: " + HashString(xBlock.NameHash));
} }
else if ((xStruct.IndexInfo == null))// || (xStruct.IndexInfo.NameHash != MetaName.ARRAYINFO)) else if ((xStruct.IndexInfo == null))// || (xStruct.IndexInfo.NameHash != (MetaName)MetaTypeName.ARRAYINFO))
{ {
ErrorXml(sb, aind, ename + ": Map struct was missing IndexInfo! " + (xStruct == null ? "" : xStruct.ToString())); ErrorXml(sb, aind, ename + ": Map struct was missing IndexInfo! " + (xStruct == null ? "" : xStruct.ToString()));
} }
@ -1289,7 +1289,7 @@ namespace CodeWalker.GameFiles
var kOffset = sOffset + kEntry.DataOffset; var kOffset = sOffset + kEntry.DataOffset;
var iOffset = sOffset + iEntry.DataOffset; var iOffset = sOffset + iEntry.DataOffset;
var kStr = GetStringValue(cont.Pso, kEntry, data, kOffset); var kStr = GetStringValue(cont.Pso, kEntry, data, kOffset);
if (iEntry.ReferenceKey != 0)//(xBlock.NameHash != MetaName.ARRAYINFO)//257,258,259 if (iEntry.ReferenceKey != 0)//(xBlock.NameHash != (MetaName)MetaTypeName.ARRAYINFO)//257,258,259
{ {
//embedded map values //embedded map values
var vOffset = xOffset2 + iEntry.DataOffset; var vOffset = xOffset2 + iEntry.DataOffset;

View File

@ -147,7 +147,7 @@ namespace CodeWalker.GameFiles
public Array_StructurePointer AddPointerArray(PsoPOINTER[] arr) public Array_StructurePointer AddPointerArray(PsoPOINTER[] arr)
{ {
if ((arr == null) || (arr.Length == 0)) return new Array_StructurePointer(); if ((arr == null) || (arr.Length == 0)) return new Array_StructurePointer();
var ptr = AddItemArray(MetaName.PsoPOINTER, arr); var ptr = AddItemArray((MetaName)MetaTypeName.PsoPOINTER, arr);
Array_StructurePointer sp = new Array_StructurePointer(); Array_StructurePointer sp = new Array_StructurePointer();
sp.Count1 = (ushort)arr.Length; sp.Count1 = (ushort)arr.Length;
sp.Count2 = sp.Count1; sp.Count2 = sp.Count1;
@ -183,19 +183,19 @@ namespace CodeWalker.GameFiles
public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items) public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_Vector3(); if ((items == null) || (items.Length == 0)) return new Array_Vector3();
var ptr = AddItemArray((MetaName)1, items); //MetaName.VECTOR4 padded to vec4... var ptr = AddItemArray((MetaName)1, items); //(MetaName)MetaTypeName.VECTOR4 padded to vec4...
return new Array_Vector3(ptr.Pointer, items.Length); return new Array_Vector3(ptr.Pointer, items.Length);
} }
public Array_Vector3 AddVector2ArrayPtr(Vector2[] items) public Array_Vector3 AddVector2ArrayPtr(Vector2[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_Vector3(); if ((items == null) || (items.Length == 0)) return new Array_Vector3();
var ptr = AddItemArray((MetaName)1, items); //MetaName.VECTOR4 padded to vec4...? var ptr = AddItemArray((MetaName)1, items); //(MetaName)MetaTypeName.VECTOR4 padded to vec4...?
return new Array_Vector3(ptr.Pointer, items.Length); return new Array_Vector3(ptr.Pointer, items.Length);
} }
public Array_uint AddHashArrayPtr(MetaHash[] items) public Array_uint AddHashArrayPtr(MetaHash[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_uint(); if ((items == null) || (items.Length == 0)) return new Array_uint();
var ptr = AddItemArray((MetaName)6, items); //MetaName.HASH var ptr = AddItemArray((MetaName)6, items); //(MetaName)MetaTypeName.HASH
return new Array_uint(ptr.Pointer, items.Length); return new Array_uint(ptr.Pointer, items.Length);
} }
public Array_uint AddUIntArrayPtr(uint[] items) public Array_uint AddUIntArrayPtr(uint[] items)
@ -225,7 +225,7 @@ namespace CodeWalker.GameFiles
public Array_float AddFloatArrayPtr(float[] items) public Array_float AddFloatArrayPtr(float[] items)
{ {
if ((items == null) || (items.Length == 0)) return new Array_float(); if ((items == null) || (items.Length == 0)) return new Array_float();
var ptr = AddItemArray((MetaName)7, items); //MetaName.PsoFLOAT ? comes up as MetaName.POINTER due to RSC meta values var ptr = AddItemArray((MetaName)7, items); //MetaName.PsoFLOAT ? comes up as (MetaName)MetaTypeName.POINTER due to RSC meta values
return new Array_float(ptr.Pointer, items.Length); return new Array_float(ptr.Pointer, items.Length);
} }
@ -274,7 +274,7 @@ namespace CodeWalker.GameFiles
if (valType == 0) if (valType == 0)
{ {
inf = PsoTypes.GetStructureInfo(MetaName.ARRAYINFO); //default ARRAYINFO with pointer inf = PsoTypes.GetStructureInfo((MetaName)MetaTypeName.ARRAYINFO); //default ARRAYINFO with pointer
if (!StructureInfos.ContainsKey(inf.IndexInfo.NameHash)) if (!StructureInfos.ContainsKey(inf.IndexInfo.NameHash))
{ {
StructureInfos[inf.IndexInfo.NameHash] = inf; StructureInfos[inf.IndexInfo.NameHash] = inf;
@ -286,7 +286,7 @@ namespace CodeWalker.GameFiles
if (structInfo == null) if (structInfo == null)
{ }//error? { }//error?
MetaName xName = MetaName.ARRAYINFO + 1; //257 MetaName xName = (MetaName)MetaTypeName.ARRAYINFO + 1; //257
bool nameOk = !StructureInfos.ContainsKey(xName); bool nameOk = !StructureInfos.ContainsKey(xName);
while (!nameOk) while (!nameOk)
{ {
@ -320,9 +320,9 @@ namespace CodeWalker.GameFiles
// case MetaName.fwClipDictionaryMetadata: return PsoTypes.GetStructureInfo((MetaName)257); // case MetaName.fwClipDictionaryMetadata: return PsoTypes.GetStructureInfo((MetaName)257);
// case MetaName.fwMemoryGroupMetadata: return PsoTypes.GetStructureInfo((MetaName)258); // case MetaName.fwMemoryGroupMetadata: return PsoTypes.GetStructureInfo((MetaName)258);
// case (MetaName)3219912345: return PsoTypes.GetStructureInfo((MetaName)259); // case (MetaName)3219912345: return PsoTypes.GetStructureInfo((MetaName)259);
// case (MetaName)0: return PsoTypes.GetStructureInfo(MetaName.ARRAYINFO); // case (MetaName)0: return PsoTypes.GetStructureInfo((MetaName)MetaTypeName.ARRAYINFO);
// default: // default:
// return PsoTypes.GetStructureInfo(MetaName.ARRAYINFO);//error? // return PsoTypes.GetStructureInfo((MetaName)MetaTypeName.ARRAYINFO);//error?
//} //}
//case (MetaName)257: //case (MetaName)257:
// return new PsoStructureInfo((MetaName)257, 0, 2, 32, // return new PsoStructureInfo((MetaName)257, 0, 2, 32,
@ -341,7 +341,7 @@ namespace CodeWalker.GameFiles
// ); // );
//case (MetaName)3219912345: //case (MetaName)3219912345:
// return new PsoStructureInfo((MetaName)3219912345, 0, 0, 24, // return new PsoStructureInfo((MetaName)3219912345, 0, 0, 24,
// new PsoStructureEntryInfo(MetaName.ARRAYINFO, PsoDataType.Structure, 0, 0, (MetaName)2356519750), // new PsoStructureEntryInfo((MetaName)MetaTypeName.ARRAYINFO, PsoDataType.Structure, 0, 0, (MetaName)2356519750),
// new PsoStructureEntryInfo(MetaName.Adjustments, PsoDataType.Array, 8, 0, 0) // new PsoStructureEntryInfo(MetaName.Adjustments, PsoDataType.Array, 8, 0, 0)
// ); // );
} }

File diff suppressed because it is too large Load Diff

View File

@ -61,7 +61,7 @@ namespace CodeWalker.GameFiles
var cnode = GetEntryNode(node.ChildNodes, entry); var cnode = GetEntryNode(node.ChildNodes, entry);
if (entry.EntryNameHash == MetaName.ARRAYINFO) if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{ {
arrEntry = entry; arrEntry = entry;
continue; continue;
@ -145,7 +145,7 @@ namespace CodeWalker.GameFiles
bytes.Add(val); bytes.Add(val);
} }
} }
var ptr = mb.AddDataBlockPtr(bytes.ToArray(), MetaName.BYTE); var ptr = mb.AddDataBlockPtr(bytes.ToArray(), (MetaName)MetaTypeName.BYTE);
var byt = MetaTypes.ConvertToBytes(ptr); var byt = MetaTypes.ConvertToBytes(ptr);
Buffer.BlockCopy(byt, 0, data, entry.DataOffset, byt.Length); Buffer.BlockCopy(byt, 0, data, entry.DataOffset, byt.Length);
break; break;

View File

@ -62,7 +62,7 @@ namespace CodeWalker.GameFiles
var entry = infos.Entries[i]; var entry = infos.Entries[i];
var cnode = GetEntryNode(node.ChildNodes, entry.EntryNameHash); var cnode = GetEntryNode(node.ChildNodes, entry.EntryNameHash);
if (entry.EntryNameHash == MetaName.ARRAYINFO) if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{ {
arrEntry = entry; arrEntry = entry;
continue; continue;
@ -265,7 +265,7 @@ namespace CodeWalker.GameFiles
var fEnt = (fEntry != 0xFFF) ? infos.GetEntry((int)fEntry) : null; var fEnt = (fEntry != 0xFFF) ? infos.GetEntry((int)fEntry) : null;
PsoEnumInfo flagsInfo = null; PsoEnumInfo flagsInfo = null;
MetaName fEnum = (MetaName)(fEnt?.ReferenceKey ?? 0); MetaName fEnum = (MetaName)(fEnt?.ReferenceKey ?? 0);
if ((fEnt != null) && (fEnt.EntryNameHash == MetaName.ARRAYINFO)) if ((fEnt != null) && (fEnt.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO))
{ {
flagsInfo = PsoTypes.GetEnumInfo(fEnum); flagsInfo = PsoTypes.GetEnumInfo(fEnum);
} }
@ -399,7 +399,7 @@ namespace CodeWalker.GameFiles
TraverseStringRaw(kattr, pb, kEntry, nodeBytes); //write the key TraverseStringRaw(kattr, pb, kEntry, nodeBytes); //write the key
if (xName != MetaName.ARRAYINFO)// (mapreftype2.ReferenceKey != 0) if (xName != (MetaName)MetaTypeName.ARRAYINFO)// (mapreftype2.ReferenceKey != 0)
{ {
//value struct embedded in ARRAYINFO node //value struct embedded in ARRAYINFO node
Buffer.BlockCopy(strucBytes, 0, nodeBytes, iEntry.DataOffset, strucBytes.Length); Buffer.BlockCopy(strucBytes, 0, nodeBytes, iEntry.DataOffset, strucBytes.Length);

File diff suppressed because it is too large Load Diff

View File

@ -699,7 +699,7 @@ namespace CodeWalker
shader.ParametersList = new ShaderParametersBlock(); shader.ParametersList = new ShaderParametersBlock();
var paramsBlock = shader.ParametersList; var paramsBlock = shader.ParametersList;
var pNames = new List<MetaName>(); var pNames = new List<ShaderParamNames>();
var pVals = new List<ShaderParameter>(); var pVals = new List<ShaderParameter>();
@ -720,29 +720,29 @@ namespace CodeWalker
//shader.RenderBucket = 3; //shader.RenderBucket = 3;
//shader.ParameterSize = 208; //shader.ParameterSize = 208;
//shader.ParameterDataSize = 272; //shader.ParameterDataSize = 272;
AddShaderParam(pNames, pVals, MetaName.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse... AddShaderParam(pNames, pVals, ShaderParamNames.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse...
AddShaderParam(pNames, pVals, MetaName.matMaterialColorScale, new Vector4(1, 0, 0, 1)); AddShaderParam(pNames, pVals, ShaderParamNames.matMaterialColorScale, new Vector4(1, 0, 0, 1));
AddShaderParam(pNames, pVals, MetaName.HardAlphaBlend, new Vector4(0, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.HardAlphaBlend, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.useTessellation, new Vector4(0, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.wetnessMultiplier, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV1, new Vector4(0, 1, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV0, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV0, new Vector4(1, 0, 0, 0));
break; break;
case "normal": case "normal":
//shader.RenderBucket = 0; //shader.RenderBucket = 0;
//shader.ParameterSize = 320; //shader.ParameterSize = 320;
//shader.ParameterDataSize = 400; //shader.ParameterDataSize = 400;
AddShaderParam(pNames, pVals, MetaName.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse... AddShaderParam(pNames, pVals, ShaderParamNames.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse...
AddShaderParam(pNames, pVals, MetaName.BumpSampler, GetTextureBaseParam(texNames, 1));//assume 2nd texture is normalmap.. AddShaderParam(pNames, pVals, ShaderParamNames.BumpSampler, GetTextureBaseParam(texNames, 1));//assume 2nd texture is normalmap..
AddShaderParam(pNames, pVals, MetaName.HardAlphaBlend, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.HardAlphaBlend, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.useTessellation, new Vector4(0, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.wetnessMultiplier, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.bumpiness, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.bumpiness, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.specularIntensityMult, new Vector4(0.5f, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.specularIntensityMult, new Vector4(0.5f, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.specularFalloffMult, new Vector4(20, 0, 0, 0));//too metallic? AddShaderParam(pNames, pVals, ShaderParamNames.specularFalloffMult, new Vector4(20, 0, 0, 0));//too metallic?
AddShaderParam(pNames, pVals, MetaName.specularFresnel, new Vector4(0.9f, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.specularFresnel, new Vector4(0.9f, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV1, new Vector4(0, 1, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV0, new Vector4(1, 0, 0, 0)); AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV0, new Vector4(1, 0, 0, 0));
break; break;
} }
@ -755,7 +755,13 @@ namespace CodeWalker
} }
} }
paramsBlock.Hashes = pNames.ToArray(); MetaName[] nameHashes = new MetaName[pNames.Count];
for (int i = 0; i < pNames.Count; i++)
{
nameHashes[i] = (MetaName)pNames[i];
}
paramsBlock.Hashes = nameHashes;
paramsBlock.Parameters = pVals.ToArray(); paramsBlock.Parameters = pVals.ToArray();
paramsBlock.Count = pVals.Count; paramsBlock.Count = pVals.Count;
@ -787,7 +793,7 @@ namespace CodeWalker
texParam.NameHash = JenkHash.GenHash(name.ToLowerInvariant()); texParam.NameHash = JenkHash.GenHash(name.ToLowerInvariant());
return texParam; return texParam;
} }
private void AddShaderParam(List<MetaName> paramNames, List<ShaderParameter> paramValues, MetaName paramName, object paramValue) private void AddShaderParam(List<ShaderParamNames> paramNames, List<ShaderParameter> paramValues, ShaderParamNames paramName, object paramValue)
{ {
var p = new ShaderParameter(); var p = new ShaderParameter();
p.Data = paramValue; p.Data = paramValue;

View File

@ -156,7 +156,7 @@ namespace CodeWalker.Forms
return; return;
} }
MetaName[] texsamplers = RenderableGeometry.GetTextureSamplerList(); ShaderParamNames[] texsamplers = RenderableGeometry.GetTextureSamplerList();
foreach (var texsampler in texsamplers) foreach (var texsampler in texsamplers)
{ {
TextureSamplerComboBox.Items.Add(texsampler); TextureSamplerComboBox.Items.Add(texsampler);
@ -1676,9 +1676,9 @@ namespace CodeWalker.Forms
private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e) private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (TextureSamplerComboBox.SelectedItem is MetaName) if (TextureSamplerComboBox.SelectedItem is ShaderParamNames)
{ {
Renderer.shaders.RenderTextureSampler = (MetaName)TextureSamplerComboBox.SelectedItem; Renderer.shaders.RenderTextureSampler = (ShaderParamNames)TextureSamplerComboBox.SelectedItem;
} }
} }

View File

@ -405,7 +405,7 @@ namespace CodeWalker.Rendering
public Texture[] TexturesHD; public Texture[] TexturesHD;
public RenderableTexture[] RenderableTextures; public RenderableTexture[] RenderableTextures;
public RenderableTexture[] RenderableTexturesHD; public RenderableTexture[] RenderableTexturesHD;
public MetaName[] TextureParamHashes; public ShaderParamNames[] TextureParamHashes;
public PrimitiveTopology Topology { get; set; } public PrimitiveTopology Topology { get; set; }
public bool IsFragment = false; public bool IsFragment = false;
public bool IsEmissive { get; set; } = false; public bool IsEmissive { get; set; } = false;
@ -435,46 +435,46 @@ namespace CodeWalker.Rendering
public bool HDTextureEnable = true; public bool HDTextureEnable = true;
public static MetaName[] GetTextureSamplerList() public static ShaderParamNames[] GetTextureSamplerList()
{ {
return new MetaName[] return new ShaderParamNames[]
{ {
MetaName.DiffuseSampler, //base diffuse ShaderParamNames.DiffuseSampler, //base diffuse
MetaName.SpecSampler, //base specular ShaderParamNames.SpecSampler, //base specular
MetaName.BumpSampler, //base normal ShaderParamNames.BumpSampler, //base normal
MetaName.TintPaletteSampler, // _pal ShaderParamNames.TintPaletteSampler, // _pal
MetaName.DetailSampler, // ENV_ ShaderParamNames.DetailSampler, // ENV_
MetaName.FlowSampler, //river _flow ShaderParamNames.FlowSampler, //river _flow
MetaName.FogSampler, //river _fog , water slod ShaderParamNames.FogSampler, //river _fog , water slod
MetaName.TextureSampler_layer0, //CS_RSN_SL_Road_0007 ShaderParamNames.TextureSampler_layer0, //CS_RSN_SL_Road_0007
MetaName.BumpSampler_layer0, //CS_RSN_SL_Road_0007_n ShaderParamNames.BumpSampler_layer0, //CS_RSN_SL_Road_0007_n
MetaName.heightMapSamplerLayer0, //nxg_cs_rsn_sl_road_0007_h ShaderParamNames.heightMapSamplerLayer0, //nxg_cs_rsn_sl_road_0007_h
MetaName.TextureSampler_layer1, //IM_Road_009b ShaderParamNames.TextureSampler_layer1, //IM_Road_009b
MetaName.BumpSampler_layer1, //IM_Road_010b_N ShaderParamNames.BumpSampler_layer1, //IM_Road_010b_N
MetaName.heightMapSamplerLayer1, //nxg_im_road_010b_h ShaderParamNames.heightMapSamplerLayer1, //nxg_im_road_010b_h
MetaName.TextureSampler_layer2, //IM_Concrete10 ShaderParamNames.TextureSampler_layer2, //IM_Concrete10
MetaName.BumpSampler_layer2, //IM_Concrete13_N ShaderParamNames.BumpSampler_layer2, //IM_Concrete13_N
MetaName.heightMapSamplerLayer2, //nxg_im_concrete13_h ShaderParamNames.heightMapSamplerLayer2, //nxg_im_concrete13_h
MetaName.TextureSampler_layer3, //SC1_RSN_NS_ground_0009 ShaderParamNames.TextureSampler_layer3, //SC1_RSN_NS_ground_0009
MetaName.BumpSampler_layer3, //sc1_rsn_ns_ground_0010_n ShaderParamNames.BumpSampler_layer3, //sc1_rsn_ns_ground_0010_n
MetaName.heightMapSamplerLayer3, //nxg_sc1_rsn_ns_ground_0010_b_h ShaderParamNames.heightMapSamplerLayer3, //nxg_sc1_rsn_ns_ground_0010_b_h
MetaName.lookupSampler, //TF_RSN_Msk_CS1_DesHill1, bh1_43_golf_blendmap_04_LOD ShaderParamNames.lookupSampler, //TF_RSN_Msk_CS1_DesHill1, bh1_43_golf_blendmap_04_LOD
MetaName.heightSampler, //nxg_prop_tree_palm2_displ_l ShaderParamNames.heightSampler, //nxg_prop_tree_palm2_displ_l
MetaName.FoamSampler, //bj_beachfoam01_lod, CS_RSN_SL_RiverFoam_01_A_lodCS_RSN_SL_RiverFoam_01_A ShaderParamNames.FoamSampler, //bj_beachfoam01_lod, CS_RSN_SL_RiverFoam_01_A_lodCS_RSN_SL_RiverFoam_01_A
MetaName.DirtSampler, ShaderParamNames.DirtSampler,
MetaName.DirtBumpSampler, ShaderParamNames.DirtBumpSampler,
MetaName.DiffuseSampler2, ShaderParamNames.DiffuseSampler2,
MetaName.DiffuseSampler3, ShaderParamNames.DiffuseSampler3,
MetaName.DiffuseHfSampler, ShaderParamNames.DiffuseHfSampler,
MetaName.ComboHeightSamplerFur01, ShaderParamNames.ComboHeightSamplerFur01,
MetaName.ComboHeightSamplerFur23, ShaderParamNames.ComboHeightSamplerFur23,
MetaName.ComboHeightSamplerFur45, ShaderParamNames.ComboHeightSamplerFur45,
MetaName.ComboHeightSamplerFur67, ShaderParamNames.ComboHeightSamplerFur67,
MetaName.StippleSampler, ShaderParamNames.StippleSampler,
MetaName.FurMaskSampler, ShaderParamNames.FurMaskSampler,
MetaName.EnvironmentSampler, ShaderParamNames.EnvironmentSampler,
MetaName.distanceMapSampler, ShaderParamNames.distanceMapSampler,
MetaName.textureSamp, ShaderParamNames.textureSamp,
}; };
} }
@ -552,82 +552,83 @@ namespace CodeWalker.Rendering
var pl = shader.ParametersList.Parameters; var pl = shader.ParametersList.Parameters;
var hl = shader.ParametersList.Hashes; var hl = shader.ParametersList.Hashes;
List<TextureBase> texs = new List<TextureBase>(); List<TextureBase> texs = new List<TextureBase>();
List<MetaName> phashes = new List<MetaName>(); List<ShaderParamNames> phashes = new List<ShaderParamNames>();
if ((pl != null) && (hl != null)) if ((pl != null) && (hl != null))
{ {
for (int i = 0; (i < pl.Length) && (i < hl.Length); i++) for (int i = 0; (i < pl.Length) && (i < hl.Length); i++)
{ {
ShaderParamNames pName = (ShaderParamNames)hl[i];
var param = pl[i]; var param = pl[i];
if (param.Data is TextureBase) if (param.Data is TextureBase)
{ {
texs.Add(param.Data as TextureBase); texs.Add(param.Data as TextureBase);
phashes.Add(hl[i]); phashes.Add(pName);
} }
switch (hl[i]) switch (pName)
{ {
case MetaName.HardAlphaBlend: case ShaderParamNames.HardAlphaBlend:
HardAlphaBlend = ((Vector4)param.Data).X; HardAlphaBlend = ((Vector4)param.Data).X;
break; break;
case MetaName.useTessellation: case ShaderParamNames.useTessellation:
useTessellation = ((Vector4)param.Data).X; useTessellation = ((Vector4)param.Data).X;
break; break;
case MetaName.wetnessMultiplier: case ShaderParamNames.wetnessMultiplier:
wetnessMultiplier = ((Vector4)param.Data).X; wetnessMultiplier = ((Vector4)param.Data).X;
break; break;
case MetaName.bumpiness: //float case ShaderParamNames.bumpiness: //float
bumpiness = ((Vector4)param.Data).X; bumpiness = ((Vector4)param.Data).X;
break; break;
case MetaName.detailSettings: //float4 case ShaderParamNames.detailSettings: //float4
detailSettings = (Vector4)param.Data; detailSettings = (Vector4)param.Data;
break; break;
case MetaName.specMapIntMask: //float3 case ShaderParamNames.specMapIntMask: //float3
specMapIntMask = ((Vector4)param.Data).XYZ(); specMapIntMask = ((Vector4)param.Data).XYZ();
break; break;
case MetaName.specularIntensityMult: //float case ShaderParamNames.specularIntensityMult: //float
specularIntensityMult = ((Vector4)param.Data).X; specularIntensityMult = ((Vector4)param.Data).X;
break; break;
case MetaName.specularFalloffMult: //float case ShaderParamNames.specularFalloffMult: //float
specularFalloffMult = ((Vector4)param.Data).X; specularFalloffMult = ((Vector4)param.Data).X;
break; break;
case MetaName.specularFresnel: //float case ShaderParamNames.specularFresnel: //float
specularFresnel= ((Vector4)param.Data).X; specularFresnel= ((Vector4)param.Data).X;
break; break;
case MetaName.WindGlobalParams: case ShaderParamNames.WindGlobalParams:
case MetaName.umGlobalOverrideParams: case ShaderParamNames.umGlobalOverrideParams:
//WindOverrideParams = ((Vector4)param.Data); //todo... //WindOverrideParams = ((Vector4)param.Data); //todo...
break; break;
case MetaName.umGlobalParams: case ShaderParamNames.umGlobalParams:
WindGlobalParams = ((Vector4)param.Data); WindGlobalParams = ((Vector4)param.Data);
break; break;
case MetaName.RippleSpeed: case ShaderParamNames.RippleSpeed:
RippleSpeed = ((Vector4)param.Data).X; RippleSpeed = ((Vector4)param.Data).X;
break; break;
case MetaName.RippleScale: case ShaderParamNames.RippleScale:
RippleScale = ((Vector4)param.Data).X; RippleScale = ((Vector4)param.Data).X;
break; break;
case MetaName.RippleBumpiness: case ShaderParamNames.RippleBumpiness:
RippleBumpiness = ((Vector4)param.Data).X; RippleBumpiness = ((Vector4)param.Data).X;
break; break;
case MetaName.globalAnimUV0: case ShaderParamNames.globalAnimUV0:
globalAnimUV0 = (Vector4)param.Data; globalAnimUV0 = (Vector4)param.Data;
break; break;
case MetaName.globalAnimUV1: case ShaderParamNames.globalAnimUV1:
globalAnimUV1 = (Vector4)param.Data; globalAnimUV1 = (Vector4)param.Data;
break; break;
case MetaName.WaveOffset: case ShaderParamNames.WaveOffset:
WaveOffset = ((Vector4)param.Data).X; WaveOffset = ((Vector4)param.Data).X;
break; break;
case MetaName.WaterHeight: case ShaderParamNames.WaterHeight:
WaterHeight = ((Vector4)param.Data).X; WaterHeight = ((Vector4)param.Data).X;
break; break;
case MetaName.WaveMovement: case ShaderParamNames.WaveMovement:
WaveMovement = ((Vector4)param.Data).X; WaveMovement = ((Vector4)param.Data).X;
break; break;
case MetaName.HeightOpacity: case ShaderParamNames.HeightOpacity:
HeightOpacity = ((Vector4)param.Data).X; HeightOpacity = ((Vector4)param.Data).X;
break; break;
case MetaName.DirtDecalMask: case ShaderParamNames.DirtDecalMask:
DirtDecalMask = ((Vector4)param.Data); DirtDecalMask = ((Vector4)param.Data);
break; break;
} }

View File

@ -77,7 +77,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1; public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1; public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1; public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler; public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
public double CurrentRealTime = 0; public double CurrentRealTime = 0;
public float CurrentElapsedTime = 0; public float CurrentElapsedTime = 0;

View File

@ -159,7 +159,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1; public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1; public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1; public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler; public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
public bool SpecularEnable = true; public bool SpecularEnable = true;
@ -549,21 +549,21 @@ namespace CodeWalker.Rendering
if (itex.Key?.NameHash == 1678728908 /*"blank"*/) continue; if (itex.Key?.NameHash == 1678728908 /*"blank"*/) continue;
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
case MetaName.PlateBgSampler: case ShaderParamNames.PlateBgSampler:
texture = itex; texture = itex;
break; break;
case MetaName.BumpSampler: case ShaderParamNames.BumpSampler:
case MetaName.PlateBgBumpSampler: case ShaderParamNames.PlateBgBumpSampler:
bumptex = itex; bumptex = itex;
break; break;
case MetaName.SpecSampler: case ShaderParamNames.SpecSampler:
spectex = itex; spectex = itex;
break; break;
case MetaName.DetailSampler: case ShaderParamNames.DetailSampler:
detltex = itex; detltex = itex;
break; break;
case MetaName.TintPaletteSampler: case ShaderParamNames.TintPaletteSampler:
tintpal = itex; tintpal = itex;
if (tintpal.Key != null) if (tintpal.Key != null)
{ {
@ -571,24 +571,24 @@ namespace CodeWalker.Rendering
tntpalind = (VSEntityVars.Vars.TintPaletteIndex + 0.5f) / tintpal.Key.Height; tntpalind = (VSEntityVars.Vars.TintPaletteIndex + 0.5f) / tintpal.Key.Height;
} }
break; break;
case MetaName.distanceMapSampler: case ShaderParamNames.distanceMapSampler:
texture = itex; texture = itex;
isdistmap = true; isdistmap = true;
break; break;
case MetaName.DiffuseSampler2: case ShaderParamNames.DiffuseSampler2:
texture2 = itex; texture2 = itex;
break; break;
case MetaName.heightSampler: case ShaderParamNames.heightSampler:
case MetaName.EnvironmentSampler: case ShaderParamNames.EnvironmentSampler:
//case MetaName.SnowSampler0: //case MetaName.SnowSampler0:
//case MetaName.SnowSampler1: //case MetaName.SnowSampler1:
//case MetaName.DiffuseSampler3: //case MetaName.DiffuseSampler3:
//case MetaName.DirtSampler: //case MetaName.DirtSampler:
//case MetaName.DirtBumpSampler: //case MetaName.DirtBumpSampler:
break; break;
case MetaName.FlowSampler: case ShaderParamNames.FlowSampler:
case MetaName.FogSampler: case ShaderParamNames.FogSampler:
case MetaName.FoamSampler: case ShaderParamNames.FoamSampler:
if (texture == null) texture = itex; if (texture == null) texture = itex;
break; break;
default: default:

View File

@ -76,7 +76,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1; public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1; public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1; public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler; public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
private Dictionary<VertexType, InputLayout> layouts = new Dictionary<VertexType, InputLayout>(); private Dictionary<VertexType, InputLayout> layouts = new Dictionary<VertexType, InputLayout>();
@ -230,7 +230,7 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i]; var ihash = geom.TextureParamHashes[i];
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
texture = itex; texture = itex;
break; break;
} }

View File

@ -241,25 +241,25 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i]; var ihash = geom.TextureParamHashes[i];
switch (ihash) switch (ihash)
{ {
case MetaName.DensitySampler: case ShaderParamNames.DensitySampler:
DensitySampler = itex; DensitySampler = itex;
break; break;
case MetaName.normalSampler: case ShaderParamNames.normalSampler:
NormalSampler = itex; NormalSampler = itex;
break; break;
case MetaName.DetailDensitySampler: case ShaderParamNames.DetailDensitySampler:
DetailDensitySampler = itex; DetailDensitySampler = itex;
break; break;
case MetaName.DetailNormalSampler: case ShaderParamNames.DetailNormalSampler:
DetailNormalSampler = itex; DetailNormalSampler = itex;
break; break;
case MetaName.DetailDensity2Sampler: case ShaderParamNames.DetailDensity2Sampler:
DetailDensity2Sampler = itex; DetailDensity2Sampler = itex;
break; break;
case MetaName.DetailNormal2Sampler: case ShaderParamNames.DetailNormal2Sampler:
DetailNormal2Sampler = itex; DetailNormal2Sampler = itex;
break; break;
case MetaName.DepthMapTexSampler: case ShaderParamNames.DepthMapTexSampler:
DepthMapTexSampler = itex; DepthMapTexSampler = itex;
break; break;
default: default:

View File

@ -213,11 +213,11 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i]; var ihash = geom.TextureParamHashes[i];
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
case MetaName.TextureSampler_layer0: case ShaderParamNames.TextureSampler_layer0:
case MetaName.TextureSampler_layer1: case ShaderParamNames.TextureSampler_layer1:
case MetaName.TextureSampler_layer2: case ShaderParamNames.TextureSampler_layer2:
case MetaName.TextureSampler_layer3: case ShaderParamNames.TextureSampler_layer3:
texture = itex; texture = itex;
break; break;
} }

View File

@ -92,7 +92,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1; public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1; public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1; public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler; public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
private Dictionary<VertexType, InputLayout> layouts = new Dictionary<VertexType, InputLayout>(); private Dictionary<VertexType, InputLayout> layouts = new Dictionary<VertexType, InputLayout>();
@ -298,13 +298,13 @@ namespace CodeWalker.Rendering
case WorldRenderMode.SingleTexture: case WorldRenderMode.SingleTexture:
switch (RenderTextureSampler) switch (RenderTextureSampler)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
rendermode = 5; rendermode = 5;
break; break;
case MetaName.BumpSampler: case ShaderParamNames.BumpSampler:
rendermode = 6; rendermode = 6;
break; break;
case MetaName.SpecSampler: case ShaderParamNames.SpecSampler:
rendermode = 7; rendermode = 7;
break; break;
default: default:
@ -387,40 +387,40 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i]; var ihash = geom.TextureParamHashes[i];
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
texture0 = itex; texture0 = itex;
break; break;
case MetaName.TextureSampler_layer0: case ShaderParamNames.TextureSampler_layer0:
texture1 = itex; texture1 = itex;
break; break;
case MetaName.TextureSampler_layer1: case ShaderParamNames.TextureSampler_layer1:
texture2 = itex; texture2 = itex;
break; break;
case MetaName.TextureSampler_layer2: case ShaderParamNames.TextureSampler_layer2:
texture3 = itex; texture3 = itex;
break; break;
case MetaName.TextureSampler_layer3: case ShaderParamNames.TextureSampler_layer3:
texture4 = itex; texture4 = itex;
break; break;
case MetaName.BumpSampler: case ShaderParamNames.BumpSampler:
normals0 = itex; normals0 = itex;
break; break;
case MetaName.BumpSampler_layer0: case ShaderParamNames.BumpSampler_layer0:
normals1 = itex; normals1 = itex;
break; break;
case MetaName.BumpSampler_layer1: case ShaderParamNames.BumpSampler_layer1:
normals2 = itex; normals2 = itex;
break; break;
case MetaName.BumpSampler_layer2: case ShaderParamNames.BumpSampler_layer2:
normals3 = itex; normals3 = itex;
break; break;
case MetaName.BumpSampler_layer3: case ShaderParamNames.BumpSampler_layer3:
normals4 = itex; normals4 = itex;
break; break;
case MetaName.lookupSampler: case ShaderParamNames.lookupSampler:
texturemask = itex; texturemask = itex;
break; break;
case MetaName.TintPaletteSampler: case ShaderParamNames.TintPaletteSampler:
tintpal = itex; tintpal = itex;
if (tintpal.Key != null) if (tintpal.Key != null)
{ {
@ -494,9 +494,9 @@ namespace CodeWalker.Rendering
usevc = false; usevc = false;
switch (RenderTextureSampler) switch (RenderTextureSampler)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
case MetaName.BumpSampler: case ShaderParamNames.BumpSampler:
case MetaName.SpecSampler: case ShaderParamNames.SpecSampler:
break; break;
default: default:
for (int i = 0; i < geom.RenderableTextures.Length; i++) for (int i = 0; i < geom.RenderableTextures.Length; i++)

View File

@ -189,14 +189,14 @@ namespace CodeWalker.Rendering
for (int i = 0; i < nparams; i++) for (int i = 0; i < nparams; i++)
{ {
var h = shader.ParametersList.Hashes[i]; var h = (ShaderParamNames)shader.ParametersList.Hashes[i];
switch (h) switch (h)
{ {
case MetaName.AlphaTest: VSGeomVars.Vars.AlphaTest = (Vector4)sparams[i].Data; break; case ShaderParamNames.AlphaTest: VSGeomVars.Vars.AlphaTest = (Vector4)sparams[i].Data; break;
case MetaName.AlphaScale: VSGeomVars.Vars.AlphaScale = (Vector4)sparams[i].Data; break; case ShaderParamNames.AlphaScale: VSGeomVars.Vars.AlphaScale = (Vector4)sparams[i].Data; break;
case MetaName.UseTreeNormals: VSGeomVars.Vars.UseTreeNormals = (Vector4)sparams[i].Data; break; case ShaderParamNames.UseTreeNormals: VSGeomVars.Vars.UseTreeNormals = (Vector4)sparams[i].Data; break;
case MetaName.treeLod2Normal: VSGeomVars.Vars.treeLod2Normal = (Vector4)sparams[i].Data; break; case ShaderParamNames.treeLod2Normal: VSGeomVars.Vars.treeLod2Normal = (Vector4)sparams[i].Data; break;
case MetaName.treeLod2Params: VSGeomVars.Vars.treeLod2Params = (Vector4)sparams[i].Data; break; case ShaderParamNames.treeLod2Params: VSGeomVars.Vars.treeLod2Params = (Vector4)sparams[i].Data; break;
} }
} }
@ -222,7 +222,7 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i]; var ihash = geom.TextureParamHashes[i];
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
texture = itex; texture = itex;
break; break;
} }

View File

@ -103,7 +103,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1; public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1; public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1; public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler; public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
public double CurrentRealTime = 0; public double CurrentRealTime = 0;
public float CurrentElapsedTime = 0; public float CurrentElapsedTime = 0;
public bool SpecularEnable = true; public bool SpecularEnable = true;
@ -351,19 +351,19 @@ namespace CodeWalker.Rendering
if (itex == null) continue; if (itex == null) continue;
switch (ihash) switch (ihash)
{ {
case MetaName.DiffuseSampler: case ShaderParamNames.DiffuseSampler:
texture = itex; texture = itex;
break; break;
case MetaName.BumpSampler: case ShaderParamNames.BumpSampler:
bumptex = itex; bumptex = itex;
break; break;
case MetaName.FlowSampler: case ShaderParamNames.FlowSampler:
flowtex = itex; flowtex = itex;
break; break;
case MetaName.FoamSampler: case ShaderParamNames.FoamSampler:
foamtex = itex; foamtex = itex;
break; break;
case MetaName.FogSampler: case ShaderParamNames.FogSampler:
fogtex = itex; fogtex = itex;
break; break;
default: default:

View File

@ -246,7 +246,7 @@ namespace CodeWalker.Vehicles
MetaName[] texsamplers = RenderableGeometry.GetTextureSamplerList(); ShaderParamNames[] texsamplers = RenderableGeometry.GetTextureSamplerList();
foreach (var texsampler in texsamplers) foreach (var texsampler in texsamplers)
{ {
TextureSamplerComboBox.Items.Add(texsampler); TextureSamplerComboBox.Items.Add(texsampler);
@ -1319,9 +1319,9 @@ namespace CodeWalker.Vehicles
private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e) private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (TextureSamplerComboBox.SelectedItem is MetaName) if (TextureSamplerComboBox.SelectedItem is ShaderParamNames)
{ {
Renderer.shaders.RenderTextureSampler = (MetaName)TextureSamplerComboBox.SelectedItem; Renderer.shaders.RenderTextureSampler = (ShaderParamNames)TextureSamplerComboBox.SelectedItem;
} }
} }

View File

@ -281,7 +281,7 @@ namespace CodeWalker
LocatorMarker.IsMovable = true; LocatorMarker.IsMovable = true;
//AddDefaultMarkers(); //some POI to start with //AddDefaultMarkers(); //some POI to start with
MetaName[] texsamplers = RenderableGeometry.GetTextureSamplerList(); ShaderParamNames[] texsamplers = RenderableGeometry.GetTextureSamplerList();
foreach (var texsampler in texsamplers) foreach (var texsampler in texsamplers)
{ {
TextureSamplerComboBox.Items.Add(texsampler); TextureSamplerComboBox.Items.Add(texsampler);
@ -7079,9 +7079,9 @@ namespace CodeWalker
private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e) private void TextureSamplerComboBox_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (TextureSamplerComboBox.SelectedItem is MetaName) if (TextureSamplerComboBox.SelectedItem is ShaderParamNames)
{ {
Renderer.shaders.RenderTextureSampler = (MetaName)TextureSamplerComboBox.SelectedItem; Renderer.shaders.RenderTextureSampler = (ShaderParamNames)TextureSamplerComboBox.SelectedItem;
} }
} }