From fd740a761dcd54c0b08fc50a4dfb1e36c8a60fcc Mon Sep 17 00:00:00 2001 From: dexyfex Date: Fri, 29 Sep 2017 22:23:37 +1000 Subject: [PATCH] YCD inspector form. Minor PSO to XML improvements --- CodeWalker.csproj | 9 + ExploreForm.cs | 14 +- Forms/YcdForm.Designer.cs | 63 + Forms/YcdForm.cs | 61 + Forms/YcdForm.resx | 409 ++++ GameFiles/FileTypes/YcdFile.cs | 75 +- GameFiles/MetaTypes/MetaNames.cs | 3175 +----------------------------- GameFiles/MetaTypes/MetaXml.cs | 83 +- GameFiles/Resources/Clip.cs | 57 +- WorldForm.cs | 22 +- 10 files changed, 752 insertions(+), 3216 deletions(-) create mode 100644 Forms/YcdForm.Designer.cs create mode 100644 Forms/YcdForm.cs create mode 100644 Forms/YcdForm.resx diff --git a/CodeWalker.csproj b/CodeWalker.csproj index 3c63cf1..64f0108 100644 --- a/CodeWalker.csproj +++ b/CodeWalker.csproj @@ -234,6 +234,12 @@ XmlForm.cs + + Form + + + YcdForm.cs + Form @@ -482,6 +488,9 @@ XmlForm.cs + + YcdForm.cs + YtdForm.cs diff --git a/ExploreForm.cs b/ExploreForm.cs index 8df3806..7315fd8 100644 --- a/ExploreForm.cs +++ b/ExploreForm.cs @@ -179,7 +179,7 @@ namespace CodeWalker InitFileType(".dds", "DirectDraw Surface", 16); InitFileType(".ytd", "Texture Dictionary", 16, FileTypeAction.ViewYtd); InitFileType(".mrf", "MRF File", 18); - InitFileType(".ycd", "Clip Dictionary", 18); + InitFileType(".ycd", "Clip Dictionary", 18, FileTypeAction.ViewYcd); InitFileType(".ypt", "Particle Effect", 18, FileTypeAction.ViewModel); InitFileType(".ybn", "Static Collisions", 19, FileTypeAction.ViewModel); InitFileType(".ide", "Item Definitions", 20, FileTypeAction.ViewText); @@ -1061,6 +1061,7 @@ namespace CodeWalker case FileTypeAction.ViewFxc: case FileTypeAction.ViewYwr: case FileTypeAction.ViewYvr: + case FileTypeAction.ViewYcd: return true; case FileTypeAction.ViewHex: default: @@ -1149,6 +1150,9 @@ namespace CodeWalker case FileTypeAction.ViewYvr: ViewYvr(name, path, data, item.File); break; + case FileTypeAction.ViewYcd: + ViewYcd(name, path, data, item.File); + break; case FileTypeAction.ViewHex: default: ViewHex(name, path, data); @@ -1341,6 +1345,13 @@ namespace CodeWalker f.Show(); f.LoadYvr(yvr); } + private void ViewYcd(string name, string path, byte[] data, RpfFileEntry e) + { + var ycd = RpfFile.GetFile(e, data); + YcdForm f = new YcdForm(); + f.Show(); + f.LoadYcd(ycd); + } @@ -2663,6 +2674,7 @@ namespace CodeWalker ViewFxc = 14, ViewYwr = 15, ViewYvr = 16, + ViewYcd = 17, } } diff --git a/Forms/YcdForm.Designer.cs b/Forms/YcdForm.Designer.cs new file mode 100644 index 0000000..4371ca1 --- /dev/null +++ b/Forms/YcdForm.Designer.cs @@ -0,0 +1,63 @@ +namespace CodeWalker.Forms +{ + partial class YcdForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(YcdForm)); + this.MainPropertyGrid = new CodeWalker.WinForms.PropertyGridFix(); + this.SuspendLayout(); + // + // MainPropertyGrid + // + this.MainPropertyGrid.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.MainPropertyGrid.HelpVisible = false; + this.MainPropertyGrid.Location = new System.Drawing.Point(12, 12); + this.MainPropertyGrid.Name = "MainPropertyGrid"; + this.MainPropertyGrid.Size = new System.Drawing.Size(631, 403); + this.MainPropertyGrid.TabIndex = 0; + // + // YcdForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(655, 427); + this.Controls.Add(this.MainPropertyGrid); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "YcdForm"; + this.Text = "Clip Dictionary Inspector - CodeWalker by dexyfex"; + this.ResumeLayout(false); + + } + + #endregion + + private WinForms.PropertyGridFix MainPropertyGrid; + } +} \ No newline at end of file diff --git a/Forms/YcdForm.cs b/Forms/YcdForm.cs new file mode 100644 index 0000000..2511be1 --- /dev/null +++ b/Forms/YcdForm.cs @@ -0,0 +1,61 @@ +using CodeWalker.GameFiles; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CodeWalker.Forms +{ + public partial class YcdForm : Form + { + + private string fileName; + public string FileName + { + get { return fileName; } + set + { + fileName = value; + UpdateFormTitle(); + } + } + public string FilePath { get; set; } + + + + public YcdForm() + { + InitializeComponent(); + } + + + + private void UpdateFormTitle() + { + Text = fileName + " - Clip Dictionary Inspector - CodeWalker by dexyfex"; + } + + + public void LoadYcd(YcdFile ycd) + { + fileName = ycd?.Name; + if (string.IsNullOrEmpty(fileName)) + { + fileName = ycd?.RpfFileEntry?.Name; + } + + UpdateFormTitle(); + + + MainPropertyGrid.SelectedObject = ycd; + + } + + + } +} diff --git a/Forms/YcdForm.resx b/Forms/YcdForm.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Forms/YcdForm.resx @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + 6P///ysvjWVqtP///////wAAAAAAAAAAAP////D0/0hPpsDG6////////6y02d7k8////3qAx+/z/f// + /wAAAAAAAAAAAAAAAAAAAP///////////////8zT8V5ns1Rcrdzh9f///////////wAAAAAAAAAAAAAA + AAAAAP////////7+/6ix3nmBxFthtmdwu09WqbC54/v9//r8//j6//39/wAAAAAAAAAAAOjt/H6I0FJc + skpSqHF+wRMahFZhs4iT1AsNc1pgrm52v2RsuO/z/gAAAP////////L2/cLJ7rrD64+V4DY+ozU+mYmU + 0X2Hy1hfss7V8urv/PP2/v///wAAAP///+Pp+d/k9////////+Pp/4uR3ysymW14xYOM0fD0/P///+Xq + +ri/6Pj6/wAAAOrv/j5DnbS75P////////////X4/+/0/ubr+/r7/////////9rh+hgZhKGo2QAAAPDz + /eLn+f////j6/2Nqttrg9////+Hn+P3+//3+/1hescLJ6/////L2/eru/AAAAAAAAAAAAP///8rR70tR + p/3+//v8/zY6jNPY7////09WqWpwu////wAAAAAAAAAAAAAAAAAAAAAAAPb4/vr7//////v8/5Wd1eHm + +P////v8//T3/wAAAAAAAAAAAAAAAP//AAD8PwAA/D8AAPwDAACAAwAAgAMAAIAHAADABwAAwAEAAMAB + AAAAAQAAAAEAAAABAAAAAQAAwAcAAOAPAAAoAAAAQAAAAIAAAAABABgAAAAAAAAwAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3//P3//P3/ + /f7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/ + +fv/+fv/+Pr/+fv/+vv//P3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/f7/+fr/8/b/7PL/5+3/6e/+9Pf/+vv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/P3/9/r/6O7/cXe1UVaet7z17fL/+Pr//f3/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/z/9Pj/4Oj/NzyCUlOd2dz/6O//9Pf//P3/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8vb/2+P9X2OmREGLnqPd + 4+v/8vb/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/ + 1N35bXK1JSRtbHGz5O7/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+vv/8PX/3Ob/U1eaDwtXjZLT4+z/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2eP+MjR6AAA+c3i34Or/8fX/+/z/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8vb/1d/7MS91AAA1UFSS4On/8vb/+/z/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + /v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+vz/+fv/+Pr/+Pr/+vv//f3//v//AAAAAAAAAAAAAAAA + /v//+fv/9Pf/2+L/SVGtAABsLTaZytL58fX/9/n//f7/AAAAAAAAAAAAAAAA/v7/+/z/9/n/9fj/9vn/ + 9fj/9vj/+vz//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//f3//f3//f3//v7//v//AAAA + AAAAAAAAAAAAAAAAAAAA+/z/9vn/6e//mZ7gTVarr7bp6/H/9fj/+vv//v7/AAAAAAAAAAAAAAAAAAAA + /v7//f7/+/z/+/z/+/z//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/+Pr/9fj/6e7/4+n/8fb/9Pf/+Pr//f3/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+fv/+fv/+vv/+Pr/+vv/ + /P3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7/ + /f3//P3//f7//v7//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + ///////4D/////////AH////////8Af////////wB/////////AH////////8Af////////wB/////// + //AH////////8Af////////wB/////////AH////////8AfwP//////wB8Af//+Af/AHgB///wA/8AcA + H///AB/wBgAf//8AD/AGAB///wAH8AYAH///AAPwBAAf//8AA/AEAD///wAD8AQAP///AAPwBAB///+A + A/AEAP///8AD4AAA////4AcAAAH////wDgAAAf/////8AAAH//////gAAAf/////4AAAAf/////gAAAA + /f//+AAAAAAAD//AAAAAAAAH/4AAAAAAAAf/gAAAAAAAB/+AAAAAAAAH/4AAAAAAAAf/gAAAAAAAB/+A + AAAAAAAP/4AAAAAAAB//wAAAAABAf/4HwAAAAYAf8APAAAADgA/gA+AAAAMAA8AD8AAABwADgAP8AAAf + AAOAA/4AAB8AA4ADAAAAAQADgAIAcA4AgAOABgBwDgBAA4AMAGAMADADwDwAYAwAOAfg+ABgBAAeH//4 + AEAEAB////gAwAYAH///+ADABgAf///4AcAGAB////gBwAcAH///+APAB4A////8B+AHwH//////4A// + ///////gD/////////Af//////////////8= + + + \ No newline at end of file diff --git a/GameFiles/FileTypes/YcdFile.cs b/GameFiles/FileTypes/YcdFile.cs index fc347c0..68c4813 100644 --- a/GameFiles/FileTypes/YcdFile.cs +++ b/GameFiles/FileTypes/YcdFile.cs @@ -11,6 +11,11 @@ namespace CodeWalker.GameFiles public ClipDictionary ClipDictionary { get; set; } public Dictionary ClipMap { get; set; } + public Dictionary AnimMap { get; set; } + + public ClipMapEntry[] ClipMapEntries { get; set; } + public AnimationMapEntry[] AnimMapEntries { get; set; } + public YcdFile() : base(null, GameFileType.Ycd) { @@ -22,7 +27,8 @@ namespace CodeWalker.GameFiles public void Load(byte[] data, RpfFileEntry entry) { - //Name = entry.Name; + Name = entry.Name; + RpfFileEntry = entry; //Hash = entry.ShortNameHash; @@ -38,18 +44,77 @@ namespace CodeWalker.GameFiles ClipDictionary = rd.ReadBlock(); ClipMap = new Dictionary(); - if ((ClipDictionary != null) && (ClipDictionary.Clips != null) && (ClipDictionary.Clips.data_items != null)) + AnimMap = new Dictionary(); + if (ClipDictionary != null) { - foreach (var cme in ClipDictionary.Clips.data_items) + if ((ClipDictionary.Clips != null) && (ClipDictionary.Clips.data_items != null)) { - if (cme != null) + foreach (var cme in ClipDictionary.Clips.data_items) { - ClipMap[cme.Hash] = cme; + if (cme != null) + { + ClipMap[cme.Hash] = cme; + var nxt = cme.Next; + while (nxt != null) + { + ClipMap[nxt.Hash] = nxt; + nxt = nxt.Next; + } + } + } + } + if ((ClipDictionary.Animations != null) && (ClipDictionary.Animations.Animations != null) && (ClipDictionary.Animations.Animations.data_items != null)) + { + foreach (var ame in ClipDictionary.Animations.Animations.data_items) + { + if (ame != null) + { + AnimMap[ame.Hash] = ame; + var nxt = ame.NextEntry; + while (nxt != null) + { + AnimMap[nxt.Hash] = nxt; + nxt = nxt.NextEntry; + } + } } } } + foreach (var cme in ClipMap.Values) + { + var clip = cme.Clip; + if (clip == null) continue; + if (string.IsNullOrEmpty(clip.Name)) continue; + string name = clip.Name.Replace('\\', '/'); + var slidx = name.LastIndexOf('/'); + if ((slidx >= 0) && (slidx < name.Length - 1)) + { + name = name.Substring(slidx + 1); + } + var didx = name.LastIndexOf('.'); + if ((didx > 0) && (didx < name.Length)) + { + name = name.Substring(0, didx); + } + name = name.ToLowerInvariant(); + JenkIndex.Ensure(name); + + //if (name.EndsWith("_uv_0")) //hash for these entries match string with this removed, +1 + //{ + //} + //if (name.EndsWith("_uv_1")) //same as above, but +2 + //{ + //} + + } + + + ClipMapEntries = ClipMap.Values.ToArray(); + AnimMapEntries = AnimMap.Values.ToArray(); + + } } } diff --git a/GameFiles/MetaTypes/MetaNames.cs b/GameFiles/MetaTypes/MetaNames.cs index a969137..c02bee1 100644 --- a/GameFiles/MetaTypes/MetaNames.cs +++ b/GameFiles/MetaTypes/MetaNames.cs @@ -28,3166 +28,7 @@ namespace CodeWalker.GameFiles return result; } - public static string ShaderParamNames = @" -_dimensionLOD2 -_fakedGrassNormal -_vecCollParams -_vecVehColl0B -_vecVehColl0M -_vecVehColl0R -_vecVehColl1B -_vecVehColl1M -_vecVehColl1R -_vecVehColl2B -_vecVehColl2M -_vecVehColl2R -_vecVehColl3B -_vecVehColl3M -_vecVehColl3R -_vecVehCollB -_vecVehCollM -_vecVehCollR -Acceleration_Delta -accumulationBufferSampler0 -accumulationBufferSampler1 -activeShadowCascades -adapDOFProj -AdapLumSampler -AdaptedLumMax -AdaptedLumMin -AdaptionParams -adaptive -AdaptiveDofDepthDownSampleParams -adaptiveDOFExposureSampler -AdaptiveDofFocusDistanceDampingParams1 -AdaptiveDofFocusDistanceDampingParams2 -AdaptiveDOFOutputBuffer -AdaptiveDofParams0 -AdaptiveDofParams1 -AdaptiveDofParams2 -AdaptiveDofParams3 -AdaptiveDOFParamsBuffer -adaptiveDOFSampler -adaptiveDOFSamplerDepth -AdaptTime -AirResist -alphaAdjust -AlphaMaskMapSampler -AlphaRange -AlphaScale -AlphaTest -alphaTestValue -altRemap -AmbientDecalMask -AmbientLightingParams -ambientOcclusionContrast -AmbientOccSampler -AnimatedNormalMapMask0Sampler -AnimatedNormalMapMask1Sampler -AnimatedNormalMapMask2Sampler -animatedNormalMapMod1 -animatedNormalMapMod2 -AnisoNoiseSpecSampler -AnisotropicAlphaBias -anisotropicSpecularColour -anisotropicSpecularExponent -anisotropicSpecularIntensity -APlaneSampler -ApplyDamageSampler -approxTangent -ArmourStrength -AttenuationSampler -AverageLuminanceOut -AvgLuminanceTexture -AzimuthColor -AzimuthColorEast -azimuthEastColor -AzimuthHeight -AzimuthStrength -azimuthTransitionColor -azimuthTransitionPosition -azimuthWestColor -BackBufferSampler -BackBufferTexture -BaseSampler -baseTextureSampler -bDebugDisplayDamageMap -bDebugDisplayDamageScale -Billboard -blitSampler -BloodSampler -BloodSamplerVS -BloodZoneAdjust -bloomLum -BloomParams -BloomSampler -BloomSamplerG -BloomTexelSize -BlueOff -blurIntensity -BlurSampler -BlurVignettingParams -BokehAlphaCutoff -BokehBrightnessParams -BokehEnableVar -BokehGlobalAlpha -BokehNumAddedToBuckets -BokehParams1 -BokehParams2 -BokehPointBuffer -BokehSortedIndexBuffer -BokehSortedListBuffer -BokehSortLevel -BokehSortLevelMask -BokehSortTransposeMatHeight -BokehSortTransposeMatWidth -BokehSpritePointBuffer -bottomSkyColour -BoundRadius -branchBendPivot -branchBendStiffnessAdjust -Brightness -BrightnessSetting -BrightTonemapParams0 -BrightTonemapParams1 -BrokenBumpSampler -BrokenColor -BrokenDiffuseColor -BrokenDiffuseSampler -BrokenGlassTileScale -BrokenSpecularColor -BrokenSpecularSampler -bumpiness -BumpSampler -BumpSampler_layer0 -BumpSampler_layer1 -BumpSampler_layer2 -BumpSampler_layer3 -BumpSampler_layer4 -BumpSampler_layer5 -BumpSampler_layer6 -BumpSampler2 -BumpSamplerFur -bumpSelfShadowAmount -BurnoutLimit -cBPlaneSampler -ChromAbParam -clearcol -clippingPlane -ClipPlanes -ClothDarken -ClothDarkenColor -clothParentMatrix -ClothSweatMapSampler -ClothSweatSpec -cloudBaseColour -cloudBaseMinusMidColour -CloudBias -cloudBillboardParams -CloudColor -cloudConstants1 -cloudConstants2 -cloudConstants3 -cloudDetailConstants -CloudFadeOut -CloudInscatteringRange -cloudLayerAnimScale1 -cloudLayerAnimScale2 -cloudLayerAnimScale3 -cloudMidColour -cloudShadowColour -cloudShadowMinusBaseColourTimesShadowStrength -CloudShadowOffset -CloudShadowStrength -CloudThicknessEdgeSmoothDetailScaleStrength -CloudThreshold -ClumpBump -COCOutputTexture -ColorCorrect -ColorCorrectHighLum -ColorFringeParams1 -ColorFringeParams2 -colorHighLum -colorLowLum -colorLum -ColorSampler -colorScaler -ColorShift -ColorShiftLowLum -ColorShiftScalar -ColorTexture -ComboHeightSamplerFur -ComboHeightSamplerFur01 -ComboHeightSamplerFur2 -ComboHeightSamplerFur23 -ComboHeightSamplerFur3 -ComboHeightSamplerFur4 -ComboHeightSamplerFur45 -ComboHeightSamplerFur67 -ComboHeightTexMask -Contrast -ConvertSampler -CoronasDepthMapSampler -CrackDecalBumpAlphaThreshold -CrackDecalBumpAmount -CrackDecalBumpTileScale -CrackEdgeBumpAmount -CrackEdgeBumpTileScale -crackleIntensity -CrackleSampler -CrackMatrix -CrackOffset -CrackSampler -cRPlaneSampler -cubeFace -CurLumSampler -currentDOFTechnique -currentLum -currentResolution -curveCoeffs -DamagedWheelOffsets -DamageMultiplier -DamageSampler -damageSpecTextureSampler -DamageTextureOffset -damageTextureSampler -DamageVertBuffer -DarkTonemapParams0 -DarkTonemapParams1 -deathIntensity -DeathSampler -debugCloudsParams -debugLightColour -DecalSampler -DecalTint -DecorationFrameInfo -DecorationTattooAdjust -DecorationTintPaletteSel -DecorationTintPaletteTexSampler -deferredLightDownsampleDepthSampler -deferredLightParams -deferredLightScreenSize -deferredLightVolumeParams -deferredPerspectiveShearParams0 -deferredPerspectiveShearParams1 -deferredPerspectiveShearParams2 -deferredProjectionParams -deferredVolumeColour -deferredVolumeDepthBufferSamp -deferredVolumeDirection -deferredVolumePosition -deferredVolumeShaftCompositeMtx -deferredVolumeShaftGradient -deferredVolumeShaftGradientColourInv -deferredVolumeShaftPlanes -deferredVolumeTangentXAndShaftRadius -deferredVolumeTangentYAndShaftLength -DensitySampler -DepthBlurHalfResSampler -DepthBlurHalfResTexture -DepthBlurSampler -DepthBlurTexture -depthBuffer -depthBuffer2 -depthBuffer2_Sampler -DepthBufferSamp -DepthBufferSampler -DepthMapPointSampler -DepthMapSampler -DepthMapTexSampler -DepthSampler -depthSourceSampler -depthTexture -DepthTextureMS -deSatContrastGamma -Desaturate -desaturateTint -detailBumpiness -DetailBumpSampler -DetailDensity2Sampler -DetailDensitySampler -detailMapOffset -DetailMapSampler -detailMapUScale -detailMapVScale -DetailNormal2Sampler -DetailNormalSampler -DetailOffset -DetailSampler -detailSettings -detailUVScale -diffuse2SpecMod -diffuseCol -DiffuseExtraSampler -DiffuseHfSampler -diffuseMod -DiffuseNoBorderTexSampler -DiffuseSampler -DiffuseSampler2 -DiffuseSamplerFur -DiffuseSamplerPhase2 -DiffuseSamplerPoint -DiffuseSplatterTexSampler -DiffuseTexSampler -DiffuseTexSampler01 -DiffuseTexSampler02 -DiffuseTexSampler03 -DiffuseTexSampler04 -DiffuseTexTileUV -DiffuseWoundTexSampler -DiffusionRadius -dimmerSet -dimmerSetPacked -DirectionalMotionBlurIterParams -DirectionalMotionBlurLength -DirectionalMotionBlurParams -dirtColor -DirtDecalMask -dirtLevel -dirtLevelMod -DirtSampler -DiskBrakeGlow -displParams -distanceMapSampler -DistEpsilonScaleMin -DistMapCenterVal -distortionParams -DistortionSampler -ditherSampler -dofBlur -DofBlurWeight -dofDist -dofInten -dofNoBlurBlendRingSize -dofNoBlurRadius -DOFOutputTexture -dofProj -dofProjCompute -dofRenderTargetSize -DOFSampler -dofShear -dofSkyWeightModifier -DOFTargetSize -downsampledDepthSampler -DownsampleDepthSampler -dpMapFarClip -dpMapNearClip -drawBucket -dReflectionParams -droopParams -DruggedEffectColorShift -DruggedEffectParams -dShadowMatrix -dShadowOffsetScale -dShadowParam0123 -dShadowParam4567 -dShadowParam891113 -DstTextureSize -eaaParams2 -earlyOut -earlyOut_Sampler -earlyOutParams -EastColor -EdgeMarkParams -EdgeThreshold -EdgeThresholdMin -effectsConstants -ElapsedTime -emissiveMultiplier -emissiveReflectMultiplier -EmitterParamLifeAndSpeed -EmitterParamPos -EmitterParamPosRange -EmitterParamProbablityPhase2 -EmitterTransform -EmitterVelocityBoxPos -EmitterVelocityBoxRange -EnvBloodBinormal -EnvBloodData -EnvBloodPos -EnvBloodSampler -EnvBloodTangent -envEffFatThickness -envEffScale -envEffTexTileUV -envEffThickness -EnvironmentSampler -Exposure -ExposureClampAndHistory -ExposureCurve -ExposureParams0 -ExposureParams1 -ExposureParams2 -ExposureParams3 -Exposures -ExposureSwitches -faceTextureSampler -facetMask -Fade_Thickness -fadeAlphaDist -fadeAlphaDistUmTimer -fadeAlphaLOD1Dist -fadeAlphaLOD2Dist -fadeAlphaLOD2DistFar0 -fAge -FallOffAndKernelParam -fillColor -Filmic0 -fIntensity -FlowSampler -FoamSampler -FogColor -FogParams -FogRayTexSampler -FogSampler -fogVolumeColor -fogVolumeDepthSampler -fogVolumeInvTransform -fogVolumeParams -fogVolumePosition -fogVolumeTransform -foliageBranchBendPivot -foliageBranchBendStiffnessAdjust -FontNormalSampler -FontNormalScale -FontSampler -FontTexture -fourPlaneDof -fpvMotionBlurSize -fpvMotionBlurVelocity -fpvMotionBlurWeights -FrameMap -FrameMapTexSampler -Frequency1 -Frequency2 -fresnelRolloff -FullSampler -furAlphaClip03 -furAlphaClip47 -furAlphaDistance -furAOBlend -furAttenCoef -furBendParams -furDitherAlphaFadeParams -furGlobalParams -furLayerParams -furLayerParams2 -furLayerParams3 -furLayerStep -furLength -FurMaskSampler -furMaxLayers -furMinLayers -furNoiseUVScale -furNumLayers -furSelfShadowMin -furShadow03 -furShadow47 -furStiffness -furUvScales -g_AlphaFade -g_BloodColor -g_BloodSplatParams -g_CPQSMix_QSFadeIn -g_CurrentValue -g_EdgeHighlightColour -g_f4RTSize -g_fBilateralCoefficient -g_fBilateralEdgeThreshold -g_fCollisionSqScale -g_fEnableSpringForces -g_fGrassSpringRigidity -g_fGrassSpringScale -g_fRippleRainStrength -g_fSSAOBilateralCoef -g_fSSAOKernelScale -g_fVolumetricLightRayIntensityMult -g_GBufferTexture3Param -g_GhostLevel -g_HDAO_Params1 -g_HDAO_Params2 -g_HDAOApplyParams -g_HDAOComputeParams -g_HDAOExtraParams -g_HDAOValleyParams -g_HighlightScale -g_ImposterSize -g_LightningStrikeNoiseParams -g_LightningStrikeParams -g_LinearClampSampler -g_MSAAPointTexture1_Dim -g_MSAAPointTexture2_Dim -g_OcclusionTextureParams -g_PointSampler -g_projParams -g_projShear -g_Puddle_ScaleXY_Range -g_PuddleParams -g_ResultTexture -g_SSAOStrength -g_targetSize -g_TextColour -g_TextShadowColour -g_TextShadowScale -g_vCollisionParams -g_vCollisionSpheres -g_vPlayerPosition -g_vRelativeLuminanceThresholdParams -g_vRippleAttributes -g_vRippleTexelSize -g_vTexelSize -g_WaveXOffset -g_WaveXZoom -g_WaveYZoom -g_WidthScalar -gActiveUnit -GalaxyOffset -GalaxySampler -gAlphaCutoffMinMax -gAlphaTest -gAlphaToCoverageScale -gAmbientAmount -gAmbientColor -gAmbientMult -gAmbientShadow -Gamma -GammaCorrection -gAnimatedNormalMapParams -gAnimBlendWeights -gAnimCombine -gAnimSculpt -GaussianWeights -gBackgroundDistortionAlphaBooster -gBackgroundDistortionAmount -gBackgroundDistortionVisibilityPercentage -gBiasToCamera -gBlitMatrix -gBloodData -gBloodUVBoundsPage -gBlurAmount -gBoneDamage0 -gBoneDamageEnabled -gBounceColor -gBoxCentrePos -gBoxForward -gBoxRight -gBoxSize -GBufferStencilTextureSampler -gbufferTexture0 -gbufferTexture2 -gbufferTextureDepth -GBufferTextureSampler0 -GBufferTextureSampler1 -GBufferTextureSampler2 -GBufferTextureSampler3 -GBufferTextureSamplerDepth -GBufferTextureSamplerSSAODepth -gCableParams -gCamAngleLimits -gCameraBias -gCameraDistanceAtMaxDisplacement -gCameraPos -gCameraPosition -gCameraShrink -gClipPlanes -gCloudColor -gCloudViewProj -gCollisionLifeModifier -gCollisionPositionModifier -gCollisionVelocityModifier -gColorTint -gColorTintPhase2 -gColour -gColourSplash -gControlLight -gCrossFadeDistance -gCSMParticleShadowSamp -gCSMParticleShadowTexture -gCSMShaderVars_deferred -gDayNightScale -gDecalChannelSelection -gDecalNormalSampler -gDecalSampler -gDeferredInverseViewProjMatrix -gDeferredLightColourAndIntensity -gDeferredLightConeAngle -gDeferredLightConeAngleI -gDeferredLightConeOffset -gDeferredLightConeScale -gDeferredLightDirection -gDeferredLightInvSqrRadius -gDeferredLightPosition -gDeferredLightRadius -gDeferredLightRadiusProjShearParams -gDeferredLightSampler -gDeferredLightSampler0P -gDeferredLightSampler1 -gDeferredLightSampler2 -gDeferredLightShadowMap0 -gDeferredLightShadowMap1 -gDeferredLightShadowMap2 -gDeferredLightShadowMap3 -gDeferredLightShaftParams -gDeferredLightTangent -gDeferredLightType -gDeferredLightVolumeParams -gDeferredProjParams -gDeferredVolumeRadiusScale -gDensityShiftScale -gDepthViewProjMtx -gDiffuse -gDirectional -gDirectionalLightShadowAmount -gDirectionalMotionBlurLength -gDirectionalMult -gDirectionalVelocityAdd -gDirectionalZOffsetMinRange -gDirNormalBias -gDispersalSettings -gDistanceScale -gEastMinusWestColor -gEdgeSoftness -GeneralParams0 -GeneralParams1 -gExtraLightMult -gExtraLights -gExtraParams0 -gExtraParams1 -gExtraParams2 -gExtraParams3 -gExtraParams4 -gFadeInOut -gFadeNearFar -gFadeZBaseLoHi -gFirstTimeUpdate -gFogCompositeAmbientColor -gFogCompositeDirectionalColor -gFogCompositeParams -gFogCompositeTexOffset -gFrustumParameters -gGrassSkipInstance -gGravityWindTimeStepCut -gGustAmplifier -gGustSpacing -gHDRExposure -gHeatHaze -gHeatHazeRippleLength -gHeatHazeRippleRate -gHeatHazeScale -gHeatHazeSize -gHeatHazeWidth -gHeatPhase -gHitPlane -ghorizScale -gHybridAddRatio -gInstanceVars -gInstCullParams -gIntensity -gInterpolationFactor -gIsShadowPass -gLifeFade -gLifeMinMaxClampToGround -gLifeTimeScale -gLightIntensityClamp -gLightIntensityMult -gLightSettings -globalAnimUV0 -globalAnimUV1 -globalFogRayFadeParam -globalFogRayParam -globalFreeAimDir -gLocalLightsMultiplier -gLodFadeControlRange -gLodFadePower -gLodFadeRange -gLodFadeStartDist -gLodFadeTileScale -gLodInstantTransition -gLodThresholds -gLowResDepthSampler -gLowResDepthTexture -gMaxDisplacement -gMaxLife -gMirrorBounds -gMirrorCrackAmount -gMirrorCrackSampler -gMirrorDebugParams -gMirrorDistortionAmount -gMotionBlur -gNearFarQMult -gNormalArc -gNormalHeight -gNormalMapMult -gNormalOffset -gNormalScale -gNumClipPlanes -gOffsetParticlePos -gOffsetScale0 -gOffsetScale1 -goldFactor -goldFresnelRolloff -goldReflectColorBase -goldReflectColorOverlay -goldReflectivePower -goldSpecMapIntMask -goldSpecularFactor -GolfTrailTextureSamp -gooDeferredLightScreenSize -gOrientToTerrain -gParticleColorPercentage -gParticleTextureSize -gPerspectiveShearParams0 -gPerspectiveShearParams1 -gPerspectiveShearParams2 -gPiercingLightPower_Strength_NormalStrength_Thickness -gPositionOffset -gPositionScale -gPower -gPrevViewProj -gProjParams -GradientFilterColBottom -GradientFilterColMiddle -GradientFilterColTop -gRadius -gRainDebug -gravityDroop -GreenOff -gReflScales -gRefParticlePos -gRefraction -gRescaleUV1 -gRescaleUV2 -gRescaleUV3 -gResetParticles -gRG_BlendEndDistance -gRG_BlendStartDistance -gRotationCenter -gRotSpeedMinRange -groundColor -gScaleDiffuseFillAmbient -gScaleFade -gScaleRange -gScatterG_GSquared_PhaseMult_Scale -gShadowAmount -gSizeMinMax -gSizeMinRange -gSkyColor -gSoftness -gSoftnessCurve -gSoftnessShadowMult -gSoftnessShadowOffset -gSoftParticleRange -gSpecularExponent -gSpecularIntensity -gSplashFrames -gSplashSizeMinMax -gSunColor -gSunDirection -gSuperAlpha -gSurfaceSettings -gtaSkyDomeClip -gtaSkyDomeFade -gtaWaterColor -gTexCoordScaleOffset0 -gTexCoordScaleOffset1 -gTexCoordScaleOffset2 -gTexCoordScaleOffset3 -gTextureAngleRads -gTextureAnimation -gTextureAnimRateScaleOverLifeStart2End2 -gTextureRowsCols -gTextureRowsColsStartEnd -gTotalLifeTimeScale -gUseComputeShaderOutputBuffer -gUseDirectional -gUseShadows -gUVOffset -gUVOffset1 -gUVOffset2 -gUVOffset3 -gVelocityMax -gVelocityMin -gvertScale -gViewProj -gVolumeLightsSampler -gVolumeLightsTexture -gWaterHeight -gWestColor -gWindBaseVel -gWindBendingGlobals -gWindBendScaleVar -gWindGustVel -gWindMultParams -gWindParams -gWindVarianceVel -gWorldBinormal -gWorldInstanceInverseTranspose -gWorldInstanceMatrix -gWorldTangent -gWrapBias -gWrapLighting -gWrapLighting_MSAARef -gWrapScale -gZdampen -HardAlphaBlend -HDRColorTexture -HDRExposure -HDRExposureClamp -hdrIntensity -HDRIntensityMultiplier -HDRPointSampler -HDRSampler -HDRSunExposure -HDRTextureAA -HeatHazeOffsetParams -HeatHazeParams -HeatHazeSampler -HeatHazeTex1Params -HeatHazeTex2Params -heightBias -heightBias0 -heightBias1 -heightBias2 -heightBias3 -HeightFogParams -HeightMapSampler -heightMapSamplerLayer0 -heightMapSamplerLayer1 -heightMapSamplerLayer2 -heightMapSamplerLayer3 -HeightMapTransformMtx -HeightOpacity -heightSampler -heightScale -heightScale0 -heightScale1 -heightScale2 -heightScale3 -heightTexture -hemi_bias -hemi_near -hemi_params -hemi_range -hemi_res -HemiCubeSampler -hiDofMiscParams -hiDofParams -HighDetailNoiseBumpSampler -HighDetailNoiseSampler -highDetailSampler -highLum -history -HmdWarpParam -horizonLevel -HybridAdd -HybridAddRatio -ImageFXParams -importanceBufferSampler -imposterDir -imposterSampler -imposterWorldX -imposterWorldY -imposterWorldZ -InitPositionTexSampler -InitVelocityTexSampler -InputTex -InstanceBuffer -InterlaceIndex -InterlaceMapSampler -InterlaceTotalNum -intermediateTarget -intermediateTarget_Sampler -intermediateTargetAA -JitterSampler -kernelParam -kernelRadius -KillFlashCol -KillFlashUVOff -LaserSampler -LaserVisibilityMinMax -LastBufferSize -LensArtefactsParams0 -LensArtefactsParams1 -LensArtefactsParams2 -LensArtefactsParams3 -LensArtefactsParams4 -LensArtefactsParams5 -LensCenter -LensDistortionParams -LetterIndex1 -LetterIndex2 -LetterSize -LicensePlateFontExtents -LicensePlateFontTint -LightColor -LightDir -LightOcclusionSampler -lightrayParams -lightrayParams2 -LightStreaksBlurDir -LightStreaksColorShift0 -LinearSampler -LinearSampler1 -LinearSampler2 -LinearWrapSampler -LinearWrapSampler2 -LinearWrapTexture3 -lookupSampler -lowLum -LowResDepthMapPointSampler -LowResDepthPointMap -LumFilterParams -LuminanceConstants -LuminanceDownsampleOOSrcDstSize -lunarCycle -manualDepthTest -MaskAlphaReverse -maskTextureSampler -matDiffuseColor -matDiffuseColor2 -matDiffuseColorTint -materialDiffuse -materialIdSampler -materialWetnessMultiplier -matGrassTransform -matMaterialColorScale -matWheelTransform -matWheelWorld -matWheelWorldViewProj -MBPerspectiveShearParams0 -MBPerspectiveShearParams1 -MBPerspectiveShearParams2 -MBPrevViewProjMatrixW -MBPrevViewProjMatrixX -MBPrevViewProjMatrixY -MipMapLod -mirrorIntensity -mirrorNormalIntensity -mirrorParams -mirrorReflectionSkyIntensity -mirrorSpecMaskIntensity -MLAAAreaLUTSampler -MLAALinearSampler -MLAAPointSampler -moonColor -MoonColorConstant -moonDirection -MoonGlow -MoonGlowSampler -moonIntensity -MoonLight -moonPosition -moonSampler -moonTexConvert -MoonTexPosition -MoonVisiblity -MoonXVector -MoonYVector -motionBlurMatrix -MotionBlurSampler -MP_BulletTimeParams -MSAAPointSampler1 -MSAAPointTexture1 -MSAAPointTexture2 -nearFarClip -Noise1Sampler -Noise2Sampler -noiseDensityOffset -NoiseFilterArea -noiseFrequency -noiseHighLum -noiseLowLum -noiseLum -NoiseMapSampler -NoiseParams -noisePhase -NoiseSampler -noiseScale -noiseSoftness -NoiseTexSampler -noiseTexture -NoiseTextureSampler -noiseThreshold -NoiseWarp -normalBuffer -normalBufferSamp -normalMapBlendRatio -normalMapMod -NormalMapSampler -NormalMapSampler1 -NormalMapSampler2 -NormalMapTexSampler -normalSampler -NormalSpecMapTexSampler -normalTexture -NormalTextureSampler -NormBufferSampler -normFresnelRolloff -normReflectivePower -normSpecMapIntMask -normSpecularFactor -normTable -numActiveShadowCascades -numChildren -NumLetters -occlusionSampler -occlusionTexture -OceanLocalParams0 -offsetHighLum -offsetLowLum -offsetLum -orderNumber -paletteColor0 -paletteColor1 -paletteColor2 -paletteColor3 -paletteIndex -PaletteSampler -paletteSelector -paletteSelector2 -ParabSampler -parallaxScaleBias -parallaxSelfShadowAmount -param0 -param1 -param2 -param3 -param4 -param5 -param6 -param7 -params -ParticleCollisionSampler -ParticlePosTexSampler -ParticlePosXYTexSampler -ParticlePosZWTexSampler -particleShadowsParams -ParticleVelTexSampler -ParticleVelXYTexSampler -ParticleVelZWTexSampler -PedBrightness -PerlinNoiseSampler -perlinSampler -Persistance -perspectiveShearParam -Phase -plantColor -PlateBgBumpSampler -PlateBgSampler -PLAYER_MASK -PlayerBrightness -playerLFootPos -playerRFootPos -PointSampler -PointSampler1 -PointSampler2 -PointTexture1 -PointTexture2 -PointTexture3 -PointTexture4 -PointTexture5 -poisson12 -polyRejectThreshold -PositionTexSampler -PostFXAdaptiveDofCustomPlanesParams -PostFXAdaptiveDofEnvBlurParams -PostFxSampler2 -PostFxSampler3 -postProcess_FlipDepth_NearPlaneFade_Params -projectionParams -PRTOccSampler -PtfxAlphaMapSampler -PtfxDepthMapSampler -PuddleBumpSampler -PuddleMaskSampler -PuddlePlayerBumpSampler -QuadAlpha -QuadPosition -QuadScale -QuadTexCoords -QualitySubpix -radialBlurCenter -RadialBlurSampler -radialBlurSampleScale -radialBlurScale -radialBlurTextureStep -RadialFadeArea -RadialFadeTime -RadialWaveParam -radius -RainNormalControls -RainNormalSampler -RawInstanceBuffer -rcpFrame -RedOff -reductionDepthTexture -ReductionOutputTexture -RefBlurMapSampler -ReflectanceSampler -reflectivePower -reflectivePowerED -ReflectTextureSampler -refMipBlurParams -RefMipBlurSampler -RefractionMapTexSampler -RefractSampler -RenderCubeMapSampler -RenderMapPointSampler -RenderMapPointSamplerMSAA -RenderPointMapINT -RenderPointMapINTParam -RenderTargetSize -RenderTexArray -RenderTexArraySampler -RenderTexFmask -RenderTexMSAA -RenderTexMSAAINT -RenderTexMSAAParam -RESERVE_VS_CONST_c253 -RESERVE_VS_CONST_c254 -RESERVE_VS_CONST_c255 -ResolvedDepthSampler -ResolvedDepthTexture -Result -rimAmount -rimPower -RippleBumpiness -RippleData -RippleScale -RippleScaleOffset -RippleSpeed -ropeColor -samp -sampFiltered -sampleAngle -sampleScale -Scale -ScaleIn -scalerLum -ScanlineFilterParams -ScreenBlurFade -ScreenCenter -screenRes -ScreenRez -ScreenSizeHalfScale -SeamTextureSampler -seeThroughColorFar -seeThroughColorNear -seeThroughColorVisibleBase -seeThroughColorVisibleWarm -seeThroughParams -SegmentSize -SelfShadowing -SfxWindSampler3D -shader_cableAmbient -shader_cableDiffuse -shader_cableDiffuse2 -shader_cableEmissive -shader_fadeExponent -shader_radiusScale -shader_windAmount -shaderVariables -ShadowFacingOffset -ShadowFalloff -shadowmap_res -shadowMapSamp -shadowParams2 -skinColourTweak -SkinParams -SkyColor -SkyMapSampler -skyPlaneColor -skyPlaneParams -smallCloudColorHdr -smallCloudColorXHdrIntensity -smallCloudConstants -SmartBlitCubeMapSampler -SmartBlitCubeMapTexture -SmartBlitSampler -SmartBlitTexture -SmokeParams -SmokeSampler -SnowSampler -SnowSampler0 -SnowSampler1 -SoakFrameInfo -Softness -source -SpecDesaturateExponent -SpecDesaturateIntensity -SpecExp -specFalloffAdjust -specFresnelExp -specFresnelMax -specFresnelMin -SpecIntensity -specIntensityAdjust -specMapExpMask -specMapIntMask -specMapReflectMask -SpecSampler -SpecSampler_layer01 -SpecSampler_layer23 -specTexTileUV -specular2Color -specular2Color_DirLerp -specular2ColorIntensity -specular2ColorIntensityED -specular2ColorIntensityRE -specular2Factor -specular2FactorED -specularColorFactor -specularColorFactor1 -specularColorFactor2 -specularColorFactor3 -specularColorFactorED -specularFactor -specularFactor1 -specularFactor2 -specularFactor3 -specularFactorED -SpecularFalloff -specularFalloffMult -specularFalloffMultSpecMap -specularFresnel -SpecularIntensity -specularIntensityMult -specularIntensityMultSpecMap -specularNoiseMapUVScaleFactor -SpecularPower -speedConstants -sphereReflectionSkyIntensity -SplatterFrameInfo -srcTextureSize -sslrCenter -sslrParams -SSLRSampler -StarFieldBrightness -starfieldIntensity -StarFieldSampler -StarFieldUVRepeat -StarThreshold -StencilCopy -StencilCopySampler -StencilCopyTexture -StencilTech -StippleSampler -StubbleControl -SubColor -SubScatWidth -SubScatWrap -SubsurfaceColor -SubsurfaceIntensity -SubsurfaceRollOff -SubViewportParams -SunAxias -SunCentre -sunColor -sunColorHdr -sunColour -sunConstants -sunDirection -sunDiscColor -sunDiscColorHdr -SunElevation -sunHdrIntensity -sunPosition -SunRaysParams -SunsetColor -SunSize -SurfaceTextureSampler -SweatMapSampler -switchOn -targetSize -targetSizeParam -TearGasParams -TerrainGridCentrePos -TerrainGridForward -TerrainGridHighHeightCol -TerrainGridLowHeightCol -TerrainGridMidHeightCol -TerrainGridParams -TerrainGridParams2 -TerrainGridRight -tessellationMultiplier -TexelSize -Texm -TextureClamp -TextureGrassSampler -TextureNoWrapSampler -textureSamp -TextureSampler -TextureSampler_layer0 -TextureSampler_layer1 -TextureSampler_layer2 -TextureSampler_layer3 -TextureSampler_layer4 -TextureSampler_layer5 -TextureSampler_layer6 -TextureSampler2 -TextureSamplerDiffPal -TextureSize -TiledLightingSampler -TimeOfDay -TintBlendAmount -tintBlendLayer0 -tintBlendLayer1 -tintBlendLayer2 -tintBlendLayer3 -tintBumpiness -tintBumpSampler -TintIntensity -TintPaletteSampler -tintPaletteSelector -tintSampler -tonemapColorFilterParams0 -tonemapColorFilterParams1 -TonemapParams -TopCloudBiasDetailThresholdHeight -TopCloudColor -TopCloudDetail -TopCloudHeight -TopCloudLight -TopCloudThreshold -topLum -TotalElapsedTime -TrackAnimUV -TransColor -TransparentDstMapSampler -TransparentSrcMap -TransparentSrcMapSampler -TransPos -TransTex0 -TransTex1 -TransTex2 -treeLod2Normal -treeLod2Params -txABC_Texture -txCOC_Texture -txX_Texture -txYn_Texture -tyreDeformParams -tyreDeformParams2 -tyreDeformSwitchOn -UIColor -UIColorXformOffset -UIColorXformScale -UIPosMtx -UIPremultiplyAlpha -UITex0Mtx -UITex1Mtx -UITexture0 -UITexture1 -umGlobalOverrideParams -umGlobalParams -uMovementParams -umTriWave1Params -umTriWave2Params -umTriWave3Params -UnderLightStrength -unsharpAmount -UpdateOffset -UpdateParams0 -UpdateParams1 -useTessellation -UseTreeNormals -UVScalar -uvScales -vBoneVelocitiesX -vBoneVelocitiesY -vCustomData -vecBatchAabbDelta -vecBatchAabbMin -vecCameraPos -vecPlayerPos -vehglassCrackTextureParams -vehglassCrackTextureSampler -Velocity1 -Velocity2 -VelocityBufferSampler -VelocityMapSampler -VelocityTexSampler -vHairParams -viewProj -viewToWorldProjectionParam -VignettingColor -VignettingParams -VisibleInstanceBuffer0 -VisibleInstanceBuffer1 -VisibleInstanceBuffer2 -VisibleInstanceBuffer3 -vNoiseParams -vol_offsets -VolumeSampler -vSkinSweat -vSweatParams -WaterBumpParams -waterColor -WaterColorSampler -waterColour -WaterFogFadeColor -waterfogPtfxParams -WaterHeight -waterIntensity -waterReflectionScale -waterReflectionSkyIntensity -waterRenderSimParam -WaterRippleSampler -waterSimParam -waterSimParams1 -waterSimParams2 -WaterSurfaceSampler -waterTexResValue -WaveMovement -WaveOffset -WestColor -WetAnisotropicSpecular -WetAnisotropicSpecularColour -WetDarken -wetnessMultiplier -WindGlobalParams -WindStr -WoundFrameInfo -wrapAmount -wrapLigthtingTerm -WrinkleMaskSampler_0 -WrinkleMaskSampler_1 -WrinkleMaskSampler_2 -WrinkleMaskSampler_3 -WrinkleMaskSampler_4 -WrinkleMaskSampler_5 -wrinkleMaskStrengths0 -wrinkleMaskStrengths1 -wrinkleMaskStrengths2 -wrinkleMaskStrengths3 -WrinkleSampler_A -WrinkleSampler_B -YPlaneSampler -YUVtoRGB -zenithColor -zenithConstants -zenithTransitionColor -ZoomBlurMaskSize -ZoomFocusDistance -zShift -zShiftScale -"; - - - public static string AllNames = @"aabb -AABB -AbilityType -Action -activeChangesetConditions -AdditiveDamageClipSet -AET_Directed_In_Place -AET_Flinch -AET_In_Place -AET_Interesting -AET_Threatened -AET_Threatening -aExplosionTagData -AFF_POOR -Affluence -Age -aircraftDownwashPtFxDist -aircraftDownwashPtFxEnabled -aircraftDownwashPtFxNameDefault -aircraftDownwashPtFxNameDirt -aircraftDownwashPtFxNameFoliage -aircraftDownwashPtFxNameSand -aircraftDownwashPtFxNameWater -aircraftDownwashPtFxRange -aircraftDownwashPtFxSpeedEvoMax -aircraftDownwashPtFxSpeedEvoMin -aircraftSectionDamageSmokePtFxEnabled -aircraftSectionDamageSmokePtFxName -aircraftSectionDamageSmokePtFxRange -aircraftSectionDamageSmokePtFxSpeedEvoMax -aircraftSectionDamageSmokePtFxSpeedEvoMin -ALL -Allow -allowBonnetSlide -AllowCloseSpawning -ALTERNATE_VARIATIONS_FILE -AmbientClipsForFlee -AmbulanceShouldRespondTo -Amount -Amplitude -anchor -ANCHOR_EARS -ANCHOR_EYES -ANCHOR_HEAD -ANCHOR_LEFT_WRIST -ANCHOR_RIGHT_WRIST -AnimalAudioObject -AnimatedModel -Animations -AnimDict -AnimName -AP_LOW -AP_MEDIUM -APF_ISBLENDAUTOREMOVE -APF_ISLOOPED -Apply -archetypeName -archetypes -areas -assetName -assetType -AT_TXD -AUDIO_DYNAMIXDATA -AUDIO_GAMEDATA -AUDIO_SOUNDDATA -AUDIO_SPEECHDATA -AUDIO_SYNTHDATA -AUDIO_WAVEPACK -audioApply -audioId -AUDIOMESH_INDEXREMAPPING_FILE -AutoOpenCloseRateTaper -AutoOpenCosineAngleBetweenThreshold -AutoOpenRadiusModifier -AutoOpenRate -AutoOpensForAllVehicles -AutoOpensForLawEnforcement -AutoOpensForMPPlayerPedsOnly -AutoOpensForMPVehicleWithPedsOnly -AutoOpensForSPPlayerPedsOnly -AutoOpensForSPVehicleWithPedsOnly -AutoOpenVolumeOffset -availableInMpSp -backfirePtFxEnabled -backfirePtFxName -backfirePtFxRange -bAppliesContinuousDamage -bbMax -bbMin -bCanSetPedOnFire -bDamageObjects -bDamageVehicles -BF_ALLOW_CONFRONT_FOR_TERRITORY_REACTIONS -BF_BOOST_BRAVERY_IN_GROUP -BF_COWARDLY_FOR_SHOCKING_EVENTS -Bias -BICYCLE -bIgnoreExplodingEntity -BIKE -blend -Blend -BlendOutDelta -BlendShapeFileName -block -BLOODFX_FILE -bmax -bmin -bNoOcclusion -BOAT -boatBowPtFxEnabled -boatBowPtFxForwardName -boatBowPtFxKeelEvoMax -boatBowPtFxKeelEvoMin -boatBowPtFxRange -boatBowPtFxReverseName -boatBowPtFxReverseOffset -boatBowPtFxScale -boatBowPtFxSpeedEvoMax -boatBowPtFxSpeedEvoMin -boatEntryPtFxEnabled -boatEntryPtFxName -boatEntryPtFxRange -boatEntryPtFxScale -boatEntryPtFxSpeedEvoMax -boatEntryPtFxSpeedEvoMin -boatLowLodWakePtFxEnabled -boatLowLodWakePtFxName -boatLowLodWakePtFxRangeMax -boatLowLodWakePtFxRangeMin -boatLowLodWakePtFxScale -boatLowLodWakePtFxSpeedEvoMax -boatLowLodWakePtFxSpeedEvoMin -boatPropellerPtFxBackwardSpeedEvoMax -boatPropellerPtFxBackwardSpeedEvoMin -boatPropellerPtFxDepthEvoMax -boatPropellerPtFxDepthEvoMin -boatPropellerPtFxEnabled -boatPropellerPtFxForwardSpeedEvoMax -boatPropellerPtFxForwardSpeedEvoMin -boatPropellerPtFxName -boatPropellerPtFxRange -boatPropellerPtFxScale -boatWashPtFxEnabled -boatWashPtFxName -boatWashPtFxRange -boatWashPtFxScale -boatWashPtFxSpeedEvoMax -boatWashPtFxSpeedEvoMin -bobble_base -bobble_head -bone -boneMask -boneTag -BONETAG_HEAD -BONETAG_INVALID -BONETAG_L_CALF -BONETAG_L_CLAVICLE -BONETAG_L_FINGER22 -BONETAG_L_FOOT -BONETAG_L_FOREARM -BONETAG_L_HAND -BONETAG_L_PH_HAND -BONETAG_L_THIGH -BONETAG_L_UPPERARM -BONETAG_NECK -BONETAG_NECK2 -BONETAG_PELVIS -BONETAG_PELVIS1 -BONETAG_R_CALF -BONETAG_R_CLAVICLE -BONETAG_R_FINGER22 -BONETAG_R_FOOT -BONETAG_R_FOREARM -BONETAG_R_HAND -BONETAG_R_PH_HAND -BONETAG_R_THIGH -BONETAG_R_UPPERARM -BONETAG_ROOT -BONETAG_SPINE_ROOT -BONETAG_SPINE0 -BONETAG_SPINE1 -BONETAG_SPINE2 -BONETAG_SPINE3 -BONETAG_TAIL1 -BONETAG_TAIL2 -bOnlyAffectsLivePeds -bOnlyBulkyItemVariations -bonnet -boot -bottom -bPostProcessCollisionsWithNoForce -bPreventWaterExplosionVFX -BreakableByVehicle -BreakingImpulse -bsCentre -bsRadius -bSuppressCrime -bumper_f -bumper_r -bUseDistanceDamageCalc -CAiCoverClipVariationHelper__Tunables -camAnimatedCameraMetadata -camAnimatedShakeMetadata -camAnimSceneDirectorMetadata -CAmbientLookAt__Tunables -CAmbientPedModelVariations -camCatchUpHelperMetadata -camCinematicAnimatedCameraMetadata -camCinematicBustedContextMetadata -camCinematicBustedShotMetadata -camCinematicCameraManCameraMetadata -camCinematicCameraManShotMetadata -camCinematicCameraOperatorShakeSettings -camCinematicCameraOperatorShakeTurbulenceSettings -camCinematicCameraOperatorShakeUncertaintySettings -camCinematicCraningCameraManShotMetadata -camCinematicDirectorMetadata -camCinematicFallFromHeliContextMetadata -camCinematicFallFromHeliShotMetadata -camCinematicFirstPersonIdleCameraMetadata -camCinematicGroupCameraMetadata -camCinematicHeliChaseCameraMetadata -camCinematicHeliTrackingShotMetadata -camCinematicIdleCameraMetadata -camCinematicIdleShots -camCinematicInTrainAtStationContextMetadata -camCinematicInTrainContextMetadata -camCinematicInVehicleContextMetadata -camCinematicInVehicleCrashShotMetadata -camCinematicInVehicleFirstPersonContextMetadata -camCinematicInVehicleMultiplayerPassengerContextMetadata -camCinematicInVehicleOverriddenFirstPersonContextMetadata -camCinematicInVehicleWantedContextMetadata -camCinematicMissileKillShotMetadata -camCinematicMountedCameraMetadata -camCinematicMountedCameraMetadataFirstPersonPitchOffset -camCinematicMountedCameraMetadataFirstPersonRoll -camCinematicMountedCameraMetadataLeadingLookSettings -camCinematicMountedCameraMetadataLookAroundSettings -camCinematicMountedCameraMetadataMovementOnAccelerationSettings -camCinematicMountedCameraMetadataOrientationSpring -camCinematicMountedCameraMetadataRelativePitchScalingToThrottle -camCinematicMountedPartCameraMetadata -camCinematicOnFootAssistedAimingContextMetadata -camCinematicOnFootAssistedAimingKillShotMetadata -camCinematicOnFootFirstPersonIdleShotMetadata -camCinematicOnFootIdleContextMetadata -camCinematicOnFootIdleShotMetadata -camCinematicOnFootMeleeContextMetadata -camCinematicOnFootMeleeShotMetadata -camCinematicOnFootSpectatingContextMetadata -camCinematicParachuteCameraManShotMetadata -camCinematicParachuteContextMetadata -camCinematicParachuteHeliShotMetadata -camCinematicPedCloseUpCameraMetadata -camCinematicPoliceExitVehicleShotMetadata -camCinematicPoliceHeliMountedShotMetadata -camCinematicPoliceInCoverShotMetadata -camCinematicPoliceRoadBlockShotMetadata -camCinematicPositionCameraMetadata -camCinematicScriptContextMetadata -camCinematicScriptedMissionCreatorFailContextMetadata -camCinematicScriptedRaceCheckPointContextMetadata -camCinematicScriptRaceCheckPointShotMetadata -camCinematicShots -camCinematicSpectatorNewsChannelContextMetadata -camCinematicStuntCameraMetadata -camCinematicStuntJumpContextMetadata -camCinematicStuntJumpShotMetadata -camCinematicTrainPassengerShotMetadata -camCinematicTrainRoofMountedShotMetadata -camCinematicTrainStationShotMetadata -camCinematicTrainTrackingCameraMetadata -camCinematicTrainTrackShotMetadata -camCinematicTwoShotCameraMetadata -camCinematicVehicleBonnetShotMetadata -camCinematicVehicleConvertibleRoofShotMetadata -camCinematicVehicleGroupShotMetadata -camCinematicVehicleLowOrbitCameraMetadata -camCinematicVehicleLowOrbitShotMetadata -camCinematicVehicleOrbitCameraInitalSettings -camCinematicVehicleOrbitCameraMetadata -camCinematicVehicleOrbitShotMetadata -camCinematicVehiclePartShotMetadata -camCinematicVehicleTrackingCameraMetadata -camCinematicWaterCrashCameraMetadata -camCinematicWaterCrashShotMetadata -camCollisionMetadata -camCollisionMetadataBuoyancySettings -camCollisionMetadataClippingAvoidance -camCollisionMetadataOcclusionSweep -camCollisionMetadataOrbitDistanceDamping -camCollisionMetadataPathFinding -camCollisionMetadataPullBackTowardsCollision -camCollisionMetadataPushBeyondEntitiesIfClipping -camCollisionMetadataRotationTowardsLos -camControlHelperMetadata -camControlHelperMetadataLookAround -camControlHelperMetaDataPrecisionAimSettings -camControlHelperMetadataViewModes -camControlHelperMetadataViewModeSettings -camControlHelperMetadataZoom -camCustomTimedSplineCameraMetadata -camCutsceneDirectorMetadata -camDebugDirectorMetadata -camDepthOfFieldSettingsMetadata -camEnvelopeMetadata -Camera -cameraPos -camFirstPersonAimCameraMetadataHeadingCorrection -camFirstPersonHeadTrackingAimCameraMetadata -camFirstPersonPedAimCameraMetadata -camFirstPersonShooterCameraMetadata -camFirstPersonShooterCameraMetadataCoverSettings -camFirstPersonShooterCameraMetadataOrientationSpring -camFirstPersonShooterCameraMetadataOrientationSpringLite -camFirstPersonShooterCameraMetadataRelativeAttachOrientationSettings -camFirstPersonShooterCameraMetadataSprintBreakOutSettings -camFirstPersonShooterCameraMetadataStickyAim -camFollowCameraMetadataFollowOrientationConing -camFollowCameraMetadataHighAltitudeZoomSettings -camFollowCameraMetadataPullAroundSettings -camFollowCameraMetadataRollSettings -camFollowParachuteCameraMetadata -camFollowParachuteCameraMetadataCustomSettings -camFollowPedCameraMetadata -camFollowPedCameraMetadataAssistedMovementAlignment -camFollowPedCameraMetadataCustomViewModeSettings -camFollowPedCameraMetadataDivingShakeSettings -camFollowPedCameraMetadataHighFallShakeSettings -camFollowPedCameraMetadataLadderAlignment -camFollowPedCameraMetadataOrbitPitchLimitsForOverheadCollision -camFollowPedCameraMetadataPushBeyondNearbyVehiclesInRagdollSettings -camFollowPedCameraMetadataRappellingAlignment -camFollowPedCameraMetadataRunningShakeSettings -camFollowPedCameraMetadataSwimmingShakeSettings -camFollowVehicleCameraMetadata -camFollowVehicleCameraMetadataDuckUnderOverheadCollisionSettings -camFollowVehicleCameraMetadataDuckUnderOverheadCollisionSettingsCapsuleSettings -camFollowVehicleCameraMetadataHandBrakeSwingSettings -camFollowVehicleCameraMetadataHighSpeedShakeSettings -camFollowVehicleCameraMetadataHighSpeedZoomSettings -camFollowVehicleCameraMetadataVerticalFlightModeSettings -camFollowVehicleCameraMetadataWaterEntryShakeSettings -camFreeCameraMetadata -camGameplayDirectorMetadata -camGameplayDirectorMetadataExplosionShakeSettings -camGameplayDirectorMetadataVehicleCustomSettings -camHintHelperMetadata -camHintHelperMetadataPivotPositionAdditive -camInconsistentBehaviourZoomHelperAirborneSettings -camInconsistentBehaviourZoomHelperDetectFastCameraTurnSettings -camInconsistentBehaviourZoomHelperDetectSuddenMovementSettings -camInconsistentBehaviourZoomHelperLosSettings -camInconsistentBehaviourZoomHelperMetadata -camLongSwoopSwitchHelperMetadata -camLookAheadHelperMetadata -camLookAtDampingHelperMetadata -camMarketingAToBCameraMetadata -camMarketingDirectorMetadata -camMarketingDirectorMetadataMode -camMarketingFreeCameraMetadata -camMarketingFreeCameraMetadataInputResponse -camMarketingMountedCameraMetadata -camMarketingOrbitCameraMetadata -camMarketingStickyCameraMetadata -camMetadataStore -camMotionBlurSettingsMetadata -camNearClipScannerMetadata -camOscillatorMetadata -camPreferredShotSelectionType -camReplayBaseCameraMetadataCollisionSettings -camReplayBaseCameraMetadataInputResponse -camReplayDirectorMetadata -camReplayFreeCameraMetadata -camReplayPresetCameraMetadata -camReplayRecordedCameraMetadata -camRoundedSplineCameraMetadata -camScriptDirectorMetadata -camScriptedCameraMetadata -camScriptedFlyCameraMetadata -camScriptedFlyCameraMetadataInputResponse -camSeatSpecificCameras -camShake -camShakeMetadata -camShakeMetadataFrameComponent -camShakeName -camShakeRollOffScaling -camShortRotationSwitchHelperMetadata -camShortTranslationSwitchHelperMetadata -camShortZoomInOutSwitchHelperMetadata -camShortZoomToHeadSwitchHelperMetadata -camSmoothedSplineCameraMetadata -camSpeedRelativeShakeSettingsMetadata -camSpringMountMetadata -camSwitchCameraMetadata -camSwitchDirectorMetadata -camSyncedSceneDirectorMetadata -camThirdPersonCameraMetadataBasePivotPosition -camThirdPersonCameraMetadataBasePivotPositionRollSettings -camThirdPersonCameraMetadataBuoyancySettings -camThirdPersonCameraMetadataCollisionFallBackPosition -camThirdPersonCameraMetadataCustomBoundingBoxSettings -camThirdPersonCameraMetadataLookOverSettings -camThirdPersonCameraMetadataPivotOverBoungingBoxSettings -camThirdPersonCameraMetadataPivotPosition -camThirdPersonCameraMetadataQuadrupedalHeightSpring -camThirdPersonCameraMetadataStealthZoomSettings -camThirdPersonCameraMetadataVehicleOnTopOfVehicleCollisionSettings -camThirdPersonPedAimCameraMetadata -camThirdPersonPedAimCameraMetadataLockOnOrbitDistanceSettings -camThirdPersonPedAimCameraMetadataLockOnTargetDampingSettings -camThirdPersonPedAimInCoverCameraMetadata -camThirdPersonPedAimInCoverCameraMetadataAimingSettings -camThirdPersonPedAimInCoverCameraMetadataLowCoverSettings -camThirdPersonPedAssistedAimCameraCinematicMomentSettings -camThirdPersonPedAssistedAimCameraInCoverSettings -camThirdPersonPedAssistedAimCameraLockOnAlignmentSettings -camThirdPersonPedAssistedAimCameraMetadata -camThirdPersonPedAssistedAimCameraPivotScalingSettings -camThirdPersonPedAssistedAimCameraPlayerFramingSettings -camThirdPersonPedAssistedAimCameraRecoilShakeScalingSettings -camThirdPersonPedAssistedAimCameraRunningShakeSettings -camThirdPersonPedAssistedAimCameraShakeActivityScalingSettings -camThirdPersonPedAssistedAimCameraShootingFocusSettings -camThirdPersonPedMeleeAimCameraMetadata -camThirdPersonVehicleAimCameraMetadata -camTimedSplineCameraMetadata -camVehicleCustomSettingsMetadata -camVehicleCustomSettingsMetadataAdditionalBoundScalingVehicleSettings -camVehicleCustomSettingsMetadataDoorAlignmentSettings -camVehicleCustomSettingsMetadataExitSeatPhaseForCameraExitSettings -camVehicleCustomSettingsMetadataInvalidCinematcShotsRefsForVehicleSettings -camVehicleCustomSettingsMetadataMultiplayerPassengerCameraHashSettings -camVehicleCustomSettingsMetadataSeatSpecficCameras -CAnimSpeedUps__Tunables -CanRideBikeWithNoHelmet -CanSpawnInCar -CantUse -CapsuleHalfHeight -CapsuleHalfWidth -CapsuleLen -CapsuleRadius -CapsuleZOffset -CAR -CARCOLS_FILE -carModel -CBaseArchetypeDef -CBikeLeanAngleHelper__Tunables -CCarGen -CClipScalingHelper__Tunables -CCombatTaskManager__Tunables -CCreatureMetaData -CCurve -CCurveSet -CDataFileMgr__ContentsOfDataFileXml -CDispatchAdvancedSpawnHelper__Tunables -CDispatchHelperSearchInAutomobile__Tunables -CDispatchHelperSearchInBoat__Tunables -CDispatchHelperSearchInHeli__Tunables -CDispatchHelperSearchOnFoot__Tunables -CDispatchHelperVolumes__Tunables -CDispatchSpawnHelper__Tunables -CDistantLODLight -CDoorTuningFile -CDynamicCoverHelper__Tunables -centerAndRadius -CEntityDef -CEventAgitated__Tunables -CEventCrimeCryForHelp__Tunables -CEventEncroachingPed__Tunables -CEventExplosionHeard__Tunables -CEventFootStepHeard__Tunables -CEventGunAimedAt__Tunables -CEventGunShot__Tunables -CEventMeleeAction__Tunables -CEventPedJackingMyVehicle__Tunables -CEventPotentialBeWalkedInto__Tunables -CEventPotentialBlast__Tunables -CEventPotentialGetRunOver__Tunables -CEventRequestHelp__Tunables -CEventRespondedToThreat__Tunables -CEventShocking__Tunables -CEventSuspiciousActivity__Tunables -CExplosionInfoManager -CExtensionDefAudioCollisionSettings -CExtensionDefAudioEmitter -CExtensionDefBuoyancy -CExtensionDefDoor -CExtensionDefExplosionEffect -CExtensionDefExpression -CExtensionDefLadder -CExtensionDefLightEffect -CExtensionDefLightShaft -CExtensionDefParticleEffect -CExtensionDefProcObject -CExtensionDefSpawnPoint -CExtensionDefSpawnPointOverride -CExtensionDefWindDisturbance -CFiringPatternInfo -CGrabHelper__Tunables -Chances -changeSetName -chassis -CHDTxdAssetBinding -childName -children -CLegIkSolver__Tunables -CLevelData -CLightAttrDef -Clip -CLIP_SETS_FILE -clipDictionaryMetadatas -clipDictionaryName -ClipDictionaryName -clipItems -clips -ClipSet -ClipSetId -clipSets -ClipSets -CLODLight -CLookAtHistory__Tunables -CMapData -CMapTypes -CMiniMap__Tunables -CMloArchetypeDef -CMloEntitySet -CMloInstanceDef -CMloPortalDef -CMloRoomDef -CMloTimeCycleModifier -CMultiTxdRelationship -CNmMessage -CNmParameterBool -CNmParameterFloat -CNmParameterInt -CNmParameterRandomFloat -CNmParameterRandomInt -CNmParameterResetMessage -CNmParameterString -CNmParameterVector -CNmTuningSet -col -collisionBone -CollisionData -CollisionRadius -color -Color -colors -colour -CombatInfo -Component -components -compositeEntityTypes -CompRestrictions -CONDITIONAL_ANIMS_FILE -CONTENT_UNLOCKING_META_FILE -contentChangeSets -contents -CONTENTS_ANIMATION -CONTENTS_CUTSCENE -CONTENTS_DLC_MAP_DATA -CONTENTS_LODS -CONTENTS_MAP -CONTENTS_PEDS -CONTENTS_PROPS -CONTENTS_VEHICLES -Context -corners -CPackFileMetaData -CPedCompExpressionData -CPedModelInfo__InitDataList -CPedModelInfo__PersonalityDataList -CPedPropExpressionData -CPedTargetEvaluator__Tunables -CPedTargetting__Tunables -CPlayerCoverClipVariationHelper__Tunables -CPlayerInfo__sPlayerStatInfo -CPlayerInfo__sSprintControlData -CPlayerInfo__Tunables -CPlayerPedTargeting__Tunables -CPoliceBoatDispatch__Tunables -CPrioritizedClipSetRequestManager__Tunables -CProceduralInfo -CPtFxAssetDependencyInfo -CPtFxAssetInfoMgr -CRandomEventManager__Tunables -CreatureMetadataName -CRelationshipManager__Tunables -Crimes -CScenarioClipHelper__Tunables -CScenarioPointGroup -CScenarioPointManifest -CScenarioPointRegionDef -CShaderVariableComponent -CSituationalClipSetStreamer__Tunables -CTacticalAnalysis__Tunables -CTacticalAnalysisCoverPoints__Tunables -CTacticalAnalysisCoverPointSearch__Tunables -CTacticalAnalysisNavMeshPoints__Tunables -CTargettingDifficultyInfo -CTaskAdvance__Tunables -CTaskAgitated__Tunables -CTaskAimAndThrowProjectile__Tunables -CTaskAimFromGround__Tunables -CTaskAimGunBlindFire__Tunables -CTaskAimGunFromCoverIntro__Tunables -CTaskAimGunFromCoverOutro__Tunables -CTaskAimGunOnFoot__Tunables -CTaskAimGunVehicleDriveBy__Tunables -CTaskAmbientClips__Tunables -CTaskAnimatedHitByExplosion__Tunables -CTaskArrestPed__Tunables -CTaskBoatChase__Tunables -CTaskBoatCombat__Tunables -CTaskBoatStrafe__Tunables -CTaskCallPolice__Tunables -CTaskCarReactToVehicleCollision__Tunables -CTaskChat__Tunables -CTaskCloseVehicleDoorFromInside__Tunables -CTaskCombat__Tunables -CTaskCombatAdditionalTask__Tunables -CTaskCombatFlank__Tunables -CTaskComplexEvasiveStep__Tunables -CTaskConfront__Tunables -CTaskConversationHelper__Tunables -CTaskCoupleScenario__Tunables -CTaskCover__Tunables -CTaskCowerScenario__Tunables -CTaskDamageElectric__Tunables -CTaskDraggingToSafety__Tunables -CTaskDyingDead__Tunables -CTaskEnterCover__Tunables -CTaskEnterVehicle__Tunables -CTaskEnterVehicleAlign__Tunables -CTaskEnterVehicleSeat__Tunables -CTaskExhaustedFlee__Tunables -CTaskExitCover__Tunables -CTaskExitVehicle__Tunables -CTaskExitVehicleSeat__Tunables -CTaskFall__Tunables -CTaskFishLocomotion__Tunables -CTaskFlyingWander__Tunables -CTaskFlyToPoint__Tunables -CTaskGetUp__Tunables -CTaskGoToScenario__Tunables -CTaskGrowlAndFlee__Tunables -CTaskGun__Tunables -CTaskHeliChase__Tunables -CTaskHeliCombat__Tunables -CTaskHelicopterStrafe__Tunables -CTaskHeliOrderResponse__Tunables -CTaskHeliPassengerRappel__Tunables -CTaskHumanLocomotion__Tunables -CTaskInCover__Tunables -CTaskIntimidate__Tunables -CTaskInVehicleBasic__Tunables -CTaskInvestigate__Tunables -CTaskJump__Tunables -CTaskMeleeActionResult__Tunables -CTaskMotionAiming__Tunables -CTaskMotionBasicLocomotionLowLod__Tunables -CTaskMotionInAutomobile__Tunables -CTaskMotionInCover__Tunables -CTaskMotionInTurret__Tunables -CTaskMotionInVehicle__Tunables -CTaskMotionOnBicycle__Tunables -CTaskMotionOnBicycleController__Tunables -CTaskMotionSwimming__Tunables -CTaskMotionTennis__Tunables -CTaskMoveCombatMounted__Tunables -CTaskMoveCrossRoadAtTrafficLights__Tunables -CTaskMoveFollowNavMesh__Tunables -CTaskMoveToTacticalPoint__Tunables -CTaskMoveWithinAttackWindow__Tunables -CTaskNMBalance__Tunables -CTaskNMBehaviour__Tunables -CTaskNMBrace__Tunables -CTaskNMBuoyancy__Tunables -CTaskNMControl__Tunables -CTaskNMDraggingToSafety__Tunables -CTaskNMDrunk__Tunables -CTaskNMElectrocute__Tunables -CTaskNMExplosion__Tunables -CTaskNMFlinch__Tunables -CTaskNMHighFall__Tunables -CTaskNMInjuredOnGround__Tunables -CTaskNMJumpRollFromRoadVehicle__Tunables -CTaskNMOnFire__Tunables -CTaskNMPrototype__Tunables -CTaskNMPrototype__Tunables__TimedTuning -CTaskNMRiverRapids__Tunables -CTaskNMShot__Tunables -CTaskNMSimple__Tunables -CTaskNMThroughWindscreen__Tunables -CTaskOpenVehicleDoorFromOutside__Tunables -CTaskParachute__Tunables -CTaskParachuteObject__Tunables -CTaskPlaneChase__Tunables -CTaskPlayerDrive__Tunables -CTaskPlayerOnFoot__Tunables -CTaskPoliceOrderResponse__Tunables -CTaskPursueCriminal__Tunables -CTaskQuadLocomotion__Tunables -CTaskRageRagdoll__Tunables -CTaskRappel__Tunables -CTaskReactAimWeapon__Tunables -CTaskReactAndFlee__Tunables -CTaskReactInDirection__Tunables -CTaskReactToBeingAskedToLeaveVehicle__Tunables -CTaskReactToBuddyShot__Tunables -CTaskReactToExplosion__Tunables -CTaskReactToImminentExplosion__Tunables -CTaskReactToPursuit__Tunables -CTaskRideTrain__Tunables -CTaskScenarioFlee__Tunables -CTaskSearch__Tunables -CTaskSearchBase__Tunables -CTaskSearchForUnknownThreat__Tunables -CTaskSearchInAutomobile__Tunables -CTaskSearchInBoat__Tunables -CTaskSearchInHeli__Tunables -CTaskSearchOnFoot__Tunables -CTaskSharkAttack__Tunables -CTaskSharkCircle__Tunables -CTaskShockingEvent__Tunables -CTaskShockingEventBackAway__Tunables -CTaskShockingEventGoto__Tunables -CTaskShockingEventHurryAway__Tunables -CTaskShockingEventReact__Tunables -CTaskShockingEventReactToAircraft__Tunables -CTaskShockingEventStopAndStare__Tunables -CTaskShockingEventWatch__Tunables -CTaskShockingPoliceInvestigate__Tunables -CTaskShootOutTire__Tunables -CTaskShove__Tunables -CTaskShoved__Tunables -CTaskSmartFlee__Tunables -CTaskStandGuard__Tunables -CTaskStealVehicle__Tunables -CTaskSwapWeapon__Tunables -CTaskSwatOrderResponse__Tunables -CTaskSwimmingWander__Tunables -CTaskTakeOffPedVariation__Tunables -CTaskTargetUnreachable__Tunables -CTaskTargetUnreachableInExterior__Tunables -CTaskTargetUnreachableInInterior__Tunables -CTaskTrainBase__Tunables -CTaskTryToGrabVehicleDoor__Tunables -CTaskUnalerted__Tunables -CTaskUseScenario__Tunables -CTaskUseVehicleScenario__Tunables -CTaskVariedAimPose__Tunables -CTaskVault__Tunables -CTaskVehicleApproach__Tunables -CTaskVehicleBlock__Tunables -CTaskVehicleBlockBackAndForth__Tunables -CTaskVehicleBlockBrakeInFront__Tunables -CTaskVehicleBlockCruiseInFront__Tunables -CTaskVehicleChase__Tunables -CTaskVehicleCombat__Tunables -CTaskVehicleCrash__Tunables -CTaskVehicleCruiseBoat__Tunables -CTaskVehicleDeadDriver__Tunables -CTaskVehicleFlee__Tunables -CTaskVehicleFleeBoat__Tunables -CTaskVehicleFSM__Tunables -CTaskVehicleGoToBoat__Tunables -CTaskVehicleGoToHelicopter__Tunables -CTaskVehicleGoToPlane__Tunables -CTaskVehicleGoToPointWithAvoidanceAutomobile__Tunables -CTaskVehicleLandPlane__Tunables -CTaskVehicleMissionBase__Tunables -CTaskVehicleParkNew__Tunables -CTaskVehiclePersuit__Tunables -CTaskVehiclePlaneChase__Tunables -CTaskVehiclePullAlongside__Tunables -CTaskVehiclePursue__Tunables -CTaskVehicleRam__Tunables -CTaskVehicleShotTire__Tunables -CTaskVehicleSpinOut__Tunables -CTaskWalkAway__Tunables -CTaskWander__Tunables -CTaskWanderInArea__Tunables -CTaskWanderingScenario__Tunables -CTaskWitness__Tunables -CTimeArchetypeDef -CTimeCycleModifier -CustomTriggerBox -CVehicleClipRequestHelper__Tunables -CVehicleModelInfoVarGlobal -CVehicleModelInfoVariation -CVehicleScenarioManager__AttractorTuning__Tunables -CVfxVehicleInfo -CVfxVehicleInfoMgr -CWanted__Tunables -CWantedHelicopterDispatch__Tunables -CWildlifeManager__Tunables -damageAtCentre -damageAtEdge -dataFiles -DECALS_FILE -decayFactor -DecisionMakerName -Default -DefaultBrawlingStyle -DefaultGestureClipSet -DefaultRemoveRangeMultiplier -DefaultSpawningPreference -DefaultTaskDataSetName -DefaultUnarmedWeapon -DefaultVisemeClipSet -DelayDoorClosingForPlayer -Density -DensityRange -directedLifeTime -directedWidth -direction -Direction -disableBonnetCamera -disabled -Disabled -disabledFiles -Dispatch -Distance -DistanceRange -DISTANT_LIGHTS_FILE -DISTANT_LIGHTS_HD_FILE -distBetweenCoronas -distBetweenCoronas_far -DLC_ITYP_REQUEST -DLC_SCRIPT_METAFILE -DLC_WEAPON_PICKUPS -dlcName -DontCloseWhenTouched -door_dside_f -door_dside_r -door_pside_f -door_pside_r -DOOR_TUNING_FILE -drawableDictionary -DrawableId -DrawableIndex -DSP_NORMAL -duration -Duration -Edges -effectsData -emmissiveBoost -EMPTY -Enable -enabled -Enabled -EnabledByDefault -end -End -endHour -EndModel -endPhase -endRadius -enforceLsnSorting -engineblock -engineDamagePtFxEnabled -engineDamagePtFxHasPanel -engineDamagePtFxHasRotorEvo -engineDamagePtFxNoPanelName -engineDamagePtFxPanelOpenName -engineDamagePtFxPanelShutName -engineDamagePtFxRange -engineDamagePtFxSpeedEvoMax -engineDamagePtFxSpeedEvoMin -engineStartupPtFxEnabled -engineStartupPtFxName -engineStartupPtFxRange -entities -ENTITYFX_FILE -EventType -exclusions -executionConditions -exhaust -exhaust_2 -exhaust_3 -exhaust_4 -exhaustPtFxCutOffSpeed -exhaustPtFxEnabled -exhaustPtFxName -exhaustPtFxRange -exhaustPtFxScale -exhaustPtFxSpeedEvoMax -exhaustPtFxSpeedEvoMin -exhaustPtFxTempEvoMax -exhaustPtFxTempEvoMin -exhaustPtFxThrottleEvoOnGearChange -explodeAttachEntityWhenFinished -Explosion -EXPLOSION_INFO_FILE -EXPLOSIONFX_FILE -ExpressionDictionaryName -expressionName -ExpressionName -ExpressionSetName -extendedRange -extensions -ExternallyDrivenDOFs -extra_1 -extra_2 -extra_3 -extra_4 -extra_5 -EXTRA_FOLDER_MOUNT_DATA -EXTRA_TITLE_UPDATE_DATA -FacialClipsetGroupName -fallbackId -Falling -falloff -falloffExponent -falloffMax -Female -FFrontOffset -Fight -filename -filesToDisable -filesToEnable -filesToInvalidate -fileType -FIREFX_FILE -FirstPersonDriveByIKOffset -flags -Flags -flash -Flee -forceFactor -Forward -Fov -fragDamage -fRagdollForceModifier -frontIndicatorCorona -fSelfForceModifier -FullBodyDamageClipSet -FUpOffset -fwClipItem -fwClipItemWithProps -fwClipSet -fwClipSetManager -fxName -fxOffsetPos -fxOffsetRot -fxType -GetupSetHash -GroundColor -group -Group -Groups -GTXD_PARENTING_DATA -guid -HANDLING_FILE -hash -HDDist -HDTxd -HDTxdBindingArray -Heading -HeadingLimits -headLight -headlight_l -headlight_r -headLightCorona -Height -HIGH_HEELS -highPri -HoldDuration -hub_lf -hub_rf -iCosZ -id -Id -identifier -Idle -IdleTransitionBlendOutTime -IdleTransitions -ids -IgnoreMaxInRange -IgnoreOpenDoorTaskEdgeLerp -IgnorePavementChecks -imapDependencies -imapDependencies_2 -imapName -IN_VEHICLE -includedDataFiles -includedXmlFiles -Index -indicator -indicator_lf -indicator_rf -indices -Infos -InitDatas -initSpeed -InjuredStrafeClipSet -innerConeAngle -installPartition -intensity -Intensity -intensity_far -IntensityVar -interior -INTERIOR_PROXY_ORDER_FILE -InteriorNames -Interiors -IPL_FILE -iRadius -IsHeadBlendPed -iSinZ -IsStreamedGfx -Item -itypDependencies_2 -iType -JUNCTION_TEMPLATES_FILE -JUNCTION_TEMPLATES_PSO_FILE -kBoth -Key -KilledPerceptionRangeModifer -kitName -kits -Kits -kitType -leakPtFxEnabled -leakPtFxOilName -leakPtFxPetrolName -leakPtFxRange -leakPtFxSpeedEvoMax -leakPtFxSpeedEvoMin -length -LifeTime -Lights -lightSettings -limitAngle -linkedModels -linkMods -LIQUIDFX_FILE -liveries -livery -liveryNames -loadCompletely -LoadOut -LOADOUTS_FILE -locations -locked -lodDist -lodLevel -LODTYPES_DEPTH_HD -LODTYPES_DEPTH_SLOD1 -LODTYPES_DEPTH_SLOD2 -mapChangeSetData -MapDataGroups -MAPZONES_FILE -maskID -MassMultiplier -MATERIALFX_FILE -max -Max -MaxDistance -MaxPassengersInCar -MaxScale -MaxScaleZ -MaxSpeed -MaxTime -MaxTintPalette -MaxXRotation -MaxYRotation -MaxZOffset -MaxZRotation -memoryGroup -MicroMovementsFreqH -MicroMovementsFreqV -MicroMovementsScaleH -MicroMovementsScaleV -min -Min -MinActivationImpulse -MinDistance -minorExplosion -MinScale -MinScaleZ -MinTime -MinTintPalette -MinXRotation -MinYRotation -MinZOffset -MinZRotation -mirrorTexture -misc_a -misc_b -misc_c -misc_d -misc_e -misc_f -misc_g -misc_h -misc_i -misc_j -misc_k -misc_l -misc_m -misc_n -misc_o -misc_p -misc_q -misc_r -misc_s -misc_t -misc_u -misc_v -misc_w -misc_x -misc_y -misc_z -misfirePtFxEnabled -misfirePtFxName -misfirePtFxRange -MKT_SPECIAL -MKT_SPORT -MKT_STANDARD -MKT_SUV -mod_col_1 -mod_col_2 -mod_col_3 -mod_col_4 -mod_col_5 -ModelId -modelName -ModelName -ModelSet -ModelToTuneMapping -modifier -modShopLabel -MotionTaskDataSetName -Move -MOVE_NETWORK_DEFS -MoveBlendRatio -MovementClipSet -MovementClipSetId -MovementModes -MovementModeUnholsterData -MovementToStrafeClipSet -moveNetworkFlags -MP_STATS_DISPLAY_LIST_FILE -MP_STATS_UI_LIST_FILE -mtlBangPtFxVehicleEvo -mtlBangPtFxVehicleScale -mtlScrapePtFxVehicleEvo -mtlScrapePtFxVehicleScale -multiples -multiTxdRelationships -MustUse -name -Name -NamedTuningArray -NavCapabilitiesName -NAVMESH_INDEXREMAPPING_FILE -NAVNODE_INDEXREMAPPING_FILE -networkPedModifier -networkPlayerModifier -Nodes -none -None -normal -Normal -NormalMapName -NUM_ANCHORS -numCoronas -OBJ_COVER_TUNING_FILE -offset -offsetPosition -offsetRotation -ON_FOOT -opacity -outerConeAngle -overlay -OVERLAY_INFO_FILE -overturnedSmokePtFxAngleThresh -overturnedSmokePtFxEnabled -overturnedSmokePtFxEngineHealthThresh -overturnedSmokePtFxName -overturnedSmokePtFxRange -overturnedSmokePtFxSpeedThresh -owner -OwnerName -Pad -parent -parentIndex -parentName -PARTITION_0 -PARTITION_1 -PARTITION_2 -patchFiles -PATH_ZONES_FILE -PED_DAMAGE_APPEND_FILE -PED_FIRST_PERSON_ALTERNATE_DATA -PED_FIRST_PERSON_ASSET_DATA -PED_METADATA_FILE -PED_OVERLAY_FILE -PED_PERSONALITY_FILE -PedCapsuleName -pedCompExpressionIndex -pedCompExpressions -pedcompID -pedCompID -PedComponentClothName -PedComponentSetName -pedCompVarIndex -PedIKSettingsName -PedLayoutName -PedPersonalities -pedPropExpressionIndex -pedPropExpressions -pedPropID -pedPropVarIndex -Peds -PedScale -PEDSTREAM_FILE -pedType -Pedtype -PedVoiceGroup -percentage -PerceptionInfo -PERMANENT_ITYP_FILE -persistent -Personality -petrolTankFirePtFxName -petrolTankFirePtFxRadius -petrolTankFirePtFxRange -petrolTankFirePtFxSpeedEvoMax -petrolTankFirePtFxSpeedEvoMin -Pistol -Pitch -PitchChangeRate -PitchLimits -PitchOffset -PLANE -planeAfterburnerPtFxEnabled -planeAfterburnerPtFxName -planeAfterburnerPtFxRange -planeAfterburnerPtFxScale -planeDamageFirePtFxEnabled -planeDamageFirePtFxName -planeDamageFirePtFxRange -planeDamageFirePtFxSpeedEvoMax -planeDamageFirePtFxSpeedEvoMin -planeGroundDisturbPtFxDist -planeGroundDisturbPtFxEnabled -planeGroundDisturbPtFxNameDefault -planeGroundDisturbPtFxNameDirt -planeGroundDisturbPtFxNameFoliage -planeGroundDisturbPtFxNameSand -planeGroundDisturbPtFxNameWater -planeGroundDisturbPtFxRange -planeGroundDisturbPtFxSpeedEvoMax -planeGroundDisturbPtFxSpeedEvoMin -planeWingTipPtFxEnabled -planeWingTipPtFxName -planeWingTipPtFxRange -planeWingTipPtFxSpeedEvoMax -planeWingTipPtFxSpeedEvoMin -plantInfos -PlantTag -plateProbabilities -Player -POPGRP_FILE -POPSCHED_FILE -PoseMatcherName -PoseMatcherProneName -position -Position -PositionOffset -posn -PovCameraOffset -PreciseUseTime -priority -Priority -Probabilities -probability -PROC_META_FILE -PROCOBJ_ALIGN_OBJ -PROCOBJ_CAST_SHADOW -PROCOBJ_FILE -PROCOBJ_IS_FLOATING -PROCOBJ_NETWORK_GAME -PROCOBJ_USE_SEED -procObjInfos -PROCPLANT_CAMERADONOTCULL -PROCPLANT_FURGRASS -PROCPLANT_GROUNDSCALE1VERT -PROCPLANT_LOD0 -PROCPLANT_LOD1 -PROCPLANT_LOD2 -PROCPLANT_NOGROUNDSKEW_LOD0 -PROCPLANT_NOGROUNDSKEW_LOD1 -PROCPLANT_NOGROUNDSKEW_LOD2 -PROCPLANT_NOSHADOW -PROCPLANT_UNDERWATER -procTagTable -PropRestrictions -props -PropsName -ptfxAssetDependencyInfos -PTFXASSETINFO_FILE -ptFxHasTint -ptFxIsTriggered -ptFxName -ptFxProbability -ptFxScale -ptFxSize -ptFxSpeedEvoMax -ptFxSpeedEvoMin -ptFxTag -ptFxTintB -ptFxTintG -ptFxTintR -pull -pullCoronaIn -PV_COMP_ACCS -PV_COMP_BERD -PV_COMP_DECL -PV_COMP_FEET -PV_COMP_HAIR -PV_COMP_HAND -PV_COMP_HEAD -PV_COMP_JBIB -PV_COMP_LOWR -PV_COMP_MAX -PV_COMP_TASK -PV_COMP_TEEF -PV_COMP_UPPR -RADIO_GENRE_CLASSIC_ROCK -RADIO_GENRE_JAZZ -RADIO_GENRE_MEXICAN -RADIO_GENRE_MODERN_ROCK -RADIO_GENRE_MOTOWN -RADIO_GENRE_OFF -RADIO_GENRE_PUNK -RADIO_GENRE_REGGAE -RADIO_GENRE_RIGHT_WING_TALK -RADIO_GENRE_SURF -Radio1 -Radio2 -radius -Radius -RadiusScale -rage__fwInstancedMapData -rage__phVerletClothCustomBounds -rage__spdGrid2D -range -Rate -rear -rearIndicatorCorona -RegionDefs -RelationshipGroup -requiredImap -requiresLoadingScreen -ResetNoCollisionOnCleanUp -residentAnims -residentResources -residentTxd -Restriction -reversingLight -reversingLightCorona -RFrontOffset -RGBI -Rifle -rimRadius -Roll -rooms -rotate -rotation -Rotation -RotationLimitAngle -RPF_FILE -RPF_FILE_PRE_INSTALL -RumbleDuration -RUpOffset -SAT_NONE -scale -Scale -SCALEFORM_DLC_FILE -ScaleRange -ScaleRangeXYZ -ScaleRangeZ -ScaleVariationXY -ScaleVariationZ -ScaleXY -ScaleZ -SCENARIO_INFO_FILE -SCENARIO_POINTS_PSO_FILE -SCENARIO_POP_STREAMING_NORMAL -ScenarioPoints -ScenarioPopStreamingSlot -ScenarioType -SCRIPTFX_FILE -SeatIndex -Seats -sets -Sets -settings -Settings -Sexiness -SF_HOT_PERSON -SF_JEER_AT_HOT_PED -shaderVariableComponents -shaderVariableHashString -shadowBlur -shockingEventAudioRangeOverride -shockingEventVisualRangeOverride -SHOP_PED_APPAREL_META_FILE -shortRange -ShouldLatchShut -SidestepClipSet -sirenSettings -Situations -size -size_far -sLevelData -SLOD_HUMAN -slot -slotNames -SLOWNESS_ZONES_FILE -Sniper -SP_Low -SP_Medium -SP_MULTIPLAYER_RESIDENT -SP_SINGLEPLAYER_RESIDENT -SP_STATS_DISPLAY_LIST_FILE -SP_STATS_UI_LIST_FILE -SP_STREAMING -spacing -Spacing -spawnType -specialAttribute -speed -sphere -Spheres -splashInPtFxEnabled -splashInPtFxName -splashInPtFxRange -splashInPtFxSizeEvoMax -splashInPtFxSpeedDownwardEvoMax -splashInPtFxSpeedDownwardEvoMin -splashInPtFxSpeedDownwardThresh -splashInPtFxSpeedLateralEvoMax -splashInPtFxSpeedLateralEvoMin -splashOutPtFxEnabled -splashOutPtFxName -splashOutPtFxRange -splashOutPtFxSizeEvoMax -splashOutPtFxSpeedLateralEvoMax -splashOutPtFxSpeedLateralEvoMin -splashOutPtFxSpeedUpwardEvoMax -splashOutPtFxSpeedUpwardEvoMin -splashTrailPtFxEnabled -splashTrailPtFxName -splashTrailPtFxRange -splashTrailPtFxSizeEvoMax -splashTrailPtFxSpeedEvoMax -splashTrailPtFxSpeedEvoMin -splashWadePtFxEnabled -splashWadePtFxName -splashWadePtFxRange -splashWadePtFxSizeEvoMax -splashWadePtFxSpeedRiverEvoMax -splashWadePtFxSpeedRiverEvoMin -splashWadePtFxSpeedVehicleEvoMax -splashWadePtFxSpeedVehicleEvoMin -sStatsMetadataTuning -StaggerFall -Standard -start -Start -startHour -StartModel -startPhase -StationaryReactions -statMods -STATS_METADATA_PSO_FILE -StdDoorOpenBothDir -StdDoorOpenNegDir -StdDoorRotDir -steeringwheel -Stiffness -StillToSitPedalGearApproachRate -StrafeClipSet -STREAMING_REQUEST_LISTS_FILE -streamingPolicy -streamingPriority -STREET_VEHICLE_ASSOCIATION_FILE -strength -Stubble -SuperlodType -Tag -tailLight -tailLightCorona -tailLightMiddleCorona -tangent -Target -targetAsset -TargetingThreatModifier -TargetOffset -TargetRadius -TaskDataName -TATTOO_SHOP_DLC_FILE -TB_WARM -TechSavvy -Teeter -template -texId -TEXTFILE_METAFILE -textureDictionary -TextureId -textureName -ThermalBehaviour -time -TIME_FILE -TIMECYCLE_FILE -TIMECYCLEMOD_FILE -timeCycleModifiers -timeTillPedLeaves -top -TorqueAngularVelocityLimit -tracks -TRAILER -TRAINCONFIGS_FILE -TRAINTRACK_FILE -TriggerBoxMinMax -TS_LOW -Tunables -Tuning -TuningName -Turn -turnOffBones -turnOffExtra -txdRelationships -txdToLoad -txdToUnload -type -types -UnholsterClipData -UnholsterClips -UnholsterClipSetId -unregisterResources -Update -UpperBodyFeatheredLeanEnabled -UpperBodyShadowExpressionEnabled -UseAutoOpenTriggerBox -UseLeftHandIk -UseWeaponAnimsForGrip -Value -variationData -Variations -VEHGEN_MARKUP_FILE -VEHICLE_LAYOUTS_FILE -VEHICLE_METADATA_FILE -VEHICLE_POPULATION_FILE -VEHICLE_RESPONSE_ARMY_BASE -VEHICLE_RESPONSE_COUNTRYSIDE -VEHICLE_SHOP_DLC_FILE -VEHICLE_VARIATION_FILE -VEHICLEEXTRAS_FILE -VehicleScale -Velocity -version -VersionNumber -verts -VFX_SETTINGS_FILE -VFXFOGVOLUMEINFO_FILE -VfxInfoName -VFXINTERIORINFO_FILE -VFXPEDINFO_FILE -VFXREGIONINFO_FILE -vfxTagHashName -VFXVEHICLEINFO_FILE -vfxVehicleInfos -VFXWEAPONINFO_FILE -visibleMods -vlink87812 -VMCP_DEFAULT -VMT_ARMOUR -VMT_BONNET -VMT_BRAKES -VMT_BUMPER_F -VMT_BUMPER_R -VMT_CHASSIS -VMT_CHASSIS2 -VMT_CHASSIS3 -VMT_CHASSIS4 -VMT_CHASSIS5 -VMT_DOOR_L -VMT_ENGINE -VMT_ENGINEBAY1 -VMT_ENGINEBAY2 -VMT_ENGINEBAY3 -VMT_EXHAUST -VMT_GEARBOX -VMT_GRILL -VMT_HORN -VMT_HYDRO -VMT_ICE -VMT_INTERIOR1 -VMT_INTERIOR2 -VMT_INTERIOR3 -VMT_INTERIOR4 -VMT_INTERIOR5 -VMT_KNOB -VMT_LIVERY_MOD -VMT_PLAQUE -VMT_PLTHOLDER -VMT_PLTVANITY -VMT_ROOF -VMT_SEATS -VMT_SKIRT -VMT_SPOILER -VMT_STEERING -VMT_SUSPENSION -VMT_TRUNK -VMT_WHEELS -VMT_WHEELS_REAR_OR_HYDRAULICS -VMT_WING_L -VMT_WING_R -vPos -WantedLevel1 -WantedLevel2 -WantedLevel3 -WantedLevel4 -WantedLevel5 -WATER_FILE -Weak -WEAPON_ANIMATIONS_FILE -WEAPON_METADATA_FILE -WEAPON_SHOP_INFO_METADATA_FILE -WeaponAccuracy -WeaponAnimations -WeaponClipFilterId -WeaponClipSetId -WEAPONCOMPONENTSINFO_FILE -WEAPONFX_FILE -WeaponImpulseMultiplier -WEAPONINFO_FILE -WEAPONINFO_FILE_PATCH -Weapons -WEATHER_FILE -WeatherTypes -weight -wheelBurnoutPtFxFricMult -wheelBurnoutPtFxTempMult -wheelBurstPtFxName -wheelBurstPtFxRange -wheelDisplacementPtFxDispMult -wheelFirePtFxName -wheelFirePtFxRange -wheelFirePtFxSpeedEvoMax -wheelFirePtFxSpeedEvoMin -wheelFrictionPtFxFricMult -WHEELFX_FILE -wheelGenericDecalSet -wheelGenericPtFxSet -wheelGenericRangeMult -wheelLowLodPtFxScale -wheelName -wheelPuncturePtFxName -wheelPuncturePtFxRange -Wheels -wheelSkidmarkPressureMult -wheelSkidmarkRearOnly -wheelSkidmarkSlipMult -wheelVariation -Width -WindBendScale -WindBendVariation -window_lf -window_rf -windowsWithExposedEdges -windscreen_r -wing_lf -wing_rf -WORLD_HEIGHTMAP_FILE -WORLD_WATERHEIGHT_FILE -wreckedFire2OffsetPos -wreckedFire2PtFxDurationMax -wreckedFire2PtFxDurationMin -wreckedFire2PtFxEnabled -wreckedFire2PtFxName -wreckedFire2PtFxRadius -wreckedFire2UseOverheatBone -wreckedFire3OffsetPos -wreckedFire3PtFxDurationMax -wreckedFire3PtFxDurationMin -wreckedFire3PtFxEnabled -wreckedFire3PtFxName -wreckedFire3PtFxRadius -wreckedFire3UseOverheatBone -wreckedFirePtFxDurationMax -wreckedFirePtFxDurationMin -wreckedFirePtFxEnabled -wreckedFirePtFxName -wreckedFirePtFxRadius -x -X -xRotation -y -Y -yRotation -z -Z -zBias -ZONEBIND_FILE -zRotation"; + public static string ShaderParamNames = @"";//[redundant list removed] } @@ -6435,7 +3276,6 @@ zRotation"; //CExtensionDefLightEffect = 663891011, //CMloTimeCycleModifier = 807246248, //rage__phVerletClothCustomBounds = 847348117, - //SectionUNKNOWN1 = 1701774085, //cloth CollisionData (child of rage__phVerletClothCustomBounds) ////SectionUNKNOWN2 = 1185771007, //CCompositeEntityType //SectionUNKNOWN3 = 1980345114, @@ -6446,19 +3286,16 @@ zRotation"; //SectionUNKNOWN8 = 3430328684,//0xCC76A96C, VECTOR3 = 3805007828,//0xe2cbcfd4, //this hash isn't correct, but is used in CDistantLODLight + VECTOR4 = 0x33, //(was SectionUNKNOWN12) HASH = 0x4a, STRING = 0x10, POINTER = 0x7, USHORT = 0x13, UINT = 0x15, ARRAYINFO = 0x100, - BYTE = 17, FLOAT = 33, //0x21 - VECTOR4 = 0x33, //(was SectionUNKNOWN12) - - PsoPOINTER = 12, @@ -6532,6 +3369,14 @@ zRotation"; + CVfxPedInfoMgr = 2677836644, + CVfxPedInfo = 3269469953, + vfxPedInfos = 1918175602, + + + + + //dav90 suggestions AccelGrid = 3053155275, diff --git a/GameFiles/MetaTypes/MetaXml.cs b/GameFiles/MetaTypes/MetaXml.cs index 6c1b0be..c597c3f 100644 --- a/GameFiles/MetaTypes/MetaXml.cs +++ b/GameFiles/MetaTypes/MetaXml.cs @@ -545,7 +545,18 @@ namespace CodeWalker.GameFiles } break; case PsoDataType.Flags: - var flagsInfo = cont.GetEnumInfo(entry.EntryNameHash); + uint fCount = (entry.ReferenceKey >> 16) & 0x0000FFFF; + uint fEntry = (entry.ReferenceKey & 0xFFFF); + var fEnt = structInfo.GetEntry((int)fEntry); + PsoEnumInfo flagsInfo = null; + if ((fEnt != null) && (fEnt.EntryNameHash == MetaName.ARRAYINFO)) + { + flagsInfo = cont.GetEnumInfo((MetaName)fEnt.ReferenceKey); + } + if (flagsInfo == null) + { + flagsInfo = cont.GetEnumInfo(entry.EntryNameHash); + } uint? flagsVal = null; switch (entry.Unk_5h) { @@ -869,7 +880,7 @@ namespace CodeWalker.GameFiles var arrHash = MetaTypes.ConvertData(data, eoffset); arrHash.SwapEnd(); var hashArr = PsoTypes.GetHashArray(cont.Pso, arrHash); - WriteItemArray(sb, hashArr, indent, ename, "Hash", FormatHash); + WriteItemArray(sb, hashArr, indent, ename, "Hash", HashString); break; } break; @@ -957,23 +968,54 @@ namespace CodeWalker.GameFiles var mapreftype2 = structInfo.Entries[mapidx1]; var x1 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset));//same as ref key? var x2 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset + 4));//0? - var xStrucPtr = MetaTypes.ConvertData(data, eoffset + 8); - xStrucPtr.SwapEnd(); - var xBlockId = (int)xStrucPtr.PointerDataId; + var x3 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset + 8));//pointer? + var x4 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset + 12));// + var x5 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset + 16));//count/capacity? + var x6 = MetaTypes.SwapBytes(BitConverter.ToInt32(data, eoffset + 20));// + + //File.WriteAllText("C:\\CodeWalker.Projects\\testxml.xml", sb.ToString()); + + if (x1 != 0x1000000) + { } + if (x2 != 0) + { } + if (x4 != 0) + { } + if (x6 != 0) + { } + + + var xBlockId = x3 & 0xFFF; + var xOffset = (x3 >> 12) & 0xFFFFF; + var xCount1 = x5 & 0xFFFF; + var xCount2 = (x5 >> 16) & 0xFFFF; + + //var x1a = x1 & 0xFFF; //block id? for another pointer? + //var x1b = (x1 >> 12) & 0xFFFFF; //offset? + //var x4u = (uint)x4; + //var x4a = x4 & 0xFFF; //block id? + //var x4b = (x4 >> 12) & 0xFFFFF; //offset? + //var x2h = (MetaHash)(uint)x2; + //var x6h = (MetaHash)(uint)x6; + //if (x1a > 0) + //{ } + + + var xBlock = cont.Pso.GetBlock(xBlockId); - if ((xBlock == null) && (xStrucPtr.Count1 > 0)) + if ((xBlock == null) && (xCount1 > 0)) { - ErrorXml(sb, cind, ename + ": Couldn't find Map xBlock: " + xStrucPtr.PointerDataId.ToString()); + ErrorXml(sb, cind, ename + ": Couldn't find Map xBlock: " + xBlockId.ToString()); } else { - if (xStrucPtr.Count1 != xStrucPtr.Count2) + if (xCount1 != xCount2) { } - if (xStrucPtr.Count1 > 0) + if (xCount1 > 0) { var xStruct = cont.GetStructureInfo(xBlock.NameHash); - var xOffset1 = xStrucPtr.PointerDataOffset; + var xOffset1 = xOffset; var xind = indent + 1; var aind = indent + 2; var kEntry = xStruct?.FindEntry(MetaName.Key); @@ -1010,14 +1052,14 @@ namespace CodeWalker.GameFiles else { OpenTag(sb, xind, ename); - int xOffset = (int)xOffset1; - int xCount = xStrucPtr.Count1; + int xOffset2 = (int)xOffset1; + int xCount = xCount1; for (int n = 0; n < xCount; n++) { //WriteNode(sb, aind, cont, xBlockId, xOffset, XmlTagMode.Item, xStruct.IndexInfo.NameHash); - int sOffset = xOffset + xBlock.Offset; + int sOffset = xOffset2 + xBlock.Offset; var kOffset = sOffset + kEntry.DataOffset; var iOffset = sOffset + iEntry.DataOffset; var kStr = GetStringValue(cont.Pso, kEntry, data, kOffset); @@ -1036,7 +1078,9 @@ namespace CodeWalker.GameFiles var iStruc = cont.GetStructureInfo(iBlock.NameHash); if (iStruc?.EntriesCount == 0) { - SelfClosingTag(sb, aind, iStr); + //SelfClosingTag(sb, aind, iStr); + OpenTag(sb, aind, iStr); + CloseTag(sb, aind, "Item"); } else { @@ -1045,7 +1089,7 @@ namespace CodeWalker.GameFiles CloseTag(sb, aind, "Item"); } } - xOffset += xStruct.StructureLength; + xOffset2 += xStruct.StructureLength; if ((n < (xCount - 1)) && (xBlock != null) && (xOffset >= xBlock.Length)) { ErrorXml(sb, aind, "Offset out of range! Count is " + xCount.ToString()); @@ -1490,6 +1534,15 @@ namespace CodeWalker.GameFiles { var str = JenkIndex.TryGetString(h); + if (string.IsNullOrEmpty(str)) + { + var nh = (MetaName)(uint)h; + if (Enum.IsDefined(typeof(MetaName), nh)) + { + return nh.ToString(); + } + } + //todo: make sure JenkIndex is built! //todo: do extra hash lookup here diff --git a/GameFiles/Resources/Clip.cs b/GameFiles/Resources/Clip.cs index 7df5576..799bd55 100644 --- a/GameFiles/Resources/Clip.cs +++ b/GameFiles/Resources/Clip.cs @@ -378,18 +378,18 @@ namespace CodeWalker.GameFiles } // structure data - public byte Unknown_00h { get; set; } - public byte Unknown_01h { get; set; } - public byte Unknown_02h { get; set; } - public byte Unknown_03h { get; set; } + //public byte Unknown_00h { get; set; } + //public byte Unknown_01h { get; set; } + //public byte Unknown_02h { get; set; } + //public byte Unknown_03h { get; set; } + public MetaHash Unknown_00h { get; set; } public uint DataLength { get; set; } - public uint Unknown_08h { get; set; } // 0x00000000 - public uint Unknown_0Ch { get; set; } - public uint Unknown_10h { get; set; } - public ushort Unknown_14h { get; set; } - public ushort Unknown_16h { get; set; } - //public uint Unknown_18h { get; set; } - public ushort Unknown_18h { get; set; } + public uint Unknown_08h { get; set; } // 0x00000000 ..sequence header offset? + public uint Unknown_0Ch { get; set; } //[uv1:] bytes used by sequence "header"? offset to data items + public uint Unknown_10h { get; set; } //total block length, == BlockLength + public ushort Unknown_14h { get; set; } // + public ushort Unknown_16h { get; set; } // count of data items (361?) + public ushort Unknown_18h { get; set; } //[uv1:8] stride of data item? public ushort Unknown_1Ah { get; set; } public ushort Unknown_1Ch { get; set; } public ushort Unknown_1Eh { get; set; } @@ -398,11 +398,11 @@ namespace CodeWalker.GameFiles public override void Read(ResourceDataReader reader, params object[] parameters) { // read structure data - //this.Unknown_00h = reader.ReadUInt32();//2965995365 2837183178 - this.Unknown_00h = reader.ReadByte(); //101 202 97 120 - this.Unknown_01h = reader.ReadByte(); //127 250 202 168 - this.Unknown_02h = reader.ReadByte(); //201 27 115 126 - this.Unknown_03h = reader.ReadByte(); //176 169 131 74 + this.Unknown_00h = reader.ReadUInt32();//2965995365 2837183178 + //this.Unknown_00h = reader.ReadByte(); //101 202 97 120 + //this.Unknown_01h = reader.ReadByte(); //127 250 202 168 + //this.Unknown_02h = reader.ReadByte(); //201 27 115 126 + //this.Unknown_03h = reader.ReadByte(); //176 169 131 74 this.DataLength = reader.ReadUInt32(); //282 142 1206 358 this.Unknown_08h = reader.ReadUInt32();//0 0 0 0 this.Unknown_0Ch = reader.ReadUInt32();//224 (E0) 32 (20) 536 (218) 300 offset in data to? @@ -420,10 +420,10 @@ namespace CodeWalker.GameFiles this.Data = reader.ReadBytes((int)DataLength); reader.Position = pos; - float[] fvals = reader.ReadFloatsAt((ulong)pos, DataLength / 4); - ushort[] svals = reader.ReadUshortsAt((ulong)pos, DataLength / 2); - if (fvals != null) - { } + //float[] fvals = reader.ReadFloatsAt((ulong)pos, DataLength / 4); + //ushort[] svals = reader.ReadUshortsAt((ulong)pos, DataLength / 2); + //if (fvals != null) + //{ } //reader.Position = pos; //float f0 = reader.ReadSingle(); // 0 0 0 0 @@ -463,6 +463,11 @@ namespace CodeWalker.GameFiles writer.Write(this.Unknown_1Eh); writer.Write(this.Data); } + + public override string ToString() + { + return Unknown_00h.ToString() + ": " + DataLength.ToString(); + } } [TypeConverter(typeof(ExpandableObjectConverter))] public class ClipMapEntry : ResourceSystemBlock @@ -528,7 +533,7 @@ namespace CodeWalker.GameFiles public override string ToString() { - return Hash.ToString(); + return Clip?.Name ?? Hash.ToString(); } } [TypeConverter(typeof(ExpandableObjectConverter))] public class ClipBase : ResourceSystemBlock, IResourceXXSystemBlock @@ -546,8 +551,8 @@ namespace CodeWalker.GameFiles public uint Unknown_10h { get; set; } public uint Unknown_14h { get; set; } // 0x00000000 public ulong NamePointer { get; set; } - public ushort Unknown_20h { get; set; } // short, name length - public ushort Unknown_22h { get; set; } // short, name length +1 + public ushort NameLength { get; set; } // short, name length + public ushort NameCapacity { get; set; } // short, name length +1 public uint Unknown_24h { get; set; } // 0x00000000 public ulong Unknown_28hPtr { get; set; } // 0x50000000 public uint Unknown_30h { get; set; } @@ -572,8 +577,8 @@ namespace CodeWalker.GameFiles this.Unknown_10h = reader.ReadUInt32(); this.Unknown_14h = reader.ReadUInt32(); this.NamePointer = reader.ReadUInt64(); - this.Unknown_20h = reader.ReadUInt16(); - this.Unknown_22h = reader.ReadUInt16(); + this.NameLength = reader.ReadUInt16(); + this.NameCapacity = reader.ReadUInt16(); this.Unknown_24h = reader.ReadUInt32(); this.Unknown_28hPtr = reader.ReadUInt64(); this.Unknown_30h = reader.ReadUInt32(); @@ -613,7 +618,7 @@ namespace CodeWalker.GameFiles writer.Write(this.Unknown_10h); writer.Write(this.Unknown_14h); writer.Write(this.NamePointer); - writer.Write(this.Unknown_20h); + writer.Write(this.NameLength); writer.Write(this.Unknown_24h); writer.Write(this.Unknown_28hPtr); writer.Write(this.Unknown_30h); diff --git a/WorldForm.cs b/WorldForm.cs index 73158f9..056c2e5 100644 --- a/WorldForm.cs +++ b/WorldForm.cs @@ -1127,12 +1127,26 @@ namespace CodeWalker YcdFile ycd = gameFileCache.GetYcd(clipDict); if ((ycd != null) && (ycd.Loaded)) { - ClipMapEntry cme; - if (ycd.ClipMap.TryGetValue(arche.Hash, out cme)) + MetaHash ahash = arche.Hash; + MetaHash ahashuv1 = ahash + 1; + MetaHash ahashuv2 = ahash + 2; + ClipMapEntry cme, cmeuv1, cmeuv2; + bool found = false; + if (ycd.ClipMap.TryGetValue(ahash, out cme)) + { + found = true; + } + if (ycd.ClipMap.TryGetValue(ahashuv1, out cmeuv1)) + { + found = true; + } + if (ycd.ClipMap.TryGetValue(ahashuv2, out cmeuv2)) + { + found = true; + } + if (!found) { } - else - { } } }