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\ResourceData.cs" />
<Compile Include="GameFiles\Resources\ResourceFile.cs" />
<Compile Include="GameFiles\Resources\ShaderParams.cs" />
<Compile Include="GameFiles\Resources\Texture.cs" />
<Compile Include="GameFiles\Resources\VehicleRecord.cs" />
<Compile Include="GameFiles\Resources\VertexType.cs" />

View File

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

View File

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

View File

@ -92,7 +92,7 @@ namespace CodeWalker.GameFiles
public MetaBuilderPointer AddString(string str)
{
MetaBuilderBlock block = EnsureBlock(MetaName.STRING);
MetaBuilderBlock block = EnsureBlock((MetaName)MetaTypeName.STRING);
byte[] data = Encoding.ASCII.GetBytes(str);
int datalen = data.Length;
int newlen = datalen + 1; //include null terminator
@ -154,37 +154,37 @@ namespace CodeWalker.GameFiles
public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items)
{
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);
}
public Array_uint AddHashArrayPtr(MetaHash[] items)
{
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);
}
public Array_uint AddUintArrayPtr(uint[] items)
{
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);
}
public Array_ushort AddUshortArrayPtr(ushort[] items)
{
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);
}
public Array_byte AddByteArrayPtr(byte[] items)
{
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);
}
public Array_float AddFloatArrayPtr(float[] items)
{
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);
}
public CharPointer AddStringPtr(string str) //helper method for AddString
@ -205,7 +205,7 @@ namespace CodeWalker.GameFiles
public Array_StructurePointer AddPointerArray(MetaPOINTER[] arr)
{
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();
sp.Count1 = (ushort)arr.Length;
sp.Count2 = sp.Count1;
@ -232,7 +232,7 @@ namespace CodeWalker.GameFiles
//{
// var item = items[i];
// var meptr = AddItemPtr(type, item);
// var mptr = AddItem(MetaName.POINTER, meptr);
// var mptr = AddItem((MetaName)MetaTypeName.POINTER, meptr);
// if (i == 0)
// {
// sp.Pointer = mptr.Pointer; //main pointer points to the first item.
@ -261,7 +261,7 @@ namespace CodeWalker.GameFiles
//{
// var item = items[i];
// var meptr = item.Save(this);
// var mptr = AddItem(MetaName.POINTER, meptr);
// var mptr = AddItem((MetaName)MetaTypeName.POINTER, meptr);
// if (i == 0)
// {
// 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];
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
@ -301,18 +301,18 @@ namespace CodeWalker.GameFiles
{
case MetaName.CScenarioPointContainer:
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.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)
);
case (MetaName)4023740759:
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.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.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)
);
case MetaName.rage__spdGrid2D:
@ -326,30 +326,30 @@ namespace CodeWalker.GameFiles
);
case MetaName.CScenarioPointLookUps:
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.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.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.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.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.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)
);
case MetaName.CScenarioPointRegion:
return new MetaStructureInfo(MetaName.CScenarioPointRegion, 3501351821, 768, 376,
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.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)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.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.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.LookUps, 280, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CScenarioPointLookUps)
);
@ -373,7 +373,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CScenarioEntityOverride, 1271200492, 1024, 80,
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.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)538733109, 64, 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:
return new MetaStructureInfo(MetaName.CScenarioChain, 2751910366, 768, 40,
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)
);
case MetaName.rage__spdSphere:
@ -434,53 +434,53 @@ namespace CodeWalker.GameFiles
);
case MetaName.CStreamingRequestRecord:
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.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.NewStyle, 32, MetaStructureEntryDataType.Boolean, 0, 0, 0)
);
case MetaName.CStreamingRequestFrame:
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.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.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.CamPos, 48, 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.Flags, 96, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
);
//case MetaName.CStreamingRequestFrame:
// 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.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.CamPos, 32, 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.Flags, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
// );
case (MetaName)1358189812:
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)
);
case MetaName.CMapTypes:
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.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.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.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)
);
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.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.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)
);
//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.drawableDictionary, 100, 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)
// );
case MetaName.CCreatureMetaData:
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.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.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)
);
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.maskID, 12, MetaStructureEntryDataType.UnsignedInt, 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.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.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)
);
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.pedPropVarIndex, 12, MetaStructureEntryDataType.SignedInt, 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.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.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.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)
);
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.pedCompVarIndex, 12, MetaStructureEntryDataType.SignedInt, 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.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.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.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)
);
case MetaName.rage__fwInstancedMapData:
return new MetaStructureInfo(MetaName.rage__fwInstancedMapData, 1836780118, 768, 48,
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.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)
);
case MetaName.CLODLight:
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.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.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.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.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.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.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)MetaTypeName.HASH, 72, MetaStructureEntryDataType.Array, 0, 8, 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.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.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)
);
case MetaName.CDistantLODLight:
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.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.numStreetLights, 40, 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.entitiesExtentsMin, 64, 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.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.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.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.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.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.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.LODLightsSOA, 256, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CLODLight),
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.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
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.ambientOcclusionMultiplier, 112, 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.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.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.timeFlags, 144, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0)
);
@ -700,14 +700,14 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CExtensionDefLightEffect, 2436199897, 1024, 48,
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.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)
);
case MetaName.CLightAttrDef:
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.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.flashiness, 23, MetaStructureEntryDataType.UnsignedByte, 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.falloff, 40, 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.shadowBlur, 64, 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.volIntensity, 72, 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.lightHash, 83, MetaStructureEntryDataType.UnsignedByte, 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.coronaIntensity, 104, 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.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.coneInnerAngle, 136, 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.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.numChildren, 88, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
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.ambientOcclusionMultiplier, 112, 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.groupId, 128, 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.numExitPortals, 152, 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.bmax, 16, MetaStructureEntryDataType.Float_XYZ, 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.numVertsInBytes, 48, 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.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.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.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.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.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.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.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)
);
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.floorId, 84, 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)
);
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.opacity, 24, 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.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)
);
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.EndImapFile, 268, 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)
);
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.punchInPhase, 192, 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)
);
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.scaleBySunIntensity, 172, MetaStructureEntryDataType.Boolean, 0, 0, 0)
);
case MetaName.VECTOR3:
return new MetaStructureInfo(MetaName.VECTOR3, 2751397072, 512, 12,
case (MetaName)MetaTypeName.VECTOR3:
return new MetaStructureInfo((MetaName)MetaTypeName.VECTOR3, 2751397072, 512, 12,
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.z, 8, MetaStructureEntryDataType.Float, 0, 0, 0)
@ -1010,9 +1010,9 @@ namespace CodeWalker.GameFiles
case MetaName.CPedPropInfo:
return new MetaStructureInfo(MetaName.CPedPropInfo, 1792487819, 768, 40,
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.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)
);
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)911147899, 2, 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)2996560424, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, MetaName.PsoPOINTER),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)3538495220),
new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2996560424, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 4, (MetaName)MetaTypeName.PsoPOINTER),
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.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.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.propInfo, 64, MetaStructureEntryDataType.Structure, 0, 0, MetaName.CPedPropInfo),
new MetaStructureEntryInfo_s(MetaName.dlcName, 104, MetaStructureEntryDataType.Hash, 0, 0, 0)
@ -1035,7 +1035,7 @@ namespace CodeWalker.GameFiles
case (MetaName)3538495220:
return new MetaStructureInfo((MetaName)3538495220, 2024084511, 768, 24,
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)
);
case (MetaName)2236980467:
@ -1046,7 +1046,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo((MetaName)1535046754, 124073662, 768, 48,
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.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.clothData, 24, MetaStructureEntryDataType.Structure, 0, 0, (MetaName)2236980467)
);
@ -1059,7 +1059,7 @@ namespace CodeWalker.GameFiles
return new MetaStructureInfo(MetaName.CComponentInfo, 3693847250, 512, 48,
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.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.flags, 28, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
new MetaStructureEntryInfo_s(MetaName.inclusions, 32, MetaStructureEntryDataType.IntFlags2, 0, 32, 0),
@ -1072,9 +1072,9 @@ namespace CodeWalker.GameFiles
case MetaName.CPedPropMetaData:
return new MetaStructureInfo(MetaName.CPedPropMetaData, 2029738350, 768, 56,
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.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.renderFlags, 40, MetaStructureEntryDataType.IntFlags1, 0, 3, (MetaName)4212977111),
new MetaStructureEntryInfo_s(MetaName.propFlags, 44, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
@ -1094,22 +1094,22 @@ namespace CodeWalker.GameFiles
);
case MetaName.CAnchorProps:
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.anchor, 16, MetaStructureEntryDataType.IntEnum, 0, 0, (MetaName)2834549053)
);
case MetaName.CPedSelectionSet:
return new MetaStructureInfo(MetaName.CPedSelectionSet, 3120284999, 512, 48,
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)173599222, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, MetaName.PsoPOINTER),
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2991454271, 16, MetaStructureEntryDataType.ArrayOfBytes, 0, 3, MetaName.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)173599222, 4, MetaStructureEntryDataType.ArrayOfBytes, 0, 1, (MetaName)MetaTypeName.PsoPOINTER),
new MetaStructureEntryInfo_s((MetaName)MetaTypeName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedByte, 0, 0, 0),
new MetaStructureEntryInfo_s((MetaName)2991454271, 16, MetaStructureEntryDataType.ArrayOfBytes, 0, 3, (MetaName)MetaTypeName.PsoPOINTER),
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.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.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)
);
case MetaName.CExtensionDefDoor:
@ -1126,9 +1126,9 @@ namespace CodeWalker.GameFiles
case MetaName.CMloEntitySet:
return new MetaStructureInfo(MetaName.CMloEntitySet, 4180211587, 768, 48,
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.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)
);
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.LodInstFadeRange, 60, 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)
);
case MetaName.rage__fwGrassInstanceListDef__InstanceData:
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.NormalX, 6, 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.Scale, 11, 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)
);
case MetaName.CExtensionDefProcObject:
@ -1220,7 +1220,7 @@ namespace CodeWalker.GameFiles
case MetaName.rage__phVerletClothCustomBounds:
return new MetaStructureInfo(MetaName.rage__phVerletClothCustomBounds, 2075461750, 768, 32,
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)
);
case (MetaName)1701774085:/*.SectionUNKNOWN1*/
@ -1675,7 +1675,7 @@ namespace CodeWalker.GameFiles
int ptrsize = Marshal.SizeOf(typeof(MetaPOINTER));
int ptroffset = (int)array.PointerDataOffset;
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; }
for (int i = 0; i < count; i++)
@ -1691,27 +1691,27 @@ namespace CodeWalker.GameFiles
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
@ -1813,7 +1813,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < datablocks.Count; i++)
{
var block = datablocks[i];
if (block.StructureNameHash == MetaName.STRING)
if (block.StructureNameHash == (MetaName)MetaTypeName.STRING)
{
startblock = block;
startblockind = i;
@ -1865,7 +1865,7 @@ namespace CodeWalker.GameFiles
currentblockind++;
if (currentblockind >= datablocks.Count) break; //last block, can't go any further
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))
{ return null; }
var block = meta.DataBlocks[blocki];
if (block.StructureNameHash != MetaName.STRING)
if (block.StructureNameHash != (MetaName)MetaTypeName.STRING)
{ return null; }
//var byteoffset = offset * 16 + offset2;
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
{
public virtual string Name { get { return ToString(); } }
@ -4195,8 +4225,8 @@ namespace CodeWalker.GameFiles
{
var sprb = mb.EnsureBlock(MetaName.CScenarioPointRegion);
//var hashb = mb.EnsureBlock(MetaName.HASH);
//var ushb = mb.EnsureBlock(MetaName.USHORT);
//var hashb = mb.EnsureBlock((MetaName)MetaTypeName.HASH);
//var ushb = mb.EnsureBlock((MetaName)MetaTypeName.USHORT);
//var pntb = mb.EnsureBlock(MetaName.CScenarioPoint);
mb.AddStructureInfo(MetaName.CScenarioPointContainer);
@ -5525,8 +5555,8 @@ namespace CodeWalker.GameFiles
//TODO!
//if (EdgeIds != null)
//{
// mb.AddStructureInfo(MetaName.ushort);
// _Data.EdgeIds = mb.AddItemArrayPtr(MetaName.ushort, EdgeIds);
// mb.AddStructureInfo((MetaName)MetaTypeName.USHORT);
// _Data.EdgeIds = mb.AddItemArrayPtr((MetaName)MetaTypeName.USHORT, EdgeIds);
//}
mb.AddStructureInfo(MetaName.CScenarioChain);

View File

@ -183,7 +183,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < structInfo.Entries.Length; i++)
{
var entry = structInfo.Entries[i];
if (entry.EntryNameHash == MetaName.ARRAYINFO)
if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{
arrEntry = entry;
continue;
@ -418,7 +418,7 @@ namespace CodeWalker.GameFiles
break;
case MetaStructureEntryDataType.Float_XYZ:
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);
break;
case MetaStructureEntryDataType.CharPointer:
@ -684,7 +684,7 @@ namespace CodeWalker.GameFiles
for (int i = 0; i < structInfo.Entries.Length; i++)
{
var entry = structInfo.Entries[i];
if (entry.EntryNameHash == MetaName.ARRAYINFO)
if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{
continue;
}
@ -741,7 +741,7 @@ namespace CodeWalker.GameFiles
uint fEntry = (entry.ReferenceKey & 0xFFF);
var fEnt = (fEntry != 0xFFF) ? structInfo.GetEntry((int)fEntry) : 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);
}
@ -1068,7 +1068,7 @@ namespace CodeWalker.GameFiles
{
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);
if (atyp == null)
@ -1255,7 +1255,7 @@ namespace CodeWalker.GameFiles
{
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()));
}
@ -1289,7 +1289,7 @@ namespace CodeWalker.GameFiles
var kOffset = sOffset + kEntry.DataOffset;
var iOffset = sOffset + iEntry.DataOffset;
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
var vOffset = xOffset2 + iEntry.DataOffset;

View File

@ -147,7 +147,7 @@ namespace CodeWalker.GameFiles
public Array_StructurePointer AddPointerArray(PsoPOINTER[] arr)
{
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();
sp.Count1 = (ushort)arr.Length;
sp.Count2 = sp.Count1;
@ -183,19 +183,19 @@ namespace CodeWalker.GameFiles
public Array_Vector3 AddPaddedVector3ArrayPtr(Vector4[] items)
{
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);
}
public Array_Vector3 AddVector2ArrayPtr(Vector2[] items)
{
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);
}
public Array_uint AddHashArrayPtr(MetaHash[] items)
{
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);
}
public Array_uint AddUIntArrayPtr(uint[] items)
@ -225,7 +225,7 @@ namespace CodeWalker.GameFiles
public Array_float AddFloatArrayPtr(float[] items)
{
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);
}
@ -274,7 +274,7 @@ namespace CodeWalker.GameFiles
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))
{
StructureInfos[inf.IndexInfo.NameHash] = inf;
@ -286,7 +286,7 @@ namespace CodeWalker.GameFiles
if (structInfo == null)
{ }//error?
MetaName xName = MetaName.ARRAYINFO + 1; //257
MetaName xName = (MetaName)MetaTypeName.ARRAYINFO + 1; //257
bool nameOk = !StructureInfos.ContainsKey(xName);
while (!nameOk)
{
@ -320,9 +320,9 @@ namespace CodeWalker.GameFiles
// case MetaName.fwClipDictionaryMetadata: return PsoTypes.GetStructureInfo((MetaName)257);
// case MetaName.fwMemoryGroupMetadata: return PsoTypes.GetStructureInfo((MetaName)258);
// 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:
// return PsoTypes.GetStructureInfo(MetaName.ARRAYINFO);//error?
// return PsoTypes.GetStructureInfo((MetaName)MetaTypeName.ARRAYINFO);//error?
//}
//case (MetaName)257:
// return new PsoStructureInfo((MetaName)257, 0, 2, 32,
@ -341,7 +341,7 @@ namespace CodeWalker.GameFiles
// );
//case (MetaName)3219912345:
// 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)
// );
}

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);
if (entry.EntryNameHash == MetaName.ARRAYINFO)
if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{
arrEntry = entry;
continue;
@ -145,7 +145,7 @@ namespace CodeWalker.GameFiles
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);
Buffer.BlockCopy(byt, 0, data, entry.DataOffset, byt.Length);
break;

View File

@ -62,7 +62,7 @@ namespace CodeWalker.GameFiles
var entry = infos.Entries[i];
var cnode = GetEntryNode(node.ChildNodes, entry.EntryNameHash);
if (entry.EntryNameHash == MetaName.ARRAYINFO)
if (entry.EntryNameHash == (MetaName)MetaTypeName.ARRAYINFO)
{
arrEntry = entry;
continue;
@ -265,7 +265,7 @@ namespace CodeWalker.GameFiles
var fEnt = (fEntry != 0xFFF) ? infos.GetEntry((int)fEntry) : null;
PsoEnumInfo flagsInfo = null;
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);
}
@ -399,7 +399,7 @@ namespace CodeWalker.GameFiles
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
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();
var paramsBlock = shader.ParametersList;
var pNames = new List<MetaName>();
var pNames = new List<ShaderParamNames>();
var pVals = new List<ShaderParameter>();
@ -720,29 +720,29 @@ namespace CodeWalker
//shader.RenderBucket = 3;
//shader.ParameterSize = 208;
//shader.ParameterDataSize = 272;
AddShaderParam(pNames, pVals, MetaName.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse...
AddShaderParam(pNames, pVals, MetaName.matMaterialColorScale, new Vector4(1, 0, 0, 1));
AddShaderParam(pNames, pVals, MetaName.HardAlphaBlend, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV0, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse...
AddShaderParam(pNames, pVals, ShaderParamNames.matMaterialColorScale, new Vector4(1, 0, 0, 1));
AddShaderParam(pNames, pVals, ShaderParamNames.HardAlphaBlend, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV0, new Vector4(1, 0, 0, 0));
break;
case "normal":
//shader.RenderBucket = 0;
//shader.ParameterSize = 320;
//shader.ParameterDataSize = 400;
AddShaderParam(pNames, pVals, MetaName.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, MetaName.HardAlphaBlend, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.bumpiness, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.specularIntensityMult, new Vector4(0.5f, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.specularFalloffMult, new Vector4(20, 0, 0, 0));//too metallic?
AddShaderParam(pNames, pVals, MetaName.specularFresnel, new Vector4(0.9f, 0, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, MetaName.globalAnimUV0, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.DiffuseSampler, GetTextureBaseParam(texNames, 0));//assume first texture is diffuse...
AddShaderParam(pNames, pVals, ShaderParamNames.BumpSampler, GetTextureBaseParam(texNames, 1));//assume 2nd texture is normalmap..
AddShaderParam(pNames, pVals, ShaderParamNames.HardAlphaBlend, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.useTessellation, new Vector4(0, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.wetnessMultiplier, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.bumpiness, new Vector4(1, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.specularIntensityMult, new Vector4(0.5f, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.specularFalloffMult, new Vector4(20, 0, 0, 0));//too metallic?
AddShaderParam(pNames, pVals, ShaderParamNames.specularFresnel, new Vector4(0.9f, 0, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV1, new Vector4(0, 1, 0, 0));
AddShaderParam(pNames, pVals, ShaderParamNames.globalAnimUV0, new Vector4(1, 0, 0, 0));
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.Count = pVals.Count;
@ -787,7 +793,7 @@ namespace CodeWalker
texParam.NameHash = JenkHash.GenHash(name.ToLowerInvariant());
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();
p.Data = paramValue;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -92,7 +92,7 @@ namespace CodeWalker.Rendering
public int RenderVertexColourIndex = 1;
public int RenderTextureCoordIndex = 1;
public int RenderTextureSamplerCoord = 1;
public MetaName RenderTextureSampler = MetaName.DiffuseSampler;
public ShaderParamNames RenderTextureSampler = ShaderParamNames.DiffuseSampler;
private Dictionary<VertexType, InputLayout> layouts = new Dictionary<VertexType, InputLayout>();
@ -298,13 +298,13 @@ namespace CodeWalker.Rendering
case WorldRenderMode.SingleTexture:
switch (RenderTextureSampler)
{
case MetaName.DiffuseSampler:
case ShaderParamNames.DiffuseSampler:
rendermode = 5;
break;
case MetaName.BumpSampler:
case ShaderParamNames.BumpSampler:
rendermode = 6;
break;
case MetaName.SpecSampler:
case ShaderParamNames.SpecSampler:
rendermode = 7;
break;
default:
@ -387,40 +387,40 @@ namespace CodeWalker.Rendering
var ihash = geom.TextureParamHashes[i];
switch (ihash)
{
case MetaName.DiffuseSampler:
case ShaderParamNames.DiffuseSampler:
texture0 = itex;
break;
case MetaName.TextureSampler_layer0:
case ShaderParamNames.TextureSampler_layer0:
texture1 = itex;
break;
case MetaName.TextureSampler_layer1:
case ShaderParamNames.TextureSampler_layer1:
texture2 = itex;
break;
case MetaName.TextureSampler_layer2:
case ShaderParamNames.TextureSampler_layer2:
texture3 = itex;
break;
case MetaName.TextureSampler_layer3:
case ShaderParamNames.TextureSampler_layer3:
texture4 = itex;
break;
case MetaName.BumpSampler:
case ShaderParamNames.BumpSampler:
normals0 = itex;
break;
case MetaName.BumpSampler_layer0:
case ShaderParamNames.BumpSampler_layer0:
normals1 = itex;
break;
case MetaName.BumpSampler_layer1:
case ShaderParamNames.BumpSampler_layer1:
normals2 = itex;
break;
case MetaName.BumpSampler_layer2:
case ShaderParamNames.BumpSampler_layer2:
normals3 = itex;
break;
case MetaName.BumpSampler_layer3:
case ShaderParamNames.BumpSampler_layer3:
normals4 = itex;
break;
case MetaName.lookupSampler:
case ShaderParamNames.lookupSampler:
texturemask = itex;
break;
case MetaName.TintPaletteSampler:
case ShaderParamNames.TintPaletteSampler:
tintpal = itex;
if (tintpal.Key != null)
{
@ -494,9 +494,9 @@ namespace CodeWalker.Rendering
usevc = false;
switch (RenderTextureSampler)
{
case MetaName.DiffuseSampler:
case MetaName.BumpSampler:
case MetaName.SpecSampler:
case ShaderParamNames.DiffuseSampler:
case ShaderParamNames.BumpSampler:
case ShaderParamNames.SpecSampler:
break;
default:
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++)
{
var h = shader.ParametersList.Hashes[i];
var h = (ShaderParamNames)shader.ParametersList.Hashes[i];
switch (h)
{
case MetaName.AlphaTest: VSGeomVars.Vars.AlphaTest = (Vector4)sparams[i].Data; break;
case MetaName.AlphaScale: VSGeomVars.Vars.AlphaScale = (Vector4)sparams[i].Data; break;
case MetaName.UseTreeNormals: VSGeomVars.Vars.UseTreeNormals = (Vector4)sparams[i].Data; break;
case MetaName.treeLod2Normal: VSGeomVars.Vars.treeLod2Normal = (Vector4)sparams[i].Data; break;
case MetaName.treeLod2Params: VSGeomVars.Vars.treeLod2Params = (Vector4)sparams[i].Data; break;
case ShaderParamNames.AlphaTest: VSGeomVars.Vars.AlphaTest = (Vector4)sparams[i].Data; break;
case ShaderParamNames.AlphaScale: VSGeomVars.Vars.AlphaScale = (Vector4)sparams[i].Data; break;
case ShaderParamNames.UseTreeNormals: VSGeomVars.Vars.UseTreeNormals = (Vector4)sparams[i].Data; break;
case ShaderParamNames.treeLod2Normal: VSGeomVars.Vars.treeLod2Normal = (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];
switch (ihash)
{
case MetaName.DiffuseSampler:
case ShaderParamNames.DiffuseSampler:
texture = itex;
break;
}

View File

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

View File

@ -246,7 +246,7 @@ namespace CodeWalker.Vehicles
MetaName[] texsamplers = RenderableGeometry.GetTextureSamplerList();
ShaderParamNames[] texsamplers = RenderableGeometry.GetTextureSamplerList();
foreach (var texsampler in texsamplers)
{
TextureSamplerComboBox.Items.Add(texsampler);
@ -1319,9 +1319,9 @@ namespace CodeWalker.Vehicles
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;
//AddDefaultMarkers(); //some POI to start with
MetaName[] texsamplers = RenderableGeometry.GetTextureSamplerList();
ShaderParamNames[] texsamplers = RenderableGeometry.GetTextureSamplerList();
foreach (var texsampler in texsamplers)
{
TextureSamplerComboBox.Items.Add(texsampler);
@ -7079,9 +7079,9 @@ namespace CodeWalker
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;
}
}