From c093aa4736ca9a263d952c10e88aec7af28f76f8 Mon Sep 17 00:00:00 2001 From: dexyfex Date: Sun, 4 Mar 2018 00:03:08 +1100 Subject: [PATCH] New Project Window --- App.config | 3 + .../GameFiles/FileTypes/YtypFile.cs | 68 +- CodeWalker.Core/GameFiles/GameFileCache.cs | 2 +- .../GameFiles/MetaTypes/MetaXml.cs | 2 +- CodeWalker.Core/Utils/Utils.cs | 24 + .../CodeWalker.WinForms.csproj | 12 + CodeWalker.WinForms/ProjectPanel.cs | 118 + CodeWalker.WinForms/packages.config | 5 + CodeWalker.csproj | 168 + ExploreForm.cs | 2 +- Program.cs | 11 +- .../EditProjectManifestPanel.Designer.cs | 121 + Project/Panels/EditProjectManifestPanel.cs | 140 + Project/Panels/EditProjectManifestPanel.resx | 427 ++ Project/Panels/EditProjectPanel.Designer.cs | 88 + Project/Panels/EditProjectPanel.cs | 51 + Project/Panels/EditProjectPanel.resx | 409 ++ .../Panels/EditScenarioNodePanel.Designer.cs | 2843 ++++++++++ Project/Panels/EditScenarioNodePanel.cs | 2401 +++++++++ Project/Panels/EditScenarioNodePanel.resx | 409 ++ .../Panels/EditScenarioYmtPanel.Designer.cs | 287 + Project/Panels/EditScenarioYmtPanel.cs | 119 + Project/Panels/EditScenarioYmtPanel.resx | 409 ++ Project/Panels/EditTrainNodePanel.Designer.cs | 146 + Project/Panels/EditTrainNodePanel.cs | 139 + Project/Panels/EditTrainNodePanel.resx | 409 ++ .../Panels/EditTrainTrackPanel.Designer.cs | 275 + Project/Panels/EditTrainTrackPanel.cs | 95 + Project/Panels/EditTrainTrackPanel.resx | 409 ++ .../Panels/EditYmapCarGenPanel.Designer.cs | 464 ++ Project/Panels/EditYmapCarGenPanel.cs | 421 ++ Project/Panels/EditYmapCarGenPanel.resx | 409 ++ .../Panels/EditYmapEntityPanel.Designer.cs | 748 +++ Project/Panels/EditYmapEntityPanel.cs | 608 +++ Project/Panels/EditYmapEntityPanel.resx | 409 ++ Project/Panels/EditYmapGrassPanel.Designer.cs | 62 + Project/Panels/EditYmapGrassPanel.cs | 47 + Project/Panels/EditYmapGrassPanel.resx | 409 ++ Project/Panels/EditYmapPanel.Designer.cs | 661 +++ Project/Panels/EditYmapPanel.cs | 572 ++ Project/Panels/EditYmapPanel.resx | 409 ++ Project/Panels/EditYndNodePanel.Designer.cs | 1955 +++++++ Project/Panels/EditYndNodePanel.cs | 1256 +++++ Project/Panels/EditYndNodePanel.resx | 409 ++ Project/Panels/EditYndPanel.Designer.cs | 281 + Project/Panels/EditYndPanel.cs | 157 + Project/Panels/EditYndPanel.resx | 409 ++ Project/Panels/EditYnvPanel.Designer.cs | 154 + Project/Panels/EditYnvPanel.cs | 64 + Project/Panels/EditYnvPanel.resx | 409 ++ Project/Panels/EditYnvPolyPanel.Designer.cs | 62 + Project/Panels/EditYnvPolyPanel.cs | 46 + Project/Panels/EditYnvPolyPanel.resx | 409 ++ Project/Panels/EditYtypPanel.Designer.cs | 62 + Project/Panels/EditYtypPanel.cs | 63 + Project/Panels/EditYtypPanel.resx | 409 ++ .../Panels/ProjectExplorerPanel.Designer.cs | 71 + Project/Panels/ProjectExplorerPanel.cs | 880 +++ Project/Panels/ProjectExplorerPanel.resx | 409 ++ Project/Panels/WelcomePanel.Designer.cs | 77 + Project/Panels/WelcomePanel.cs | 22 + Project/Panels/WelcomePanel.resx | 416 ++ Project/ProjectFile.cs | 107 +- Project/ProjectForm2.Designer.cs | 1318 +++++ Project/ProjectForm2.cs | 4772 +++++++++++++++++ Project/ProjectForm2.resx | 460 ++ ProjectForm.cs | 4 +- Properties/Settings.Designer.cs | 14 +- Properties/Settings.settings | 3 + Shaders/BasicPS.cso | Bin 10240 -> 131628 bytes Shaders/BasicVS_Box.cso | Bin 4548 -> 126356 bytes Shaders/BasicVS_Capsule.cso | Bin 5208 -> 129680 bytes Shaders/BasicVS_Cylinder.cso | Bin 5256 -> 129728 bytes Shaders/BasicVS_PNCCT.cso | Bin 9960 -> 146056 bytes Shaders/BasicVS_PNCCTT.cso | Bin 9984 -> 146080 bytes Shaders/BasicVS_PNCCTTT.cso | Bin 10008 -> 146104 bytes Shaders/BasicVS_PNCCTTTX.cso | Bin 10556 -> 149068 bytes Shaders/BasicVS_PNCCTTX.cso | Bin 10532 -> 149044 bytes Shaders/BasicVS_PNCCTX.cso | Bin 10508 -> 149020 bytes Shaders/BasicVS_PNCT.cso | Bin 9928 -> 146052 bytes Shaders/BasicVS_PNCTTTX.cso | Bin 10524 -> 149064 bytes Shaders/BasicVS_PNCTTX.cso | Bin 10500 -> 149040 bytes Shaders/BasicVS_PNCTX.cso | Bin 10476 -> 149016 bytes Shaders/BasicVS_Sphere.cso | Bin 4456 -> 124168 bytes Shaders/BoundingBoxVS.cso | Bin 1536 -> 27988 bytes Shaders/BoundingSphereVS.cso | Bin 1364 -> 27688 bytes Shaders/BoundsPS.cso | Bin 516 -> 12304 bytes Shaders/CablePS.cso | Bin 7084 -> 83596 bytes Shaders/CableVS.cso | Bin 9788 -> 145784 bytes Shaders/CloudsPS.cso | Bin 2780 -> 47508 bytes Shaders/CloudsVS.cso | Bin 4724 -> 72752 bytes Shaders/DistantLightsPS.cso | Bin 672 -> 14508 bytes Shaders/DistantLightsVS.cso | Bin 1904 -> 32500 bytes Shaders/MarkerPS.cso | Bin 596 -> 12384 bytes Shaders/MarkerVS.cso | Bin 1372 -> 27684 bytes Shaders/PPBloomFilterBPHCS.cso | Bin 3268 -> 28088 bytes Shaders/PPBloomFilterVCS.cso | Bin 2568 -> 27380 bytes Shaders/PPCopyPixelsPS.cso | Bin 896 -> 14916 bytes Shaders/PPFinalPassPS.cso | Bin 1468 -> 17532 bytes Shaders/PPFinalPassVS.cso | Bin 544 -> 12452 bytes Shaders/PPLumBlendCS.cso | Bin 988 -> 12916 bytes Shaders/PPReduceTo0DCS.cso | Bin 2236 -> 20576 bytes Shaders/PPReduceTo1DCS.cso | Bin 2148 -> 22640 bytes Shaders/PathBoxPS.cso | Bin 516 -> 12332 bytes Shaders/PathBoxVS.cso | Bin 1300 -> 17436 bytes Shaders/PathDynVS.cso | Bin 1404 -> 27864 bytes Shaders/PathPS.cso | Bin 484 -> 12336 bytes Shaders/PathVS.cso | Bin 968 -> 14944 bytes Shaders/ShadowPS.cso | Bin 1120 -> 15048 bytes Shaders/ShadowVS.cso | Bin 2600 -> 37472 bytes Shaders/SkyMoonPS.cso | Bin 792 -> 14628 bytes Shaders/SkyMoonVS.cso | Bin 1156 -> 27492 bytes Shaders/SkySunPS.cso | Bin 520 -> 12308 bytes Shaders/SkySunVS.cso | Bin 1116 -> 27432 bytes Shaders/SkydomePS.cso | Bin 3732 -> 55004 bytes Shaders/SkydomeVS.cso | Bin 5420 -> 86396 bytes Shaders/TerrainPS.cso | Bin 13296 -> 125464 bytes Shaders/TerrainVS_PNCCT.cso | Bin 4908 -> 69236 bytes Shaders/TerrainVS_PNCCTT.cso | Bin 4932 -> 69260 bytes Shaders/TerrainVS_PNCCTTTX.cso | Bin 5504 -> 74296 bytes Shaders/TerrainVS_PNCCTTX.cso | Bin 5480 -> 72224 bytes Shaders/TerrainVS_PNCCTX.cso | Bin 5456 -> 72200 bytes Shaders/TerrainVS_PNCTTTX.cso | Bin 5480 -> 72244 bytes Shaders/TerrainVS_PNCTTX.cso | Bin 5456 -> 72220 bytes Shaders/TreesLodPS.cso | Bin 2056 -> 35600 bytes Shaders/TreesLodVS.cso | Bin 3020 -> 37916 bytes Shaders/WaterPS.cso | Bin 10084 -> 155488 bytes Shaders/WaterVS_PCT.cso | Bin 4596 -> 95660 bytes Shaders/WaterVS_PNCT.cso | Bin 4600 -> 95692 bytes Shaders/WaterVS_PNCTX.cso | Bin 5016 -> 98492 bytes Shaders/WaterVS_PT.cso | Bin 4092 -> 92892 bytes Shaders/WidgetPS.cso | Bin 556 -> 12360 bytes Shaders/WidgetVS.cso | Bin 2080 -> 20416 bytes WorldForm.cs | 4 +- WorldSearchForm.cs | 6 +- packages.config | 2 + 136 files changed, 29501 insertions(+), 20 deletions(-) create mode 100644 CodeWalker.WinForms/ProjectPanel.cs create mode 100644 CodeWalker.WinForms/packages.config create mode 100644 Project/Panels/EditProjectManifestPanel.Designer.cs create mode 100644 Project/Panels/EditProjectManifestPanel.cs create mode 100644 Project/Panels/EditProjectManifestPanel.resx create mode 100644 Project/Panels/EditProjectPanel.Designer.cs create mode 100644 Project/Panels/EditProjectPanel.cs create mode 100644 Project/Panels/EditProjectPanel.resx create mode 100644 Project/Panels/EditScenarioNodePanel.Designer.cs create mode 100644 Project/Panels/EditScenarioNodePanel.cs create mode 100644 Project/Panels/EditScenarioNodePanel.resx create mode 100644 Project/Panels/EditScenarioYmtPanel.Designer.cs create mode 100644 Project/Panels/EditScenarioYmtPanel.cs create mode 100644 Project/Panels/EditScenarioYmtPanel.resx create mode 100644 Project/Panels/EditTrainNodePanel.Designer.cs create mode 100644 Project/Panels/EditTrainNodePanel.cs create mode 100644 Project/Panels/EditTrainNodePanel.resx create mode 100644 Project/Panels/EditTrainTrackPanel.Designer.cs create mode 100644 Project/Panels/EditTrainTrackPanel.cs create mode 100644 Project/Panels/EditTrainTrackPanel.resx create mode 100644 Project/Panels/EditYmapCarGenPanel.Designer.cs create mode 100644 Project/Panels/EditYmapCarGenPanel.cs create mode 100644 Project/Panels/EditYmapCarGenPanel.resx create mode 100644 Project/Panels/EditYmapEntityPanel.Designer.cs create mode 100644 Project/Panels/EditYmapEntityPanel.cs create mode 100644 Project/Panels/EditYmapEntityPanel.resx create mode 100644 Project/Panels/EditYmapGrassPanel.Designer.cs create mode 100644 Project/Panels/EditYmapGrassPanel.cs create mode 100644 Project/Panels/EditYmapGrassPanel.resx create mode 100644 Project/Panels/EditYmapPanel.Designer.cs create mode 100644 Project/Panels/EditYmapPanel.cs create mode 100644 Project/Panels/EditYmapPanel.resx create mode 100644 Project/Panels/EditYndNodePanel.Designer.cs create mode 100644 Project/Panels/EditYndNodePanel.cs create mode 100644 Project/Panels/EditYndNodePanel.resx create mode 100644 Project/Panels/EditYndPanel.Designer.cs create mode 100644 Project/Panels/EditYndPanel.cs create mode 100644 Project/Panels/EditYndPanel.resx create mode 100644 Project/Panels/EditYnvPanel.Designer.cs create mode 100644 Project/Panels/EditYnvPanel.cs create mode 100644 Project/Panels/EditYnvPanel.resx create mode 100644 Project/Panels/EditYnvPolyPanel.Designer.cs create mode 100644 Project/Panels/EditYnvPolyPanel.cs create mode 100644 Project/Panels/EditYnvPolyPanel.resx create mode 100644 Project/Panels/EditYtypPanel.Designer.cs create mode 100644 Project/Panels/EditYtypPanel.cs create mode 100644 Project/Panels/EditYtypPanel.resx create mode 100644 Project/Panels/ProjectExplorerPanel.Designer.cs create mode 100644 Project/Panels/ProjectExplorerPanel.cs create mode 100644 Project/Panels/ProjectExplorerPanel.resx create mode 100644 Project/Panels/WelcomePanel.Designer.cs create mode 100644 Project/Panels/WelcomePanel.cs create mode 100644 Project/Panels/WelcomePanel.resx create mode 100644 Project/ProjectForm2.Designer.cs create mode 100644 Project/ProjectForm2.cs create mode 100644 Project/ProjectForm2.resx diff --git a/App.config b/App.config index 408ceae..45843ad 100644 --- a/App.config +++ b/App.config @@ -196,6 +196,9 @@ True + + Blue + \ No newline at end of file diff --git a/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs index ebe8e6a..b101123 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs @@ -12,7 +12,9 @@ namespace CodeWalker.GameFiles public class YtypFile : PackedFile { - public RpfFileEntry FileEntry { get; set; } + public RpfFileEntry RpfFileEntry { get; set; } + public string FilePath { get; set; } + public string Name { get; set; } public Meta Meta { get; set; } public PsoFile Pso { get; set; } @@ -32,16 +34,21 @@ namespace CodeWalker.GameFiles public CCompositeEntityType[] CompositeEntityTypes { get; set; } + //fields used by the editor: + public bool HasChanged { get; set; } = false; + public List SaveWarnings = null; + public override string ToString() { - return (FileEntry != null) ? FileEntry.Name : string.Empty; + return (RpfFileEntry != null) ? RpfFileEntry.Name : string.Empty; } public void Load(byte[] data, RpfFileEntry entry) { - FileEntry = entry; + Name = entry.Name; + RpfFileEntry = entry; RpfResourceFileEntry resentry = entry as RpfResourceFileEntry; if (resentry == null) { @@ -219,6 +226,61 @@ namespace CodeWalker.GameFiles } + public void Load(byte[] data) //REFACTOR THIS WITH YMAP!! + { + //direct load from a raw, compressed ymap file (openIV-compatible format) + + RpfResourceFileEntry resentry = new RpfResourceFileEntry(); + + //hopefully this format has an RSC7 header... + uint rsc7 = BitConverter.ToUInt32(data, 0); + if (rsc7 == 0x37435352) //RSC7 header present! + { + int version = BitConverter.ToInt32(data, 4); + resentry.SystemFlags = BitConverter.ToUInt32(data, 8); + resentry.GraphicsFlags = BitConverter.ToUInt32(data, 12); + if (data.Length > 16) + { + int newlen = data.Length - 16; //trim the header from the data passed to the next step. + byte[] newdata = new byte[newlen]; + Buffer.BlockCopy(data, 16, newdata, 0, newlen); + data = newdata; + } + else + { + data = null; //shouldn't happen... empty.. + } + } + else + { + //direct load from file without the rpf header.. + //assume it's in resource meta format + resentry.SystemFlags = RpfResourceFileEntry.GetFlagsFromSize(data.Length, 0); + resentry.GraphicsFlags = RpfResourceFileEntry.GetFlagsFromSize(0, 2); //graphics type 2 for ymap + } + + var oldresentry = RpfFileEntry as RpfResourceFileEntry; + if (oldresentry != null) //update the existing entry with the new one + { + oldresentry.SystemFlags = resentry.SystemFlags; + oldresentry.GraphicsFlags = resentry.GraphicsFlags; + resentry.Name = oldresentry.Name; + resentry.NameHash = oldresentry.NameHash; + resentry.NameLower = oldresentry.NameLower; + resentry.ShortNameHash = oldresentry.ShortNameHash; + } + else + { + RpfFileEntry = resentry; //just stick it in there for later... + } + + data = ResourceBuilder.Decompress(data); + + + Load(data, resentry); + + //Loaded = true; + } } diff --git a/CodeWalker.Core/GameFiles/GameFileCache.cs b/CodeWalker.Core/GameFiles/GameFileCache.cs index 86114b2..b91dd8a 100644 --- a/CodeWalker.Core/GameFiles/GameFileCache.cs +++ b/CodeWalker.Core/GameFiles/GameFileCache.cs @@ -232,7 +232,7 @@ namespace CodeWalker.GameFiles var dlclistxml = RpfMan.GetFileXml(dlclistpath); DlcPaths.Clear(); - if (dlclistxml == null) + if ((dlclistxml == null) || (dlclistxml.DocumentElement == null)) { ErrorLog("InitDlcList: Couldn't load " + dlclistpath + "."); } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs index b85e24a..e2ad841 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs @@ -77,7 +77,7 @@ namespace CodeWalker.GameFiles } public static string GetXml(YtypFile ytyp, out string filename) { - var fn = (ytyp?.FileEntry?.Name) ?? ""; + var fn = (ytyp?.RpfFileEntry?.Name) ?? ""; if (ytyp.Meta != null) { filename = fn + ".xml"; return GetXml(ytyp.Meta); } else if (ytyp.Pso != null) { filename = fn + ".pso.xml"; return PsoXml.GetXml(ytyp.Pso); } else if (ytyp.Rbf != null) { filename = fn + ".rbf.xml"; return RbfXml.GetXml(ytyp.Rbf); } diff --git a/CodeWalker.Core/Utils/Utils.cs b/CodeWalker.Core/Utils/Utils.cs index 891bc9f..35d94eb 100644 --- a/CodeWalker.Core/Utils/Utils.cs +++ b/CodeWalker.Core/Utils/Utils.cs @@ -194,4 +194,28 @@ namespace CodeWalker + + + public static class BitUtil + { + public static bool IsBitSet(uint value, int bit) + { + return (((value >> bit) & 1) > 0); + } + public static uint SetBit(uint value, int bit) + { + return (value | (1u << bit)); + } + public static uint ClearBit(uint value, int bit) + { + return (value & (~(1u << bit))); + } + public static uint UpdateBit(uint value, int bit, bool flag) + { + if (flag) return SetBit(value, bit); + else return ClearBit(value, bit); + } + } + + } diff --git a/CodeWalker.WinForms/CodeWalker.WinForms.csproj b/CodeWalker.WinForms/CodeWalker.WinForms.csproj index 3f82a77..73201d9 100644 --- a/CodeWalker.WinForms/CodeWalker.WinForms.csproj +++ b/CodeWalker.WinForms/CodeWalker.WinForms.csproj @@ -40,6 +40,12 @@ + + ..\packages\DockPanelSuite.3.0.4\lib\net40\WeifenLuo.WinFormsUI.Docking.dll + + + ..\packages\DockPanelSuite.ThemeVS2015.3.0.4\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll + @@ -48,6 +54,9 @@ MenuStripFix.cs + + Form + Component @@ -99,6 +108,9 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdGYXN0Q29sb3JlZFRleHRCb3gsIFZlcnNpb249Mi4xNi4yMS4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWZiOGFhMTJiOTk0ZWY2MWIMAwAAAFFTeXN0 + ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu + PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACJGYXN0Q29sb3JlZFRleHRCb3hOUy5TZXJ2aWNlQ29sb3JzBgAA + ACg8Q29sbGFwc2VNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxDb2xsYXBzZU1hcmtlckJh + Y2tDb2xvcj5rX19CYWNraW5nRmllbGQqPENvbGxhcHNlTWFya2VyQm9yZGVyQ29sb3I+a19fQmFja2lu + Z0ZpZWxkJjxFeHBhbmRNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkJjxFeHBhbmRNYXJrZXJC + YWNrQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxFeHBhbmRNYXJrZXJCb3JkZXJDb2xvcj5rX19CYWNraW5n + RmllbGQEBAQEBAQUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAA + ABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5E + cmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAACAAAABfz///8UU3lzdGVtLkRy + YXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAACgAAAAAA + AAAAlgABAAH7/////P///woAAAAAAAAAAKQAAQAB+v////z///8KAAAAAAAAAACWAAEAAfn////8//// + CgAAAAAAAAAAjQABAAH4/////P///woAAAAAAAAAAKQAAQAB9/////z///8KAAAAAAAAAACWAAEACw== + + + + + + AAABAAMAICAAAAAAGACoDAAANgAAABAQAAAAABgAaAMAAN4MAABAQAAAAAAYACgyAABGEAAAKAAAACAA + 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 + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3+//r7//v8//7+/wAAAAAAAAAA + APb4/7/F84eP0e/0//7+/wAAAAAAAP7+//z9//v8//3+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz9//b5//X4//v8/wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////w////4 + P///+D////g8//D4MH/geCB/4Dggf+A4IH/wOCD/+DAB//hgAf//gAP//wAAB/AAAAPwAAAD8AAAA/AA + AAfjAAEHgYADAQPgBwEDEAEBAghgAQwIIEH8CCB//Bggf/wYMH/8ODD///h/////////////KAAAABAA + AAAgAAAAAQAYAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///+vv/fL1/v///wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4+Vx7/F5v///wAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///4CHtrS62////////////////////wAAAAAAAAAAAP////H0/vf6/v// + /////////4yTwrrB4f///+zw+7rA6P39/////wAAAAAAAAAAAP///56l2BkcguXr/P///////42Uw8jO + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + 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/Project/Panels/EditProjectPanel.Designer.cs b/Project/Panels/EditProjectPanel.Designer.cs new file mode 100644 index 0000000..76c5954 --- /dev/null +++ b/Project/Panels/EditProjectPanel.Designer.cs @@ -0,0 +1,88 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditProjectPanel + { + /// + /// 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(EditProjectPanel)); + this.ProjectNameTextBox = new System.Windows.Forms.TextBox(); + this.ProjectVersionLabel = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // ProjectNameTextBox + // + this.ProjectNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ProjectNameTextBox.Location = new System.Drawing.Point(95, 22); + this.ProjectNameTextBox.MinimumSize = new System.Drawing.Size(100, 0); + this.ProjectNameTextBox.Name = "ProjectNameTextBox"; + this.ProjectNameTextBox.Size = new System.Drawing.Size(328, 20); + this.ProjectNameTextBox.TabIndex = 4; + this.ProjectNameTextBox.TextChanged += new System.EventHandler(this.ProjectNameTextBox_TextChanged); + // + // ProjectVersionLabel + // + this.ProjectVersionLabel.AutoSize = true; + this.ProjectVersionLabel.Location = new System.Drawing.Point(32, 66); + this.ProjectVersionLabel.Name = "ProjectVersionLabel"; + this.ProjectVersionLabel.Size = new System.Drawing.Size(51, 13); + this.ProjectVersionLabel.TabIndex = 5; + this.ProjectVersionLabel.Text = "Version: -"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(32, 25); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(38, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Name:"; + // + // EditProjectPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(540, 328); + this.Controls.Add(this.ProjectNameTextBox); + this.Controls.Add(this.ProjectVersionLabel); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditProjectPanel"; + this.Text = "Project Properties"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox ProjectNameTextBox; + private System.Windows.Forms.Label ProjectVersionLabel; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Project/Panels/EditProjectPanel.cs b/Project/Panels/EditProjectPanel.cs new file mode 100644 index 0000000..5bbe015 --- /dev/null +++ b/Project/Panels/EditProjectPanel.cs @@ -0,0 +1,51 @@ +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.Project.Panels +{ + public partial class EditProjectPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public ProjectFile Project { get; set; } + + public EditProjectPanel(ProjectForm2 owner) + { + ProjectForm = owner; + InitializeComponent(); + } + + + public void SetProject(ProjectFile project) + { + Project = project; + Tag = project; + ProjectNameTextBox.Text = Project.Name; + UpdateFormTitle(); + } + + private void UpdateFormTitle() + { + Text = Project.Filename + (Project.HasChanged ? "*" : ""); + } + + private void ProjectNameTextBox_TextChanged(object sender, EventArgs e) + { + if (Project != null) + { + if (Project.Name != ProjectNameTextBox.Text) + { + Project.Name = ProjectNameTextBox.Text; + ProjectForm?.SetProjectHasChanged(true); + UpdateFormTitle(); + } + } + } + } +} diff --git a/Project/Panels/EditProjectPanel.resx b/Project/Panels/EditProjectPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditProjectPanel.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/Project/Panels/EditScenarioNodePanel.Designer.cs b/Project/Panels/EditScenarioNodePanel.Designer.cs new file mode 100644 index 0000000..ead9c5e --- /dev/null +++ b/Project/Panels/EditScenarioNodePanel.Designer.cs @@ -0,0 +1,2843 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditScenarioNodePanel + { + /// + /// 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(EditScenarioNodePanel)); + this.ScenarioTabControl = new System.Windows.Forms.TabControl(); + this.ScenarioPointTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioPointOuterPanel = new System.Windows.Forms.Panel(); + this.ScenarioPointPanel = new System.Windows.Forms.Panel(); + this.ScenarioPointImapHashLabel = new System.Windows.Forms.Label(); + this.ScenarioPointImapTextBox = new System.Windows.Forms.TextBox(); + this.label110 = new System.Windows.Forms.Label(); + this.ScenarioPointGroupHashLabel = new System.Windows.Forms.Label(); + this.ScenarioPointGroupTextBox = new System.Windows.Forms.TextBox(); + this.label156 = new System.Windows.Forms.Label(); + this.ScenarioPointInteriorHashLabel = new System.Windows.Forms.Label(); + this.ScenarioPointFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox(); + this.label111 = new System.Windows.Forms.Label(); + this.ScenarioPointDirectionTextBox = new System.Windows.Forms.TextBox(); + this.label97 = new System.Windows.Forms.Label(); + this.ScenarioPointFlagsValueUpDown = new System.Windows.Forms.NumericUpDown(); + this.label109 = new System.Windows.Forms.Label(); + this.ScenarioPointGoToButton = new System.Windows.Forms.Button(); + this.ScenarioPointWaitTimeUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioPointPositionTextBox = new System.Windows.Forms.TextBox(); + this.label62 = new System.Windows.Forms.Label(); + this.label108 = new System.Windows.Forms.Label(); + this.ScenarioPointRadiusUpDown = new System.Windows.Forms.NumericUpDown(); + this.label107 = new System.Windows.Forms.Label(); + this.ScenarioPointSpOnlyFlagUpDown = new System.Windows.Forms.NumericUpDown(); + this.label106 = new System.Windows.Forms.Label(); + this.ScenarioPointProbabilityUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioPointInteriorTextBox = new System.Windows.Forms.TextBox(); + this.label102 = new System.Windows.Forms.Label(); + this.label101 = new System.Windows.Forms.Label(); + this.ScenarioPointTimeEndUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioPointTimeStartUpDown = new System.Windows.Forms.NumericUpDown(); + this.label100 = new System.Windows.Forms.Label(); + this.ScenarioPointModelSetComboBox = new System.Windows.Forms.ComboBox(); + this.label99 = new System.Windows.Forms.Label(); + this.ScenarioPointTypeComboBox = new System.Windows.Forms.ComboBox(); + this.label98 = new System.Windows.Forms.Label(); + this.ScenarioPointDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioPointAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioEntityTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioEntityDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPanel = new System.Windows.Forms.Panel(); + this.label160 = new System.Windows.Forms.Label(); + this.ScenarioEntityAddPointButton = new System.Windows.Forms.Button(); + this.label161 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointsListBox = new System.Windows.Forms.ListBox(); + this.ScenarioEntityInfoLabel = new System.Windows.Forms.Label(); + this.label114 = new System.Windows.Forms.Label(); + this.ScenarioEntityUnk2UpDown = new System.Windows.Forms.NumericUpDown(); + this.label113 = new System.Windows.Forms.Label(); + this.ScenarioEntityUnk1UpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioEntityTypeHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityTypeTextBox = new System.Windows.Forms.TextBox(); + this.label112 = new System.Windows.Forms.Label(); + this.ScenarioEntityGoToButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPositionTextBox = new System.Windows.Forms.TextBox(); + this.label104 = new System.Windows.Forms.Label(); + this.ScenarioEntityAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPointTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioEntityPointDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPointAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPointPanel = new System.Windows.Forms.Panel(); + this.ScenarioEntityPointNameHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointNameTextBox = new System.Windows.Forms.TextBox(); + this.ScenarioEntityPointFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox(); + this.label135 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointFlagsUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioEntityPointShortRangeCheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioEntityPointExtendedRangeCheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioEntityPointHighPriCheckBox = new System.Windows.Forms.CheckBox(); + this.label133 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointEndUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioEntityPointStartUpDown = new System.Windows.Forms.NumericUpDown(); + this.label134 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointRadiusTextBox = new System.Windows.Forms.TextBox(); + this.label132 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointTimeTillPedLeavesTextBox = new System.Windows.Forms.TextBox(); + this.label131 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointProbabilityTextBox = new System.Windows.Forms.TextBox(); + this.label130 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointAvailableInMpSpComboBox = new System.Windows.Forms.ComboBox(); + this.label129 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointRequiredImapHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointRequiredImapTextBox = new System.Windows.Forms.TextBox(); + this.label128 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointInteriorHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointInteriorTextBox = new System.Windows.Forms.TextBox(); + this.label126 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointGroupHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointGroupTextBox = new System.Windows.Forms.TextBox(); + this.label124 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointPedTypeHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointPedTypeTextBox = new System.Windows.Forms.TextBox(); + this.label122 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointSpawnTypeHashLabel = new System.Windows.Forms.Label(); + this.ScenarioEntityPointSpawnTypeTextBox = new System.Windows.Forms.TextBox(); + this.label120 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointRotationTextBox = new System.Windows.Forms.TextBox(); + this.label118 = new System.Windows.Forms.Label(); + this.ScenarioEntityPointGoToButton = new System.Windows.Forms.Button(); + this.ScenarioEntityPointPositionTextBox = new System.Windows.Forms.TextBox(); + this.label117 = new System.Windows.Forms.Label(); + this.label116 = new System.Windows.Forms.Label(); + this.ScenarioChainTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioChainDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioChainAddToProjectButton = new System.Windows.Forms.Button(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.ScenarioChainMoveEdgeDownButton = new System.Windows.Forms.Button(); + this.ScenarioChainMoveEdgeUpButton = new System.Windows.Forms.Button(); + this.label138 = new System.Windows.Forms.Label(); + this.ScenarioChainUnk1UpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioChainRemoveEdgeButton = new System.Windows.Forms.Button(); + this.ScenarioChainAddEdgeButton = new System.Windows.Forms.Button(); + this.ScenarioChainEdgesListBox = new System.Windows.Forms.ListBox(); + this.ScenarioChainEdgeCountLabel = new System.Windows.Forms.Label(); + this.ScenarioChainEdgePanel = new System.Windows.Forms.Panel(); + this.ScenarioChainEdgeNavSpeedComboBox = new System.Windows.Forms.ComboBox(); + this.label137 = new System.Windows.Forms.Label(); + this.ScenarioChainEdgeNavModeComboBox = new System.Windows.Forms.ComboBox(); + this.label136 = new System.Windows.Forms.Label(); + this.ScenarioChainEdgeActionComboBox = new System.Windows.Forms.ComboBox(); + this.label127 = new System.Windows.Forms.Label(); + this.ScenarioChainEdgeNodeIndexToUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioChainEdgeNodeIndexFromUpDown = new System.Windows.Forms.NumericUpDown(); + this.label125 = new System.Windows.Forms.Label(); + this.label121 = new System.Windows.Forms.Label(); + this.ScenarioChainNodeTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioChainNodePanel = new System.Windows.Forms.Panel(); + this.ScenarioChainNodeTypeComboBox = new System.Windows.Forms.ComboBox(); + this.ScenarioChainNodeIndexTextBox = new System.Windows.Forms.TextBox(); + this.label115 = new System.Windows.Forms.Label(); + this.ScenarioChainNodeLastCheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioChainNodeFirstCheckBox = new System.Windows.Forms.CheckBox(); + this.label123 = new System.Windows.Forms.Label(); + this.ScenarioChainNodeUnk1HashLabel = new System.Windows.Forms.Label(); + this.ScenarioChainNodeUnk1TextBox = new System.Windows.Forms.TextBox(); + this.label119 = new System.Windows.Forms.Label(); + this.ScenarioChainNodeGoToButton = new System.Windows.Forms.Button(); + this.ScenarioChainNodePositionTextBox = new System.Windows.Forms.TextBox(); + this.label105 = new System.Windows.Forms.Label(); + this.ScenarioChainNodeDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioChainNodeAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioClusterTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioClusterDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioClusterAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioClusterPanel = new System.Windows.Forms.Panel(); + this.label159 = new System.Windows.Forms.Label(); + this.ScenarioClusterAddPointButton = new System.Windows.Forms.Button(); + this.label158 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointsListBox = new System.Windows.Forms.ListBox(); + this.ScenarioClusterRadiusTextBox = new System.Windows.Forms.TextBox(); + this.label157 = new System.Windows.Forms.Label(); + this.ScenarioClusterUnk2CheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioClusterUnk1TextBox = new System.Windows.Forms.TextBox(); + this.label140 = new System.Windows.Forms.Label(); + this.ScenarioClusterGoToButton = new System.Windows.Forms.Button(); + this.ScenarioClusterCenterTextBox = new System.Windows.Forms.TextBox(); + this.label139 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointTabPage = new System.Windows.Forms.TabPage(); + this.ScenarioClusterPointDeleteButton = new System.Windows.Forms.Button(); + this.ScenarioClusterPointAddToProjectButton = new System.Windows.Forms.Button(); + this.ScenarioClusterPointPanel = new System.Windows.Forms.Panel(); + this.ScenarioClusterPointImapHashLabel = new System.Windows.Forms.Label(); + this.ScenarioClusterPointImapTextBox = new System.Windows.Forms.TextBox(); + this.label143 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointGroupHashLabel = new System.Windows.Forms.Label(); + this.ScenarioClusterPointGroupTextBox = new System.Windows.Forms.TextBox(); + this.label141 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointInteriorHashLabel = new System.Windows.Forms.Label(); + this.ScenarioClusterPointFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox(); + this.label142 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointDirectionTextBox = new System.Windows.Forms.TextBox(); + this.label144 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointFlagsUpDown = new System.Windows.Forms.NumericUpDown(); + this.label145 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointGoToButton = new System.Windows.Forms.Button(); + this.ScenarioClusterPointWaitTimeUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioClusterPointPositionTextBox = new System.Windows.Forms.TextBox(); + this.label146 = new System.Windows.Forms.Label(); + this.label147 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointRadiusUpDown = new System.Windows.Forms.NumericUpDown(); + this.label148 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointSpOnlyFlagUpDown = new System.Windows.Forms.NumericUpDown(); + this.label149 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointProbabilityUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioClusterPointInteriorTextBox = new System.Windows.Forms.TextBox(); + this.label151 = new System.Windows.Forms.Label(); + this.label152 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointTimeEndUpDown = new System.Windows.Forms.NumericUpDown(); + this.ScenarioClusterPointTimeStartUpDown = new System.Windows.Forms.NumericUpDown(); + this.label153 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointModelSetComboBox = new System.Windows.Forms.ComboBox(); + this.label154 = new System.Windows.Forms.Label(); + this.ScenarioClusterPointTypeComboBox = new System.Windows.Forms.ComboBox(); + this.label155 = new System.Windows.Forms.Label(); + this.ScenarioTabControl.SuspendLayout(); + this.ScenarioPointTabPage.SuspendLayout(); + this.ScenarioPointOuterPanel.SuspendLayout(); + this.ScenarioPointPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointFlagsValueUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointWaitTimeUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointRadiusUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointSpOnlyFlagUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointProbabilityUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointTimeEndUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointTimeStartUpDown)).BeginInit(); + this.ScenarioEntityTabPage.SuspendLayout(); + this.ScenarioEntityPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityUnk2UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityUnk1UpDown)).BeginInit(); + this.ScenarioEntityPointTabPage.SuspendLayout(); + this.ScenarioEntityPointPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointFlagsUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointEndUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointStartUpDown)).BeginInit(); + this.ScenarioChainTabPage.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainUnk1UpDown)).BeginInit(); + this.ScenarioChainEdgePanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainEdgeNodeIndexToUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainEdgeNodeIndexFromUpDown)).BeginInit(); + this.ScenarioChainNodeTabPage.SuspendLayout(); + this.ScenarioChainNodePanel.SuspendLayout(); + this.ScenarioClusterTabPage.SuspendLayout(); + this.ScenarioClusterPanel.SuspendLayout(); + this.ScenarioClusterPointTabPage.SuspendLayout(); + this.ScenarioClusterPointPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointFlagsUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointWaitTimeUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointRadiusUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointSpOnlyFlagUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointProbabilityUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointTimeEndUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointTimeStartUpDown)).BeginInit(); + this.SuspendLayout(); + // + // ScenarioTabControl + // + this.ScenarioTabControl.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.ScenarioTabControl.Controls.Add(this.ScenarioPointTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioEntityTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioEntityPointTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioChainTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioChainNodeTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioClusterTabPage); + this.ScenarioTabControl.Controls.Add(this.ScenarioClusterPointTabPage); + this.ScenarioTabControl.Location = new System.Drawing.Point(2, 3); + this.ScenarioTabControl.Name = "ScenarioTabControl"; + this.ScenarioTabControl.SelectedIndex = 0; + this.ScenarioTabControl.Size = new System.Drawing.Size(559, 446); + this.ScenarioTabControl.TabIndex = 1; + // + // ScenarioPointTabPage + // + this.ScenarioPointTabPage.Controls.Add(this.ScenarioPointOuterPanel); + this.ScenarioPointTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioPointTabPage.Name = "ScenarioPointTabPage"; + this.ScenarioPointTabPage.Padding = new System.Windows.Forms.Padding(3); + this.ScenarioPointTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioPointTabPage.TabIndex = 1; + this.ScenarioPointTabPage.Text = "Point"; + this.ScenarioPointTabPage.UseVisualStyleBackColor = true; + // + // ScenarioPointOuterPanel + // + this.ScenarioPointOuterPanel.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.ScenarioPointOuterPanel.Controls.Add(this.ScenarioPointDeleteButton); + this.ScenarioPointOuterPanel.Controls.Add(this.ScenarioPointAddToProjectButton); + this.ScenarioPointOuterPanel.Controls.Add(this.ScenarioPointPanel); + this.ScenarioPointOuterPanel.Location = new System.Drawing.Point(0, 0); + this.ScenarioPointOuterPanel.Name = "ScenarioPointOuterPanel"; + this.ScenarioPointOuterPanel.Size = new System.Drawing.Size(551, 420); + this.ScenarioPointOuterPanel.TabIndex = 1; + // + // ScenarioPointPanel + // + this.ScenarioPointPanel.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.ScenarioPointPanel.Controls.Add(this.ScenarioPointImapHashLabel); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointImapTextBox); + this.ScenarioPointPanel.Controls.Add(this.label110); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointGroupHashLabel); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointGroupTextBox); + this.ScenarioPointPanel.Controls.Add(this.label156); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointInteriorHashLabel); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointFlagsCheckedListBox); + this.ScenarioPointPanel.Controls.Add(this.label111); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointDirectionTextBox); + this.ScenarioPointPanel.Controls.Add(this.label97); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointFlagsValueUpDown); + this.ScenarioPointPanel.Controls.Add(this.label109); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointGoToButton); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointWaitTimeUpDown); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointPositionTextBox); + this.ScenarioPointPanel.Controls.Add(this.label62); + this.ScenarioPointPanel.Controls.Add(this.label108); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointRadiusUpDown); + this.ScenarioPointPanel.Controls.Add(this.label107); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointSpOnlyFlagUpDown); + this.ScenarioPointPanel.Controls.Add(this.label106); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointProbabilityUpDown); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointInteriorTextBox); + this.ScenarioPointPanel.Controls.Add(this.label102); + this.ScenarioPointPanel.Controls.Add(this.label101); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointTimeEndUpDown); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointTimeStartUpDown); + this.ScenarioPointPanel.Controls.Add(this.label100); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointModelSetComboBox); + this.ScenarioPointPanel.Controls.Add(this.label99); + this.ScenarioPointPanel.Controls.Add(this.ScenarioPointTypeComboBox); + this.ScenarioPointPanel.Controls.Add(this.label98); + this.ScenarioPointPanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioPointPanel.Name = "ScenarioPointPanel"; + this.ScenarioPointPanel.Size = new System.Drawing.Size(551, 414); + this.ScenarioPointPanel.TabIndex = 0; + // + // ScenarioPointImapHashLabel + // + this.ScenarioPointImapHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointImapHashLabel.AutoSize = true; + this.ScenarioPointImapHashLabel.Location = new System.Drawing.Point(382, 146); + this.ScenarioPointImapHashLabel.Name = "ScenarioPointImapHashLabel"; + this.ScenarioPointImapHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioPointImapHashLabel.TabIndex = 21; + this.ScenarioPointImapHashLabel.Text = "Hash: 0"; + // + // ScenarioPointImapTextBox + // + this.ScenarioPointImapTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointImapTextBox.Location = new System.Drawing.Point(73, 143); + this.ScenarioPointImapTextBox.Name = "ScenarioPointImapTextBox"; + this.ScenarioPointImapTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioPointImapTextBox.TabIndex = 20; + this.ScenarioPointImapTextBox.TextChanged += new System.EventHandler(this.ScenarioPointImapTextBox_TextChanged); + // + // label110 + // + this.label110.AutoSize = true; + this.label110.Location = new System.Drawing.Point(34, 146); + this.label110.Name = "label110"; + this.label110.Size = new System.Drawing.Size(33, 13); + this.label110.TabIndex = 19; + this.label110.Text = "Imap:"; + // + // ScenarioPointGroupHashLabel + // + this.ScenarioPointGroupHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointGroupHashLabel.AutoSize = true; + this.ScenarioPointGroupHashLabel.Location = new System.Drawing.Point(382, 123); + this.ScenarioPointGroupHashLabel.Name = "ScenarioPointGroupHashLabel"; + this.ScenarioPointGroupHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioPointGroupHashLabel.TabIndex = 18; + this.ScenarioPointGroupHashLabel.Text = "Hash: 0"; + // + // ScenarioPointGroupTextBox + // + this.ScenarioPointGroupTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointGroupTextBox.Location = new System.Drawing.Point(73, 120); + this.ScenarioPointGroupTextBox.Name = "ScenarioPointGroupTextBox"; + this.ScenarioPointGroupTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioPointGroupTextBox.TabIndex = 17; + this.ScenarioPointGroupTextBox.TextChanged += new System.EventHandler(this.ScenarioPointGroupTextBox_TextChanged); + // + // label156 + // + this.label156.AutoSize = true; + this.label156.Location = new System.Drawing.Point(28, 123); + this.label156.Name = "label156"; + this.label156.Size = new System.Drawing.Size(39, 13); + this.label156.TabIndex = 16; + this.label156.Text = "Group:"; + // + // ScenarioPointInteriorHashLabel + // + this.ScenarioPointInteriorHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointInteriorHashLabel.AutoSize = true; + this.ScenarioPointInteriorHashLabel.Location = new System.Drawing.Point(382, 100); + this.ScenarioPointInteriorHashLabel.Name = "ScenarioPointInteriorHashLabel"; + this.ScenarioPointInteriorHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioPointInteriorHashLabel.TabIndex = 15; + this.ScenarioPointInteriorHashLabel.Text = "Hash: 0"; + // + // ScenarioPointFlagsCheckedListBox + // + this.ScenarioPointFlagsCheckedListBox.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.ScenarioPointFlagsCheckedListBox.CheckOnClick = true; + this.ScenarioPointFlagsCheckedListBox.FormattingEnabled = true; + this.ScenarioPointFlagsCheckedListBox.Items.AddRange(new object[] { + "1 - IgnoreMaxInRange", + "2 - NoSpawn", + "4 - StationaryReactions", + "8 - Unk", + "16 - Unk", + "32 - ActivateVehicleSiren", + "64 - AggressiveVehicleDriving", + "128 - Unk", + "256 - Unk", + "512 - Unk", + "1024 - AerialVehiclePoint", + "2048 - TerritorialScenario", + "4096 - Unk", + "8192 - Unk", + "16384 - Unk", + "32768 - Unk", + "65536 - InWater", + "131072 - Unk", + "262144 - OpenDoor", + "524288 - PreciseUseTime", + "1048576 - Unk", + "2097152 - Unk", + "4194304 - ExtendedRange", + "8388608 - ShortRange", + "16777216 - HighPriority", + "33554432 - IgnoreLoitering", + "67108864 - UseSearchlight", + "134217728 - ResetNoCollisionOnCleanUp", + "268435456 - Unk", + "536870912 - Unk", + "1073741824 - IgnoreWeatherRestrictions"}); + this.ScenarioPointFlagsCheckedListBox.Location = new System.Drawing.Point(195, 167); + this.ScenarioPointFlagsCheckedListBox.Name = "ScenarioPointFlagsCheckedListBox"; + this.ScenarioPointFlagsCheckedListBox.Size = new System.Drawing.Size(255, 214); + this.ScenarioPointFlagsCheckedListBox.TabIndex = 36; + this.ScenarioPointFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ScenarioPointFlagsCheckedListBox_ItemCheck); + // + // label111 + // + this.label111.AutoSize = true; + this.label111.Location = new System.Drawing.Point(32, 325); + this.label111.Name = "label111"; + this.label111.Size = new System.Drawing.Size(35, 13); + this.label111.TabIndex = 34; + this.label111.Text = "Flags:"; + // + // ScenarioPointDirectionTextBox + // + this.ScenarioPointDirectionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointDirectionTextBox.Location = new System.Drawing.Point(73, 26); + this.ScenarioPointDirectionTextBox.Name = "ScenarioPointDirectionTextBox"; + this.ScenarioPointDirectionTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioPointDirectionTextBox.TabIndex = 8; + this.ScenarioPointDirectionTextBox.TextChanged += new System.EventHandler(this.ScenarioPointDirectionTextBox_TextChanged); + // + // label97 + // + this.label97.AutoSize = true; + this.label97.Location = new System.Drawing.Point(15, 29); + this.label97.Name = "label97"; + this.label97.Size = new System.Drawing.Size(52, 13); + this.label97.TabIndex = 7; + this.label97.Text = "Direction:"; + // + // ScenarioPointFlagsValueUpDown + // + this.ScenarioPointFlagsValueUpDown.Location = new System.Drawing.Point(73, 323); + this.ScenarioPointFlagsValueUpDown.Maximum = new decimal(new int[] { + -1, + 0, + 0, + 0}); + this.ScenarioPointFlagsValueUpDown.Name = "ScenarioPointFlagsValueUpDown"; + this.ScenarioPointFlagsValueUpDown.Size = new System.Drawing.Size(116, 20); + this.ScenarioPointFlagsValueUpDown.TabIndex = 35; + this.ScenarioPointFlagsValueUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointFlagsValueUpDown_ValueChanged); + // + // label109 + // + this.label109.AutoSize = true; + this.label109.Location = new System.Drawing.Point(13, 299); + this.label109.Name = "label109"; + this.label109.Size = new System.Drawing.Size(54, 13); + this.label109.TabIndex = 32; + this.label109.Text = "Wait time:"; + // + // ScenarioPointGoToButton + // + this.ScenarioPointGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointGoToButton.Location = new System.Drawing.Point(382, 1); + this.ScenarioPointGoToButton.Name = "ScenarioPointGoToButton"; + this.ScenarioPointGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioPointGoToButton.TabIndex = 6; + this.ScenarioPointGoToButton.Text = "Go to"; + this.ScenarioPointGoToButton.UseVisualStyleBackColor = true; + this.ScenarioPointGoToButton.Click += new System.EventHandler(this.ScenarioPointGoToButton_Click); + // + // ScenarioPointWaitTimeUpDown + // + this.ScenarioPointWaitTimeUpDown.Location = new System.Drawing.Point(73, 297); + this.ScenarioPointWaitTimeUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioPointWaitTimeUpDown.Name = "ScenarioPointWaitTimeUpDown"; + this.ScenarioPointWaitTimeUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointWaitTimeUpDown.TabIndex = 33; + this.ScenarioPointWaitTimeUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointWaitTimeUpDown_ValueChanged); + // + // ScenarioPointPositionTextBox + // + this.ScenarioPointPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointPositionTextBox.Location = new System.Drawing.Point(73, 3); + this.ScenarioPointPositionTextBox.Name = "ScenarioPointPositionTextBox"; + this.ScenarioPointPositionTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioPointPositionTextBox.TabIndex = 5; + this.ScenarioPointPositionTextBox.TextChanged += new System.EventHandler(this.ScenarioPointPositionTextBox_TextChanged); + // + // label62 + // + this.label62.AutoSize = true; + this.label62.Location = new System.Drawing.Point(20, 6); + this.label62.Name = "label62"; + this.label62.Size = new System.Drawing.Size(47, 13); + this.label62.TabIndex = 4; + this.label62.Text = "Position:"; + // + // label108 + // + this.label108.AutoSize = true; + this.label108.Location = new System.Drawing.Point(24, 273); + this.label108.Name = "label108"; + this.label108.Size = new System.Drawing.Size(43, 13); + this.label108.TabIndex = 30; + this.label108.Text = "Radius:"; + // + // ScenarioPointRadiusUpDown + // + this.ScenarioPointRadiusUpDown.Location = new System.Drawing.Point(73, 271); + this.ScenarioPointRadiusUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioPointRadiusUpDown.Name = "ScenarioPointRadiusUpDown"; + this.ScenarioPointRadiusUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointRadiusUpDown.TabIndex = 31; + this.ScenarioPointRadiusUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointRadiusUpDown_ValueChanged); + // + // label107 + // + this.label107.AutoSize = true; + this.label107.Location = new System.Drawing.Point(3, 247); + this.label107.Name = "label107"; + this.label107.Size = new System.Drawing.Size(64, 13); + this.label107.TabIndex = 28; + this.label107.Text = "SpOnly flag:"; + // + // ScenarioPointSpOnlyFlagUpDown + // + this.ScenarioPointSpOnlyFlagUpDown.Location = new System.Drawing.Point(73, 245); + this.ScenarioPointSpOnlyFlagUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioPointSpOnlyFlagUpDown.Name = "ScenarioPointSpOnlyFlagUpDown"; + this.ScenarioPointSpOnlyFlagUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointSpOnlyFlagUpDown.TabIndex = 29; + this.ScenarioPointSpOnlyFlagUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointSpOnlyFlagUpDown_ValueChanged); + // + // label106 + // + this.label106.AutoSize = true; + this.label106.Location = new System.Drawing.Point(9, 221); + this.label106.Name = "label106"; + this.label106.Size = new System.Drawing.Size(58, 13); + this.label106.TabIndex = 26; + this.label106.Text = "Probability:"; + // + // ScenarioPointProbabilityUpDown + // + this.ScenarioPointProbabilityUpDown.Location = new System.Drawing.Point(73, 219); + this.ScenarioPointProbabilityUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioPointProbabilityUpDown.Name = "ScenarioPointProbabilityUpDown"; + this.ScenarioPointProbabilityUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointProbabilityUpDown.TabIndex = 27; + this.ScenarioPointProbabilityUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointProbabilityUpDown_ValueChanged); + // + // ScenarioPointInteriorTextBox + // + this.ScenarioPointInteriorTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointInteriorTextBox.Location = new System.Drawing.Point(73, 97); + this.ScenarioPointInteriorTextBox.Name = "ScenarioPointInteriorTextBox"; + this.ScenarioPointInteriorTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioPointInteriorTextBox.TabIndex = 14; + this.ScenarioPointInteriorTextBox.TextChanged += new System.EventHandler(this.ScenarioPointInteriorTextBox_TextChanged); + // + // label102 + // + this.label102.AutoSize = true; + this.label102.Location = new System.Drawing.Point(25, 100); + this.label102.Name = "label102"; + this.label102.Size = new System.Drawing.Size(42, 13); + this.label102.TabIndex = 13; + this.label102.Text = "Interior:"; + // + // label101 + // + this.label101.AutoSize = true; + this.label101.Location = new System.Drawing.Point(13, 195); + this.label101.Name = "label101"; + this.label101.Size = new System.Drawing.Size(54, 13); + this.label101.TabIndex = 24; + this.label101.Text = "Time end:"; + // + // ScenarioPointTimeEndUpDown + // + this.ScenarioPointTimeEndUpDown.Location = new System.Drawing.Point(73, 193); + this.ScenarioPointTimeEndUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioPointTimeEndUpDown.Name = "ScenarioPointTimeEndUpDown"; + this.ScenarioPointTimeEndUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointTimeEndUpDown.TabIndex = 25; + this.ScenarioPointTimeEndUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointTimeEndUpDown_ValueChanged); + // + // ScenarioPointTimeStartUpDown + // + this.ScenarioPointTimeStartUpDown.Location = new System.Drawing.Point(73, 167); + this.ScenarioPointTimeStartUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioPointTimeStartUpDown.Name = "ScenarioPointTimeStartUpDown"; + this.ScenarioPointTimeStartUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioPointTimeStartUpDown.TabIndex = 23; + this.ScenarioPointTimeStartUpDown.ValueChanged += new System.EventHandler(this.ScenarioPointTimeStartUpDown_ValueChanged); + // + // label100 + // + this.label100.AutoSize = true; + this.label100.Location = new System.Drawing.Point(11, 169); + this.label100.Name = "label100"; + this.label100.Size = new System.Drawing.Size(56, 13); + this.label100.TabIndex = 22; + this.label100.Text = "Time start:"; + // + // ScenarioPointModelSetComboBox + // + this.ScenarioPointModelSetComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointModelSetComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioPointModelSetComboBox.FormattingEnabled = true; + this.ScenarioPointModelSetComboBox.Location = new System.Drawing.Point(73, 73); + this.ScenarioPointModelSetComboBox.Name = "ScenarioPointModelSetComboBox"; + this.ScenarioPointModelSetComboBox.Size = new System.Drawing.Size(377, 21); + this.ScenarioPointModelSetComboBox.TabIndex = 12; + this.ScenarioPointModelSetComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioPointModelSetComboBox_SelectedIndexChanged); + // + // label99 + // + this.label99.AutoSize = true; + this.label99.Location = new System.Drawing.Point(9, 76); + this.label99.Name = "label99"; + this.label99.Size = new System.Drawing.Size(58, 13); + this.label99.TabIndex = 11; + this.label99.Text = "Model Set:"; + // + // ScenarioPointTypeComboBox + // + this.ScenarioPointTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioPointTypeComboBox.FormattingEnabled = true; + this.ScenarioPointTypeComboBox.Location = new System.Drawing.Point(73, 49); + this.ScenarioPointTypeComboBox.Name = "ScenarioPointTypeComboBox"; + this.ScenarioPointTypeComboBox.Size = new System.Drawing.Size(377, 21); + this.ScenarioPointTypeComboBox.TabIndex = 10; + this.ScenarioPointTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioPointTypeComboBox_SelectedIndexChanged); + // + // label98 + // + this.label98.AutoSize = true; + this.label98.Location = new System.Drawing.Point(33, 52); + this.label98.Name = "label98"; + this.label98.Size = new System.Drawing.Size(34, 13); + this.label98.TabIndex = 9; + this.label98.Text = "Type:"; + // + // ScenarioPointDeleteButton + // + this.ScenarioPointDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointDeleteButton.Enabled = false; + this.ScenarioPointDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioPointDeleteButton.Name = "ScenarioPointDeleteButton"; + this.ScenarioPointDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioPointDeleteButton.TabIndex = 3; + this.ScenarioPointDeleteButton.Text = "Delete Point"; + this.ScenarioPointDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioPointDeleteButton.Click += new System.EventHandler(this.ScenarioPointDeleteButton_Click); + // + // ScenarioPointAddToProjectButton + // + this.ScenarioPointAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioPointAddToProjectButton.Enabled = false; + this.ScenarioPointAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioPointAddToProjectButton.Name = "ScenarioPointAddToProjectButton"; + this.ScenarioPointAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioPointAddToProjectButton.TabIndex = 2; + this.ScenarioPointAddToProjectButton.Text = "Add to Project"; + this.ScenarioPointAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioPointAddToProjectButton.Click += new System.EventHandler(this.ScenarioPointAddToProjectButton_Click); + // + // ScenarioEntityTabPage + // + this.ScenarioEntityTabPage.Controls.Add(this.ScenarioEntityDeleteButton); + this.ScenarioEntityTabPage.Controls.Add(this.ScenarioEntityPanel); + this.ScenarioEntityTabPage.Controls.Add(this.ScenarioEntityAddToProjectButton); + this.ScenarioEntityTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioEntityTabPage.Name = "ScenarioEntityTabPage"; + this.ScenarioEntityTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioEntityTabPage.TabIndex = 7; + this.ScenarioEntityTabPage.Text = "Entity"; + this.ScenarioEntityTabPage.UseVisualStyleBackColor = true; + // + // ScenarioEntityDeleteButton + // + this.ScenarioEntityDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityDeleteButton.Enabled = false; + this.ScenarioEntityDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioEntityDeleteButton.Name = "ScenarioEntityDeleteButton"; + this.ScenarioEntityDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioEntityDeleteButton.TabIndex = 7; + this.ScenarioEntityDeleteButton.Text = "Delete Override"; + this.ScenarioEntityDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioEntityDeleteButton.Click += new System.EventHandler(this.ScenarioEntityDeleteButton_Click); + // + // ScenarioEntityPanel + // + this.ScenarioEntityPanel.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.ScenarioEntityPanel.Controls.Add(this.label160); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityAddPointButton); + this.ScenarioEntityPanel.Controls.Add(this.label161); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityPointsListBox); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityInfoLabel); + this.ScenarioEntityPanel.Controls.Add(this.label114); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityUnk2UpDown); + this.ScenarioEntityPanel.Controls.Add(this.label113); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityUnk1UpDown); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityTypeHashLabel); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityTypeTextBox); + this.ScenarioEntityPanel.Controls.Add(this.label112); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityGoToButton); + this.ScenarioEntityPanel.Controls.Add(this.ScenarioEntityPositionTextBox); + this.ScenarioEntityPanel.Controls.Add(this.label104); + this.ScenarioEntityPanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioEntityPanel.Name = "ScenarioEntityPanel"; + this.ScenarioEntityPanel.Size = new System.Drawing.Size(551, 385); + this.ScenarioEntityPanel.TabIndex = 8; + // + // label160 + // + this.label160.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label160.AutoSize = true; + this.label160.Location = new System.Drawing.Point(373, 160); + this.label160.Name = "label160"; + this.label160.Size = new System.Drawing.Size(141, 13); + this.label160.TabIndex = 20; + this.label160.Text = "(Double-click to select point)"; + // + // ScenarioEntityAddPointButton + // + this.ScenarioEntityAddPointButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioEntityAddPointButton.Location = new System.Drawing.Point(91, 318); + this.ScenarioEntityAddPointButton.Name = "ScenarioEntityAddPointButton"; + this.ScenarioEntityAddPointButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioEntityAddPointButton.TabIndex = 19; + this.ScenarioEntityAddPointButton.Text = "Add Point"; + this.ScenarioEntityAddPointButton.UseVisualStyleBackColor = true; + this.ScenarioEntityAddPointButton.Click += new System.EventHandler(this.ScenarioEntityAddPointButton_Click); + // + // label161 + // + this.label161.AutoSize = true; + this.label161.Location = new System.Drawing.Point(42, 160); + this.label161.Name = "label161"; + this.label161.Size = new System.Drawing.Size(39, 13); + this.label161.TabIndex = 18; + this.label161.Text = "Points:"; + // + // ScenarioEntityPointsListBox + // + this.ScenarioEntityPointsListBox.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.ScenarioEntityPointsListBox.FormattingEnabled = true; + this.ScenarioEntityPointsListBox.Location = new System.Drawing.Point(91, 158); + this.ScenarioEntityPointsListBox.Name = "ScenarioEntityPointsListBox"; + this.ScenarioEntityPointsListBox.Size = new System.Drawing.Size(276, 147); + this.ScenarioEntityPointsListBox.TabIndex = 17; + this.ScenarioEntityPointsListBox.DoubleClick += new System.EventHandler(this.ScenarioEntityPointsListBox_DoubleClick); + // + // ScenarioEntityInfoLabel + // + this.ScenarioEntityInfoLabel.AutoSize = true; + this.ScenarioEntityInfoLabel.Location = new System.Drawing.Point(88, 123); + this.ScenarioEntityInfoLabel.Name = "ScenarioEntityInfoLabel"; + this.ScenarioEntityInfoLabel.Size = new System.Drawing.Size(85, 13); + this.ScenarioEntityInfoLabel.TabIndex = 14; + this.ScenarioEntityInfoLabel.Text = "0 override points"; + // + // label114 + // + this.label114.AutoSize = true; + this.label114.Location = new System.Drawing.Point(46, 83); + this.label114.Name = "label114"; + this.label114.Size = new System.Drawing.Size(39, 13); + this.label114.TabIndex = 12; + this.label114.Text = "Unk 2:"; + // + // ScenarioEntityUnk2UpDown + // + this.ScenarioEntityUnk2UpDown.Location = new System.Drawing.Point(91, 81); + this.ScenarioEntityUnk2UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioEntityUnk2UpDown.Name = "ScenarioEntityUnk2UpDown"; + this.ScenarioEntityUnk2UpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioEntityUnk2UpDown.TabIndex = 13; + this.ScenarioEntityUnk2UpDown.ValueChanged += new System.EventHandler(this.ScenarioEntityUnk2UpDown_ValueChanged); + // + // label113 + // + this.label113.AutoSize = true; + this.label113.Location = new System.Drawing.Point(46, 57); + this.label113.Name = "label113"; + this.label113.Size = new System.Drawing.Size(39, 13); + this.label113.TabIndex = 10; + this.label113.Text = "Unk 1:"; + // + // ScenarioEntityUnk1UpDown + // + this.ScenarioEntityUnk1UpDown.Location = new System.Drawing.Point(91, 55); + this.ScenarioEntityUnk1UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioEntityUnk1UpDown.Name = "ScenarioEntityUnk1UpDown"; + this.ScenarioEntityUnk1UpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioEntityUnk1UpDown.TabIndex = 11; + this.ScenarioEntityUnk1UpDown.ValueChanged += new System.EventHandler(this.ScenarioEntityUnk1UpDown_ValueChanged); + // + // ScenarioEntityTypeHashLabel + // + this.ScenarioEntityTypeHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityTypeHashLabel.AutoSize = true; + this.ScenarioEntityTypeHashLabel.Location = new System.Drawing.Point(382, 32); + this.ScenarioEntityTypeHashLabel.Name = "ScenarioEntityTypeHashLabel"; + this.ScenarioEntityTypeHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityTypeHashLabel.TabIndex = 9; + this.ScenarioEntityTypeHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityTypeTextBox + // + this.ScenarioEntityTypeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityTypeTextBox.Location = new System.Drawing.Point(91, 29); + this.ScenarioEntityTypeTextBox.Name = "ScenarioEntityTypeTextBox"; + this.ScenarioEntityTypeTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioEntityTypeTextBox.TabIndex = 8; + this.ScenarioEntityTypeTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityTypeTextBox_TextChanged); + // + // label112 + // + this.label112.AutoSize = true; + this.label112.Location = new System.Drawing.Point(26, 32); + this.label112.Name = "label112"; + this.label112.Size = new System.Drawing.Size(59, 13); + this.label112.TabIndex = 7; + this.label112.Text = "Entity type:"; + // + // ScenarioEntityGoToButton + // + this.ScenarioEntityGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityGoToButton.Location = new System.Drawing.Point(382, 1); + this.ScenarioEntityGoToButton.Name = "ScenarioEntityGoToButton"; + this.ScenarioEntityGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioEntityGoToButton.TabIndex = 6; + this.ScenarioEntityGoToButton.Text = "Go to"; + this.ScenarioEntityGoToButton.UseVisualStyleBackColor = true; + this.ScenarioEntityGoToButton.Click += new System.EventHandler(this.ScenarioEntityGoToButton_Click); + // + // ScenarioEntityPositionTextBox + // + this.ScenarioEntityPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPositionTextBox.Location = new System.Drawing.Point(91, 3); + this.ScenarioEntityPositionTextBox.Name = "ScenarioEntityPositionTextBox"; + this.ScenarioEntityPositionTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioEntityPositionTextBox.TabIndex = 5; + this.ScenarioEntityPositionTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPositionTextBox_TextChanged); + // + // label104 + // + this.label104.AutoSize = true; + this.label104.Location = new System.Drawing.Point(10, 6); + this.label104.Name = "label104"; + this.label104.Size = new System.Drawing.Size(75, 13); + this.label104.TabIndex = 4; + this.label104.Text = "Entity position:"; + // + // ScenarioEntityAddToProjectButton + // + this.ScenarioEntityAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityAddToProjectButton.Enabled = false; + this.ScenarioEntityAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioEntityAddToProjectButton.Name = "ScenarioEntityAddToProjectButton"; + this.ScenarioEntityAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioEntityAddToProjectButton.TabIndex = 6; + this.ScenarioEntityAddToProjectButton.Text = "Add to Project"; + this.ScenarioEntityAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioEntityAddToProjectButton.Click += new System.EventHandler(this.ScenarioEntityAddToProjectButton_Click); + // + // ScenarioEntityPointTabPage + // + this.ScenarioEntityPointTabPage.Controls.Add(this.ScenarioEntityPointDeleteButton); + this.ScenarioEntityPointTabPage.Controls.Add(this.ScenarioEntityPointAddToProjectButton); + this.ScenarioEntityPointTabPage.Controls.Add(this.ScenarioEntityPointPanel); + this.ScenarioEntityPointTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioEntityPointTabPage.Name = "ScenarioEntityPointTabPage"; + this.ScenarioEntityPointTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioEntityPointTabPage.TabIndex = 2; + this.ScenarioEntityPointTabPage.Text = "Entity Point"; + this.ScenarioEntityPointTabPage.UseVisualStyleBackColor = true; + // + // ScenarioEntityPointDeleteButton + // + this.ScenarioEntityPointDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointDeleteButton.Enabled = false; + this.ScenarioEntityPointDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioEntityPointDeleteButton.Name = "ScenarioEntityPointDeleteButton"; + this.ScenarioEntityPointDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioEntityPointDeleteButton.TabIndex = 3; + this.ScenarioEntityPointDeleteButton.Text = "Delete Point"; + this.ScenarioEntityPointDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioEntityPointDeleteButton.Click += new System.EventHandler(this.ScenarioEntityPointDeleteButton_Click); + // + // ScenarioEntityPointAddToProjectButton + // + this.ScenarioEntityPointAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointAddToProjectButton.Enabled = false; + this.ScenarioEntityPointAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioEntityPointAddToProjectButton.Name = "ScenarioEntityPointAddToProjectButton"; + this.ScenarioEntityPointAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioEntityPointAddToProjectButton.TabIndex = 2; + this.ScenarioEntityPointAddToProjectButton.Text = "Add to Project"; + this.ScenarioEntityPointAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioEntityPointAddToProjectButton.Click += new System.EventHandler(this.ScenarioEntityPointAddToProjectButton_Click); + // + // ScenarioEntityPointPanel + // + this.ScenarioEntityPointPanel.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.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointNameHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointNameTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointFlagsCheckedListBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label135); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointFlagsUpDown); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointShortRangeCheckBox); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointExtendedRangeCheckBox); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointHighPriCheckBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label133); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointEndUpDown); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointStartUpDown); + this.ScenarioEntityPointPanel.Controls.Add(this.label134); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointRadiusTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label132); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointTimeTillPedLeavesTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label131); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointProbabilityTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label130); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointAvailableInMpSpComboBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label129); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointRequiredImapHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointRequiredImapTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label128); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointInteriorHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointInteriorTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label126); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointGroupHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointGroupTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label124); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointPedTypeHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointPedTypeTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label122); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointSpawnTypeHashLabel); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointSpawnTypeTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label120); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointRotationTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label118); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointGoToButton); + this.ScenarioEntityPointPanel.Controls.Add(this.ScenarioEntityPointPositionTextBox); + this.ScenarioEntityPointPanel.Controls.Add(this.label117); + this.ScenarioEntityPointPanel.Controls.Add(this.label116); + this.ScenarioEntityPointPanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioEntityPointPanel.Name = "ScenarioEntityPointPanel"; + this.ScenarioEntityPointPanel.Size = new System.Drawing.Size(551, 414); + this.ScenarioEntityPointPanel.TabIndex = 4; + // + // ScenarioEntityPointNameHashLabel + // + this.ScenarioEntityPointNameHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointNameHashLabel.AutoSize = true; + this.ScenarioEntityPointNameHashLabel.Location = new System.Drawing.Point(428, 53); + this.ScenarioEntityPointNameHashLabel.Name = "ScenarioEntityPointNameHashLabel"; + this.ScenarioEntityPointNameHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointNameHashLabel.TabIndex = 12; + this.ScenarioEntityPointNameHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointNameTextBox + // + this.ScenarioEntityPointNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointNameTextBox.Location = new System.Drawing.Point(109, 50); + this.ScenarioEntityPointNameTextBox.Name = "ScenarioEntityPointNameTextBox"; + this.ScenarioEntityPointNameTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointNameTextBox.TabIndex = 11; + this.ScenarioEntityPointNameTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointNameTextBox_TextChanged); + // + // ScenarioEntityPointFlagsCheckedListBox + // + this.ScenarioEntityPointFlagsCheckedListBox.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.ScenarioEntityPointFlagsCheckedListBox.CheckOnClick = true; + this.ScenarioEntityPointFlagsCheckedListBox.FormattingEnabled = true; + this.ScenarioEntityPointFlagsCheckedListBox.Items.AddRange(new object[] { + "1 - IgnoreMaxInRange", + "2 - NoSpawn", + "4 - StationaryReactions", + "8 - Unk", + "16 - Unk", + "32 - ActivateVehicleSiren", + "64 - AggressiveVehicleDriving", + "128 - Unk", + "256 - Unk", + "512 - Unk", + "1024 - AerialVehiclePoint", + "2048 - TerritorialScenario", + "4096 - Unk", + "8192 - Unk", + "16384 - Unk", + "32768 - Unk", + "65536 - InWater", + "131072 - Unk", + "262144 - OpenDoor", + "524288 - PreciseUseTime", + "1048576 - Unk", + "2097152 - Unk", + "4194304 - ExtendedRange", + "8388608 - ShortRange", + "16777216 - HighPriority", + "33554432 - IgnoreLoitering", + "67108864 - UseSearchlight", + "134217728 - ResetNoCollisionOnCleanUp", + "268435456 - Unk", + "536870912 - Unk", + "1073741824 - IgnoreWeatherRestrictions"}); + this.ScenarioEntityPointFlagsCheckedListBox.Location = new System.Drawing.Point(269, 193); + this.ScenarioEntityPointFlagsCheckedListBox.Name = "ScenarioEntityPointFlagsCheckedListBox"; + this.ScenarioEntityPointFlagsCheckedListBox.Size = new System.Drawing.Size(255, 184); + this.ScenarioEntityPointFlagsCheckedListBox.TabIndex = 45; + this.ScenarioEntityPointFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ScenarioEntityPointFlagsCheckedListBox_ItemCheck); + // + // label135 + // + this.label135.AutoSize = true; + this.label135.Location = new System.Drawing.Point(68, 389); + this.label135.Name = "label135"; + this.label135.Size = new System.Drawing.Size(35, 13); + this.label135.TabIndex = 43; + this.label135.Text = "Flags:"; + // + // ScenarioEntityPointFlagsUpDown + // + this.ScenarioEntityPointFlagsUpDown.Location = new System.Drawing.Point(109, 387); + this.ScenarioEntityPointFlagsUpDown.Maximum = new decimal(new int[] { + -1, + 0, + 0, + 0}); + this.ScenarioEntityPointFlagsUpDown.Name = "ScenarioEntityPointFlagsUpDown"; + this.ScenarioEntityPointFlagsUpDown.Size = new System.Drawing.Size(154, 20); + this.ScenarioEntityPointFlagsUpDown.TabIndex = 44; + this.ScenarioEntityPointFlagsUpDown.ValueChanged += new System.EventHandler(this.ScenarioEntityPointFlagsUpDown_ValueChanged); + // + // ScenarioEntityPointShortRangeCheckBox + // + this.ScenarioEntityPointShortRangeCheckBox.AutoSize = true; + this.ScenarioEntityPointShortRangeCheckBox.Location = new System.Drawing.Point(109, 364); + this.ScenarioEntityPointShortRangeCheckBox.Name = "ScenarioEntityPointShortRangeCheckBox"; + this.ScenarioEntityPointShortRangeCheckBox.Size = new System.Drawing.Size(83, 17); + this.ScenarioEntityPointShortRangeCheckBox.TabIndex = 42; + this.ScenarioEntityPointShortRangeCheckBox.Text = "ShortRange"; + this.ScenarioEntityPointShortRangeCheckBox.UseVisualStyleBackColor = true; + this.ScenarioEntityPointShortRangeCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioEntityPointShortRangeCheckBox_CheckedChanged); + // + // ScenarioEntityPointExtendedRangeCheckBox + // + this.ScenarioEntityPointExtendedRangeCheckBox.AutoSize = true; + this.ScenarioEntityPointExtendedRangeCheckBox.Location = new System.Drawing.Point(109, 346); + this.ScenarioEntityPointExtendedRangeCheckBox.Name = "ScenarioEntityPointExtendedRangeCheckBox"; + this.ScenarioEntityPointExtendedRangeCheckBox.Size = new System.Drawing.Size(103, 17); + this.ScenarioEntityPointExtendedRangeCheckBox.TabIndex = 41; + this.ScenarioEntityPointExtendedRangeCheckBox.Text = "ExtendedRange"; + this.ScenarioEntityPointExtendedRangeCheckBox.UseVisualStyleBackColor = true; + this.ScenarioEntityPointExtendedRangeCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioEntityPointExtendedRangeCheckBox_CheckedChanged); + // + // ScenarioEntityPointHighPriCheckBox + // + this.ScenarioEntityPointHighPriCheckBox.AutoSize = true; + this.ScenarioEntityPointHighPriCheckBox.Location = new System.Drawing.Point(109, 328); + this.ScenarioEntityPointHighPriCheckBox.Name = "ScenarioEntityPointHighPriCheckBox"; + this.ScenarioEntityPointHighPriCheckBox.Size = new System.Drawing.Size(60, 17); + this.ScenarioEntityPointHighPriCheckBox.TabIndex = 40; + this.ScenarioEntityPointHighPriCheckBox.Text = "HighPri"; + this.ScenarioEntityPointHighPriCheckBox.UseVisualStyleBackColor = true; + this.ScenarioEntityPointHighPriCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioEntityPointHighPriCheckBox_CheckedChanged); + // + // label133 + // + this.label133.AutoSize = true; + this.label133.Location = new System.Drawing.Point(74, 306); + this.label133.Name = "label133"; + this.label133.Size = new System.Drawing.Size(29, 13); + this.label133.TabIndex = 38; + this.label133.Text = "End:"; + // + // ScenarioEntityPointEndUpDown + // + this.ScenarioEntityPointEndUpDown.Location = new System.Drawing.Point(109, 304); + this.ScenarioEntityPointEndUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioEntityPointEndUpDown.Name = "ScenarioEntityPointEndUpDown"; + this.ScenarioEntityPointEndUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioEntityPointEndUpDown.TabIndex = 39; + this.ScenarioEntityPointEndUpDown.ValueChanged += new System.EventHandler(this.ScenarioEntityPointEndUpDown_ValueChanged); + // + // ScenarioEntityPointStartUpDown + // + this.ScenarioEntityPointStartUpDown.Location = new System.Drawing.Point(109, 281); + this.ScenarioEntityPointStartUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioEntityPointStartUpDown.Name = "ScenarioEntityPointStartUpDown"; + this.ScenarioEntityPointStartUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioEntityPointStartUpDown.TabIndex = 37; + this.ScenarioEntityPointStartUpDown.ValueChanged += new System.EventHandler(this.ScenarioEntityPointStartUpDown_ValueChanged); + // + // label134 + // + this.label134.AutoSize = true; + this.label134.Location = new System.Drawing.Point(71, 283); + this.label134.Name = "label134"; + this.label134.Size = new System.Drawing.Size(32, 13); + this.label134.TabIndex = 36; + this.label134.Text = "Start:"; + // + // ScenarioEntityPointRadiusTextBox + // + this.ScenarioEntityPointRadiusTextBox.Location = new System.Drawing.Point(109, 258); + this.ScenarioEntityPointRadiusTextBox.Name = "ScenarioEntityPointRadiusTextBox"; + this.ScenarioEntityPointRadiusTextBox.Size = new System.Drawing.Size(88, 20); + this.ScenarioEntityPointRadiusTextBox.TabIndex = 35; + this.ScenarioEntityPointRadiusTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointRadiusTextBox_TextChanged); + // + // label132 + // + this.label132.AutoSize = true; + this.label132.Location = new System.Drawing.Point(60, 261); + this.label132.Name = "label132"; + this.label132.Size = new System.Drawing.Size(43, 13); + this.label132.TabIndex = 34; + this.label132.Text = "Radius:"; + // + // ScenarioEntityPointTimeTillPedLeavesTextBox + // + this.ScenarioEntityPointTimeTillPedLeavesTextBox.Location = new System.Drawing.Point(109, 235); + this.ScenarioEntityPointTimeTillPedLeavesTextBox.Name = "ScenarioEntityPointTimeTillPedLeavesTextBox"; + this.ScenarioEntityPointTimeTillPedLeavesTextBox.Size = new System.Drawing.Size(88, 20); + this.ScenarioEntityPointTimeTillPedLeavesTextBox.TabIndex = 33; + this.ScenarioEntityPointTimeTillPedLeavesTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointTimeTillPedLeavesTextBox_TextChanged); + // + // label131 + // + this.label131.AutoSize = true; + this.label131.Location = new System.Drawing.Point(3, 238); + this.label131.Name = "label131"; + this.label131.Size = new System.Drawing.Size(100, 13); + this.label131.TabIndex = 32; + this.label131.Text = "TimeTillPedLeaves:"; + // + // ScenarioEntityPointProbabilityTextBox + // + this.ScenarioEntityPointProbabilityTextBox.Location = new System.Drawing.Point(109, 212); + this.ScenarioEntityPointProbabilityTextBox.Name = "ScenarioEntityPointProbabilityTextBox"; + this.ScenarioEntityPointProbabilityTextBox.Size = new System.Drawing.Size(88, 20); + this.ScenarioEntityPointProbabilityTextBox.TabIndex = 31; + this.ScenarioEntityPointProbabilityTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointProbabilityTextBox_TextChanged); + // + // label130 + // + this.label130.AutoSize = true; + this.label130.Location = new System.Drawing.Point(45, 215); + this.label130.Name = "label130"; + this.label130.Size = new System.Drawing.Size(58, 13); + this.label130.TabIndex = 30; + this.label130.Text = "Probability:"; + // + // ScenarioEntityPointAvailableInMpSpComboBox + // + this.ScenarioEntityPointAvailableInMpSpComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioEntityPointAvailableInMpSpComboBox.FormattingEnabled = true; + this.ScenarioEntityPointAvailableInMpSpComboBox.Location = new System.Drawing.Point(109, 188); + this.ScenarioEntityPointAvailableInMpSpComboBox.Name = "ScenarioEntityPointAvailableInMpSpComboBox"; + this.ScenarioEntityPointAvailableInMpSpComboBox.Size = new System.Drawing.Size(88, 21); + this.ScenarioEntityPointAvailableInMpSpComboBox.TabIndex = 29; + this.ScenarioEntityPointAvailableInMpSpComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioEntityPointAvailableInMpSpComboBox_SelectedIndexChanged); + // + // label129 + // + this.label129.AutoSize = true; + this.label129.Location = new System.Drawing.Point(14, 191); + this.label129.Name = "label129"; + this.label129.Size = new System.Drawing.Size(90, 13); + this.label129.TabIndex = 28; + this.label129.Text = "AvailableInMpSp:"; + // + // ScenarioEntityPointRequiredImapHashLabel + // + this.ScenarioEntityPointRequiredImapHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointRequiredImapHashLabel.AutoSize = true; + this.ScenarioEntityPointRequiredImapHashLabel.Location = new System.Drawing.Point(428, 168); + this.ScenarioEntityPointRequiredImapHashLabel.Name = "ScenarioEntityPointRequiredImapHashLabel"; + this.ScenarioEntityPointRequiredImapHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointRequiredImapHashLabel.TabIndex = 27; + this.ScenarioEntityPointRequiredImapHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointRequiredImapTextBox + // + this.ScenarioEntityPointRequiredImapTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointRequiredImapTextBox.Location = new System.Drawing.Point(109, 165); + this.ScenarioEntityPointRequiredImapTextBox.Name = "ScenarioEntityPointRequiredImapTextBox"; + this.ScenarioEntityPointRequiredImapTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointRequiredImapTextBox.TabIndex = 26; + this.ScenarioEntityPointRequiredImapTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointRequiredImapTextBox_TextChanged); + // + // label128 + // + this.label128.AutoSize = true; + this.label128.Location = new System.Drawing.Point(24, 168); + this.label128.Name = "label128"; + this.label128.Size = new System.Drawing.Size(79, 13); + this.label128.TabIndex = 25; + this.label128.Text = "Required Imap:"; + // + // ScenarioEntityPointInteriorHashLabel + // + this.ScenarioEntityPointInteriorHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointInteriorHashLabel.AutoSize = true; + this.ScenarioEntityPointInteriorHashLabel.Location = new System.Drawing.Point(428, 145); + this.ScenarioEntityPointInteriorHashLabel.Name = "ScenarioEntityPointInteriorHashLabel"; + this.ScenarioEntityPointInteriorHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointInteriorHashLabel.TabIndex = 24; + this.ScenarioEntityPointInteriorHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointInteriorTextBox + // + this.ScenarioEntityPointInteriorTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointInteriorTextBox.Location = new System.Drawing.Point(109, 142); + this.ScenarioEntityPointInteriorTextBox.Name = "ScenarioEntityPointInteriorTextBox"; + this.ScenarioEntityPointInteriorTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointInteriorTextBox.TabIndex = 23; + this.ScenarioEntityPointInteriorTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointInteriorTextBox_TextChanged); + // + // label126 + // + this.label126.AutoSize = true; + this.label126.Location = new System.Drawing.Point(61, 145); + this.label126.Name = "label126"; + this.label126.Size = new System.Drawing.Size(42, 13); + this.label126.TabIndex = 22; + this.label126.Text = "Interior:"; + // + // ScenarioEntityPointGroupHashLabel + // + this.ScenarioEntityPointGroupHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointGroupHashLabel.AutoSize = true; + this.ScenarioEntityPointGroupHashLabel.Location = new System.Drawing.Point(428, 122); + this.ScenarioEntityPointGroupHashLabel.Name = "ScenarioEntityPointGroupHashLabel"; + this.ScenarioEntityPointGroupHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointGroupHashLabel.TabIndex = 21; + this.ScenarioEntityPointGroupHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointGroupTextBox + // + this.ScenarioEntityPointGroupTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointGroupTextBox.Location = new System.Drawing.Point(109, 119); + this.ScenarioEntityPointGroupTextBox.Name = "ScenarioEntityPointGroupTextBox"; + this.ScenarioEntityPointGroupTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointGroupTextBox.TabIndex = 20; + this.ScenarioEntityPointGroupTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointGroupTextBox_TextChanged); + // + // label124 + // + this.label124.AutoSize = true; + this.label124.Location = new System.Drawing.Point(64, 122); + this.label124.Name = "label124"; + this.label124.Size = new System.Drawing.Size(39, 13); + this.label124.TabIndex = 19; + this.label124.Text = "Group:"; + // + // ScenarioEntityPointPedTypeHashLabel + // + this.ScenarioEntityPointPedTypeHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointPedTypeHashLabel.AutoSize = true; + this.ScenarioEntityPointPedTypeHashLabel.Location = new System.Drawing.Point(428, 99); + this.ScenarioEntityPointPedTypeHashLabel.Name = "ScenarioEntityPointPedTypeHashLabel"; + this.ScenarioEntityPointPedTypeHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointPedTypeHashLabel.TabIndex = 18; + this.ScenarioEntityPointPedTypeHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointPedTypeTextBox + // + this.ScenarioEntityPointPedTypeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointPedTypeTextBox.Location = new System.Drawing.Point(109, 96); + this.ScenarioEntityPointPedTypeTextBox.Name = "ScenarioEntityPointPedTypeTextBox"; + this.ScenarioEntityPointPedTypeTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointPedTypeTextBox.TabIndex = 17; + this.ScenarioEntityPointPedTypeTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointPedTypeTextBox_TextChanged); + // + // label122 + // + this.label122.AutoSize = true; + this.label122.Location = new System.Drawing.Point(51, 99); + this.label122.Name = "label122"; + this.label122.Size = new System.Drawing.Size(52, 13); + this.label122.TabIndex = 16; + this.label122.Text = "Ped type:"; + // + // ScenarioEntityPointSpawnTypeHashLabel + // + this.ScenarioEntityPointSpawnTypeHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointSpawnTypeHashLabel.AutoSize = true; + this.ScenarioEntityPointSpawnTypeHashLabel.Location = new System.Drawing.Point(428, 76); + this.ScenarioEntityPointSpawnTypeHashLabel.Name = "ScenarioEntityPointSpawnTypeHashLabel"; + this.ScenarioEntityPointSpawnTypeHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioEntityPointSpawnTypeHashLabel.TabIndex = 15; + this.ScenarioEntityPointSpawnTypeHashLabel.Text = "Hash: 0"; + // + // ScenarioEntityPointSpawnTypeTextBox + // + this.ScenarioEntityPointSpawnTypeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointSpawnTypeTextBox.Location = new System.Drawing.Point(109, 73); + this.ScenarioEntityPointSpawnTypeTextBox.Name = "ScenarioEntityPointSpawnTypeTextBox"; + this.ScenarioEntityPointSpawnTypeTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointSpawnTypeTextBox.TabIndex = 14; + this.ScenarioEntityPointSpawnTypeTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointSpawnTypeTextBox_TextChanged); + // + // label120 + // + this.label120.AutoSize = true; + this.label120.Location = new System.Drawing.Point(37, 76); + this.label120.Name = "label120"; + this.label120.Size = new System.Drawing.Size(66, 13); + this.label120.TabIndex = 13; + this.label120.Text = "Spawn type:"; + // + // ScenarioEntityPointRotationTextBox + // + this.ScenarioEntityPointRotationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointRotationTextBox.Location = new System.Drawing.Point(109, 27); + this.ScenarioEntityPointRotationTextBox.Name = "ScenarioEntityPointRotationTextBox"; + this.ScenarioEntityPointRotationTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointRotationTextBox.TabIndex = 9; + this.ScenarioEntityPointRotationTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointRotationTextBox_TextChanged); + // + // label118 + // + this.label118.AutoSize = true; + this.label118.Location = new System.Drawing.Point(27, 30); + this.label118.Name = "label118"; + this.label118.Size = new System.Drawing.Size(76, 13); + this.label118.TabIndex = 8; + this.label118.Text = "Offset rotation:"; + // + // ScenarioEntityPointGoToButton + // + this.ScenarioEntityPointGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointGoToButton.Location = new System.Drawing.Point(428, 2); + this.ScenarioEntityPointGoToButton.Name = "ScenarioEntityPointGoToButton"; + this.ScenarioEntityPointGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioEntityPointGoToButton.TabIndex = 7; + this.ScenarioEntityPointGoToButton.Text = "Go to"; + this.ScenarioEntityPointGoToButton.UseVisualStyleBackColor = true; + this.ScenarioEntityPointGoToButton.Click += new System.EventHandler(this.ScenarioEntityPointGoToButton_Click); + // + // ScenarioEntityPointPositionTextBox + // + this.ScenarioEntityPointPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioEntityPointPositionTextBox.Location = new System.Drawing.Point(109, 4); + this.ScenarioEntityPointPositionTextBox.Name = "ScenarioEntityPointPositionTextBox"; + this.ScenarioEntityPointPositionTextBox.Size = new System.Drawing.Size(313, 20); + this.ScenarioEntityPointPositionTextBox.TabIndex = 6; + this.ScenarioEntityPointPositionTextBox.TextChanged += new System.EventHandler(this.ScenarioEntityPointPositionTextBox_TextChanged); + // + // label117 + // + this.label117.AutoSize = true; + this.label117.Location = new System.Drawing.Point(26, 7); + this.label117.Name = "label117"; + this.label117.Size = new System.Drawing.Size(77, 13); + this.label117.TabIndex = 5; + this.label117.Text = "Offset position:"; + // + // label116 + // + this.label116.AutoSize = true; + this.label116.Location = new System.Drawing.Point(65, 53); + this.label116.Name = "label116"; + this.label116.Size = new System.Drawing.Size(38, 13); + this.label116.TabIndex = 10; + this.label116.Text = "Name:"; + // + // ScenarioChainTabPage + // + this.ScenarioChainTabPage.Controls.Add(this.ScenarioChainDeleteButton); + this.ScenarioChainTabPage.Controls.Add(this.ScenarioChainAddToProjectButton); + this.ScenarioChainTabPage.Controls.Add(this.splitContainer3); + this.ScenarioChainTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioChainTabPage.Name = "ScenarioChainTabPage"; + this.ScenarioChainTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioChainTabPage.TabIndex = 3; + this.ScenarioChainTabPage.Text = "Chain"; + this.ScenarioChainTabPage.UseVisualStyleBackColor = true; + // + // ScenarioChainDeleteButton + // + this.ScenarioChainDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainDeleteButton.Enabled = false; + this.ScenarioChainDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioChainDeleteButton.Name = "ScenarioChainDeleteButton"; + this.ScenarioChainDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioChainDeleteButton.TabIndex = 9; + this.ScenarioChainDeleteButton.Text = "Delete Chain"; + this.ScenarioChainDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioChainDeleteButton.Click += new System.EventHandler(this.ScenarioChainDeleteButton_Click); + // + // ScenarioChainAddToProjectButton + // + this.ScenarioChainAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainAddToProjectButton.Enabled = false; + this.ScenarioChainAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioChainAddToProjectButton.Name = "ScenarioChainAddToProjectButton"; + this.ScenarioChainAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioChainAddToProjectButton.TabIndex = 8; + this.ScenarioChainAddToProjectButton.Text = "Add to Project"; + this.ScenarioChainAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioChainAddToProjectButton.Click += new System.EventHandler(this.ScenarioChainAddToProjectButton_Click); + // + // splitContainer3 + // + this.splitContainer3.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.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer3.Location = new System.Drawing.Point(3, 3); + this.splitContainer3.Name = "splitContainer3"; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainMoveEdgeDownButton); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainMoveEdgeUpButton); + this.splitContainer3.Panel1.Controls.Add(this.label138); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainUnk1UpDown); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainRemoveEdgeButton); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainAddEdgeButton); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainEdgesListBox); + this.splitContainer3.Panel1.Controls.Add(this.ScenarioChainEdgeCountLabel); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.ScenarioChainEdgePanel); + this.splitContainer3.Size = new System.Drawing.Size(545, 385); + this.splitContainer3.SplitterDistance = 205; + this.splitContainer3.TabIndex = 1; + // + // ScenarioChainMoveEdgeDownButton + // + this.ScenarioChainMoveEdgeDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainMoveEdgeDownButton.Location = new System.Drawing.Point(85, 326); + this.ScenarioChainMoveEdgeDownButton.Name = "ScenarioChainMoveEdgeDownButton"; + this.ScenarioChainMoveEdgeDownButton.Size = new System.Drawing.Size(76, 23); + this.ScenarioChainMoveEdgeDownButton.TabIndex = 5; + this.ScenarioChainMoveEdgeDownButton.Text = "Move Down"; + this.ScenarioChainMoveEdgeDownButton.UseVisualStyleBackColor = true; + this.ScenarioChainMoveEdgeDownButton.Click += new System.EventHandler(this.ScenarioChainMoveEdgeDownButton_Click); + // + // ScenarioChainMoveEdgeUpButton + // + this.ScenarioChainMoveEdgeUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainMoveEdgeUpButton.Location = new System.Drawing.Point(3, 326); + this.ScenarioChainMoveEdgeUpButton.Name = "ScenarioChainMoveEdgeUpButton"; + this.ScenarioChainMoveEdgeUpButton.Size = new System.Drawing.Size(76, 23); + this.ScenarioChainMoveEdgeUpButton.TabIndex = 4; + this.ScenarioChainMoveEdgeUpButton.Text = "Move Up"; + this.ScenarioChainMoveEdgeUpButton.UseVisualStyleBackColor = true; + this.ScenarioChainMoveEdgeUpButton.Click += new System.EventHandler(this.ScenarioChainMoveEdgeUpButton_Click); + // + // label138 + // + this.label138.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label138.AutoSize = true; + this.label138.Location = new System.Drawing.Point(10, 364); + this.label138.Name = "label138"; + this.label138.Size = new System.Drawing.Size(69, 13); + this.label138.TabIndex = 6; + this.label138.Text = "Chain Unk 1:"; + // + // ScenarioChainUnk1UpDown + // + this.ScenarioChainUnk1UpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainUnk1UpDown.Location = new System.Drawing.Point(85, 362); + this.ScenarioChainUnk1UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioChainUnk1UpDown.Name = "ScenarioChainUnk1UpDown"; + this.ScenarioChainUnk1UpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioChainUnk1UpDown.TabIndex = 7; + this.ScenarioChainUnk1UpDown.ValueChanged += new System.EventHandler(this.ScenarioChainUnk1UpDown_ValueChanged); + // + // ScenarioChainRemoveEdgeButton + // + this.ScenarioChainRemoveEdgeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainRemoveEdgeButton.Location = new System.Drawing.Point(85, 297); + this.ScenarioChainRemoveEdgeButton.Name = "ScenarioChainRemoveEdgeButton"; + this.ScenarioChainRemoveEdgeButton.Size = new System.Drawing.Size(76, 23); + this.ScenarioChainRemoveEdgeButton.TabIndex = 3; + this.ScenarioChainRemoveEdgeButton.Text = "Remove"; + this.ScenarioChainRemoveEdgeButton.UseVisualStyleBackColor = true; + this.ScenarioChainRemoveEdgeButton.Click += new System.EventHandler(this.ScenarioChainRemoveEdgeButton_Click); + // + // ScenarioChainAddEdgeButton + // + this.ScenarioChainAddEdgeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainAddEdgeButton.Location = new System.Drawing.Point(3, 297); + this.ScenarioChainAddEdgeButton.Name = "ScenarioChainAddEdgeButton"; + this.ScenarioChainAddEdgeButton.Size = new System.Drawing.Size(76, 23); + this.ScenarioChainAddEdgeButton.TabIndex = 2; + this.ScenarioChainAddEdgeButton.Text = "Add"; + this.ScenarioChainAddEdgeButton.UseVisualStyleBackColor = true; + this.ScenarioChainAddEdgeButton.Click += new System.EventHandler(this.ScenarioChainAddEdgeButton_Click); + // + // ScenarioChainEdgesListBox + // + this.ScenarioChainEdgesListBox.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.ScenarioChainEdgesListBox.FormattingEnabled = true; + this.ScenarioChainEdgesListBox.Location = new System.Drawing.Point(0, 0); + this.ScenarioChainEdgesListBox.Name = "ScenarioChainEdgesListBox"; + this.ScenarioChainEdgesListBox.Size = new System.Drawing.Size(202, 251); + this.ScenarioChainEdgesListBox.TabIndex = 0; + this.ScenarioChainEdgesListBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioChainEdgesListBox_SelectedIndexChanged); + // + // ScenarioChainEdgeCountLabel + // + this.ScenarioChainEdgeCountLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioChainEdgeCountLabel.AutoSize = true; + this.ScenarioChainEdgeCountLabel.Location = new System.Drawing.Point(3, 281); + this.ScenarioChainEdgeCountLabel.Name = "ScenarioChainEdgeCountLabel"; + this.ScenarioChainEdgeCountLabel.Size = new System.Drawing.Size(75, 13); + this.ScenarioChainEdgeCountLabel.TabIndex = 1; + this.ScenarioChainEdgeCountLabel.Text = "Edge Count: 0"; + // + // ScenarioChainEdgePanel + // + this.ScenarioChainEdgePanel.Controls.Add(this.ScenarioChainEdgeNavSpeedComboBox); + this.ScenarioChainEdgePanel.Controls.Add(this.label137); + this.ScenarioChainEdgePanel.Controls.Add(this.ScenarioChainEdgeNavModeComboBox); + this.ScenarioChainEdgePanel.Controls.Add(this.label136); + this.ScenarioChainEdgePanel.Controls.Add(this.ScenarioChainEdgeActionComboBox); + this.ScenarioChainEdgePanel.Controls.Add(this.label127); + this.ScenarioChainEdgePanel.Controls.Add(this.ScenarioChainEdgeNodeIndexToUpDown); + this.ScenarioChainEdgePanel.Controls.Add(this.ScenarioChainEdgeNodeIndexFromUpDown); + this.ScenarioChainEdgePanel.Controls.Add(this.label125); + this.ScenarioChainEdgePanel.Controls.Add(this.label121); + this.ScenarioChainEdgePanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.ScenarioChainEdgePanel.Enabled = false; + this.ScenarioChainEdgePanel.Location = new System.Drawing.Point(0, 0); + this.ScenarioChainEdgePanel.Name = "ScenarioChainEdgePanel"; + this.ScenarioChainEdgePanel.Size = new System.Drawing.Size(336, 385); + this.ScenarioChainEdgePanel.TabIndex = 0; + // + // ScenarioChainEdgeNavSpeedComboBox + // + this.ScenarioChainEdgeNavSpeedComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioChainEdgeNavSpeedComboBox.FormattingEnabled = true; + this.ScenarioChainEdgeNavSpeedComboBox.Location = new System.Drawing.Point(100, 118); + this.ScenarioChainEdgeNavSpeedComboBox.Name = "ScenarioChainEdgeNavSpeedComboBox"; + this.ScenarioChainEdgeNavSpeedComboBox.Size = new System.Drawing.Size(142, 21); + this.ScenarioChainEdgeNavSpeedComboBox.TabIndex = 10; + this.ScenarioChainEdgeNavSpeedComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioChainEdgeNavSpeedComboBox_SelectedIndexChanged); + // + // label137 + // + this.label137.AutoSize = true; + this.label137.Location = new System.Drawing.Point(33, 121); + this.label137.Name = "label137"; + this.label137.Size = new System.Drawing.Size(61, 13); + this.label137.TabIndex = 9; + this.label137.Text = "NavSpeed:"; + // + // ScenarioChainEdgeNavModeComboBox + // + this.ScenarioChainEdgeNavModeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioChainEdgeNavModeComboBox.FormattingEnabled = true; + this.ScenarioChainEdgeNavModeComboBox.Location = new System.Drawing.Point(100, 91); + this.ScenarioChainEdgeNavModeComboBox.Name = "ScenarioChainEdgeNavModeComboBox"; + this.ScenarioChainEdgeNavModeComboBox.Size = new System.Drawing.Size(142, 21); + this.ScenarioChainEdgeNavModeComboBox.TabIndex = 8; + this.ScenarioChainEdgeNavModeComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioChainEdgeNavModeComboBox_SelectedIndexChanged); + // + // label136 + // + this.label136.AutoSize = true; + this.label136.Location = new System.Drawing.Point(37, 94); + this.label136.Name = "label136"; + this.label136.Size = new System.Drawing.Size(57, 13); + this.label136.TabIndex = 7; + this.label136.Text = "NavMode:"; + // + // ScenarioChainEdgeActionComboBox + // + this.ScenarioChainEdgeActionComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioChainEdgeActionComboBox.FormattingEnabled = true; + this.ScenarioChainEdgeActionComboBox.Location = new System.Drawing.Point(100, 64); + this.ScenarioChainEdgeActionComboBox.Name = "ScenarioChainEdgeActionComboBox"; + this.ScenarioChainEdgeActionComboBox.Size = new System.Drawing.Size(142, 21); + this.ScenarioChainEdgeActionComboBox.TabIndex = 6; + this.ScenarioChainEdgeActionComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioChainEdgeActionComboBox_SelectedIndexChanged); + // + // label127 + // + this.label127.AutoSize = true; + this.label127.Location = new System.Drawing.Point(54, 67); + this.label127.Name = "label127"; + this.label127.Size = new System.Drawing.Size(40, 13); + this.label127.TabIndex = 5; + this.label127.Text = "Action:"; + // + // ScenarioChainEdgeNodeIndexToUpDown + // + this.ScenarioChainEdgeNodeIndexToUpDown.Location = new System.Drawing.Point(100, 38); + this.ScenarioChainEdgeNodeIndexToUpDown.Maximum = new decimal(new int[] { + 65535, + 0, + 0, + 0}); + this.ScenarioChainEdgeNodeIndexToUpDown.Name = "ScenarioChainEdgeNodeIndexToUpDown"; + this.ScenarioChainEdgeNodeIndexToUpDown.Size = new System.Drawing.Size(81, 20); + this.ScenarioChainEdgeNodeIndexToUpDown.TabIndex = 4; + this.ScenarioChainEdgeNodeIndexToUpDown.ValueChanged += new System.EventHandler(this.ScenarioChainEdgeNodeIndexToUpDown_ValueChanged); + // + // ScenarioChainEdgeNodeIndexFromUpDown + // + this.ScenarioChainEdgeNodeIndexFromUpDown.Location = new System.Drawing.Point(100, 12); + this.ScenarioChainEdgeNodeIndexFromUpDown.Maximum = new decimal(new int[] { + 65535, + 0, + 0, + 0}); + this.ScenarioChainEdgeNodeIndexFromUpDown.Name = "ScenarioChainEdgeNodeIndexFromUpDown"; + this.ScenarioChainEdgeNodeIndexFromUpDown.Size = new System.Drawing.Size(81, 20); + this.ScenarioChainEdgeNodeIndexFromUpDown.TabIndex = 2; + this.ScenarioChainEdgeNodeIndexFromUpDown.ValueChanged += new System.EventHandler(this.ScenarioChainEdgeNodeIndexFromUpDown_ValueChanged); + // + // label125 + // + this.label125.AutoSize = true; + this.label125.Location = new System.Drawing.Point(19, 40); + this.label125.Name = "label125"; + this.label125.Size = new System.Drawing.Size(75, 13); + this.label125.TabIndex = 3; + this.label125.Text = "NodeIndexTo:"; + // + // label121 + // + this.label121.AutoSize = true; + this.label121.Location = new System.Drawing.Point(9, 14); + this.label121.Name = "label121"; + this.label121.Size = new System.Drawing.Size(85, 13); + this.label121.TabIndex = 1; + this.label121.Text = "NodeIndexFrom:"; + // + // ScenarioChainNodeTabPage + // + this.ScenarioChainNodeTabPage.Controls.Add(this.ScenarioChainNodePanel); + this.ScenarioChainNodeTabPage.Controls.Add(this.ScenarioChainNodeDeleteButton); + this.ScenarioChainNodeTabPage.Controls.Add(this.ScenarioChainNodeAddToProjectButton); + this.ScenarioChainNodeTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioChainNodeTabPage.Name = "ScenarioChainNodeTabPage"; + this.ScenarioChainNodeTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioChainNodeTabPage.TabIndex = 6; + this.ScenarioChainNodeTabPage.Text = "Chain Node"; + this.ScenarioChainNodeTabPage.UseVisualStyleBackColor = true; + // + // ScenarioChainNodePanel + // + this.ScenarioChainNodePanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeTypeComboBox); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeIndexTextBox); + this.ScenarioChainNodePanel.Controls.Add(this.label115); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeLastCheckBox); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeFirstCheckBox); + this.ScenarioChainNodePanel.Controls.Add(this.label123); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeUnk1HashLabel); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeUnk1TextBox); + this.ScenarioChainNodePanel.Controls.Add(this.label119); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeGoToButton); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodePositionTextBox); + this.ScenarioChainNodePanel.Controls.Add(this.label105); + this.ScenarioChainNodePanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioChainNodePanel.Name = "ScenarioChainNodePanel"; + this.ScenarioChainNodePanel.Size = new System.Drawing.Size(551, 227); + this.ScenarioChainNodePanel.TabIndex = 8; + // + // ScenarioChainNodeTypeComboBox + // + this.ScenarioChainNodeTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioChainNodeTypeComboBox.FormattingEnabled = true; + this.ScenarioChainNodeTypeComboBox.Location = new System.Drawing.Point(73, 55); + this.ScenarioChainNodeTypeComboBox.Name = "ScenarioChainNodeTypeComboBox"; + this.ScenarioChainNodeTypeComboBox.Size = new System.Drawing.Size(377, 21); + this.ScenarioChainNodeTypeComboBox.TabIndex = 12; + this.ScenarioChainNodeTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioChainNodeTypeComboBox_SelectedIndexChanged); + // + // ScenarioChainNodeIndexTextBox + // + this.ScenarioChainNodeIndexTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeIndexTextBox.Location = new System.Drawing.Point(73, 142); + this.ScenarioChainNodeIndexTextBox.Name = "ScenarioChainNodeIndexTextBox"; + this.ScenarioChainNodeIndexTextBox.ReadOnly = true; + this.ScenarioChainNodeIndexTextBox.Size = new System.Drawing.Size(135, 20); + this.ScenarioChainNodeIndexTextBox.TabIndex = 17; + // + // label115 + // + this.label115.AutoSize = true; + this.label115.Location = new System.Drawing.Point(33, 145); + this.label115.Name = "label115"; + this.label115.Size = new System.Drawing.Size(36, 13); + this.label115.TabIndex = 16; + this.label115.Text = "Index:"; + // + // ScenarioChainNodeLastCheckBox + // + this.ScenarioChainNodeLastCheckBox.AutoSize = true; + this.ScenarioChainNodeLastCheckBox.Location = new System.Drawing.Point(73, 105); + this.ScenarioChainNodeLastCheckBox.Name = "ScenarioChainNodeLastCheckBox"; + this.ScenarioChainNodeLastCheckBox.Size = new System.Drawing.Size(86, 17); + this.ScenarioChainNodeLastCheckBox.TabIndex = 15; + this.ScenarioChainNodeLastCheckBox.Text = "Last in chain"; + this.ScenarioChainNodeLastCheckBox.UseVisualStyleBackColor = true; + this.ScenarioChainNodeLastCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeLastCheckBox_CheckedChanged); + // + // ScenarioChainNodeFirstCheckBox + // + this.ScenarioChainNodeFirstCheckBox.AutoSize = true; + this.ScenarioChainNodeFirstCheckBox.Location = new System.Drawing.Point(73, 82); + this.ScenarioChainNodeFirstCheckBox.Name = "ScenarioChainNodeFirstCheckBox"; + this.ScenarioChainNodeFirstCheckBox.Size = new System.Drawing.Size(85, 17); + this.ScenarioChainNodeFirstCheckBox.TabIndex = 14; + this.ScenarioChainNodeFirstCheckBox.Text = "First in chain"; + this.ScenarioChainNodeFirstCheckBox.UseVisualStyleBackColor = true; + this.ScenarioChainNodeFirstCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeFirstCheckBox_CheckedChanged); + // + // label123 + // + this.label123.AutoSize = true; + this.label123.Location = new System.Drawing.Point(33, 58); + this.label123.Name = "label123"; + this.label123.Size = new System.Drawing.Size(34, 13); + this.label123.TabIndex = 11; + this.label123.Text = "Type:"; + // + // ScenarioChainNodeUnk1HashLabel + // + this.ScenarioChainNodeUnk1HashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeUnk1HashLabel.AutoSize = true; + this.ScenarioChainNodeUnk1HashLabel.Location = new System.Drawing.Point(382, 32); + this.ScenarioChainNodeUnk1HashLabel.Name = "ScenarioChainNodeUnk1HashLabel"; + this.ScenarioChainNodeUnk1HashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioChainNodeUnk1HashLabel.TabIndex = 10; + this.ScenarioChainNodeUnk1HashLabel.Text = "Hash: 0"; + // + // ScenarioChainNodeUnk1TextBox + // + this.ScenarioChainNodeUnk1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeUnk1TextBox.Location = new System.Drawing.Point(73, 29); + this.ScenarioChainNodeUnk1TextBox.Name = "ScenarioChainNodeUnk1TextBox"; + this.ScenarioChainNodeUnk1TextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioChainNodeUnk1TextBox.TabIndex = 9; + this.ScenarioChainNodeUnk1TextBox.TextChanged += new System.EventHandler(this.ScenarioChainNodeUnk1TextBox_TextChanged); + // + // label119 + // + this.label119.AutoSize = true; + this.label119.Location = new System.Drawing.Point(28, 32); + this.label119.Name = "label119"; + this.label119.Size = new System.Drawing.Size(39, 13); + this.label119.TabIndex = 8; + this.label119.Text = "Unk 1:"; + // + // ScenarioChainNodeGoToButton + // + this.ScenarioChainNodeGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeGoToButton.Location = new System.Drawing.Point(382, 1); + this.ScenarioChainNodeGoToButton.Name = "ScenarioChainNodeGoToButton"; + this.ScenarioChainNodeGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioChainNodeGoToButton.TabIndex = 7; + this.ScenarioChainNodeGoToButton.Text = "Go to"; + this.ScenarioChainNodeGoToButton.UseVisualStyleBackColor = true; + this.ScenarioChainNodeGoToButton.Click += new System.EventHandler(this.ScenarioChainNodeGoToButton_Click); + // + // ScenarioChainNodePositionTextBox + // + this.ScenarioChainNodePositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodePositionTextBox.Location = new System.Drawing.Point(73, 3); + this.ScenarioChainNodePositionTextBox.Name = "ScenarioChainNodePositionTextBox"; + this.ScenarioChainNodePositionTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioChainNodePositionTextBox.TabIndex = 6; + this.ScenarioChainNodePositionTextBox.TextChanged += new System.EventHandler(this.ScenarioChainNodePositionTextBox_TextChanged); + // + // label105 + // + this.label105.AutoSize = true; + this.label105.Location = new System.Drawing.Point(20, 6); + this.label105.Name = "label105"; + this.label105.Size = new System.Drawing.Size(47, 13); + this.label105.TabIndex = 5; + this.label105.Text = "Position:"; + // + // ScenarioChainNodeDeleteButton + // + this.ScenarioChainNodeDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeDeleteButton.Enabled = false; + this.ScenarioChainNodeDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioChainNodeDeleteButton.Name = "ScenarioChainNodeDeleteButton"; + this.ScenarioChainNodeDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioChainNodeDeleteButton.TabIndex = 7; + this.ScenarioChainNodeDeleteButton.Text = "Delete Node"; + this.ScenarioChainNodeDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioChainNodeDeleteButton.Click += new System.EventHandler(this.ScenarioChainNodeDeleteButton_Click); + // + // ScenarioChainNodeAddToProjectButton + // + this.ScenarioChainNodeAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodeAddToProjectButton.Enabled = false; + this.ScenarioChainNodeAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioChainNodeAddToProjectButton.Name = "ScenarioChainNodeAddToProjectButton"; + this.ScenarioChainNodeAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioChainNodeAddToProjectButton.TabIndex = 6; + this.ScenarioChainNodeAddToProjectButton.Text = "Add to Project"; + this.ScenarioChainNodeAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioChainNodeAddToProjectButton.Click += new System.EventHandler(this.ScenarioChainNodeAddToProjectButton_Click); + // + // ScenarioClusterTabPage + // + this.ScenarioClusterTabPage.Controls.Add(this.ScenarioClusterDeleteButton); + this.ScenarioClusterTabPage.Controls.Add(this.ScenarioClusterAddToProjectButton); + this.ScenarioClusterTabPage.Controls.Add(this.ScenarioClusterPanel); + this.ScenarioClusterTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioClusterTabPage.Name = "ScenarioClusterTabPage"; + this.ScenarioClusterTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioClusterTabPage.TabIndex = 4; + this.ScenarioClusterTabPage.Text = "Cluster"; + this.ScenarioClusterTabPage.UseVisualStyleBackColor = true; + // + // ScenarioClusterDeleteButton + // + this.ScenarioClusterDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterDeleteButton.Enabled = false; + this.ScenarioClusterDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioClusterDeleteButton.Name = "ScenarioClusterDeleteButton"; + this.ScenarioClusterDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioClusterDeleteButton.TabIndex = 3; + this.ScenarioClusterDeleteButton.Text = "Delete Cluster"; + this.ScenarioClusterDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioClusterDeleteButton.Click += new System.EventHandler(this.ScenarioClusterDeleteButton_Click); + // + // ScenarioClusterAddToProjectButton + // + this.ScenarioClusterAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterAddToProjectButton.Enabled = false; + this.ScenarioClusterAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioClusterAddToProjectButton.Name = "ScenarioClusterAddToProjectButton"; + this.ScenarioClusterAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioClusterAddToProjectButton.TabIndex = 2; + this.ScenarioClusterAddToProjectButton.Text = "Add to Project"; + this.ScenarioClusterAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioClusterAddToProjectButton.Click += new System.EventHandler(this.ScenarioClusterAddToProjectButton_Click); + // + // ScenarioClusterPanel + // + this.ScenarioClusterPanel.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.ScenarioClusterPanel.Controls.Add(this.label159); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterAddPointButton); + this.ScenarioClusterPanel.Controls.Add(this.label158); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterPointsListBox); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterRadiusTextBox); + this.ScenarioClusterPanel.Controls.Add(this.label157); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterUnk2CheckBox); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterUnk1TextBox); + this.ScenarioClusterPanel.Controls.Add(this.label140); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterGoToButton); + this.ScenarioClusterPanel.Controls.Add(this.ScenarioClusterCenterTextBox); + this.ScenarioClusterPanel.Controls.Add(this.label139); + this.ScenarioClusterPanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioClusterPanel.Name = "ScenarioClusterPanel"; + this.ScenarioClusterPanel.Size = new System.Drawing.Size(551, 385); + this.ScenarioClusterPanel.TabIndex = 4; + // + // label159 + // + this.label159.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label159.AutoSize = true; + this.label159.Location = new System.Drawing.Point(382, 150); + this.label159.Name = "label159"; + this.label159.Size = new System.Drawing.Size(141, 13); + this.label159.TabIndex = 16; + this.label159.Text = "(Double-click to select point)"; + // + // ScenarioClusterAddPointButton + // + this.ScenarioClusterAddPointButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ScenarioClusterAddPointButton.Location = new System.Drawing.Point(100, 359); + this.ScenarioClusterAddPointButton.Name = "ScenarioClusterAddPointButton"; + this.ScenarioClusterAddPointButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioClusterAddPointButton.TabIndex = 15; + this.ScenarioClusterAddPointButton.Text = "Add Point"; + this.ScenarioClusterAddPointButton.UseVisualStyleBackColor = true; + this.ScenarioClusterAddPointButton.Click += new System.EventHandler(this.ScenarioClusterAddPointButton_Click); + // + // label158 + // + this.label158.AutoSize = true; + this.label158.Location = new System.Drawing.Point(51, 150); + this.label158.Name = "label158"; + this.label158.Size = new System.Drawing.Size(39, 13); + this.label158.TabIndex = 14; + this.label158.Text = "Points:"; + // + // ScenarioClusterPointsListBox + // + this.ScenarioClusterPointsListBox.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.ScenarioClusterPointsListBox.FormattingEnabled = true; + this.ScenarioClusterPointsListBox.Location = new System.Drawing.Point(100, 148); + this.ScenarioClusterPointsListBox.Name = "ScenarioClusterPointsListBox"; + this.ScenarioClusterPointsListBox.Size = new System.Drawing.Size(276, 186); + this.ScenarioClusterPointsListBox.TabIndex = 13; + this.ScenarioClusterPointsListBox.DoubleClick += new System.EventHandler(this.ScenarioClusterPointsListBox_DoubleClick); + // + // ScenarioClusterRadiusTextBox + // + this.ScenarioClusterRadiusTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterRadiusTextBox.Location = new System.Drawing.Point(100, 29); + this.ScenarioClusterRadiusTextBox.Name = "ScenarioClusterRadiusTextBox"; + this.ScenarioClusterRadiusTextBox.Size = new System.Drawing.Size(204, 20); + this.ScenarioClusterRadiusTextBox.TabIndex = 9; + this.ScenarioClusterRadiusTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterRadiusTextBox_TextChanged); + // + // label157 + // + this.label157.AutoSize = true; + this.label157.Location = new System.Drawing.Point(51, 32); + this.label157.Name = "label157"; + this.label157.Size = new System.Drawing.Size(43, 13); + this.label157.TabIndex = 8; + this.label157.Text = "Radius:"; + // + // ScenarioClusterUnk2CheckBox + // + this.ScenarioClusterUnk2CheckBox.AutoSize = true; + this.ScenarioClusterUnk2CheckBox.Location = new System.Drawing.Point(100, 81); + this.ScenarioClusterUnk2CheckBox.Name = "ScenarioClusterUnk2CheckBox"; + this.ScenarioClusterUnk2CheckBox.Size = new System.Drawing.Size(55, 17); + this.ScenarioClusterUnk2CheckBox.TabIndex = 12; + this.ScenarioClusterUnk2CheckBox.Text = "Unk 2"; + this.ScenarioClusterUnk2CheckBox.UseVisualStyleBackColor = true; + this.ScenarioClusterUnk2CheckBox.CheckedChanged += new System.EventHandler(this.ScenarioClusterUnk2CheckBox_CheckedChanged); + // + // ScenarioClusterUnk1TextBox + // + this.ScenarioClusterUnk1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterUnk1TextBox.Location = new System.Drawing.Point(100, 55); + this.ScenarioClusterUnk1TextBox.Name = "ScenarioClusterUnk1TextBox"; + this.ScenarioClusterUnk1TextBox.Size = new System.Drawing.Size(204, 20); + this.ScenarioClusterUnk1TextBox.TabIndex = 11; + this.ScenarioClusterUnk1TextBox.TextChanged += new System.EventHandler(this.ScenarioClusterUnk1TextBox_TextChanged); + // + // label140 + // + this.label140.AutoSize = true; + this.label140.Location = new System.Drawing.Point(4, 58); + this.label140.Name = "label140"; + this.label140.Size = new System.Drawing.Size(90, 13); + this.label140.TabIndex = 10; + this.label140.Text = "Probability Unk 1:"; + // + // ScenarioClusterGoToButton + // + this.ScenarioClusterGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterGoToButton.Location = new System.Drawing.Point(382, 1); + this.ScenarioClusterGoToButton.Name = "ScenarioClusterGoToButton"; + this.ScenarioClusterGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioClusterGoToButton.TabIndex = 7; + this.ScenarioClusterGoToButton.Text = "Go to"; + this.ScenarioClusterGoToButton.UseVisualStyleBackColor = true; + this.ScenarioClusterGoToButton.Click += new System.EventHandler(this.ScenarioClusterGoToButton_Click); + // + // ScenarioClusterCenterTextBox + // + this.ScenarioClusterCenterTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterCenterTextBox.Location = new System.Drawing.Point(100, 3); + this.ScenarioClusterCenterTextBox.Name = "ScenarioClusterCenterTextBox"; + this.ScenarioClusterCenterTextBox.Size = new System.Drawing.Size(276, 20); + this.ScenarioClusterCenterTextBox.TabIndex = 6; + this.ScenarioClusterCenterTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterCenterTextBox_TextChanged); + // + // label139 + // + this.label139.AutoSize = true; + this.label139.Location = new System.Drawing.Point(53, 6); + this.label139.Name = "label139"; + this.label139.Size = new System.Drawing.Size(41, 13); + this.label139.TabIndex = 5; + this.label139.Text = "Center:"; + // + // ScenarioClusterPointTabPage + // + this.ScenarioClusterPointTabPage.Controls.Add(this.ScenarioClusterPointDeleteButton); + this.ScenarioClusterPointTabPage.Controls.Add(this.ScenarioClusterPointAddToProjectButton); + this.ScenarioClusterPointTabPage.Controls.Add(this.ScenarioClusterPointPanel); + this.ScenarioClusterPointTabPage.Location = new System.Drawing.Point(4, 22); + this.ScenarioClusterPointTabPage.Name = "ScenarioClusterPointTabPage"; + this.ScenarioClusterPointTabPage.Size = new System.Drawing.Size(551, 420); + this.ScenarioClusterPointTabPage.TabIndex = 5; + this.ScenarioClusterPointTabPage.Text = "Cluster Point"; + this.ScenarioClusterPointTabPage.UseVisualStyleBackColor = true; + // + // ScenarioClusterPointDeleteButton + // + this.ScenarioClusterPointDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointDeleteButton.Enabled = false; + this.ScenarioClusterPointDeleteButton.Location = new System.Drawing.Point(458, 394); + this.ScenarioClusterPointDeleteButton.Name = "ScenarioClusterPointDeleteButton"; + this.ScenarioClusterPointDeleteButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioClusterPointDeleteButton.TabIndex = 7; + this.ScenarioClusterPointDeleteButton.Text = "Delete Point"; + this.ScenarioClusterPointDeleteButton.UseVisualStyleBackColor = true; + this.ScenarioClusterPointDeleteButton.Click += new System.EventHandler(this.ScenarioClusterPointDeleteButton_Click); + // + // ScenarioClusterPointAddToProjectButton + // + this.ScenarioClusterPointAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointAddToProjectButton.Enabled = false; + this.ScenarioClusterPointAddToProjectButton.Location = new System.Drawing.Point(362, 394); + this.ScenarioClusterPointAddToProjectButton.Name = "ScenarioClusterPointAddToProjectButton"; + this.ScenarioClusterPointAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.ScenarioClusterPointAddToProjectButton.TabIndex = 6; + this.ScenarioClusterPointAddToProjectButton.Text = "Add to Project"; + this.ScenarioClusterPointAddToProjectButton.UseVisualStyleBackColor = true; + this.ScenarioClusterPointAddToProjectButton.Click += new System.EventHandler(this.ScenarioClusterPointAddToProjectButton_Click); + // + // ScenarioClusterPointPanel + // + this.ScenarioClusterPointPanel.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.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointImapHashLabel); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointImapTextBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label143); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointGroupHashLabel); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointGroupTextBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label141); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointInteriorHashLabel); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointFlagsCheckedListBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label142); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointDirectionTextBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label144); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointFlagsUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.label145); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointGoToButton); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointWaitTimeUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointPositionTextBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label146); + this.ScenarioClusterPointPanel.Controls.Add(this.label147); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointRadiusUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.label148); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointSpOnlyFlagUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.label149); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointProbabilityUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointInteriorTextBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label151); + this.ScenarioClusterPointPanel.Controls.Add(this.label152); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointTimeEndUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointTimeStartUpDown); + this.ScenarioClusterPointPanel.Controls.Add(this.label153); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointModelSetComboBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label154); + this.ScenarioClusterPointPanel.Controls.Add(this.ScenarioClusterPointTypeComboBox); + this.ScenarioClusterPointPanel.Controls.Add(this.label155); + this.ScenarioClusterPointPanel.Location = new System.Drawing.Point(0, 3); + this.ScenarioClusterPointPanel.Name = "ScenarioClusterPointPanel"; + this.ScenarioClusterPointPanel.Size = new System.Drawing.Size(551, 414); + this.ScenarioClusterPointPanel.TabIndex = 8; + // + // ScenarioClusterPointImapHashLabel + // + this.ScenarioClusterPointImapHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointImapHashLabel.AutoSize = true; + this.ScenarioClusterPointImapHashLabel.Location = new System.Drawing.Point(382, 146); + this.ScenarioClusterPointImapHashLabel.Name = "ScenarioClusterPointImapHashLabel"; + this.ScenarioClusterPointImapHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioClusterPointImapHashLabel.TabIndex = 22; + this.ScenarioClusterPointImapHashLabel.Text = "Hash: 0"; + // + // ScenarioClusterPointImapTextBox + // + this.ScenarioClusterPointImapTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointImapTextBox.Location = new System.Drawing.Point(73, 143); + this.ScenarioClusterPointImapTextBox.Name = "ScenarioClusterPointImapTextBox"; + this.ScenarioClusterPointImapTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioClusterPointImapTextBox.TabIndex = 21; + this.ScenarioClusterPointImapTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterPointImapTextBox_TextChanged); + // + // label143 + // + this.label143.AutoSize = true; + this.label143.Location = new System.Drawing.Point(34, 146); + this.label143.Name = "label143"; + this.label143.Size = new System.Drawing.Size(33, 13); + this.label143.TabIndex = 20; + this.label143.Text = "Imap:"; + // + // ScenarioClusterPointGroupHashLabel + // + this.ScenarioClusterPointGroupHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointGroupHashLabel.AutoSize = true; + this.ScenarioClusterPointGroupHashLabel.Location = new System.Drawing.Point(382, 123); + this.ScenarioClusterPointGroupHashLabel.Name = "ScenarioClusterPointGroupHashLabel"; + this.ScenarioClusterPointGroupHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioClusterPointGroupHashLabel.TabIndex = 19; + this.ScenarioClusterPointGroupHashLabel.Text = "Hash: 0"; + // + // ScenarioClusterPointGroupTextBox + // + this.ScenarioClusterPointGroupTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointGroupTextBox.Location = new System.Drawing.Point(73, 120); + this.ScenarioClusterPointGroupTextBox.Name = "ScenarioClusterPointGroupTextBox"; + this.ScenarioClusterPointGroupTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioClusterPointGroupTextBox.TabIndex = 18; + this.ScenarioClusterPointGroupTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterPointGroupTextBox_TextChanged); + // + // label141 + // + this.label141.AutoSize = true; + this.label141.Location = new System.Drawing.Point(28, 123); + this.label141.Name = "label141"; + this.label141.Size = new System.Drawing.Size(39, 13); + this.label141.TabIndex = 17; + this.label141.Text = "Group:"; + // + // ScenarioClusterPointInteriorHashLabel + // + this.ScenarioClusterPointInteriorHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointInteriorHashLabel.AutoSize = true; + this.ScenarioClusterPointInteriorHashLabel.Location = new System.Drawing.Point(382, 100); + this.ScenarioClusterPointInteriorHashLabel.Name = "ScenarioClusterPointInteriorHashLabel"; + this.ScenarioClusterPointInteriorHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioClusterPointInteriorHashLabel.TabIndex = 16; + this.ScenarioClusterPointInteriorHashLabel.Text = "Hash: 0"; + // + // ScenarioClusterPointFlagsCheckedListBox + // + this.ScenarioClusterPointFlagsCheckedListBox.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.ScenarioClusterPointFlagsCheckedListBox.CheckOnClick = true; + this.ScenarioClusterPointFlagsCheckedListBox.FormattingEnabled = true; + this.ScenarioClusterPointFlagsCheckedListBox.Items.AddRange(new object[] { + "1 - IgnoreMaxInRange", + "2 - NoSpawn", + "4 - StationaryReactions", + "8 - Unk", + "16 - Unk", + "32 - ActivateVehicleSiren", + "64 - AggressiveVehicleDriving", + "128 - Unk", + "256 - Unk", + "512 - Unk", + "1024 - AerialVehiclePoint", + "2048 - TerritorialScenario", + "4096 - Unk", + "8192 - Unk", + "16384 - Unk", + "32768 - Unk", + "65536 - InWater", + "131072 - Unk", + "262144 - OpenDoor", + "524288 - PreciseUseTime", + "1048576 - Unk", + "2097152 - Unk", + "4194304 - ExtendedRange", + "8388608 - ShortRange", + "16777216 - HighPriority", + "33554432 - IgnoreLoitering", + "67108864 - UseSearchlight", + "134217728 - ResetNoCollisionOnCleanUp", + "268435456 - Unk", + "536870912 - Unk", + "1073741824 - IgnoreWeatherRestrictions"}); + this.ScenarioClusterPointFlagsCheckedListBox.Location = new System.Drawing.Point(195, 167); + this.ScenarioClusterPointFlagsCheckedListBox.Name = "ScenarioClusterPointFlagsCheckedListBox"; + this.ScenarioClusterPointFlagsCheckedListBox.Size = new System.Drawing.Size(255, 214); + this.ScenarioClusterPointFlagsCheckedListBox.TabIndex = 37; + this.ScenarioClusterPointFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.ScenarioClusterPointFlagsCheckedListBox_ItemCheck); + // + // label142 + // + this.label142.AutoSize = true; + this.label142.Location = new System.Drawing.Point(32, 325); + this.label142.Name = "label142"; + this.label142.Size = new System.Drawing.Size(35, 13); + this.label142.TabIndex = 35; + this.label142.Text = "Flags:"; + // + // ScenarioClusterPointDirectionTextBox + // + this.ScenarioClusterPointDirectionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointDirectionTextBox.Location = new System.Drawing.Point(73, 26); + this.ScenarioClusterPointDirectionTextBox.Name = "ScenarioClusterPointDirectionTextBox"; + this.ScenarioClusterPointDirectionTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioClusterPointDirectionTextBox.TabIndex = 9; + this.ScenarioClusterPointDirectionTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterPointDirectionTextBox_TextChanged); + // + // label144 + // + this.label144.AutoSize = true; + this.label144.Location = new System.Drawing.Point(15, 29); + this.label144.Name = "label144"; + this.label144.Size = new System.Drawing.Size(52, 13); + this.label144.TabIndex = 8; + this.label144.Text = "Direction:"; + // + // ScenarioClusterPointFlagsUpDown + // + this.ScenarioClusterPointFlagsUpDown.Location = new System.Drawing.Point(73, 323); + this.ScenarioClusterPointFlagsUpDown.Maximum = new decimal(new int[] { + -1, + 0, + 0, + 0}); + this.ScenarioClusterPointFlagsUpDown.Name = "ScenarioClusterPointFlagsUpDown"; + this.ScenarioClusterPointFlagsUpDown.Size = new System.Drawing.Size(116, 20); + this.ScenarioClusterPointFlagsUpDown.TabIndex = 36; + this.ScenarioClusterPointFlagsUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointFlagsUpDown_ValueChanged); + // + // label145 + // + this.label145.AutoSize = true; + this.label145.Location = new System.Drawing.Point(13, 299); + this.label145.Name = "label145"; + this.label145.Size = new System.Drawing.Size(54, 13); + this.label145.TabIndex = 33; + this.label145.Text = "Wait time:"; + // + // ScenarioClusterPointGoToButton + // + this.ScenarioClusterPointGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointGoToButton.Location = new System.Drawing.Point(382, 1); + this.ScenarioClusterPointGoToButton.Name = "ScenarioClusterPointGoToButton"; + this.ScenarioClusterPointGoToButton.Size = new System.Drawing.Size(68, 23); + this.ScenarioClusterPointGoToButton.TabIndex = 7; + this.ScenarioClusterPointGoToButton.Text = "Go to"; + this.ScenarioClusterPointGoToButton.UseVisualStyleBackColor = true; + this.ScenarioClusterPointGoToButton.Click += new System.EventHandler(this.ScenarioClusterPointGoToButton_Click); + // + // ScenarioClusterPointWaitTimeUpDown + // + this.ScenarioClusterPointWaitTimeUpDown.Location = new System.Drawing.Point(73, 297); + this.ScenarioClusterPointWaitTimeUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioClusterPointWaitTimeUpDown.Name = "ScenarioClusterPointWaitTimeUpDown"; + this.ScenarioClusterPointWaitTimeUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointWaitTimeUpDown.TabIndex = 34; + this.ScenarioClusterPointWaitTimeUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointWaitTimeUpDown_ValueChanged); + // + // ScenarioClusterPointPositionTextBox + // + this.ScenarioClusterPointPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointPositionTextBox.Location = new System.Drawing.Point(73, 3); + this.ScenarioClusterPointPositionTextBox.Name = "ScenarioClusterPointPositionTextBox"; + this.ScenarioClusterPointPositionTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioClusterPointPositionTextBox.TabIndex = 6; + this.ScenarioClusterPointPositionTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterPointPositionTextBox_TextChanged); + // + // label146 + // + this.label146.AutoSize = true; + this.label146.Location = new System.Drawing.Point(20, 6); + this.label146.Name = "label146"; + this.label146.Size = new System.Drawing.Size(47, 13); + this.label146.TabIndex = 5; + this.label146.Text = "Position:"; + // + // label147 + // + this.label147.AutoSize = true; + this.label147.Location = new System.Drawing.Point(24, 273); + this.label147.Name = "label147"; + this.label147.Size = new System.Drawing.Size(43, 13); + this.label147.TabIndex = 31; + this.label147.Text = "Radius:"; + // + // ScenarioClusterPointRadiusUpDown + // + this.ScenarioClusterPointRadiusUpDown.Location = new System.Drawing.Point(73, 271); + this.ScenarioClusterPointRadiusUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioClusterPointRadiusUpDown.Name = "ScenarioClusterPointRadiusUpDown"; + this.ScenarioClusterPointRadiusUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointRadiusUpDown.TabIndex = 32; + this.ScenarioClusterPointRadiusUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointRadiusUpDown_ValueChanged); + // + // label148 + // + this.label148.AutoSize = true; + this.label148.Location = new System.Drawing.Point(3, 247); + this.label148.Name = "label148"; + this.label148.Size = new System.Drawing.Size(64, 13); + this.label148.TabIndex = 29; + this.label148.Text = "SpOnly flag:"; + // + // ScenarioClusterPointSpOnlyFlagUpDown + // + this.ScenarioClusterPointSpOnlyFlagUpDown.Location = new System.Drawing.Point(73, 245); + this.ScenarioClusterPointSpOnlyFlagUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioClusterPointSpOnlyFlagUpDown.Name = "ScenarioClusterPointSpOnlyFlagUpDown"; + this.ScenarioClusterPointSpOnlyFlagUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointSpOnlyFlagUpDown.TabIndex = 30; + this.ScenarioClusterPointSpOnlyFlagUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointSpOnlyFlagUpDown_ValueChanged); + // + // label149 + // + this.label149.AutoSize = true; + this.label149.Location = new System.Drawing.Point(9, 221); + this.label149.Name = "label149"; + this.label149.Size = new System.Drawing.Size(58, 13); + this.label149.TabIndex = 27; + this.label149.Text = "Probability:"; + // + // ScenarioClusterPointProbabilityUpDown + // + this.ScenarioClusterPointProbabilityUpDown.Location = new System.Drawing.Point(73, 219); + this.ScenarioClusterPointProbabilityUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.ScenarioClusterPointProbabilityUpDown.Name = "ScenarioClusterPointProbabilityUpDown"; + this.ScenarioClusterPointProbabilityUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointProbabilityUpDown.TabIndex = 28; + this.ScenarioClusterPointProbabilityUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointProbabilityUpDown_ValueChanged); + // + // ScenarioClusterPointInteriorTextBox + // + this.ScenarioClusterPointInteriorTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointInteriorTextBox.Location = new System.Drawing.Point(73, 97); + this.ScenarioClusterPointInteriorTextBox.Name = "ScenarioClusterPointInteriorTextBox"; + this.ScenarioClusterPointInteriorTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioClusterPointInteriorTextBox.TabIndex = 15; + this.ScenarioClusterPointInteriorTextBox.TextChanged += new System.EventHandler(this.ScenarioClusterPointInteriorTextBox_TextChanged); + // + // label151 + // + this.label151.AutoSize = true; + this.label151.Location = new System.Drawing.Point(25, 100); + this.label151.Name = "label151"; + this.label151.Size = new System.Drawing.Size(42, 13); + this.label151.TabIndex = 14; + this.label151.Text = "Interior:"; + // + // label152 + // + this.label152.AutoSize = true; + this.label152.Location = new System.Drawing.Point(13, 195); + this.label152.Name = "label152"; + this.label152.Size = new System.Drawing.Size(54, 13); + this.label152.TabIndex = 25; + this.label152.Text = "Time end:"; + // + // ScenarioClusterPointTimeEndUpDown + // + this.ScenarioClusterPointTimeEndUpDown.Location = new System.Drawing.Point(73, 193); + this.ScenarioClusterPointTimeEndUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioClusterPointTimeEndUpDown.Name = "ScenarioClusterPointTimeEndUpDown"; + this.ScenarioClusterPointTimeEndUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointTimeEndUpDown.TabIndex = 26; + this.ScenarioClusterPointTimeEndUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointTimeEndUpDown_ValueChanged); + // + // ScenarioClusterPointTimeStartUpDown + // + this.ScenarioClusterPointTimeStartUpDown.Location = new System.Drawing.Point(73, 167); + this.ScenarioClusterPointTimeStartUpDown.Maximum = new decimal(new int[] { + 24, + 0, + 0, + 0}); + this.ScenarioClusterPointTimeStartUpDown.Name = "ScenarioClusterPointTimeStartUpDown"; + this.ScenarioClusterPointTimeStartUpDown.Size = new System.Drawing.Size(57, 20); + this.ScenarioClusterPointTimeStartUpDown.TabIndex = 24; + this.ScenarioClusterPointTimeStartUpDown.ValueChanged += new System.EventHandler(this.ScenarioClusterPointTimeStartUpDown_ValueChanged); + // + // label153 + // + this.label153.AutoSize = true; + this.label153.Location = new System.Drawing.Point(11, 169); + this.label153.Name = "label153"; + this.label153.Size = new System.Drawing.Size(56, 13); + this.label153.TabIndex = 23; + this.label153.Text = "Time start:"; + // + // ScenarioClusterPointModelSetComboBox + // + this.ScenarioClusterPointModelSetComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointModelSetComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioClusterPointModelSetComboBox.FormattingEnabled = true; + this.ScenarioClusterPointModelSetComboBox.Location = new System.Drawing.Point(73, 73); + this.ScenarioClusterPointModelSetComboBox.Name = "ScenarioClusterPointModelSetComboBox"; + this.ScenarioClusterPointModelSetComboBox.Size = new System.Drawing.Size(377, 21); + this.ScenarioClusterPointModelSetComboBox.TabIndex = 13; + this.ScenarioClusterPointModelSetComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioClusterPointModelSetComboBox_SelectedIndexChanged); + // + // label154 + // + this.label154.AutoSize = true; + this.label154.Location = new System.Drawing.Point(9, 76); + this.label154.Name = "label154"; + this.label154.Size = new System.Drawing.Size(58, 13); + this.label154.TabIndex = 12; + this.label154.Text = "Model Set:"; + // + // ScenarioClusterPointTypeComboBox + // + this.ScenarioClusterPointTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioClusterPointTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.ScenarioClusterPointTypeComboBox.FormattingEnabled = true; + this.ScenarioClusterPointTypeComboBox.Location = new System.Drawing.Point(73, 49); + this.ScenarioClusterPointTypeComboBox.Name = "ScenarioClusterPointTypeComboBox"; + this.ScenarioClusterPointTypeComboBox.Size = new System.Drawing.Size(377, 21); + this.ScenarioClusterPointTypeComboBox.TabIndex = 11; + this.ScenarioClusterPointTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.ScenarioClusterPointTypeComboBox_SelectedIndexChanged); + // + // label155 + // + this.label155.AutoSize = true; + this.label155.Location = new System.Drawing.Point(33, 52); + this.label155.Name = "label155"; + this.label155.Size = new System.Drawing.Size(34, 13); + this.label155.TabIndex = 10; + this.label155.Text = "Type:"; + // + // EditScenarioNodePanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(562, 450); + this.Controls.Add(this.ScenarioTabControl); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditScenarioNodePanel"; + this.Text = "Edit Scenario Node"; + this.ScenarioTabControl.ResumeLayout(false); + this.ScenarioPointTabPage.ResumeLayout(false); + this.ScenarioPointOuterPanel.ResumeLayout(false); + this.ScenarioPointPanel.ResumeLayout(false); + this.ScenarioPointPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointFlagsValueUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointWaitTimeUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointRadiusUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointSpOnlyFlagUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointProbabilityUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointTimeEndUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioPointTimeStartUpDown)).EndInit(); + this.ScenarioEntityTabPage.ResumeLayout(false); + this.ScenarioEntityPanel.ResumeLayout(false); + this.ScenarioEntityPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityUnk2UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityUnk1UpDown)).EndInit(); + this.ScenarioEntityPointTabPage.ResumeLayout(false); + this.ScenarioEntityPointPanel.ResumeLayout(false); + this.ScenarioEntityPointPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointFlagsUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointEndUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioEntityPointStartUpDown)).EndInit(); + this.ScenarioChainTabPage.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel1.PerformLayout(); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainUnk1UpDown)).EndInit(); + this.ScenarioChainEdgePanel.ResumeLayout(false); + this.ScenarioChainEdgePanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainEdgeNodeIndexToUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioChainEdgeNodeIndexFromUpDown)).EndInit(); + this.ScenarioChainNodeTabPage.ResumeLayout(false); + this.ScenarioChainNodePanel.ResumeLayout(false); + this.ScenarioChainNodePanel.PerformLayout(); + this.ScenarioClusterTabPage.ResumeLayout(false); + this.ScenarioClusterPanel.ResumeLayout(false); + this.ScenarioClusterPanel.PerformLayout(); + this.ScenarioClusterPointTabPage.ResumeLayout(false); + this.ScenarioClusterPointPanel.ResumeLayout(false); + this.ScenarioClusterPointPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointFlagsUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointWaitTimeUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointRadiusUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointSpOnlyFlagUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointProbabilityUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointTimeEndUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ScenarioClusterPointTimeStartUpDown)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl ScenarioTabControl; + private System.Windows.Forms.TabPage ScenarioPointTabPage; + private System.Windows.Forms.Panel ScenarioPointOuterPanel; + private System.Windows.Forms.Panel ScenarioPointPanel; + private System.Windows.Forms.Label ScenarioPointImapHashLabel; + private System.Windows.Forms.TextBox ScenarioPointImapTextBox; + private System.Windows.Forms.Label label110; + private System.Windows.Forms.Label ScenarioPointGroupHashLabel; + private System.Windows.Forms.TextBox ScenarioPointGroupTextBox; + private System.Windows.Forms.Label label156; + private System.Windows.Forms.Label ScenarioPointInteriorHashLabel; + private System.Windows.Forms.CheckedListBox ScenarioPointFlagsCheckedListBox; + private System.Windows.Forms.Label label111; + private System.Windows.Forms.TextBox ScenarioPointDirectionTextBox; + private System.Windows.Forms.Label label97; + private System.Windows.Forms.NumericUpDown ScenarioPointFlagsValueUpDown; + private System.Windows.Forms.Label label109; + private System.Windows.Forms.Button ScenarioPointGoToButton; + private System.Windows.Forms.NumericUpDown ScenarioPointWaitTimeUpDown; + private System.Windows.Forms.TextBox ScenarioPointPositionTextBox; + private System.Windows.Forms.Label label62; + private System.Windows.Forms.Label label108; + private System.Windows.Forms.NumericUpDown ScenarioPointRadiusUpDown; + private System.Windows.Forms.Label label107; + private System.Windows.Forms.NumericUpDown ScenarioPointSpOnlyFlagUpDown; + private System.Windows.Forms.Label label106; + private System.Windows.Forms.NumericUpDown ScenarioPointProbabilityUpDown; + private System.Windows.Forms.TextBox ScenarioPointInteriorTextBox; + private System.Windows.Forms.Label label102; + private System.Windows.Forms.Label label101; + private System.Windows.Forms.NumericUpDown ScenarioPointTimeEndUpDown; + private System.Windows.Forms.NumericUpDown ScenarioPointTimeStartUpDown; + private System.Windows.Forms.Label label100; + private System.Windows.Forms.ComboBox ScenarioPointModelSetComboBox; + private System.Windows.Forms.Label label99; + private System.Windows.Forms.ComboBox ScenarioPointTypeComboBox; + private System.Windows.Forms.Label label98; + private System.Windows.Forms.Button ScenarioPointDeleteButton; + private System.Windows.Forms.Button ScenarioPointAddToProjectButton; + private System.Windows.Forms.TabPage ScenarioEntityTabPage; + private System.Windows.Forms.Button ScenarioEntityDeleteButton; + private System.Windows.Forms.Panel ScenarioEntityPanel; + private System.Windows.Forms.Label label160; + private System.Windows.Forms.Button ScenarioEntityAddPointButton; + private System.Windows.Forms.Label label161; + private System.Windows.Forms.ListBox ScenarioEntityPointsListBox; + private System.Windows.Forms.Label ScenarioEntityInfoLabel; + private System.Windows.Forms.Label label114; + private System.Windows.Forms.NumericUpDown ScenarioEntityUnk2UpDown; + private System.Windows.Forms.Label label113; + private System.Windows.Forms.NumericUpDown ScenarioEntityUnk1UpDown; + private System.Windows.Forms.Label ScenarioEntityTypeHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityTypeTextBox; + private System.Windows.Forms.Label label112; + private System.Windows.Forms.Button ScenarioEntityGoToButton; + private System.Windows.Forms.TextBox ScenarioEntityPositionTextBox; + private System.Windows.Forms.Label label104; + private System.Windows.Forms.Button ScenarioEntityAddToProjectButton; + private System.Windows.Forms.TabPage ScenarioEntityPointTabPage; + private System.Windows.Forms.Button ScenarioEntityPointDeleteButton; + private System.Windows.Forms.Button ScenarioEntityPointAddToProjectButton; + private System.Windows.Forms.Panel ScenarioEntityPointPanel; + private System.Windows.Forms.Label ScenarioEntityPointNameHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointNameTextBox; + private System.Windows.Forms.CheckedListBox ScenarioEntityPointFlagsCheckedListBox; + private System.Windows.Forms.Label label135; + private System.Windows.Forms.NumericUpDown ScenarioEntityPointFlagsUpDown; + private System.Windows.Forms.CheckBox ScenarioEntityPointShortRangeCheckBox; + private System.Windows.Forms.CheckBox ScenarioEntityPointExtendedRangeCheckBox; + private System.Windows.Forms.CheckBox ScenarioEntityPointHighPriCheckBox; + private System.Windows.Forms.Label label133; + private System.Windows.Forms.NumericUpDown ScenarioEntityPointEndUpDown; + private System.Windows.Forms.NumericUpDown ScenarioEntityPointStartUpDown; + private System.Windows.Forms.Label label134; + private System.Windows.Forms.TextBox ScenarioEntityPointRadiusTextBox; + private System.Windows.Forms.Label label132; + private System.Windows.Forms.TextBox ScenarioEntityPointTimeTillPedLeavesTextBox; + private System.Windows.Forms.Label label131; + private System.Windows.Forms.TextBox ScenarioEntityPointProbabilityTextBox; + private System.Windows.Forms.Label label130; + private System.Windows.Forms.ComboBox ScenarioEntityPointAvailableInMpSpComboBox; + private System.Windows.Forms.Label label129; + private System.Windows.Forms.Label ScenarioEntityPointRequiredImapHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointRequiredImapTextBox; + private System.Windows.Forms.Label label128; + private System.Windows.Forms.Label ScenarioEntityPointInteriorHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointInteriorTextBox; + private System.Windows.Forms.Label label126; + private System.Windows.Forms.Label ScenarioEntityPointGroupHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointGroupTextBox; + private System.Windows.Forms.Label label124; + private System.Windows.Forms.Label ScenarioEntityPointPedTypeHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointPedTypeTextBox; + private System.Windows.Forms.Label label122; + private System.Windows.Forms.Label ScenarioEntityPointSpawnTypeHashLabel; + private System.Windows.Forms.TextBox ScenarioEntityPointSpawnTypeTextBox; + private System.Windows.Forms.Label label120; + private System.Windows.Forms.TextBox ScenarioEntityPointRotationTextBox; + private System.Windows.Forms.Label label118; + private System.Windows.Forms.Button ScenarioEntityPointGoToButton; + private System.Windows.Forms.TextBox ScenarioEntityPointPositionTextBox; + private System.Windows.Forms.Label label117; + private System.Windows.Forms.Label label116; + private System.Windows.Forms.TabPage ScenarioChainTabPage; + private System.Windows.Forms.Button ScenarioChainDeleteButton; + private System.Windows.Forms.Button ScenarioChainAddToProjectButton; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.Button ScenarioChainMoveEdgeDownButton; + private System.Windows.Forms.Button ScenarioChainMoveEdgeUpButton; + private System.Windows.Forms.Label label138; + private System.Windows.Forms.NumericUpDown ScenarioChainUnk1UpDown; + private System.Windows.Forms.Button ScenarioChainRemoveEdgeButton; + private System.Windows.Forms.Button ScenarioChainAddEdgeButton; + private System.Windows.Forms.ListBox ScenarioChainEdgesListBox; + private System.Windows.Forms.Label ScenarioChainEdgeCountLabel; + private System.Windows.Forms.Panel ScenarioChainEdgePanel; + private System.Windows.Forms.ComboBox ScenarioChainEdgeNavSpeedComboBox; + private System.Windows.Forms.Label label137; + private System.Windows.Forms.ComboBox ScenarioChainEdgeNavModeComboBox; + private System.Windows.Forms.Label label136; + private System.Windows.Forms.ComboBox ScenarioChainEdgeActionComboBox; + private System.Windows.Forms.Label label127; + private System.Windows.Forms.NumericUpDown ScenarioChainEdgeNodeIndexToUpDown; + private System.Windows.Forms.NumericUpDown ScenarioChainEdgeNodeIndexFromUpDown; + private System.Windows.Forms.Label label125; + private System.Windows.Forms.Label label121; + private System.Windows.Forms.TabPage ScenarioChainNodeTabPage; + private System.Windows.Forms.Panel ScenarioChainNodePanel; + private System.Windows.Forms.ComboBox ScenarioChainNodeTypeComboBox; + private System.Windows.Forms.TextBox ScenarioChainNodeIndexTextBox; + private System.Windows.Forms.Label label115; + private System.Windows.Forms.CheckBox ScenarioChainNodeLastCheckBox; + private System.Windows.Forms.CheckBox ScenarioChainNodeFirstCheckBox; + private System.Windows.Forms.Label label123; + private System.Windows.Forms.Label ScenarioChainNodeUnk1HashLabel; + private System.Windows.Forms.TextBox ScenarioChainNodeUnk1TextBox; + private System.Windows.Forms.Label label119; + private System.Windows.Forms.Button ScenarioChainNodeGoToButton; + private System.Windows.Forms.TextBox ScenarioChainNodePositionTextBox; + private System.Windows.Forms.Label label105; + private System.Windows.Forms.Button ScenarioChainNodeDeleteButton; + private System.Windows.Forms.Button ScenarioChainNodeAddToProjectButton; + private System.Windows.Forms.TabPage ScenarioClusterTabPage; + private System.Windows.Forms.Button ScenarioClusterDeleteButton; + private System.Windows.Forms.Button ScenarioClusterAddToProjectButton; + private System.Windows.Forms.Panel ScenarioClusterPanel; + private System.Windows.Forms.Label label159; + private System.Windows.Forms.Button ScenarioClusterAddPointButton; + private System.Windows.Forms.Label label158; + private System.Windows.Forms.ListBox ScenarioClusterPointsListBox; + private System.Windows.Forms.TextBox ScenarioClusterRadiusTextBox; + private System.Windows.Forms.Label label157; + private System.Windows.Forms.CheckBox ScenarioClusterUnk2CheckBox; + private System.Windows.Forms.TextBox ScenarioClusterUnk1TextBox; + private System.Windows.Forms.Label label140; + private System.Windows.Forms.Button ScenarioClusterGoToButton; + private System.Windows.Forms.TextBox ScenarioClusterCenterTextBox; + private System.Windows.Forms.Label label139; + private System.Windows.Forms.TabPage ScenarioClusterPointTabPage; + private System.Windows.Forms.Button ScenarioClusterPointDeleteButton; + private System.Windows.Forms.Button ScenarioClusterPointAddToProjectButton; + private System.Windows.Forms.Panel ScenarioClusterPointPanel; + private System.Windows.Forms.Label ScenarioClusterPointImapHashLabel; + private System.Windows.Forms.TextBox ScenarioClusterPointImapTextBox; + private System.Windows.Forms.Label label143; + private System.Windows.Forms.Label ScenarioClusterPointGroupHashLabel; + private System.Windows.Forms.TextBox ScenarioClusterPointGroupTextBox; + private System.Windows.Forms.Label label141; + private System.Windows.Forms.Label ScenarioClusterPointInteriorHashLabel; + private System.Windows.Forms.CheckedListBox ScenarioClusterPointFlagsCheckedListBox; + private System.Windows.Forms.Label label142; + private System.Windows.Forms.TextBox ScenarioClusterPointDirectionTextBox; + private System.Windows.Forms.Label label144; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointFlagsUpDown; + private System.Windows.Forms.Label label145; + private System.Windows.Forms.Button ScenarioClusterPointGoToButton; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointWaitTimeUpDown; + private System.Windows.Forms.TextBox ScenarioClusterPointPositionTextBox; + private System.Windows.Forms.Label label146; + private System.Windows.Forms.Label label147; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointRadiusUpDown; + private System.Windows.Forms.Label label148; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointSpOnlyFlagUpDown; + private System.Windows.Forms.Label label149; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointProbabilityUpDown; + private System.Windows.Forms.TextBox ScenarioClusterPointInteriorTextBox; + private System.Windows.Forms.Label label151; + private System.Windows.Forms.Label label152; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointTimeEndUpDown; + private System.Windows.Forms.NumericUpDown ScenarioClusterPointTimeStartUpDown; + private System.Windows.Forms.Label label153; + private System.Windows.Forms.ComboBox ScenarioClusterPointModelSetComboBox; + private System.Windows.Forms.Label label154; + private System.Windows.Forms.ComboBox ScenarioClusterPointTypeComboBox; + private System.Windows.Forms.Label label155; + } +} \ No newline at end of file diff --git a/Project/Panels/EditScenarioNodePanel.cs b/Project/Panels/EditScenarioNodePanel.cs new file mode 100644 index 0000000..2952a36 --- /dev/null +++ b/Project/Panels/EditScenarioNodePanel.cs @@ -0,0 +1,2401 @@ +using CodeWalker.GameFiles; +using CodeWalker.World; +using SharpDX; +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.Project.Panels +{ + public partial class EditScenarioNodePanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public ScenarioNode CurrentScenarioNode { get; set; } + public YmtFile CurrentScenario { get; set; } + public MCScenarioChainingEdge CurrentScenarioChainEdge { get; set; } + + private bool populatingui = false; + + public EditScenarioNodePanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetScenarioNode(ScenarioNode node) + { + CurrentScenarioNode = node; + CurrentScenario = node?.Ymt; + Tag = node; + UpdateFormTitle(); + UpdateScenarioNodeUI(); + } + + private void UpdateFormTitle() + { + var sn = CurrentScenarioNode.ToString(); + Text = sn; + } + + public void UpdateScenarioNodeUI() + { + populatingui = true; + + LoadScenarioDropDowns(); + + LoadScenarioPointTabPage(); + LoadScenarioEntityTabPage(); + LoadScenarioEntityPointTabPage(); + LoadScenarioChainTabPage(); + LoadScenarioChainEdgeTabPage(); + LoadScenarioChainNodeTabPage(); + LoadScenarioClusterTabPage(); + LoadScenarioClusterPointTabPage(); + populatingui = false; + + UpdateTabVisibility(); + + if (CurrentScenarioNode != null) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectScenarioNode(CurrentScenarioNode); + } + } + } + + private void UpdateTabVisibility() + { + + + //avoid resetting the tabs if no change is necessary. + bool ok = true; + bool pointTabVis = false; + bool entTabVis = false; + bool entPntTabVis = false; + bool chainTabVis = false; + bool chainNodeTabVis = false; + bool clusterTabVis = false; + bool clusterNodeTabVis = false; + foreach (var tab in ScenarioTabControl.TabPages) + { + if (tab == ScenarioPointTabPage) pointTabVis = true; + if (tab == ScenarioEntityTabPage) entTabVis = true; + if (tab == ScenarioEntityPointTabPage) entPntTabVis = true; + if (tab == ScenarioChainTabPage) chainTabVis = true; + if (tab == ScenarioChainNodeTabPage) chainNodeTabVis = true; + if (tab == ScenarioClusterTabPage) clusterTabVis = true; + if (tab == ScenarioClusterPointTabPage) clusterNodeTabVis = true; + } + + if ((CurrentScenarioNode?.MyPoint != null) != pointTabVis) ok = false; + if ((CurrentScenarioNode?.Entity != null) != entTabVis) ok = false; + if ((CurrentScenarioNode?.EntityPoint != null) != entPntTabVis) ok = false; + if ((CurrentScenarioNode?.ChainingNode != null) != chainTabVis) ok = false; + if ((CurrentScenarioNode?.ChainingNode != null) != chainNodeTabVis) ok = false; + if ((CurrentScenarioNode?.Cluster != null) != clusterTabVis) ok = false; + if ((CurrentScenarioNode?.ClusterMyPoint != null) != clusterNodeTabVis) ok = false; + if (ok) return; + + var seltab = ScenarioTabControl.SelectedTab; + + ScenarioTabControl.TabPages.Clear(); + + if (CurrentScenarioNode?.MyPoint != null) ScenarioTabControl.TabPages.Add(ScenarioPointTabPage); + if (CurrentScenarioNode?.Entity != null) ScenarioTabControl.TabPages.Add(ScenarioEntityTabPage); + if (CurrentScenarioNode?.EntityPoint != null) ScenarioTabControl.TabPages.Add(ScenarioEntityPointTabPage); + if (CurrentScenarioNode?.ChainingNode != null) ScenarioTabControl.TabPages.Add(ScenarioChainTabPage); + if (CurrentScenarioNode?.ChainingNode != null) ScenarioTabControl.TabPages.Add(ScenarioChainNodeTabPage); + if (CurrentScenarioNode?.Cluster != null) ScenarioTabControl.TabPages.Add(ScenarioClusterTabPage); + if (CurrentScenarioNode?.ClusterMyPoint != null) ScenarioTabControl.TabPages.Add(ScenarioClusterPointTabPage); + + if (ScenarioTabControl.TabPages.Contains(seltab)) + { + ScenarioTabControl.SelectedTab = seltab; + } + } + + + private void LoadScenarioDropDowns() + { + if (ScenarioPointTypeComboBox.Items.Count > 0) return; + + var types = Scenarios.ScenarioTypes; //these are loaded by Scenarios.Init + if (types == null) + { return; } + + var stypes = types.GetScenarioTypes(); + if (stypes == null) return; + + var pmsets = types.GetPedModelSets(); + if (pmsets == null) return; + + var vmsets = types.GetVehicleModelSets(); + if (vmsets == null) return; + + ScenarioPointTypeComboBox.Items.Clear(); + ScenarioPointTypeComboBox.Items.Add(""); + ScenarioClusterPointTypeComboBox.Items.Clear(); + ScenarioClusterPointTypeComboBox.Items.Add(""); + ScenarioChainNodeTypeComboBox.Items.Clear(); + ScenarioChainNodeTypeComboBox.Items.Add(""); + foreach (var stype in stypes) + { + ScenarioPointTypeComboBox.Items.Add(stype); + ScenarioClusterPointTypeComboBox.Items.Add(stype); + ScenarioChainNodeTypeComboBox.Items.Add(stype); + } + + ScenarioPointModelSetComboBox.Items.Clear(); + ScenarioPointModelSetComboBox.Items.Add(""); + ScenarioClusterPointModelSetComboBox.Items.Clear(); + ScenarioClusterPointModelSetComboBox.Items.Add(""); + foreach (var pmset in pmsets) + { + ScenarioPointModelSetComboBox.Items.Add(pmset); + ScenarioClusterPointModelSetComboBox.Items.Add(pmset); + } + foreach (var vmset in vmsets) + { + ScenarioPointModelSetComboBox.Items.Add(vmset); + ScenarioClusterPointModelSetComboBox.Items.Add(vmset); + } + + + ScenarioEntityPointAvailableInMpSpComboBox.Items.Clear(); + ScenarioEntityPointAvailableInMpSpComboBox.Items.Add(Unk_3573596290.kBoth); + ScenarioEntityPointAvailableInMpSpComboBox.Items.Add(Unk_3573596290.kOnlySp); + ScenarioEntityPointAvailableInMpSpComboBox.Items.Add(Unk_3573596290.kOnlyMp); + + + ScenarioChainEdgeActionComboBox.Items.Clear(); + ScenarioChainEdgeActionComboBox.Items.Add(Unk_3609807418.Move); + ScenarioChainEdgeActionComboBox.Items.Add(Unk_3609807418.Unk_7865678); + ScenarioChainEdgeActionComboBox.Items.Add(Unk_3609807418.MoveFollowMaster); + + ScenarioChainEdgeNavModeComboBox.Items.Clear(); + ScenarioChainEdgeNavModeComboBox.Items.Add(Unk_3971773454.Direct); + ScenarioChainEdgeNavModeComboBox.Items.Add(Unk_3971773454.NavMesh); + ScenarioChainEdgeNavModeComboBox.Items.Add(Unk_3971773454.Roads); + + ScenarioChainEdgeNavSpeedComboBox.Items.Clear(); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_00_3279574318); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_01_2212923970); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_02_4022799658); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_03_1425672334); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_04_957720931); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_05_3795195414); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_06_2834622009); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_07_1876554076); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_08_698543797); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_09_1544199634); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_10_2725613303); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_11_4033265820); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_12_3054809929); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_13_3911005380); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_14_3717649022); + ScenarioChainEdgeNavSpeedComboBox.Items.Add(Unk_941086046.Unk_15_3356026130); + + } + + private void LoadScenarioPointTabPage() + { + var p = CurrentScenarioNode?.MyPoint; + if (p == null) + { + //ScenarioPointPanel.Enabled = false; + //ScenarioPointCheckBox.Checked = false; + ScenarioPointAddToProjectButton.Enabled = false; + ScenarioPointDeleteButton.Enabled = false; + ScenarioPointPositionTextBox.Text = ""; + ScenarioPointDirectionTextBox.Text = ""; + ScenarioPointTypeComboBox.SelectedItem = null; + ScenarioPointModelSetComboBox.SelectedItem = null; + ScenarioPointInteriorTextBox.Text = ""; + ScenarioPointInteriorHashLabel.Text = "Hash: 0"; + ScenarioPointGroupTextBox.Text = ""; + ScenarioPointGroupHashLabel.Text = "Hash: 0"; + ScenarioPointImapTextBox.Text = ""; + ScenarioPointImapHashLabel.Text = "Hash: 0"; + ScenarioPointTimeStartUpDown.Value = 0; + ScenarioPointTimeEndUpDown.Value = 0; + ScenarioPointProbabilityUpDown.Value = 0; + ScenarioPointSpOnlyFlagUpDown.Value = 0; + ScenarioPointRadiusUpDown.Value = 0; + ScenarioPointWaitTimeUpDown.Value = 0; + ScenarioPointFlagsValueUpDown.Value = 0; + foreach (int i in ScenarioPointFlagsCheckedListBox.CheckedIndices) + { + ScenarioPointFlagsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); + } + } + else + { + //ScenarioPointPanel.Enabled = true; + //ScenarioPointCheckBox.Checked = true; + ScenarioPointDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioPointAddToProjectButton.Enabled = !ScenarioPointDeleteButton.Enabled; + ScenarioPointPositionTextBox.Text = FloatUtil.GetVector3String(p.Position); + ScenarioPointDirectionTextBox.Text = FloatUtil.ToString(p.Direction); + ScenarioPointTypeComboBox.SelectedItem = ((object)p.Type) ?? ""; + ScenarioPointModelSetComboBox.SelectedItem = ((object)p.ModelSet) ?? ""; + ScenarioPointInteriorTextBox.Text = p.InteriorName.ToString(); + ScenarioPointInteriorHashLabel.Text = "Hash: " + p.InteriorName.Hash.ToString(); + ScenarioPointGroupTextBox.Text = p.GroupName.ToString(); + ScenarioPointGroupHashLabel.Text = "Hash: " + p.GroupName.Hash.ToString(); + ScenarioPointImapTextBox.Text = p.IMapName.ToString(); + ScenarioPointImapHashLabel.Text = "Hash: " + p.IMapName.Hash.ToString(); + ScenarioPointTimeStartUpDown.Value = p.TimeStart; + ScenarioPointTimeEndUpDown.Value = p.TimeEnd; + ScenarioPointProbabilityUpDown.Value = p.Probability; + ScenarioPointSpOnlyFlagUpDown.Value = p.AvailableMpSp; + ScenarioPointRadiusUpDown.Value = p.Radius; + ScenarioPointWaitTimeUpDown.Value = p.WaitTime; + var iflags = (int)p.Flags; + ScenarioPointFlagsValueUpDown.Value = iflags; + for (int i = 0; i < ScenarioPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + } + } + + private void LoadScenarioEntityTabPage() + { + var e = CurrentScenarioNode?.Entity; + if (e == null) + { + //ScenarioEntityPanel.Enabled = false; + //ScenarioEntityCheckBox.Checked = false; + ScenarioEntityAddToProjectButton.Enabled = false; + ScenarioEntityDeleteButton.Enabled = false; + ScenarioEntityPositionTextBox.Text = ""; + ScenarioEntityTypeTextBox.Text = ""; + ScenarioEntityTypeHashLabel.Text = "Hash: 0"; + ScenarioEntityUnk1UpDown.Value = 0; + ScenarioEntityUnk2UpDown.Value = 0; + ScenarioEntityInfoLabel.Text = "0 override points"; + ScenarioEntityPointsListBox.Items.Clear(); + ScenarioEntityAddPointButton.Enabled = false; + } + else + { + //ScenarioEntityPanel.Enabled = true; + //ScenarioEntityCheckBox.Checked = true; + ScenarioEntityDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioEntityAddToProjectButton.Enabled = !ScenarioEntityDeleteButton.Enabled; + ScenarioEntityPositionTextBox.Text = FloatUtil.GetVector3String(e.Position); + ScenarioEntityTypeTextBox.Text = e.TypeName.ToString(); + ScenarioEntityTypeHashLabel.Text = "Hash: " + e.TypeName.Hash.ToString(); + ScenarioEntityUnk1UpDown.Value = e.Unk1; + ScenarioEntityUnk2UpDown.Value = e.Unk2; + var pc = e.ScenarioPoints?.Length ?? 0; + ScenarioEntityInfoLabel.Text = pc.ToString() + " override point" + ((pc != 1) ? "s" : ""); + ScenarioEntityPointsListBox.Items.Clear(); + ScenarioEntityAddPointButton.Enabled = true; + + if (e.ScenarioPoints != null) + { + foreach (var point in e.ScenarioPoints) + { + ScenarioEntityPointsListBox.Items.Add(point); + } + if (CurrentScenarioNode.EntityPoint != null) + { + ScenarioEntityPointsListBox.SelectedItem = CurrentScenarioNode.EntityPoint; + } + } + } + } + + private void LoadScenarioEntityPointTabPage() + { + var p = CurrentScenarioNode?.EntityPoint; + if (p == null) + { + //ScenarioEntityPointPanel.Enabled = false; + //ScenarioEntityPointCheckBox.Checked = false; + ScenarioEntityPointAddToProjectButton.Enabled = false; + ScenarioEntityPointDeleteButton.Enabled = false; + ScenarioEntityPointNameTextBox.Text = ""; + ScenarioEntityPointNameHashLabel.Text = "Hash: 0"; + ScenarioEntityPointPositionTextBox.Text = ""; + ScenarioEntityPointRotationTextBox.Text = ""; + ScenarioEntityPointSpawnTypeTextBox.Text = ""; + ScenarioEntityPointSpawnTypeHashLabel.Text = "Hash: 0"; + ScenarioEntityPointPedTypeTextBox.Text = ""; + ScenarioEntityPointPedTypeHashLabel.Text = "Hash: 0"; + ScenarioEntityPointGroupTextBox.Text = ""; + ScenarioEntityPointGroupHashLabel.Text = "Hash: 0"; + ScenarioEntityPointInteriorTextBox.Text = ""; + ScenarioEntityPointInteriorHashLabel.Text = "Hash: 0"; + ScenarioEntityPointRequiredImapTextBox.Text = ""; + ScenarioEntityPointRequiredImapHashLabel.Text = "Hash: 0"; + ScenarioEntityPointAvailableInMpSpComboBox.SelectedItem = null; + ScenarioEntityPointProbabilityTextBox.Text = ""; + ScenarioEntityPointTimeTillPedLeavesTextBox.Text = ""; + ScenarioEntityPointRadiusTextBox.Text = ""; + ScenarioEntityPointStartUpDown.Value = 0; + ScenarioEntityPointEndUpDown.Value = 0; + ScenarioEntityPointExtendedRangeCheckBox.Checked = false; + ScenarioEntityPointShortRangeCheckBox.Checked = false; + ScenarioEntityPointHighPriCheckBox.Checked = false; + ScenarioEntityPointFlagsUpDown.Value = 0; + foreach (int i in ScenarioEntityPointFlagsCheckedListBox.CheckedIndices) + { + ScenarioEntityPointFlagsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); + } + } + else + { + //ScenarioEntityPointPanel.Enabled = true; + //ScenarioEntityPointCheckBox.Checked = true; + ScenarioEntityPointDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioEntityPointAddToProjectButton.Enabled = !ScenarioEntityPointDeleteButton.Enabled; + ScenarioEntityPointNameTextBox.Text = p.NameHash.ToString(); + ScenarioEntityPointNameHashLabel.Text = "Hash: " + p.NameHash.Hash.ToString(); + ScenarioEntityPointPositionTextBox.Text = FloatUtil.GetVector3String(p.OffsetPosition); + ScenarioEntityPointRotationTextBox.Text = FloatUtil.GetVector4String(p.OffsetRotation); + ScenarioEntityPointSpawnTypeTextBox.Text = p.SpawnType.ToString(); + ScenarioEntityPointSpawnTypeHashLabel.Text = "Hash: " + p.SpawnType.Hash.ToString(); + ScenarioEntityPointPedTypeTextBox.Text = p.PedType.ToString(); + ScenarioEntityPointPedTypeHashLabel.Text = "Hash: " + p.PedType.Hash.ToString(); + ScenarioEntityPointGroupTextBox.Text = p.Group.ToString(); + ScenarioEntityPointGroupHashLabel.Text = "Hash: " + p.Group.Hash.ToString(); + ScenarioEntityPointInteriorTextBox.Text = p.Interior.ToString(); + ScenarioEntityPointInteriorHashLabel.Text = "Hash: " + p.Interior.Hash.ToString(); + ScenarioEntityPointRequiredImapTextBox.Text = p.RequiredImap.ToString(); + ScenarioEntityPointRequiredImapHashLabel.Text = "Hash: " + p.RequiredImap.Hash.ToString(); + ScenarioEntityPointAvailableInMpSpComboBox.SelectedItem = p.AvailableInMpSp; + ScenarioEntityPointProbabilityTextBox.Text = FloatUtil.ToString(p.Probability); + ScenarioEntityPointTimeTillPedLeavesTextBox.Text = FloatUtil.ToString(p.TimeTillPedLeaves); + ScenarioEntityPointRadiusTextBox.Text = FloatUtil.ToString(p.Radius); + ScenarioEntityPointStartUpDown.Value = p.StartTime; + ScenarioEntityPointEndUpDown.Value = p.EndTime; + ScenarioEntityPointExtendedRangeCheckBox.Checked = p.ExtendedRange; + ScenarioEntityPointShortRangeCheckBox.Checked = p.ShortRange; + ScenarioEntityPointHighPriCheckBox.Checked = p.HighPri; + var iflags = (int)p.Flags; + ScenarioEntityPointFlagsUpDown.Value = 0; + for (int i = 0; i < ScenarioEntityPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioEntityPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + + } + } + + private void LoadScenarioChainTabPage() + { + CurrentScenarioChainEdge = null; + ProjectForm.SetScenarioChainEdge(CurrentScenarioChainEdge); + + var n = CurrentScenarioNode?.ChainingNode; + if (n == null) + { + ScenarioChainAddToProjectButton.Enabled = false; + ScenarioChainDeleteButton.Enabled = false; + ScenarioChainEdgesListBox.Items.Clear(); + ScenarioChainEdgeCountLabel.Text = "Edge Count: 0"; + ScenarioChainUnk1UpDown.Value = 0; + } + else + { + ScenarioChainDeleteButton.Enabled = ScenarioChainNodeDeleteButton.Enabled;// ScenarioExistsInProject(CurrentScenario); + ScenarioChainAddToProjectButton.Enabled = !ScenarioChainDeleteButton.Enabled; + ScenarioChainEdgesListBox.Items.Clear(); + ScenarioChainEdgeCountLabel.Text = "Edge Count: " + (n.Chain?.EdgeIds?.Length ?? 0).ToString(); + ScenarioChainUnk1UpDown.Value = n.Chain?.Unk1 ?? 0; + + if ((n.Chain != null) && (n.Chain.Edges != null)) + { + foreach (var edge in n.Chain.Edges) + { + ScenarioChainEdgesListBox.Items.Add(edge); + } + } + else + { } + } + } + + private void LoadScenarioChainEdgeTabPage() + { + var e = CurrentScenarioChainEdge; + if (e == null) + { + ScenarioChainEdgePanel.Enabled = false; + ScenarioChainEdgeNodeIndexFromUpDown.Value = 0; + ScenarioChainEdgeNodeIndexToUpDown.Value = 0; + ScenarioChainEdgeActionComboBox.SelectedItem = null; + ScenarioChainEdgeNavModeComboBox.SelectedItem = null; + ScenarioChainEdgeNavSpeedComboBox.SelectedItem = null; + ScenarioChainMoveEdgeDownButton.Enabled = false; + ScenarioChainMoveEdgeUpButton.Enabled = false; + } + else + { + ScenarioChainEdgePanel.Enabled = true; + ScenarioChainEdgeNodeIndexFromUpDown.Value = e.NodeIndexFrom; + ScenarioChainEdgeNodeIndexToUpDown.Value = e.NodeIndexTo; + ScenarioChainEdgeActionComboBox.SelectedItem = e.Action; + ScenarioChainEdgeNavModeComboBox.SelectedItem = e.NavMode; + ScenarioChainEdgeNavSpeedComboBox.SelectedItem = e.NavSpeed; + ScenarioChainMoveEdgeDownButton.Enabled = true; + ScenarioChainMoveEdgeUpButton.Enabled = true; + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectScenarioEdge(CurrentScenarioNode, e); + } + } + } + + private void LoadScenarioChainNodeTabPage() + { + var n = CurrentScenarioNode?.ChainingNode; + if (n == null) + { + //ScenarioChainNodePanel.Enabled = false; + //ScenarioChainNodeCheckBox.Checked = false; + ScenarioChainNodeAddToProjectButton.Enabled = false; + ScenarioChainNodeDeleteButton.Enabled = false; + ScenarioChainNodePositionTextBox.Text = ""; + ScenarioChainNodeUnk1TextBox.Text = ""; + ScenarioChainNodeUnk1HashLabel.Text = "Hash: 0"; + ScenarioChainNodeTypeComboBox.SelectedItem = null; + ScenarioChainNodeFirstCheckBox.Checked = false; + ScenarioChainNodeLastCheckBox.Checked = false; + ScenarioChainNodeIndexTextBox.Text = ""; + } + else + { + //ScenarioChainNodePanel.Enabled = true; + //ScenarioChainNodeCheckBox.Checked = true; + ScenarioChainNodeDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioChainNodeAddToProjectButton.Enabled = !ScenarioChainNodeDeleteButton.Enabled; + ScenarioChainNodePositionTextBox.Text = FloatUtil.GetVector3String(n.Position); + ScenarioChainNodeUnk1TextBox.Text = n.Unk1.ToString(); + ScenarioChainNodeUnk1HashLabel.Text = "Hash: " + n.Unk1.Hash.ToString(); + ScenarioChainNodeTypeComboBox.SelectedItem = ((object)n.Type) ?? ""; + ScenarioChainNodeFirstCheckBox.Checked = !n.NotFirst; + ScenarioChainNodeLastCheckBox.Checked = !n.NotLast; + ScenarioChainNodeIndexTextBox.Text = n.NodeIndex.ToString(); + } + } + + private void LoadScenarioClusterTabPage() + { + var c = CurrentScenarioNode?.Cluster; + if (c == null) + { + //ScenarioClusterPanel.Enabled = false; + //ScenarioClusterCheckBox.Checked = false; + ScenarioClusterAddToProjectButton.Enabled = false; + ScenarioClusterDeleteButton.Enabled = false; + ScenarioClusterCenterTextBox.Text = ""; + ScenarioClusterRadiusTextBox.Text = ""; + ScenarioClusterUnk1TextBox.Text = ""; + ScenarioClusterUnk2CheckBox.Checked = false; + ScenarioClusterPointsListBox.Items.Clear(); + ScenarioClusterAddPointButton.Enabled = false; + } + else + { + //ScenarioClusterPanel.Enabled = true; + //ScenarioClusterCheckBox.Checked = true; + ScenarioClusterDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioClusterAddToProjectButton.Enabled = !ScenarioClusterDeleteButton.Enabled; + ScenarioClusterCenterTextBox.Text = FloatUtil.GetVector3String(c.Position); + ScenarioClusterRadiusTextBox.Text = FloatUtil.ToString(c.Radius); + ScenarioClusterUnk1TextBox.Text = FloatUtil.ToString(c.Unk1); + ScenarioClusterUnk2CheckBox.Checked = c.Unk2; + ScenarioClusterPointsListBox.Items.Clear(); + ScenarioClusterAddPointButton.Enabled = true; + + if (c.Points != null) + { + if (c.Points.MyPoints != null) + { + foreach (var point in c.Points.MyPoints) + { + ScenarioClusterPointsListBox.Items.Add(point); + } + if (CurrentScenarioNode.ClusterMyPoint != null) + { + ScenarioClusterPointsListBox.SelectedItem = CurrentScenarioNode.ClusterMyPoint; + } + } + if (c.Points.LoadSavePoints != null) + { + foreach (var point in c.Points.LoadSavePoints) + { + ScenarioClusterPointsListBox.Items.Add(point); + } + if (CurrentScenarioNode.ClusterLoadSavePoint != null) + { + ScenarioClusterPointsListBox.SelectedItem = CurrentScenarioNode.ClusterLoadSavePoint; + } + } + } + + } + } + + private void LoadScenarioClusterPointTabPage() + { + var p = CurrentScenarioNode?.ClusterMyPoint; + if (p == null) + { + //ScenarioClusterPointPanel.Enabled = false; + //ScenarioClusterPointCheckBox.Checked = false; + ScenarioClusterPointAddToProjectButton.Enabled = false; + ScenarioClusterPointDeleteButton.Enabled = false; + ScenarioClusterPointPositionTextBox.Text = ""; + ScenarioClusterPointDirectionTextBox.Text = ""; + ScenarioClusterPointTypeComboBox.SelectedItem = null; + ScenarioClusterPointModelSetComboBox.SelectedItem = null; + ScenarioClusterPointInteriorTextBox.Text = ""; + ScenarioClusterPointInteriorHashLabel.Text = "Hash: 0"; + ScenarioClusterPointGroupTextBox.Text = ""; + ScenarioClusterPointGroupHashLabel.Text = "Hash: 0"; + ScenarioClusterPointImapTextBox.Text = ""; + ScenarioClusterPointImapHashLabel.Text = "Hash: 0"; + ScenarioClusterPointTimeStartUpDown.Value = 0; + ScenarioClusterPointTimeEndUpDown.Value = 0; + ScenarioClusterPointProbabilityUpDown.Value = 0; + ScenarioClusterPointSpOnlyFlagUpDown.Value = 0; + ScenarioClusterPointRadiusUpDown.Value = 0; + ScenarioClusterPointWaitTimeUpDown.Value = 0; + ScenarioClusterPointFlagsUpDown.Value = 0; + foreach (int i in ScenarioClusterPointFlagsCheckedListBox.CheckedIndices) + { + ScenarioClusterPointFlagsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); + } + } + else + { + //ScenarioClusterPointPanel.Enabled = true; + //ScenarioClusterPointCheckBox.Checked = true; + ScenarioClusterPointDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); + ScenarioClusterPointAddToProjectButton.Enabled = !ScenarioClusterPointDeleteButton.Enabled; + ScenarioClusterPointPositionTextBox.Text = FloatUtil.GetVector3String(p.Position); + ScenarioClusterPointDirectionTextBox.Text = FloatUtil.ToString(p.Direction); + ScenarioClusterPointTypeComboBox.SelectedItem = ((object)p.Type) ?? ""; + ScenarioClusterPointModelSetComboBox.SelectedItem = ((object)p.ModelSet) ?? ""; + ScenarioClusterPointInteriorTextBox.Text = p.InteriorName.ToString(); + ScenarioClusterPointInteriorHashLabel.Text = "Hash: " + p.InteriorName.Hash.ToString(); + ScenarioClusterPointGroupTextBox.Text = p.GroupName.ToString(); + ScenarioClusterPointGroupHashLabel.Text = "Hash: " + p.GroupName.Hash.ToString(); + ScenarioClusterPointImapTextBox.Text = p.IMapName.ToString(); + ScenarioClusterPointImapHashLabel.Text = "Hash: " + p.IMapName.Hash.ToString(); + ScenarioClusterPointTimeStartUpDown.Value = p.TimeStart; + ScenarioClusterPointTimeEndUpDown.Value = p.TimeEnd; + ScenarioClusterPointProbabilityUpDown.Value = p.Probability; + ScenarioClusterPointSpOnlyFlagUpDown.Value = p.AvailableMpSp; + ScenarioClusterPointRadiusUpDown.Value = p.Radius; + ScenarioClusterPointWaitTimeUpDown.Value = p.WaitTime; + var iflags = (int)p.Flags; + ScenarioClusterPointFlagsUpDown.Value = iflags; + for (int i = 0; i < ScenarioClusterPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioClusterPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + } + } + + + + + + + + + + private void AddScenarioChainEdge() + { + var chain = CurrentScenarioNode?.ChainingNode?.Chain; + if (chain == null) return; + var paths = CurrentScenario?.CScenarioPointRegion?.Paths; + if (paths == null) return; + + MCScenarioChainingEdge edge = new MCScenarioChainingEdge(); + if (CurrentScenarioChainEdge != null) + { + edge.Data = CurrentScenarioChainEdge.Data; + } + + paths.AddEdge(edge); + chain.AddEdge(edge); + + CurrentScenarioChainEdge = edge; + ProjectForm.SetScenarioChainEdge(CurrentScenarioChainEdge); + + UpdateScenarioChainEdgeLinkage(); + + LoadScenarioChainTabPage(); + + ScenarioChainEdgesListBox.SelectedItem = edge; + } + + private void RemoveScenarioChainEdge() + { + if (CurrentScenarioChainEdge == null) return; + if (CurrentScenario == null) return; + + var chain = CurrentScenarioNode?.ChainingNode?.Chain; + if (chain == null) return; + var paths = CurrentScenario?.CScenarioPointRegion?.Paths; + if (paths == null) return; + + if (MessageBox.Show("Are you sure you want to delete this scenario chain edge?\n" + CurrentScenarioChainEdge.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + + chain.RemoveEdge(CurrentScenarioChainEdge); + paths.RemoveEdge(CurrentScenarioChainEdge); + + LoadScenarioChainTabPage(); + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + ProjectForm.WorldForm.SelectScenarioEdge(CurrentScenarioNode, null); + } + } + + private void MoveScenarioChainEdge(bool moveDown) + { + + var chain = CurrentScenarioNode?.ChainingNode?.Chain; + if (chain == null) return; + if (chain.Edges == null) return; + if (chain.EdgeIds == null) return; + + if (CurrentScenarioChainEdge == null) return; + + var edges = CurrentScenario?.CScenarioPointRegion?.Paths?.Edges; + if (edges == null) return; + + + int lasti = (chain.Edges?.Length ?? 0) - 1; + + var edgeid = 0; + for (int i = 0; i < chain.Edges.Length; i++) + { + if (chain.Edges[i] == CurrentScenarioChainEdge) + { + edgeid = i; + break; + } + } + + if (!moveDown && (edgeid <= 0)) return; + if (moveDown && (edgeid >= lasti)) return; + + var swapid = edgeid + (moveDown ? 1 : -1); + var swaped = chain.Edges[swapid]; + + chain.Edges[swapid] = CurrentScenarioChainEdge; + chain.EdgeIds[swapid] = (ushort)CurrentScenarioChainEdge.EdgeIndex; + chain.Edges[edgeid] = swaped; + chain.EdgeIds[edgeid] = (ushort)swapid; + + var ce = CurrentScenarioChainEdge; + + LoadScenarioChainTabPage(); + + CurrentScenarioChainEdge = ce; + ProjectForm.SetScenarioChainEdge(CurrentScenarioChainEdge); + + ScenarioChainEdgesListBox.SelectedItem = ce; + + //LoadScenarioChainEdgeTabPage(); + + } + + private void UpdateScenarioChainEdgeLinkage() + { + if (CurrentScenarioChainEdge == null) return; + if (CurrentScenario == null) return; + + + var chains = CurrentScenario?.CScenarioPointRegion?.Paths; + if (chains == null) return; + + var nodes = chains.Nodes; + if (nodes == null) return; + + ushort nifrom = CurrentScenarioChainEdge.NodeIndexFrom; + ushort nito = CurrentScenarioChainEdge.NodeIndexTo; + + if (nifrom < nodes.Length) CurrentScenarioChainEdge.NodeFrom = nodes[nifrom]; + if (nito < nodes.Length) CurrentScenarioChainEdge.NodeTo = nodes[nito]; + + ////need to rebuild the link verts.. updating the graphics should do it... + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + + + + + + + + + + + private void ScenarioPointAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioPointDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentScenarioNode); + ProjectForm.DeleteScenarioNode(); + } + + private void ScenarioPointGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioPointPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioPointPositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioPointDirectionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + float dir = FloatUtil.Parse(ScenarioPointDirectionTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Direction != dir) + { + CurrentScenarioNode.MyPoint.Direction = dir; + CurrentScenarioNode.Orientation = CurrentScenarioNode.MyPoint.Orientation; + ProjectForm.SetScenarioHasChanged(true); + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetRotation(CurrentScenarioNode.Orientation); + } + } + } + } + + private void ScenarioPointTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + ScenarioType stype = ScenarioPointTypeComboBox.SelectedItem as ScenarioType; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Type != stype) + { + CurrentScenarioNode.MyPoint.Type = stype; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + + if (CurrentScenarioNode.ChainingNode != null) + { + ScenarioChainNodeTypeComboBox.SelectedItem = stype; + } + } + + private void ScenarioPointModelSetComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + AmbientModelSet mset = ScenarioPointModelSetComboBox.SelectedItem as AmbientModelSet; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.ModelSet != mset) + { + CurrentScenarioNode.MyPoint.ModelSet = mset; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioPointInteriorTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + uint hash = 0; + string name = ScenarioPointInteriorTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioPointInteriorHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.InteriorName != hash) + { + CurrentScenarioNode.MyPoint.InteriorName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointGroupTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + uint hash = 0; + string name = ScenarioPointGroupTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioPointGroupHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.GroupName != hash) + { + CurrentScenarioNode.MyPoint.GroupName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointImapTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + uint hash = 0; + string name = ScenarioPointImapTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioPointImapHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.IMapName != hash) + { + CurrentScenarioNode.MyPoint.IMapName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointTimeStartUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte t = (byte)ScenarioPointTimeStartUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.TimeStart != t) + { + CurrentScenarioNode.MyPoint.TimeStart = t; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioPointTimeEndUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte t = (byte)ScenarioPointTimeEndUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.TimeEnd != t) + { + CurrentScenarioNode.MyPoint.TimeEnd = t; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioPointProbabilityUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte v = (byte)ScenarioPointProbabilityUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Probability != v) + { + CurrentScenarioNode.MyPoint.Probability = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointSpOnlyFlagUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte v = (byte)ScenarioPointSpOnlyFlagUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.AvailableMpSp != v) + { + CurrentScenarioNode.MyPoint.AvailableMpSp = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointRadiusUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte v = (byte)ScenarioPointRadiusUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Radius != v) + { + CurrentScenarioNode.MyPoint.Radius = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointWaitTimeUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + byte v = (byte)ScenarioPointWaitTimeUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.WaitTime != v) + { + CurrentScenarioNode.MyPoint.WaitTime = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointFlagsValueUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + var iflags = (uint)ScenarioPointFlagsValueUpDown.Value; + populatingui = true; + for (int i = 0; i < ScenarioPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Flags != f) + { + CurrentScenarioNode.MyPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioPointFlagsCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.MyPoint == null) return; + uint iflags = 0; + for (int i = 0; i < ScenarioPointFlagsCheckedListBox.Items.Count; i++) + { + if (e.Index == i) + { + if (e.NewValue == CheckState.Checked) + { + iflags += (uint)(1 << i); + } + } + else + { + if (ScenarioPointFlagsCheckedListBox.GetItemChecked(i)) + { + iflags += (uint)(1 << i); + } + } + } + populatingui = true; + ScenarioPointFlagsValueUpDown.Value = iflags; + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.MyPoint.Flags != f) + { + CurrentScenarioNode.MyPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + + + private void ScenarioEntityAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioEntityDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.DeleteScenarioEntity(); + } + + private void ScenarioEntityGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioEntityPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Entity == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioEntityPositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioEntityTypeTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Entity == null) return; + uint hash = 0; + string name = ScenarioEntityTypeTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityTypeHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Entity.TypeName != hash) + { + CurrentScenarioNode.Entity.TypeName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioEntityUnk1UpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Entity == null) return; + byte v = (byte)ScenarioEntityUnk1UpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Entity.Unk1 != v) + { + CurrentScenarioNode.Entity.Unk1 = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityUnk2UpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Entity == null) return; + byte v = (byte)ScenarioEntityUnk2UpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Entity.Unk2 != v) + { + CurrentScenarioNode.Entity.Unk2 = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointsListBox_DoubleClick(object sender, EventArgs e) + { + var item = ScenarioEntityPointsListBox.SelectedItem as MCExtensionDefSpawnPoint; + if (item == null) return; + + var nodes = CurrentScenario?.ScenarioRegion?.Nodes; + if (nodes == null) return; + + ScenarioNode node = null; + foreach (var snode in nodes) + { + if (snode.EntityPoint == item) + { + node = snode; + break; + } + } + + if (node == null) return; + + ProjectForm.ProjectExplorer?.TrySelectScenarioNodeTreeNode(node); + + } + + private void ScenarioEntityAddPointButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioEntityPoint(); + } + + + + private void ScenarioEntityPointAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioEntityPointDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentScenarioNode); + ProjectForm.DeleteScenarioNode(); + } + + private void ScenarioEntityPointGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioEntityPointPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioEntityPointPositionTextBox.Text); + v += CurrentScenarioNode.EntityPoint.ParentPosition; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioEntityPointRotationTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + Vector4 v = FloatUtil.ParseVector4String(ScenarioEntityPointRotationTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.OffsetRotation != v) + { + CurrentScenarioNode.EntityPoint.OffsetRotation = v; + CurrentScenarioNode.Orientation = new Quaternion(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetRotation(CurrentScenarioNode.Orientation); + } + } + } + + private void ScenarioEntityPointNameTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointNameTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointNameHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.NameHash != hash) + { + CurrentScenarioNode.EntityPoint.NameHash = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioEntityPointSpawnTypeTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointSpawnTypeTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointSpawnTypeHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.SpawnType != hash) + { + CurrentScenarioNode.EntityPoint.SpawnType = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioEntityPointPedTypeTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointPedTypeTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointPedTypeHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.PedType != hash) + { + CurrentScenarioNode.EntityPoint.PedType = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioEntityPointGroupTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointGroupTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointGroupHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Group != hash) + { + CurrentScenarioNode.EntityPoint.Group = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointInteriorTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointInteriorTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointInteriorHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Interior != hash) + { + CurrentScenarioNode.EntityPoint.Interior = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointRequiredImapTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint hash = 0; + string name = ScenarioEntityPointRequiredImapTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioEntityPointRequiredImapHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.RequiredImap != hash) + { + CurrentScenarioNode.EntityPoint.RequiredImap = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointAvailableInMpSpComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + Unk_3573596290 v = (Unk_3573596290)ScenarioEntityPointAvailableInMpSpComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.AvailableInMpSp != v) + { + CurrentScenarioNode.EntityPoint.AvailableInMpSp = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointProbabilityTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + float v = FloatUtil.Parse(ScenarioEntityPointProbabilityTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Probability != v) + { + CurrentScenarioNode.EntityPoint.Probability = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointTimeTillPedLeavesTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + float v = FloatUtil.Parse(ScenarioEntityPointTimeTillPedLeavesTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.TimeTillPedLeaves != v) + { + CurrentScenarioNode.EntityPoint.TimeTillPedLeaves = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointRadiusTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + float v = FloatUtil.Parse(ScenarioEntityPointRadiusTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Radius != v) + { + CurrentScenarioNode.EntityPoint.Radius = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointStartUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + byte v = (byte)ScenarioEntityPointStartUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.StartTime != v) + { + CurrentScenarioNode.EntityPoint.StartTime = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointEndUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + byte v = (byte)ScenarioEntityPointEndUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.EndTime != v) + { + CurrentScenarioNode.EntityPoint.EndTime = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointExtendedRangeCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + bool v = ScenarioEntityPointExtendedRangeCheckBox.Checked; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.ExtendedRange != v) + { + CurrentScenarioNode.EntityPoint.ExtendedRange = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointShortRangeCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + bool v = ScenarioEntityPointShortRangeCheckBox.Checked; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.ShortRange != v) + { + CurrentScenarioNode.EntityPoint.ShortRange = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointHighPriCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + bool v = ScenarioEntityPointHighPriCheckBox.Checked; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.HighPri != v) + { + CurrentScenarioNode.EntityPoint.HighPri = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointFlagsUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + var iflags = (uint)ScenarioEntityPointFlagsUpDown.Value; + populatingui = true; + for (int i = 0; i < ScenarioEntityPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioEntityPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Flags != f) + { + CurrentScenarioNode.EntityPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioEntityPointFlagsCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.EntityPoint == null) return; + uint iflags = 0; + for (int i = 0; i < ScenarioEntityPointFlagsCheckedListBox.Items.Count; i++) + { + if (e.Index == i) + { + if (e.NewValue == CheckState.Checked) + { + iflags += (uint)(1 << i); + } + } + else + { + if (ScenarioEntityPointFlagsCheckedListBox.GetItemChecked(i)) + { + iflags += (uint)(1 << i); + } + } + } + populatingui = true; + ScenarioEntityPointFlagsUpDown.Value = iflags; + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.EntityPoint.Flags != f) + { + CurrentScenarioNode.EntityPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + + + private void ScenarioChainNodeAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioChainNodeDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentScenarioNode); + ProjectForm.DeleteScenarioNode(); + } + + private void ScenarioChainNodeGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioChainNodePositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioChainNodePositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioChainNodeUnk1TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + uint hash = 0; + string name = ScenarioChainNodeUnk1TextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioChainNodeUnk1HashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ChainingNode.Unk1 != hash) + { + CurrentScenarioNode.ChainingNode.Unk1 = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioChainNodeTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + ScenarioType stype = ScenarioChainNodeTypeComboBox.SelectedItem as ScenarioType; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ChainingNode.Type != stype) + { + CurrentScenarioNode.ChainingNode.Type = stype; + CurrentScenarioNode.ChainingNode.TypeHash = stype?.NameHash ?? 0; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioChainNodeFirstCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + bool v = !ScenarioChainNodeFirstCheckBox.Checked; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ChainingNode.NotFirst != v) + { + CurrentScenarioNode.ChainingNode.NotFirst = v; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioChainNodeLastCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + bool v = !ScenarioChainNodeLastCheckBox.Checked; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ChainingNode.NotLast != v) + { + CurrentScenarioNode.ChainingNode.NotLast = v; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + + private void ScenarioChainAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioChainDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.DeleteScenarioChain(); + } + + private void ScenarioChainEdgesListBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + CurrentScenarioChainEdge = ScenarioChainEdgesListBox.SelectedItem as MCScenarioChainingEdge; + ProjectForm.SetScenarioChainEdge(CurrentScenarioChainEdge); + populatingui = true; + LoadScenarioChainEdgeTabPage(); + populatingui = false; + } + + private void ScenarioChainAddEdgeButton_Click(object sender, EventArgs e) + { + AddScenarioChainEdge(); + } + + private void ScenarioChainRemoveEdgeButton_Click(object sender, EventArgs e) + { + RemoveScenarioChainEdge(); + } + + private void ScenarioChainMoveEdgeUpButton_Click(object sender, EventArgs e) + { + MoveScenarioChainEdge(false); + } + + private void ScenarioChainMoveEdgeDownButton_Click(object sender, EventArgs e) + { + MoveScenarioChainEdge(true); + } + + private void ScenarioChainUnk1UpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + if (CurrentScenarioNode.ChainingNode.Chain == null) return; + byte v = (byte)ScenarioChainUnk1UpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ChainingNode.Chain.Unk1 != v) + { + CurrentScenarioNode.ChainingNode.Chain.Unk1 = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + + private void ScenarioChainEdgeNodeIndexFromUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioChainEdge == null) return; + ushort nodeid = (ushort)ScenarioChainEdgeNodeIndexFromUpDown.Value; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioChainEdge.NodeIndexFrom != nodeid) + { + CurrentScenarioChainEdge.NodeIndexFrom = nodeid; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + UpdateScenarioChainEdgeLinkage(); + + //refresh the selected item in the list box, to update the text, and the other controls. + ScenarioChainEdgesListBox.Items[ScenarioChainEdgesListBox.SelectedIndex] = ScenarioChainEdgesListBox.SelectedItem; + } + } + + private void ScenarioChainEdgeNodeIndexToUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioChainEdge == null) return; + ushort nodeid = (ushort)ScenarioChainEdgeNodeIndexToUpDown.Value; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioChainEdge.NodeIndexTo != nodeid) + { + CurrentScenarioChainEdge.NodeIndexTo = nodeid; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + UpdateScenarioChainEdgeLinkage(); + + //refresh the selected item in the list box, to update the text, and the other controls. + ScenarioChainEdgesListBox.Items[ScenarioChainEdgesListBox.SelectedIndex] = ScenarioChainEdgesListBox.SelectedItem; + } + } + + private void ScenarioChainEdgeActionComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioChainEdge == null) return; + Unk_3609807418 v = (Unk_3609807418)ScenarioChainEdgeActionComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioChainEdge.Action != v) + { + CurrentScenarioChainEdge.Action = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioChainEdgeNavModeComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioChainEdge == null) return; + Unk_3971773454 v = (Unk_3971773454)ScenarioChainEdgeNavModeComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioChainEdge.NavMode != v) + { + CurrentScenarioChainEdge.NavMode = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioChainEdgeNavSpeedComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioChainEdge == null) return; + Unk_941086046 v = (Unk_941086046)ScenarioChainEdgeNavSpeedComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioChainEdge.NavSpeed != v) + { + CurrentScenarioChainEdge.NavSpeed = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + + + private void ScenarioClusterAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioClusterDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.DeleteScenarioCluster(); + } + + private void ScenarioClusterGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioClusterCenterTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioClusterCenterTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + if ((CurrentScenarioNode.Cluster != null) && (CurrentScenarioNode.Cluster.Position != v)) + { + CurrentScenarioNode.Cluster.Position = v; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioClusterRadiusTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + float r = FloatUtil.Parse(ScenarioClusterRadiusTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if ((CurrentScenarioNode.Cluster != null) && (CurrentScenarioNode.Cluster.Radius != r)) + { + CurrentScenarioNode.Cluster.Radius = r; + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioClusterUnk1TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Cluster == null) return; + float v = FloatUtil.Parse(ScenarioClusterUnk1TextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Cluster.Unk1 != v) + { + CurrentScenarioNode.Cluster.Unk1 = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterUnk2CheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Cluster == null) return; + bool v = ScenarioClusterUnk2CheckBox.Checked; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Cluster.Unk2 != v) + { + CurrentScenarioNode.Cluster.Unk2 = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointsListBox_DoubleClick(object sender, EventArgs e) + { + var item = ScenarioClusterPointsListBox.SelectedItem as MCScenarioPoint; + if (item == null) return; + + var nodes = CurrentScenario?.ScenarioRegion?.Nodes; + if (nodes == null) return; + + ScenarioNode node = null; + foreach (var snode in nodes) + { + if (snode.ClusterMyPoint == item) + { + node = snode; + break; + } + } + + if (node == null) return; + + ProjectForm.ProjectExplorer?.TrySelectScenarioNodeTreeNode(node); + + } + + private void ScenarioClusterAddPointButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioClusterPoint(); + } + + + + private void ScenarioClusterPointAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.AddScenarioToProject(CurrentScenario); + } + + private void ScenarioClusterPointDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentScenarioNode); + ProjectForm.DeleteScenarioNode(); + } + + private void ScenarioClusterPointGoToButton_Click(object sender, EventArgs e) + { + if (CurrentScenarioNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentScenarioNode.Position); + } + + private void ScenarioClusterPointPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(ScenarioClusterPointPositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.Position != v) + { + CurrentScenarioNode.SetPosition(v); + ProjectForm.SetScenarioHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentScenarioNode.Position); + ProjectForm.WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + } + } + + private void ScenarioClusterPointDirectionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + float dir = FloatUtil.Parse(ScenarioClusterPointDirectionTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Direction != dir) + { + CurrentScenarioNode.ClusterMyPoint.Direction = dir; + CurrentScenarioNode.Orientation = CurrentScenarioNode.ClusterMyPoint.Orientation; + ProjectForm.SetScenarioHasChanged(true); + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetRotation(CurrentScenarioNode.Orientation); + } + } + } + } + + private void ScenarioClusterPointTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + ScenarioType stype = ScenarioClusterPointTypeComboBox.SelectedItem as ScenarioType; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Type != stype) + { + CurrentScenarioNode.ClusterMyPoint.Type = stype; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + + if (CurrentScenarioNode.ChainingNode != null) + { + ScenarioChainNodeTypeComboBox.SelectedItem = stype; + } + } + + private void ScenarioClusterPointModelSetComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + AmbientModelSet mset = ScenarioClusterPointModelSetComboBox.SelectedItem as AmbientModelSet; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.ModelSet != mset) + { + CurrentScenarioNode.ClusterMyPoint.ModelSet = mset; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioClusterPointInteriorTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + uint hash = 0; + string name = ScenarioClusterPointInteriorTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioClusterPointInteriorHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.InteriorName != hash) + { + CurrentScenarioNode.ClusterMyPoint.InteriorName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointGroupTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + uint hash = 0; + string name = ScenarioClusterPointGroupTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioClusterPointGroupHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.GroupName != hash) + { + CurrentScenarioNode.ClusterMyPoint.GroupName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointImapTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + uint hash = 0; + string name = ScenarioClusterPointImapTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + ScenarioClusterPointImapHashLabel.Text = "Hash: " + hash.ToString(); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.IMapName != hash) + { + CurrentScenarioNode.ClusterMyPoint.IMapName = hash; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointTimeStartUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte t = (byte)ScenarioClusterPointTimeStartUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.TimeStart != t) + { + CurrentScenarioNode.ClusterMyPoint.TimeStart = t; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioClusterPointTimeEndUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte t = (byte)ScenarioClusterPointTimeEndUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.TimeEnd != t) + { + CurrentScenarioNode.ClusterMyPoint.TimeEnd = t; + ProjectForm.SetScenarioHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); + } + + private void ScenarioClusterPointProbabilityUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte v = (byte)ScenarioClusterPointProbabilityUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Probability != v) + { + CurrentScenarioNode.ClusterMyPoint.Probability = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointSpOnlyFlagUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte v = (byte)ScenarioClusterPointSpOnlyFlagUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.AvailableMpSp != v) + { + CurrentScenarioNode.ClusterMyPoint.AvailableMpSp = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointRadiusUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte v = (byte)ScenarioClusterPointRadiusUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Radius != v) + { + CurrentScenarioNode.ClusterMyPoint.Radius = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointWaitTimeUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + byte v = (byte)ScenarioClusterPointWaitTimeUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.WaitTime != v) + { + CurrentScenarioNode.ClusterMyPoint.WaitTime = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointFlagsUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + var iflags = (uint)ScenarioClusterPointFlagsUpDown.Value; + populatingui = true; + for (int i = 0; i < ScenarioClusterPointFlagsCheckedListBox.Items.Count; i++) + { + var c = ((iflags & (1 << i)) > 0); + ScenarioClusterPointFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Flags != f) + { + CurrentScenarioNode.ClusterMyPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + private void ScenarioClusterPointFlagsCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (populatingui) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ClusterMyPoint == null) return; + uint iflags = 0; + for (int i = 0; i < ScenarioClusterPointFlagsCheckedListBox.Items.Count; i++) + { + if (e.Index == i) + { + if (e.NewValue == CheckState.Checked) + { + iflags += (uint)(1 << i); + } + } + else + { + if (ScenarioClusterPointFlagsCheckedListBox.GetItemChecked(i)) + { + iflags += (uint)(1 << i); + } + } + } + populatingui = true; + ScenarioClusterPointFlagsUpDown.Value = iflags; + populatingui = false; + Unk_700327466 f = (Unk_700327466)iflags; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentScenarioNode.ClusterMyPoint.Flags != f) + { + CurrentScenarioNode.ClusterMyPoint.Flags = f; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + + + + } +} diff --git a/Project/Panels/EditScenarioNodePanel.resx b/Project/Panels/EditScenarioNodePanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditScenarioNodePanel.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/Project/Panels/EditScenarioYmtPanel.Designer.cs b/Project/Panels/EditScenarioYmtPanel.Designer.cs new file mode 100644 index 0000000..919a8a4 --- /dev/null +++ b/Project/Panels/EditScenarioYmtPanel.Designer.cs @@ -0,0 +1,287 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditScenarioYmtPanel + { + /// + /// 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(EditScenarioYmtPanel)); + this.ScenarioYmtExtentsMaxTextBox = new System.Windows.Forms.TextBox(); + this.label103 = new System.Windows.Forms.Label(); + this.ScenarioYmtExtentsMinTextBox = new System.Windows.Forms.TextBox(); + this.label150 = new System.Windows.Forms.Label(); + this.ScenarioYmtGridInfoLabel = new System.Windows.Forms.Label(); + this.ScenarioYmtGridScaleTextBox = new System.Windows.Forms.TextBox(); + this.label96 = new System.Windows.Forms.Label(); + this.ScenarioYmtProjectPathTextBox = new System.Windows.Forms.TextBox(); + this.label66 = new System.Windows.Forms.Label(); + this.ScenarioYmtFileLocationTextBox = new System.Windows.Forms.TextBox(); + this.label72 = new System.Windows.Forms.Label(); + this.ScenarioYmtGridMaxTextBox = new System.Windows.Forms.TextBox(); + this.label73 = new System.Windows.Forms.Label(); + this.ScenarioYmtGridMinTextBox = new System.Windows.Forms.TextBox(); + this.label75 = new System.Windows.Forms.Label(); + this.ScenarioYmtVersionTextBox = new System.Windows.Forms.TextBox(); + this.label64 = new System.Windows.Forms.Label(); + this.ScenarioYmtNameTextBox = new System.Windows.Forms.TextBox(); + this.label63 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // ScenarioYmtExtentsMaxTextBox + // + this.ScenarioYmtExtentsMaxTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtExtentsMaxTextBox.Location = new System.Drawing.Point(96, 240); + this.ScenarioYmtExtentsMaxTextBox.Name = "ScenarioYmtExtentsMaxTextBox"; + this.ScenarioYmtExtentsMaxTextBox.ReadOnly = true; + this.ScenarioYmtExtentsMaxTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtExtentsMaxTextBox.TabIndex = 34; + // + // label103 + // + this.label103.AutoSize = true; + this.label103.Location = new System.Drawing.Point(8, 243); + this.label103.Name = "label103"; + this.label103.Size = new System.Drawing.Size(68, 13); + this.label103.TabIndex = 33; + this.label103.Text = "Extents Max:"; + // + // ScenarioYmtExtentsMinTextBox + // + this.ScenarioYmtExtentsMinTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtExtentsMinTextBox.Location = new System.Drawing.Point(96, 214); + this.ScenarioYmtExtentsMinTextBox.Name = "ScenarioYmtExtentsMinTextBox"; + this.ScenarioYmtExtentsMinTextBox.ReadOnly = true; + this.ScenarioYmtExtentsMinTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtExtentsMinTextBox.TabIndex = 32; + // + // label150 + // + this.label150.AutoSize = true; + this.label150.Location = new System.Drawing.Point(8, 217); + this.label150.Name = "label150"; + this.label150.Size = new System.Drawing.Size(65, 13); + this.label150.TabIndex = 31; + this.label150.Text = "Extents Min:"; + // + // ScenarioYmtGridInfoLabel + // + this.ScenarioYmtGridInfoLabel.AutoSize = true; + this.ScenarioYmtGridInfoLabel.Location = new System.Drawing.Point(93, 171); + this.ScenarioYmtGridInfoLabel.Name = "ScenarioYmtGridInfoLabel"; + this.ScenarioYmtGridInfoLabel.Size = new System.Drawing.Size(94, 13); + this.ScenarioYmtGridInfoLabel.TabIndex = 30; + this.ScenarioYmtGridInfoLabel.Text = "Total grid points: 0"; + // + // ScenarioYmtGridScaleTextBox + // + this.ScenarioYmtGridScaleTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtGridScaleTextBox.Location = new System.Drawing.Point(96, 133); + this.ScenarioYmtGridScaleTextBox.Name = "ScenarioYmtGridScaleTextBox"; + this.ScenarioYmtGridScaleTextBox.ReadOnly = true; + this.ScenarioYmtGridScaleTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtGridScaleTextBox.TabIndex = 29; + // + // label96 + // + this.label96.AutoSize = true; + this.label96.Location = new System.Drawing.Point(8, 136); + this.label96.Name = "label96"; + this.label96.Size = new System.Drawing.Size(59, 13); + this.label96.TabIndex = 28; + this.label96.Text = "Grid Scale:"; + // + // ScenarioYmtProjectPathTextBox + // + this.ScenarioYmtProjectPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtProjectPathTextBox.Location = new System.Drawing.Point(96, 330); + this.ScenarioYmtProjectPathTextBox.Name = "ScenarioYmtProjectPathTextBox"; + this.ScenarioYmtProjectPathTextBox.ReadOnly = true; + this.ScenarioYmtProjectPathTextBox.Size = new System.Drawing.Size(412, 20); + this.ScenarioYmtProjectPathTextBox.TabIndex = 38; + // + // label66 + // + this.label66.AutoSize = true; + this.label66.Location = new System.Drawing.Point(8, 333); + this.label66.Name = "label66"; + this.label66.Size = new System.Drawing.Size(67, 13); + this.label66.TabIndex = 37; + this.label66.Text = "Project path:"; + // + // ScenarioYmtFileLocationTextBox + // + this.ScenarioYmtFileLocationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtFileLocationTextBox.Location = new System.Drawing.Point(96, 304); + this.ScenarioYmtFileLocationTextBox.Name = "ScenarioYmtFileLocationTextBox"; + this.ScenarioYmtFileLocationTextBox.ReadOnly = true; + this.ScenarioYmtFileLocationTextBox.Size = new System.Drawing.Size(412, 20); + this.ScenarioYmtFileLocationTextBox.TabIndex = 36; + // + // label72 + // + this.label72.AutoSize = true; + this.label72.Location = new System.Drawing.Point(8, 307); + this.label72.Name = "label72"; + this.label72.Size = new System.Drawing.Size(66, 13); + this.label72.TabIndex = 35; + this.label72.Text = "File location:"; + // + // ScenarioYmtGridMaxTextBox + // + this.ScenarioYmtGridMaxTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtGridMaxTextBox.Location = new System.Drawing.Point(96, 107); + this.ScenarioYmtGridMaxTextBox.Name = "ScenarioYmtGridMaxTextBox"; + this.ScenarioYmtGridMaxTextBox.ReadOnly = true; + this.ScenarioYmtGridMaxTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtGridMaxTextBox.TabIndex = 27; + // + // label73 + // + this.label73.AutoSize = true; + this.label73.Location = new System.Drawing.Point(8, 110); + this.label73.Name = "label73"; + this.label73.Size = new System.Drawing.Size(52, 13); + this.label73.TabIndex = 26; + this.label73.Text = "Grid Max:"; + // + // ScenarioYmtGridMinTextBox + // + this.ScenarioYmtGridMinTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtGridMinTextBox.Location = new System.Drawing.Point(96, 81); + this.ScenarioYmtGridMinTextBox.Name = "ScenarioYmtGridMinTextBox"; + this.ScenarioYmtGridMinTextBox.ReadOnly = true; + this.ScenarioYmtGridMinTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtGridMinTextBox.TabIndex = 25; + // + // label75 + // + this.label75.AutoSize = true; + this.label75.Location = new System.Drawing.Point(8, 84); + this.label75.Name = "label75"; + this.label75.Size = new System.Drawing.Size(49, 13); + this.label75.TabIndex = 24; + this.label75.Text = "Grid Min:"; + // + // ScenarioYmtVersionTextBox + // + this.ScenarioYmtVersionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtVersionTextBox.Location = new System.Drawing.Point(96, 38); + this.ScenarioYmtVersionTextBox.Name = "ScenarioYmtVersionTextBox"; + this.ScenarioYmtVersionTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtVersionTextBox.TabIndex = 23; + this.ScenarioYmtVersionTextBox.TextChanged += new System.EventHandler(this.ScenarioYmtVersionTextBox_TextChanged); + // + // label64 + // + this.label64.AutoSize = true; + this.label64.Location = new System.Drawing.Point(8, 41); + this.label64.Name = "label64"; + this.label64.Size = new System.Drawing.Size(82, 13); + this.label64.TabIndex = 22; + this.label64.Text = "VersionNumber:"; + // + // ScenarioYmtNameTextBox + // + this.ScenarioYmtNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioYmtNameTextBox.Location = new System.Drawing.Point(96, 12); + this.ScenarioYmtNameTextBox.Name = "ScenarioYmtNameTextBox"; + this.ScenarioYmtNameTextBox.ReadOnly = true; + this.ScenarioYmtNameTextBox.Size = new System.Drawing.Size(285, 20); + this.ScenarioYmtNameTextBox.TabIndex = 21; + // + // label63 + // + this.label63.AutoSize = true; + this.label63.Location = new System.Drawing.Point(8, 15); + this.label63.Name = "label63"; + this.label63.Size = new System.Drawing.Size(38, 13); + this.label63.TabIndex = 20; + this.label63.Text = "Name:"; + // + // EditScenarioYmtPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(520, 382); + this.Controls.Add(this.ScenarioYmtExtentsMaxTextBox); + this.Controls.Add(this.label103); + this.Controls.Add(this.ScenarioYmtExtentsMinTextBox); + this.Controls.Add(this.label150); + this.Controls.Add(this.ScenarioYmtGridInfoLabel); + this.Controls.Add(this.ScenarioYmtGridScaleTextBox); + this.Controls.Add(this.label96); + this.Controls.Add(this.ScenarioYmtProjectPathTextBox); + this.Controls.Add(this.label66); + this.Controls.Add(this.ScenarioYmtFileLocationTextBox); + this.Controls.Add(this.label72); + this.Controls.Add(this.ScenarioYmtGridMaxTextBox); + this.Controls.Add(this.label73); + this.Controls.Add(this.ScenarioYmtGridMinTextBox); + this.Controls.Add(this.label75); + this.Controls.Add(this.ScenarioYmtVersionTextBox); + this.Controls.Add(this.label64); + this.Controls.Add(this.ScenarioYmtNameTextBox); + this.Controls.Add(this.label63); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditScenarioYmtPanel"; + this.Text = "Edit Scenario Ymt"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox ScenarioYmtExtentsMaxTextBox; + private System.Windows.Forms.Label label103; + private System.Windows.Forms.TextBox ScenarioYmtExtentsMinTextBox; + private System.Windows.Forms.Label label150; + private System.Windows.Forms.Label ScenarioYmtGridInfoLabel; + private System.Windows.Forms.TextBox ScenarioYmtGridScaleTextBox; + private System.Windows.Forms.Label label96; + private System.Windows.Forms.TextBox ScenarioYmtProjectPathTextBox; + private System.Windows.Forms.Label label66; + private System.Windows.Forms.TextBox ScenarioYmtFileLocationTextBox; + private System.Windows.Forms.Label label72; + private System.Windows.Forms.TextBox ScenarioYmtGridMaxTextBox; + private System.Windows.Forms.Label label73; + private System.Windows.Forms.TextBox ScenarioYmtGridMinTextBox; + private System.Windows.Forms.Label label75; + private System.Windows.Forms.TextBox ScenarioYmtVersionTextBox; + private System.Windows.Forms.Label label64; + private System.Windows.Forms.TextBox ScenarioYmtNameTextBox; + private System.Windows.Forms.Label label63; + } +} \ No newline at end of file diff --git a/Project/Panels/EditScenarioYmtPanel.cs b/Project/Panels/EditScenarioYmtPanel.cs new file mode 100644 index 0000000..745f014 --- /dev/null +++ b/Project/Panels/EditScenarioYmtPanel.cs @@ -0,0 +1,119 @@ +using CodeWalker.GameFiles; +using SharpDX; +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.Project.Panels +{ + public partial class EditScenarioYmtPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YmtFile CurrentScenario { get; set; } + + private bool populatingui = false; + private bool waschanged = false; + + public EditScenarioYmtPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetScenarioYmt(YmtFile scenario) + { + CurrentScenario = scenario; + Tag = scenario; + UpdateFormTitle(); + UpdateScenarioUI(); + waschanged = scenario?.HasChanged ?? false; + } + + public void UpdateFormTitleYmtChanged() + { + bool changed = CurrentScenario.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = CurrentScenario.RpfFileEntry?.Name ?? CurrentScenario.Name; + if (string.IsNullOrEmpty(fn)) fn = "untitled.ymt"; + Text = fn + (CurrentScenario.HasChanged ? "*" : ""); + } + + + public void UpdateScenarioUI() + { + if (CurrentScenario == null) + { + populatingui = true; + //ScenarioYmtPanel.Enabled = false; + ScenarioYmtNameTextBox.Text = string.Empty; + ScenarioYmtVersionTextBox.Text = string.Empty; + ScenarioYmtGridMinTextBox.Text = string.Empty; + ScenarioYmtGridMaxTextBox.Text = string.Empty; + ScenarioYmtGridScaleTextBox.Text = string.Empty; + ScenarioYmtGridInfoLabel.Text = "Total grid points: 0"; + ScenarioYmtExtentsMinTextBox.Text = string.Empty; + ScenarioYmtExtentsMaxTextBox.Text = string.Empty; + ScenarioYmtFileLocationTextBox.Text = string.Empty; + ScenarioYmtProjectPathTextBox.Text = string.Empty; + populatingui = false; + } + else + { + var rgn = CurrentScenario.CScenarioPointRegion; + var accg = rgn?._Data.AccelGrid ?? new rage__spdGrid2D(); + var bvh = CurrentScenario.ScenarioRegion?.BVH; + var emin = bvh?.Box.Minimum ?? Vector3.Zero; + var emax = bvh?.Box.Maximum ?? Vector3.Zero; + + populatingui = true; + //ScenarioYmtPanel.Enabled = true; + ScenarioYmtNameTextBox.Text = CurrentScenario.Name; + ScenarioYmtVersionTextBox.Text = rgn?.VersionNumber.ToString() ?? ""; + ScenarioYmtGridMinTextBox.Text = FloatUtil.GetVector2String(accg.Min); + ScenarioYmtGridMaxTextBox.Text = FloatUtil.GetVector2String(accg.Max); + ScenarioYmtGridScaleTextBox.Text = FloatUtil.GetVector2String(accg.Scale); + ScenarioYmtGridInfoLabel.Text = "Total grid points: " + (rgn?.Unk_3844724227?.Length ?? 0).ToString(); + ScenarioYmtExtentsMinTextBox.Text = FloatUtil.GetVector3String(emin); + ScenarioYmtExtentsMaxTextBox.Text = FloatUtil.GetVector3String(emax); + ScenarioYmtFileLocationTextBox.Text = CurrentScenario.RpfFileEntry?.Path ?? ""; + ScenarioYmtProjectPathTextBox.Text = (ProjectForm.CurrentProjectFile != null) ? ProjectForm.CurrentProjectFile.GetRelativePath(CurrentScenario.FilePath) : CurrentScenario.FilePath; + populatingui = false; + } + } + + private void ScenarioYmtVersionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentScenario == null) return; + if (CurrentScenario.CScenarioPointRegion == null) return; + lock (ProjectForm.ProjectSyncRoot) + { + int v = 0; + int.TryParse(ScenarioYmtVersionTextBox.Text, out v); + if (CurrentScenario.CScenarioPointRegion.VersionNumber != v) + { + CurrentScenario.CScenarioPointRegion.VersionNumber = v; + ProjectForm.SetScenarioHasChanged(true); + } + } + } + } +} diff --git a/Project/Panels/EditScenarioYmtPanel.resx b/Project/Panels/EditScenarioYmtPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditScenarioYmtPanel.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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2OL+NjZ7AAArX2Ok + 4uz/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/ + 2eP/LjJ1DAxKfYTE4Or/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//v7//f7//f7//v7//v// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+vv/8PX/3OX/gILIR0eVeoHC3eb/8fX/+/z/AAAAAAAAAAAAAAAAAAAA/v7//P3/+fv/+Pr/ + +Pr/+Pr/+vv//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3/+vv/+vv/+/z//f3//v7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/2eP9ZWeqHx1obnOz4Or/8fX/+/z/AAAAAAAAAAAAAAAA/v7/ + +/z/9fj/8vb/8PX/7vT/8fb/9fj/+fr//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///P3/+Pr/9fj/9fj/9Pj/9Pf/9vn/+/z//v7/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2eP9ODp9AAA5jZDQ5O7/8PX/+/z/AAAA + AAAAAAAA/v7/+/z/9Pf/7fP/5u//wsz6j5XfuMDx7fL/9vn//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f7/+Pr/8/b/5+3/2eH/2uP/ + 5u3/7fP/8/b/+vv//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/3ef/U1ebBgVKio/O + 4uz/8fX/+/z/AAAAAAAA/v///P3/9fj/7fP/4uv/hIzZHSWPAABmU1i14ub/9/r/+/z/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9Pf/ + 7/X/09z/TlSzNzWYj5bh5O7/6/L/8vb/+fv//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fX/ + 2eP/QUWIEhBZbnSz3uj/8fb/+/z/AAAAAAAA/f7/+Pr/7/T/6PH/iI7cAABvAABqAABncXjK6O//9fj/ + +/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+/z/8/f/2uD/Z27EAABnAABiBgl4jJTd5vD/6O//8vX/+fv//f7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAA+vv/8fb/2OP/Mjd6AQE6ZGup4er/8fX/+/z/AAAAAAAA+vz/8fX/6/T/xM/8ExyJAABwAABu + GySRxc387fT/9ff//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+vz/8/f/1Nr/MzqhAABhAxOBAARyBgp5jpLg5Oz/7PP/9Pf/+vz//v7/ + AAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2eP/KCtvBwZOjJHS4Or/8fX/+/z/AAAA/f7/9/n/7fP/3+j/ + UFq3AABtAAZ3BAh6mZ/n5vD/7vP/+Pr//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/z/9Pj/6e//sbb1KzWcAABwBhaBAAFyAgp6fITR + 1d777/T/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/3+j/WF2hBglTnaTj5O3/8PX/+/z/AAAA + /P3/9Pf/6vL/k5riAAByAAR0AABrY2vE4ur/6vH/9ff//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9/n/7fL/5O3/ytX/RU6w + AABpAA5+AABuAABnhord6e7/+fv//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/7/T/3+j/k5jbT1KdgYjJ + 3uf+8fX/+/z/AAAA+/z/9fn/4ef/NDqhAABnAABrJjCU0Nn/5/D/8fX/+vv//v7/AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/ + 9vn/7vP/6vP/ztb/O0CmAABpAABrQkuoxMn57PH/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/ + 2+X/en/CUFGak5nY3+j/8fX//P3/AAAA/P3/9fj/4en/i5DbNT2hIyuTpqzv4uz/7vP/9/n//f7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/v7//P3/9vn/7/P/6vL/ytH/X2i9XWi7wsf/6e//8/f/+Pr//v7/AAAAAAAAAAAAAAAA + AAAAAAAA+vv/8PX/3OX/WF2hW1ylvMD+3uf/8PX/+/z/AAAA/f7/9vn/7fP/4uj/j5Pgf4LV3+X/6fD/ + 9Pf//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///P3/+Pr/8vX/7fP/5+//5u7/6vD/8PT/9vn//P3//v7/ + AAAAAAAAAAAAAAAAAAAA/f7/9/n/7fP/0tz9LDJzNjh/nqTk2uT/7fL/9/n//f7//f7/+fv/8/b/7PL/ + 3eX/zM//5ev/9fj/+fv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///f3/+vv/9/n/9vn/9fj/9vn/ + +fr//P3//v7/AAAAAAAAAAAA/v///f7/+vv/9vn/7/T/5vD/2Ob/VFubERNdoajk4u//5O7/7vP/9vj/ + +fr/+vv/+Pr/9fj/9Pj/9fj/9fj/+Pr//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///v7/ + /f7//P3//P3//f3//v7//v//AAAAAAAAAAAA/f7/+vz/9vn/8fX/7vT/5O3/3eb/z9n/cHjICxN5d37L + z9n/2eP/5O3/6/L/8PT/9Pf/9/n/+vv/+vv/+/z//P3//f3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/+Pr/8/b/7vT/6vL/z9r+jZjeQUeq + IiuQCBN3AAFrBRB8Nj2iUViym6XlydH/4+z/6/L/8PT/9/n/+/z//f7//v//AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9/n/8fX/6/L/3uf/ + mKTkLzibAABoAAB0Fx+HDBh7FSGDAg16AABYAABlCBB/Ji2UhYza1+D/6PL/7fL/9Pf/+vv//f7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/9/n/ + 8PT/7PT/z9j/XmO+AABtAABcMDSXoajsu8X7VV+5hYzblZ/fTVSxFSKMAABkAABnAAN2Qkmpsbrz5e3/ + 6vH/8fX/+Pr//P3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA/P3/9/n/8PX/7PT/vcn3LTOZAABaAgR1ZWzD0Nf/5vL/1OP/l53lzs3/6fP/4+7/sLzwZ23CBxSD + AABnAABlHiaSmqHo3+j/5+//7/T/9vn//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAA/v//AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/ + /v7//v7//v7//f7/+/z/9vj/7vP/7PX/tcLzEBeGAABkPEWlqLPt2eX/4e7/3On/uMX1gofVe3vPhYzY + z93+5/X/4e3/lJ3gHiOPAABtAABqChiEbHLIytD/5/D/7PL/8/f/+Pr/+fr/+Pr/+Pr/+Pr/+Pr/+Pr/ + +Pr/+fv/+vv/+/z//f7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + /v7//f7/+/z/+fv/9/n/9vj/9fj/9Pf/8fX/7PL/4uv/l6HgDhF7AAN4iZDe0d7/3uz/4vD/w83/VVm3 + ICiSAAFyAABlAABwaHTD1N//2un/3er/w838ZW3BEyOJJzKVAQ16NDmfwsn75fD/5u7/7PL/7vP/7fP/ + 7fP/7fL/7fP/7vP/7/T/8fb/9Pj/9vn/+fr//f3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/v7//P3/+Pr/9Pf/8fX/7vT/7PL/6/L/6fH/5u7/6vX/tsD0CQx4AAFwkZvi7ff/4vD/ + 4fD/z9j/OkGlAABiAABwBxWAAAt7BBN+P0uofYLUztb/4O7/6fb/6fP/qa7xQkyoBg56AABqMjugx8/+ + 5fH/4Ov/4On/3uj/3eb/3+j/3uj/1+L/0d3/1d7/3+f/7fL/9vj/+vz//v7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/f7/+fr/8/f/6/L/2d//v8j6vcf5ucP1wMv8wM3+vMj6PkqoAABo + UF25usP7tsPyvsr6sLrwQ0utAABqAAV1OUameIDRKDWZAAd2GyeOLDecmaHntsL0pbLom6riq7LzUlu0 + AANzBhR/AAZ0NT+ja3bBY2i/XGG6UViyWl65XGG7XGC6TVWvQU6pPkalODygqK7p8vb/+vz//v7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/n/7/T/wcj2R0ysExeFERmGDxuIFB6K + FBqICxSEAABsAAByDBiDCRSBBRCADhaFCRODAAh4AxF/AAl4CxeDHSaPAAp6AAN0AA19AAd3CBOBEBqH + BhGBAAh5AABwAAByAAh5BhSCAxWCAABsAABvAABlAABnAABxAABjAABmAABhAABdAABYAABhCAt/q7Lr + 8/f/+vv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/+fv/3uT/SE2vAABn + CBB/GiCMLzmfLTWcGByJFRyKGCOOMj2gHymRDxiGGyOPLDCXBRF/AAh3BhaCEyKMICqTKC2WNDqfIzCV + Awx6Eh+JHiaPAAR3AAZ5CxSDICWQX2q7Q1CqAA1+AAFxDxuHiZTbVGC4dHnQnabrTVqzY23EUV62Slau + LjaZXWm9sLjz5ez/9vn/+fv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/ + +Pv/4+n+e4LPfoPVpqv2vsf/zNX/zdb/xtH/v8v8pK7spKfysLb3vcr4ws784ej/hI/YAAZ1AAJzVF25 + yM//3Of/5+//i5LcAABpMzyfp6vxoKznlqHhqbbtx9H/8fz/kpvfAABiAABph4zc5PD/2OP/193/3un/ + 1+D/2OH/1+D/0Nr/zNL/3+j/6/L/7/T/9vn//P3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/f7/+Pr/9Pf/6vD/5u3/3+b/4uv/6PD/5+//5O3/5/P/sL3sXmS7mZzoz9f/3+z/4e// + mKLiEiKKCBF/KTWZr7T06/f/3ev/VF2zChSBipPcz9v+4u7/3ur/3ev/5/X/qrPrISmSDRJ2Xmq/3ur/ + 4uv/6vH/7fP/7fL/7/T/7vP/7fP/7fP/8PX/8fX/9Pf/+Pr/+/z//v7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+Pr/9vn/9Pf/8vb/8vb/8/b/9Pf/7/T/6/L/tL/ubXLH + en/Ti43gqavy0t3/nafjMj6fJzaaAAV1GyeOYmW7Nz6fAABgNj6i1N//3uz/2uX/3Oj/5PH/wcj7FR2J + AAN0gong0tr/6fH/7/P/9vj/+Pr/+fv/+fv/+Pr/+Pr/+Pr/+fv/+vv//P3//f7//v//AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3/+/z/+/z/+/z//f3//f7/ + +fv/8fX/5Oz/jpbfc3jObnXLcXfOk5rks7b4iY3dR1KvDhuEAABoAABlEBV9U12ytcD13Or/3en/3ej/ + 1eL/q7fvGR+MKDKZbnnNxc/76PD/8fX/+fr//f7//v//AAAA/v7//f7//f3//P3//f3//f7//v//AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3//P3//f7//v7/AAAA + AAAAAAAAAAAAAAAA/f7/9vn/7/T/yNH5lJrleoDVmZ3pmpzpc3nPfoTWf4bYVFy3HSaLZ3PGsrb8v8r8 + y9n9q7jre4LRf4fUgIvXAwZ1AABrhYjb0NX/6PH/8PX/+Pr//f7/AAAAAAAA/v///f3/+vv/+Pr/9/r/ + 9/n/+Pr/+/z//f7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///f7/+/z/+fr/9vj/9/n/ + +vz/+vv/+/z//v7/AAAAAAAAAAAAAAAA/v7/+vz/8/f/7PL/2uT/t8H1srP6vcH+nKTnSlOxV2C7TVaz + WGS8QUqmSlSuSFOtR1GtbXTKVl23ARB5AAh2AABnd33P3eP/4ur/7/T/9/n//P3/AAAAAAAAAAAA/P3/ + 9/n/8vb/7PH/6fD/7PL/7vP/8vb/9vn/+/z//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/+Pr/ + 8/b/7/T/8Pb/6vH/3eP97vL++fr//P3/AAAAAAAAAAAAAAAAAAAA/f7/+vv/9fj/7/T/5+//z9f+t7v4 + uLn9Z2zFLzucFCGIMz6gGCCMAAd4AAl2Dx2EER+GXWK8c3XLKzKXd4LP4er/6/L/8PX/9/n//P3//v// + AAAAAAAA/v7/+fv/8/b/7PP/y9H/i4/erLbt4er/5e3/7fP/8/b/+fv//f3//v7/AAAAAAAAAAAAAAAA + /v7/+/z/9vj/8PT/6/L/3+n/x9H9aHTAZGvG3+b9+Pr/+/z/AAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/ + +Pr/8vb/6/H/3OX+wMn4maDmdHrPWGG6T1a1eoHWcHfOTlayUlq1SlKubHjAxMj/0dn/4+v/7PL/8vb/ + +Pr//P3//v7/AAAAAAAAAAAA/f7/+fr/7vP/xsv5YGXAHymRKjKYYWS9rbLz4u3/6/P/8vb/+fr//f7/ + AAAAAAAAAAAA/v//+/z/9vj/7fL/5e3/xs7/Y23BIiiSAABeLTab3+b/9/r/+/z/AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA/f7/+vz/9vj/8PX/6vH/3eb/ydL8xM/6uMPyt733w8j/zNb/1Nz/3OT/4uz/5u7/ + 7fP/8vb/9vj/+vz//f7/AAAAAAAAAAAAAAAAAAAA/f7/+fv/7vP/jpHiAAJ1CxaBER6GAABoFRmGbXbH + 0Nf/7PL/9fj//P3/AAAAAAAAAAAA/v7/+fv/8/f/4Of/hYvbKDGZAABuAABdAAZyi5La5+7/9vn/+/z/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+fv/9ff/8vb/7/X/7fP/6/L/5u3/5ez/6fD/ + 7PP/7/T/8fX/9Pf/9/n/+vv//P3//v7//v//AAAAAAAAAAAAAAAAAAAA/v7/+fv/8fb/2eH9fIbQExqH + AABrAAp6AAFyAABwS0+uztX39vn/+vz/AAAAAAAAAAAA/f7/+Pr/8ff/qbLpAABrAABhAABwDBWAfobX + 5e3/8PX/9vn//f3/AAAAAAAA/v///f7/+/z/+vv/+vv/+vz//P3//v7//v///v7//P3/+vz/+Pr/9/n/ + 9vj/9vj/9vj/9vj/9/n/+fr/+/z//P3//f7//v7//f7//P3/+/z/+vz/+/z//P3//v7/AAAA/v7/+/z/ + 9fj/7/T/5/H/uML1U1e1AAh5AABuAABvMjmdv8bz9vr/+vv/AAAAAAAAAAAA/f7/+fv/7/T/iY7aDxSA + GiONa3XHsr7w4Oj/6/H/9Pf/+vz//v7/AAAA/v///P3/+Pr/9Pf/8/f/9fj/9fj/9vn/+/z//v7/AAAA + AAAAAAAA/v7//f7//P3/+/z/+/z//P3//f7//v//AAAAAAAAAAAA/v7/+/z/9/n/9vn/9vn/9Pj/9vn/ + +/z//v7/AAAA/f7/+vz/9fj/7/T/6vL/3ef/i5PbGRqJBQl5jJbZ6vH/9Pj/+/z/AAAAAAAAAAAA/f7/ + +fv/8fT/1Nn9t7/0wcr54er/7fT/8fX/9fj/+vv//f7/AAAAAAAA/f3/+Pr/8PT/6/L/3uX/ztb/5Or/ + 8/f/+Pr//f7/AAAAAAAAAAAA/f7/+vz/+Pr/+fv/+fv/+vv//f3//v//AAAAAAAAAAAA/P3/9/n/7vL/ + 193/ztf/5u3/7vP/9Pf/+/z//v7/AAAA/v7//P3/+Pr/8fX/7PP/5/D/sLfxoKnk4+r/8vf/9/n//f3/ + AAAAAAAAAAAA/v7/+/z/9vn/9Pf/8vb/8fb/8fX/9Pf/+Pr//P3//v7/AAAAAAAA/v7/+vv/8vb/5+7/ + y9H/WWO9KSmSkZXj6vD/+Pv//P3/AAAAAAAA/f7/+Pr/9fj/8vb/6O7/7vP/9fj/+Pr//f7/AAAAAAAA + /v//+vv/8vb/7PP/hYraKiqKlp7i6PD/7fP/9ff/+/z//v7/AAAAAAAA/f7/+vv/9ff/8fX/8PX/8vb/ + 8/f/9vn/+/z//v7/AAAAAAAAAAAAAAAA/f7/+/z/+vv/+fr/+fr/+vv//P3//v7/AAAAAAAAAAAAAAAA + /P3/9fj/7PL/1d7/RUysAABhAABlg4ja6/D/+Pr//P3/AAAAAAAA+/z/9fj/6e7/2eD/h4/bnaXg7PH/ + 9fj/+/z/AAAAAAAA/v7/+Pr/8PX/y9X1JDGVAABaERWDoKnp6PH/7vP/9/n//P3/AAAAAAAAAAAA/v7/ + /P3/+vv/+fv/+fv/+vv//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAA/v7//v7//v7//v7//v//AAAAAAAA + AAAAAAAAAAAA/v7/+fv/8PX/7PX/ipPdAABsAABlQ1Cp3Ob/7vP/9/n//f7/AAAAAAAA+fv/9Pj/yNH5 + Ule2DBJ8Ljie0df+8fb/+fv//v7/AAAA/v7/+Pr/7/X/hY3YAABxAAl7AABuEBaEs7nz6fH/8fX/+vv/ + /v7/AAAAAAAAAAAAAAAA/v///v7//v7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9vn/7PL/0tn/LzidAQFsAAB0iZHb6vP/8PT/+fv//v//AAAA + /v7/+Pr/8vf/r7rqAAV4AABdPUen1N//7PL/9vn//f7/AAAA/v7/+fr/7/T/yc75S1G0AABrARKAAABp + Qker0df/7fP/9/n//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/n/5+7/cXXNAAd2AABuMDebzdT97PL/ + 9vj//P3/AAAAAAAA/v7/9/n/7/X/tL/uFCCLAABqHSqRvcf46fD/9Pf//f3/AAAAAAAA+vv/8vX/6vH/ + yM3+JC2XAABtAAV2Agx9q7Ly7vT/9vn//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/r/4uj/WWO1AAVx + KTaYu8T07fT/8vb/+vv//v7/AAAAAAAA/v7/9/n/7vX/vsn1Iy2SAABrAQ99mp/o6PD/9Pf//P3/AAAA + AAAA/P3/9/n/7vP/6fL/s7z2DBB/AABeQ0uttrr56e7/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/ + +fv/4ef6g4zNbXfFw8v27fT/8vb/+Pr//f3/AAAAAAAAAAAA/v7/9/n/7vT/yNL7MjucAABtBxF/nKLo + 6fH/9Pf//P3/AAAAAAAA/v7/+/z/9fj/7fL/6/T/jZXbLzScrrP14en/7fL/+fv//v7/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/f7/+vz/8PP91dr34+f/8vb/8/f/9/r//P3//v//AAAAAAAAAAAA/v7/+Pr/8PX/1N3/ + QUqmAQRxBQ98m6Dm7PL/9fj//P3/AAAAAAAAAAAA/v7/+/z/9ff/8PX/5ez/ytH94ej/8vb/9vj/+/z/ + /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/Project/Panels/EditTrainNodePanel.Designer.cs b/Project/Panels/EditTrainNodePanel.Designer.cs new file mode 100644 index 0000000..f1b6094 --- /dev/null +++ b/Project/Panels/EditTrainNodePanel.Designer.cs @@ -0,0 +1,146 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditTrainNodePanel + { + /// + /// 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(EditTrainNodePanel)); + this.TrainNodeTypeComboBox = new System.Windows.Forms.ComboBox(); + this.label82 = new System.Windows.Forms.Label(); + this.TrainNodeDeleteButton = new System.Windows.Forms.Button(); + this.TrainNodeAddToProjectButton = new System.Windows.Forms.Button(); + this.TrainNodeGoToButton = new System.Windows.Forms.Button(); + this.TrainNodePositionTextBox = new System.Windows.Forms.TextBox(); + this.label81 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // TrainNodeTypeComboBox + // + this.TrainNodeTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.TrainNodeTypeComboBox.FormattingEnabled = true; + this.TrainNodeTypeComboBox.Items.AddRange(new object[] { + "0 - Default", + "1 - Default Station", + "2 - Freight Station", + "3 - (Not used)", + "4 - Underground", + "5 - Underground Station"}); + this.TrainNodeTypeComboBox.Location = new System.Drawing.Point(76, 45); + this.TrainNodeTypeComboBox.Name = "TrainNodeTypeComboBox"; + this.TrainNodeTypeComboBox.Size = new System.Drawing.Size(142, 21); + this.TrainNodeTypeComboBox.TabIndex = 47; + this.TrainNodeTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.TrainNodeTypeComboBox_SelectedIndexChanged); + // + // label82 + // + this.label82.AutoSize = true; + this.label82.Location = new System.Drawing.Point(23, 48); + this.label82.Name = "label82"; + this.label82.Size = new System.Drawing.Size(34, 13); + this.label82.TabIndex = 46; + this.label82.Text = "Type:"; + // + // TrainNodeDeleteButton + // + this.TrainNodeDeleteButton.Enabled = false; + this.TrainNodeDeleteButton.Location = new System.Drawing.Point(172, 92); + this.TrainNodeDeleteButton.Name = "TrainNodeDeleteButton"; + this.TrainNodeDeleteButton.Size = new System.Drawing.Size(90, 23); + this.TrainNodeDeleteButton.TabIndex = 49; + this.TrainNodeDeleteButton.Text = "Delete Node"; + this.TrainNodeDeleteButton.UseVisualStyleBackColor = true; + this.TrainNodeDeleteButton.Click += new System.EventHandler(this.TrainNodeDeleteButton_Click); + // + // TrainNodeAddToProjectButton + // + this.TrainNodeAddToProjectButton.Enabled = false; + this.TrainNodeAddToProjectButton.Location = new System.Drawing.Point(76, 92); + this.TrainNodeAddToProjectButton.Name = "TrainNodeAddToProjectButton"; + this.TrainNodeAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.TrainNodeAddToProjectButton.TabIndex = 48; + this.TrainNodeAddToProjectButton.Text = "Add to Project"; + this.TrainNodeAddToProjectButton.UseVisualStyleBackColor = true; + this.TrainNodeAddToProjectButton.Click += new System.EventHandler(this.TrainNodeAddToProjectButton_Click); + // + // TrainNodeGoToButton + // + this.TrainNodeGoToButton.Location = new System.Drawing.Point(306, 10); + this.TrainNodeGoToButton.Name = "TrainNodeGoToButton"; + this.TrainNodeGoToButton.Size = new System.Drawing.Size(68, 23); + this.TrainNodeGoToButton.TabIndex = 44; + this.TrainNodeGoToButton.Text = "Go to"; + this.TrainNodeGoToButton.UseVisualStyleBackColor = true; + this.TrainNodeGoToButton.Click += new System.EventHandler(this.TrainNodeGoToButton_Click); + // + // TrainNodePositionTextBox + // + this.TrainNodePositionTextBox.Location = new System.Drawing.Point(76, 12); + this.TrainNodePositionTextBox.Name = "TrainNodePositionTextBox"; + this.TrainNodePositionTextBox.Size = new System.Drawing.Size(224, 20); + this.TrainNodePositionTextBox.TabIndex = 43; + this.TrainNodePositionTextBox.TextChanged += new System.EventHandler(this.TrainNodePositionTextBox_TextChanged); + // + // label81 + // + this.label81.AutoSize = true; + this.label81.Location = new System.Drawing.Point(23, 15); + this.label81.Name = "label81"; + this.label81.Size = new System.Drawing.Size(47, 13); + this.label81.TabIndex = 45; + this.label81.Text = "Position:"; + // + // EditTrainNodePanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(510, 310); + this.Controls.Add(this.TrainNodeTypeComboBox); + this.Controls.Add(this.label82); + this.Controls.Add(this.TrainNodeDeleteButton); + this.Controls.Add(this.TrainNodeAddToProjectButton); + this.Controls.Add(this.TrainNodeGoToButton); + this.Controls.Add(this.TrainNodePositionTextBox); + this.Controls.Add(this.label81); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditTrainNodePanel"; + this.Text = "Edit Train Node"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ComboBox TrainNodeTypeComboBox; + private System.Windows.Forms.Label label82; + private System.Windows.Forms.Button TrainNodeDeleteButton; + private System.Windows.Forms.Button TrainNodeAddToProjectButton; + private System.Windows.Forms.Button TrainNodeGoToButton; + private System.Windows.Forms.TextBox TrainNodePositionTextBox; + private System.Windows.Forms.Label label81; + } +} \ No newline at end of file diff --git a/Project/Panels/EditTrainNodePanel.cs b/Project/Panels/EditTrainNodePanel.cs new file mode 100644 index 0000000..2d95169 --- /dev/null +++ b/Project/Panels/EditTrainNodePanel.cs @@ -0,0 +1,139 @@ +using CodeWalker.GameFiles; +using CodeWalker.World; +using SharpDX; +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.Project.Panels +{ + public partial class EditTrainNodePanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public TrainTrackNode TrainNode { get; set; } + + private bool populatingui = false; + + public EditTrainNodePanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetTrainNode(TrainTrackNode node) + { + TrainNode = node; + Tag = node; + UpdateFormTitle(); + UpdateTrainTrackNodeUI(); + } + + private void UpdateFormTitle() + { + Text = "Train Node " + TrainNode.Index.ToString(); + } + + public void UpdateTrainTrackNodeUI() + { + if (TrainNode == null) + { + //TrainNodePanel.Enabled = false; + TrainNodeDeleteButton.Enabled = false; + TrainNodeAddToProjectButton.Enabled = false; + TrainNodePositionTextBox.Text = string.Empty; + TrainNodeTypeComboBox.SelectedIndex = -1; + } + else + { + populatingui = true; + //TrainNodePanel.Enabled = true; + TrainNodeDeleteButton.Enabled = ProjectForm.TrainTrackExistsInProject(TrainNode.Track); + TrainNodeAddToProjectButton.Enabled = !TrainNodeDeleteButton.Enabled; + TrainNodePositionTextBox.Text = FloatUtil.GetVector3String(TrainNode.Position); + TrainNodeTypeComboBox.SelectedIndex = TrainNode.NodeType; + populatingui = false; + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectTrainTrackNode(TrainNode); + } + } + } + + private void TrainNodePositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (TrainNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(TrainNodePositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (TrainNode.Position != v) + { + TrainNode.SetPosition(v); + ProjectForm.SetTrainTrackHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(TrainNode.Position); + ProjectForm.WorldForm.UpdateTrainTrackNodeGraphics(TrainNode, false); + } + //TrainNodePositionTextBox.Text = FloatUtil.GetVector3String(CurrentTrainNode.Position); + } + } + + private void TrainNodeGoToButton_Click(object sender, EventArgs e) + { + if (TrainNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(TrainNode.Position); + } + + private void TrainNodeTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (TrainNode == null) return; + int type = TrainNodeTypeComboBox.SelectedIndex; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (TrainNode.NodeType != type) + { + TrainNode.NodeType = type; + ProjectForm.SetTrainTrackHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdateTrainTrackNodeGraphics(TrainNode, false); //change the colour... + } + } + ProjectForm.ProjectExplorer?.UpdateTrainNodeTreeNode(TrainNode); + } + + private void TrainNodeAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(TrainNode); + ProjectForm.AddTrainTrackToProject(TrainNode.Track); + } + + private void TrainNodeDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(TrainNode); + ProjectForm.DeleteTrainNode(); + } + } +} diff --git a/Project/Panels/EditTrainNodePanel.resx b/Project/Panels/EditTrainNodePanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditTrainNodePanel.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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2OL+NjZ7AAArX2Ok + 4uz/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/ + 2eP/LjJ1DAxKfYTE4Or/8fX/+/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//v7//f7//f7//v7//v// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+vv/8PX/3OX/gILIR0eVeoHC3eb/8fX/+/z/AAAAAAAAAAAAAAAAAAAA/v7//P3/+fv/+Pr/ + +Pr/+Pr/+vv//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3/+vv/+vv/+/z//f3//v7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/2eP9ZWeqHx1obnOz4Or/8fX/+/z/AAAAAAAAAAAAAAAA/v7/ + +/z/9fj/8vb/8PX/7vT/8fb/9fj/+fr//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///P3/+Pr/9fj/9fj/9Pj/9Pf/9vn/+/z//v7/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2eP9ODp9AAA5jZDQ5O7/8PX/+/z/AAAA + AAAAAAAA/v7/+/z/9Pf/7fP/5u//wsz6j5XfuMDx7fL/9vn//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f7/+Pr/8/b/5+3/2eH/2uP/ + 5u3/7fP/8/b/+vv//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/3ef/U1ebBgVKio/O + 4uz/8fX/+/z/AAAAAAAA/v///P3/9fj/7fP/4uv/hIzZHSWPAABmU1i14ub/9/r/+/z/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9Pf/ + 7/X/09z/TlSzNzWYj5bh5O7/6/L/8vb/+fv//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vv/8fX/ + 2eP/QUWIEhBZbnSz3uj/8fb/+/z/AAAAAAAA/f7/+Pr/7/T/6PH/iI7cAABvAABqAABncXjK6O//9fj/ + +/z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+/z/8/f/2uD/Z27EAABnAABiBgl4jJTd5vD/6O//8vX/+fv//f7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAA+vv/8fb/2OP/Mjd6AQE6ZGup4er/8fX/+/z/AAAAAAAA+vz/8fX/6/T/xM/8ExyJAABwAABu + GySRxc387fT/9ff//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+vz/8/f/1Nr/MzqhAABhAxOBAARyBgp5jpLg5Oz/7PP/9Pf/+vz//v7/ + AAAAAAAAAAAAAAAAAAAAAAAA+vv/8fb/2eP/KCtvBwZOjJHS4Or/8fX/+/z/AAAA/f7/9/n/7fP/3+j/ + UFq3AABtAAZ3BAh6mZ/n5vD/7vP/+Pr//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/z/9Pj/6e//sbb1KzWcAABwBhaBAAFyAgp6fITR + 1d777/T/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/3+j/WF2hBglTnaTj5O3/8PX/+/z/AAAA + /P3/9Pf/6vL/k5riAAByAAR0AABrY2vE4ur/6vH/9ff//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9/n/7fL/5O3/ytX/RU6w + AABpAA5+AABuAABnhord6e7/+fv//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/7/T/3+j/k5jbT1KdgYjJ + 3uf+8fX/+/z/AAAA+/z/9fn/4ef/NDqhAABnAABrJjCU0Nn/5/D/8fX/+vv//v7/AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/ + 9vn/7vP/6vP/ztb/O0CmAABpAABrQkuoxMn57PH/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAA+vv/8PX/ + 2+X/en/CUFGak5nY3+j/8fX//P3/AAAA/P3/9fj/4en/i5DbNT2hIyuTpqzv4uz/7vP/9/n//f7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/v7//P3/9vn/7/P/6vL/ytH/X2i9XWi7wsf/6e//8/f/+Pr//v7/AAAAAAAAAAAAAAAA + AAAAAAAA+vv/8PX/3OX/WF2hW1ylvMD+3uf/8PX/+/z/AAAA/f7/9vn/7fP/4uj/j5Pgf4LV3+X/6fD/ + 9Pf//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///P3/+Pr/8vX/7fP/5+//5u7/6vD/8PT/9vn//P3//v7/ + AAAAAAAAAAAAAAAAAAAA/f7/9/n/7fP/0tz9LDJzNjh/nqTk2uT/7fL/9/n//f7//f7/+fv/8/b/7PL/ + 3eX/zM//5ev/9fj/+fv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///f3/+vv/9/n/9vn/9fj/9vn/ + +fr//P3//v7/AAAAAAAAAAAA/v///f7/+vv/9vn/7/T/5vD/2Ob/VFubERNdoajk4u//5O7/7vP/9vj/ + +fr/+vv/+Pr/9fj/9Pj/9fj/9fj/+Pr//P3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///v7/ + /f7//P3//P3//f3//v7//v//AAAAAAAAAAAA/f7/+vz/9vn/8fX/7vT/5O3/3eb/z9n/cHjICxN5d37L + z9n/2eP/5O3/6/L/8PT/9Pf/9/n/+vv/+vv/+/z//P3//f3//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/+Pr/8/b/7vT/6vL/z9r+jZjeQUeq + IiuQCBN3AAFrBRB8Nj2iUViym6XlydH/4+z/6/L/8PT/9/n/+/z//f7//v//AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9/n/8fX/6/L/3uf/ + mKTkLzibAABoAAB0Fx+HDBh7FSGDAg16AABYAABlCBB/Ji2UhYza1+D/6PL/7fL/9Pf/+vv//f7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/9/n/ + 8PT/7PT/z9j/XmO+AABtAABcMDSXoajsu8X7VV+5hYzblZ/fTVSxFSKMAABkAABnAAN2Qkmpsbrz5e3/ + 6vH/8fX/+Pr//P3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA/P3/9/n/8PX/7PT/vcn3LTOZAABaAgR1ZWzD0Nf/5vL/1OP/l53lzs3/6fP/4+7/sLzwZ23CBxSD + AABnAABlHiaSmqHo3+j/5+//7/T/9vn//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAA/v//AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/ + /v7//v7//v7//f7/+/z/9vj/7vP/7PX/tcLzEBeGAABkPEWlqLPt2eX/4e7/3On/uMX1gofVe3vPhYzY + z93+5/X/4e3/lJ3gHiOPAABtAABqChiEbHLIytD/5/D/7PL/8/f/+Pr/+fr/+Pr/+Pr/+Pr/+Pr/+Pr/ + +Pr/+fv/+vv/+/z//f7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + /v7//f7/+/z/+fv/9/n/9vj/9fj/9Pf/8fX/7PL/4uv/l6HgDhF7AAN4iZDe0d7/3uz/4vD/w83/VVm3 + ICiSAAFyAABlAABwaHTD1N//2un/3er/w838ZW3BEyOJJzKVAQ16NDmfwsn75fD/5u7/7PL/7vP/7fP/ + 7fP/7fL/7fP/7vP/7/T/8fb/9Pj/9vn/+fr//f3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/v7//P3/+Pr/9Pf/8fX/7vT/7PL/6/L/6fH/5u7/6vX/tsD0CQx4AAFwkZvi7ff/4vD/ + 4fD/z9j/OkGlAABiAABwBxWAAAt7BBN+P0uofYLUztb/4O7/6fb/6fP/qa7xQkyoBg56AABqMjugx8/+ + 5fH/4Ov/4On/3uj/3eb/3+j/3uj/1+L/0d3/1d7/3+f/7fL/9vj/+vz//v7/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/f7/+fr/8/f/6/L/2d//v8j6vcf5ucP1wMv8wM3+vMj6PkqoAABo + UF25usP7tsPyvsr6sLrwQ0utAABqAAV1OUameIDRKDWZAAd2GyeOLDecmaHntsL0pbLom6riq7LzUlu0 + AANzBhR/AAZ0NT+ja3bBY2i/XGG6UViyWl65XGG7XGC6TVWvQU6pPkalODygqK7p8vb/+vz//v7/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/n/7/T/wcj2R0ysExeFERmGDxuIFB6K + FBqICxSEAABsAAByDBiDCRSBBRCADhaFCRODAAh4AxF/AAl4CxeDHSaPAAp6AAN0AA19AAd3CBOBEBqH + BhGBAAh5AABwAAByAAh5BhSCAxWCAABsAABvAABlAABnAABxAABjAABmAABhAABdAABYAABhCAt/q7Lr + 8/f/+vv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/+fv/3uT/SE2vAABn + CBB/GiCMLzmfLTWcGByJFRyKGCOOMj2gHymRDxiGGyOPLDCXBRF/AAh3BhaCEyKMICqTKC2WNDqfIzCV + Awx6Eh+JHiaPAAR3AAZ5CxSDICWQX2q7Q1CqAA1+AAFxDxuHiZTbVGC4dHnQnabrTVqzY23EUV62Slau + LjaZXWm9sLjz5ez/9vn/+fv//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/ + +Pv/4+n+e4LPfoPVpqv2vsf/zNX/zdb/xtH/v8v8pK7spKfysLb3vcr4ws784ej/hI/YAAZ1AAJzVF25 + yM//3Of/5+//i5LcAABpMzyfp6vxoKznlqHhqbbtx9H/8fz/kpvfAABiAABph4zc5PD/2OP/193/3un/ + 1+D/2OH/1+D/0Nr/zNL/3+j/6/L/7/T/9vn//P3//v//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/f7/+Pr/9Pf/6vD/5u3/3+b/4uv/6PD/5+//5O3/5/P/sL3sXmS7mZzoz9f/3+z/4e// + mKLiEiKKCBF/KTWZr7T06/f/3ev/VF2zChSBipPcz9v+4u7/3ur/3ev/5/X/qrPrISmSDRJ2Xmq/3ur/ + 4uv/6vH/7fP/7fL/7/T/7vP/7fP/7fP/8PX/8fX/9Pf/+Pr/+/z//v7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+Pr/9vn/9Pf/8vb/8vb/8/b/9Pf/7/T/6/L/tL/ubXLH + en/Ti43gqavy0t3/nafjMj6fJzaaAAV1GyeOYmW7Nz6fAABgNj6i1N//3uz/2uX/3Oj/5PH/wcj7FR2J + AAN0gong0tr/6fH/7/P/9vj/+Pr/+fv/+fv/+Pr/+Pr/+Pr/+fv/+vv//P3//f7//v//AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3/+/z/+/z/+/z//f3//f7/ + +fv/8fX/5Oz/jpbfc3jObnXLcXfOk5rks7b4iY3dR1KvDhuEAABoAABlEBV9U12ytcD13Or/3en/3ej/ + 1eL/q7fvGR+MKDKZbnnNxc/76PD/8fX/+fr//f7//v//AAAA/v7//f7//f3//P3//f3//f7//v//AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//f7//P3//P3//f7//v7/AAAA + AAAAAAAAAAAAAAAA/f7/9vn/7/T/yNH5lJrleoDVmZ3pmpzpc3nPfoTWf4bYVFy3HSaLZ3PGsrb8v8r8 + y9n9q7jre4LRf4fUgIvXAwZ1AABrhYjb0NX/6PH/8PX/+Pr//f7/AAAAAAAA/v///f3/+vv/+Pr/9/r/ + 9/n/+Pr/+/z//f7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///f7/+/z/+fr/9vj/9/n/ + +vz/+vv/+/z//v7/AAAAAAAAAAAAAAAA/v7/+vz/8/f/7PL/2uT/t8H1srP6vcH+nKTnSlOxV2C7TVaz + WGS8QUqmSlSuSFOtR1GtbXTKVl23ARB5AAh2AABnd33P3eP/4ur/7/T/9/n//P3/AAAAAAAAAAAA/P3/ + 9/n/8vb/7PH/6fD/7PL/7vP/8vb/9vn/+/z//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/+Pr/ + 8/b/7/T/8Pb/6vH/3eP97vL++fr//P3/AAAAAAAAAAAAAAAAAAAA/f7/+vv/9fj/7/T/5+//z9f+t7v4 + uLn9Z2zFLzucFCGIMz6gGCCMAAd4AAl2Dx2EER+GXWK8c3XLKzKXd4LP4er/6/L/8PX/9/n//P3//v// + AAAAAAAA/v7/+fv/8/b/7PP/y9H/i4/erLbt4er/5e3/7fP/8/b/+fv//f3//v7/AAAAAAAAAAAAAAAA + /v7/+/z/9vj/8PT/6/L/3+n/x9H9aHTAZGvG3+b9+Pr/+/z/AAAAAAAAAAAAAAAAAAAAAAAA/v7/+/z/ + +Pr/8vb/6/H/3OX+wMn4maDmdHrPWGG6T1a1eoHWcHfOTlayUlq1SlKubHjAxMj/0dn/4+v/7PL/8vb/ + +Pr//P3//v7/AAAAAAAAAAAA/f7/+fr/7vP/xsv5YGXAHymRKjKYYWS9rbLz4u3/6/P/8vb/+fr//f7/ + AAAAAAAAAAAA/v//+/z/9vj/7fL/5e3/xs7/Y23BIiiSAABeLTab3+b/9/r/+/z/AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA/f7/+vz/9vj/8PX/6vH/3eb/ydL8xM/6uMPyt733w8j/zNb/1Nz/3OT/4uz/5u7/ + 7fP/8vb/9vj/+vz//f7/AAAAAAAAAAAAAAAAAAAA/f7/+fv/7vP/jpHiAAJ1CxaBER6GAABoFRmGbXbH + 0Nf/7PL/9fj//P3/AAAAAAAAAAAA/v7/+fv/8/f/4Of/hYvbKDGZAABuAABdAAZyi5La5+7/9vn/+/z/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7//P3/+fv/9ff/8vb/7/X/7fP/6/L/5u3/5ez/6fD/ + 7PP/7/T/8fX/9Pf/9/n/+vv//P3//v7//v//AAAAAAAAAAAAAAAAAAAA/v7/+fv/8fb/2eH9fIbQExqH + AABrAAp6AAFyAABwS0+uztX39vn/+vz/AAAAAAAAAAAA/f7/+Pr/8ff/qbLpAABrAABhAABwDBWAfobX + 5e3/8PX/9vn//f3/AAAAAAAA/v///f7/+/z/+vv/+vv/+vz//P3//v7//v///v7//P3/+vz/+Pr/9/n/ + 9vj/9vj/9vj/9vj/9/n/+fr/+/z//P3//f7//v7//f7//P3/+/z/+vz/+/z//P3//v7/AAAA/v7/+/z/ + 9fj/7/T/5/H/uML1U1e1AAh5AABuAABvMjmdv8bz9vr/+vv/AAAAAAAAAAAA/f7/+fv/7/T/iY7aDxSA + GiONa3XHsr7w4Oj/6/H/9Pf/+vz//v7/AAAA/v///P3/+Pr/9Pf/8/f/9fj/9fj/9vn/+/z//v7/AAAA + AAAAAAAA/v7//f7//P3/+/z/+/z//P3//f7//v//AAAAAAAAAAAA/v7/+/z/9/n/9vn/9vn/9Pj/9vn/ + +/z//v7/AAAA/f7/+vz/9fj/7/T/6vL/3ef/i5PbGRqJBQl5jJbZ6vH/9Pj/+/z/AAAAAAAAAAAA/f7/ + +fv/8fT/1Nn9t7/0wcr54er/7fT/8fX/9fj/+vv//f7/AAAAAAAA/f3/+Pr/8PT/6/L/3uX/ztb/5Or/ + 8/f/+Pr//f7/AAAAAAAAAAAA/f7/+vz/+Pr/+fv/+fv/+vv//f3//v//AAAAAAAAAAAA/P3/9/n/7vL/ + 193/ztf/5u3/7vP/9Pf/+/z//v7/AAAA/v7//P3/+Pr/8fX/7PP/5/D/sLfxoKnk4+r/8vf/9/n//f3/ + AAAAAAAAAAAA/v7/+/z/9vn/9Pf/8vb/8fb/8fX/9Pf/+Pr//P3//v7/AAAAAAAA/v7/+vv/8vb/5+7/ + y9H/WWO9KSmSkZXj6vD/+Pv//P3/AAAAAAAA/f7/+Pr/9fj/8vb/6O7/7vP/9fj/+Pr//f7/AAAAAAAA + /v//+vv/8vb/7PP/hYraKiqKlp7i6PD/7fP/9ff/+/z//v7/AAAAAAAA/f7/+vv/9ff/8fX/8PX/8vb/ + 8/f/9vn/+/z//v7/AAAAAAAAAAAAAAAA/f7/+/z/+vv/+fr/+fr/+vv//P3//v7/AAAAAAAAAAAAAAAA + /P3/9fj/7PL/1d7/RUysAABhAABlg4ja6/D/+Pr//P3/AAAAAAAA+/z/9fj/6e7/2eD/h4/bnaXg7PH/ + 9fj/+/z/AAAAAAAA/v7/+Pr/8PX/y9X1JDGVAABaERWDoKnp6PH/7vP/9/n//P3/AAAAAAAAAAAA/v7/ + /P3/+vv/+fv/+fv/+vv//P3//v7/AAAAAAAAAAAAAAAAAAAAAAAA/v7//v7//v7//v7//v//AAAAAAAA + AAAAAAAAAAAA/v7/+fv/8PX/7PX/ipPdAABsAABlQ1Cp3Ob/7vP/9/n//f7/AAAAAAAA+fv/9Pj/yNH5 + Ule2DBJ8Ljie0df+8fb/+fv//v7/AAAA/v7/+Pr/7/X/hY3YAABxAAl7AABuEBaEs7nz6fH/8fX/+vv/ + /v7/AAAAAAAAAAAAAAAA/v///v7//v7//v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/f3/9vn/7PL/0tn/LzidAQFsAAB0iZHb6vP/8PT/+fv//v//AAAA + /v7/+Pr/8vf/r7rqAAV4AABdPUen1N//7PL/9vn//f7/AAAA/v7/+fr/7/T/yc75S1G0AABrARKAAABp + Qker0df/7fP/9/n//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/n/5+7/cXXNAAd2AABuMDebzdT97PL/ + 9vj//P3/AAAAAAAA/v7/9/n/7/X/tL/uFCCLAABqHSqRvcf46fD/9Pf//f3/AAAAAAAA+vv/8vX/6vH/ + yM3+JC2XAABtAAV2Agx9q7Ly7vT/9vn//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/9/r/4uj/WWO1AAVx + KTaYu8T07fT/8vb/+vv//v7/AAAAAAAA/v7/9/n/7vX/vsn1Iy2SAABrAQ99mp/o6PD/9Pf//P3/AAAA + AAAA/P3/9/n/7vP/6fL/s7z2DBB/AABeQ0uttrr56e7/+Pr//f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P3/ + +fv/4ef6g4zNbXfFw8v27fT/8vb/+Pr//f3/AAAAAAAAAAAA/v7/9/n/7vT/yNL7MjucAABtBxF/nKLo + 6fH/9Pf//P3/AAAAAAAA/v7/+/z/9fj/7fL/6/T/jZXbLzScrrP14en/7fL/+fv//v7/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/f7/+vz/8PP91dr34+f/8vb/8/f/9/r//P3//v//AAAAAAAAAAAA/v7/+Pr/8PX/1N3/ + QUqmAQRxBQ98m6Dm7PL/9fj//P3/AAAAAAAAAAAA/v7/+/z/9ff/8PX/5ez/ytH94ej/8vb/9vj/+/z/ + /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/Project/Panels/EditTrainTrackPanel.Designer.cs b/Project/Panels/EditTrainTrackPanel.Designer.cs new file mode 100644 index 0000000..3babf7a --- /dev/null +++ b/Project/Panels/EditTrainTrackPanel.Designer.cs @@ -0,0 +1,275 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditTrainTrackPanel + { + /// + /// 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(EditTrainTrackPanel)); + this.TrainTrackInfoLabel = new System.Windows.Forms.Label(); + this.label86 = new System.Windows.Forms.Label(); + this.TrainTrackBrakingDistTextBox = new System.Windows.Forms.TextBox(); + this.label85 = new System.Windows.Forms.Label(); + this.TrainTrackSpeedTextBox = new System.Windows.Forms.TextBox(); + this.TrainTrackMPStopsAtStationsCheckBox = new System.Windows.Forms.CheckBox(); + this.TrainTrackStopsAtStationsCheckBox = new System.Windows.Forms.CheckBox(); + this.TrainTrackIsPingPongCheckBox = new System.Windows.Forms.CheckBox(); + this.label84 = new System.Windows.Forms.Label(); + this.TrainTrackConfigNameTextBox = new System.Windows.Forms.TextBox(); + this.label83 = new System.Windows.Forms.Label(); + this.TrainTrackFilenameTextBox = new System.Windows.Forms.TextBox(); + this.label74 = new System.Windows.Forms.Label(); + this.TrainTrackProjectPathTextBox = new System.Windows.Forms.TextBox(); + this.label79 = new System.Windows.Forms.Label(); + this.TrainTrackFilePathTextBox = new System.Windows.Forms.TextBox(); + this.label80 = new System.Windows.Forms.Label(); + this.TrainTrackRpfPathTextBox = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // TrainTrackInfoLabel + // + this.TrainTrackInfoLabel.AutoSize = true; + this.TrainTrackInfoLabel.Location = new System.Drawing.Point(112, 150); + this.TrainTrackInfoLabel.Name = "TrainTrackInfoLabel"; + this.TrainTrackInfoLabel.Size = new System.Drawing.Size(10, 13); + this.TrainTrackInfoLabel.TabIndex = 54; + this.TrainTrackInfoLabel.Text = "-"; + // + // label86 + // + this.label86.AutoSize = true; + this.label86.Location = new System.Drawing.Point(297, 101); + this.label86.Name = "label86"; + this.label86.Size = new System.Drawing.Size(63, 13); + this.label86.TabIndex = 50; + this.label86.Text = "brakingDist:"; + // + // TrainTrackBrakingDistTextBox + // + this.TrainTrackBrakingDistTextBox.Location = new System.Drawing.Point(366, 98); + this.TrainTrackBrakingDistTextBox.Name = "TrainTrackBrakingDistTextBox"; + this.TrainTrackBrakingDistTextBox.ReadOnly = true; + this.TrainTrackBrakingDistTextBox.Size = new System.Drawing.Size(107, 20); + this.TrainTrackBrakingDistTextBox.TabIndex = 49; + // + // label85 + // + this.label85.AutoSize = true; + this.label85.Location = new System.Drawing.Point(70, 101); + this.label85.Name = "label85"; + this.label85.Size = new System.Drawing.Size(39, 13); + this.label85.TabIndex = 48; + this.label85.Text = "speed:"; + // + // TrainTrackSpeedTextBox + // + this.TrainTrackSpeedTextBox.Location = new System.Drawing.Point(115, 98); + this.TrainTrackSpeedTextBox.Name = "TrainTrackSpeedTextBox"; + this.TrainTrackSpeedTextBox.ReadOnly = true; + this.TrainTrackSpeedTextBox.Size = new System.Drawing.Size(107, 20); + this.TrainTrackSpeedTextBox.TabIndex = 47; + // + // TrainTrackMPStopsAtStationsCheckBox + // + this.TrainTrackMPStopsAtStationsCheckBox.AutoSize = true; + this.TrainTrackMPStopsAtStationsCheckBox.Enabled = false; + this.TrainTrackMPStopsAtStationsCheckBox.Location = new System.Drawing.Point(366, 75); + this.TrainTrackMPStopsAtStationsCheckBox.Name = "TrainTrackMPStopsAtStationsCheckBox"; + this.TrainTrackMPStopsAtStationsCheckBox.Size = new System.Drawing.Size(115, 17); + this.TrainTrackMPStopsAtStationsCheckBox.TabIndex = 46; + this.TrainTrackMPStopsAtStationsCheckBox.Text = "MPstopsAtStations"; + this.TrainTrackMPStopsAtStationsCheckBox.UseVisualStyleBackColor = true; + // + // TrainTrackStopsAtStationsCheckBox + // + this.TrainTrackStopsAtStationsCheckBox.AutoSize = true; + this.TrainTrackStopsAtStationsCheckBox.Enabled = false; + this.TrainTrackStopsAtStationsCheckBox.Location = new System.Drawing.Point(240, 75); + this.TrainTrackStopsAtStationsCheckBox.Name = "TrainTrackStopsAtStationsCheckBox"; + this.TrainTrackStopsAtStationsCheckBox.Size = new System.Drawing.Size(99, 17); + this.TrainTrackStopsAtStationsCheckBox.TabIndex = 45; + this.TrainTrackStopsAtStationsCheckBox.Text = "stopsAtStations"; + this.TrainTrackStopsAtStationsCheckBox.UseVisualStyleBackColor = true; + // + // TrainTrackIsPingPongCheckBox + // + this.TrainTrackIsPingPongCheckBox.AutoSize = true; + this.TrainTrackIsPingPongCheckBox.Enabled = false; + this.TrainTrackIsPingPongCheckBox.Location = new System.Drawing.Point(115, 75); + this.TrainTrackIsPingPongCheckBox.Name = "TrainTrackIsPingPongCheckBox"; + this.TrainTrackIsPingPongCheckBox.Size = new System.Drawing.Size(107, 17); + this.TrainTrackIsPingPongCheckBox.TabIndex = 44; + this.TrainTrackIsPingPongCheckBox.Text = "isPingPongTrack"; + this.TrainTrackIsPingPongCheckBox.UseVisualStyleBackColor = true; + // + // label84 + // + this.label84.AutoSize = true; + this.label84.Location = new System.Drawing.Point(21, 52); + this.label84.Name = "label84"; + this.label84.Size = new System.Drawing.Size(88, 13); + this.label84.TabIndex = 43; + this.label84.Text = "trainConfigName:"; + // + // TrainTrackConfigNameTextBox + // + this.TrainTrackConfigNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TrainTrackConfigNameTextBox.Location = new System.Drawing.Point(115, 49); + this.TrainTrackConfigNameTextBox.Name = "TrainTrackConfigNameTextBox"; + this.TrainTrackConfigNameTextBox.ReadOnly = true; + this.TrainTrackConfigNameTextBox.Size = new System.Drawing.Size(360, 20); + this.TrainTrackConfigNameTextBox.TabIndex = 42; + // + // label83 + // + this.label83.AutoSize = true; + this.label83.Location = new System.Drawing.Point(60, 26); + this.label83.Name = "label83"; + this.label83.Size = new System.Drawing.Size(49, 13); + this.label83.TabIndex = 41; + this.label83.Text = "filename:"; + // + // TrainTrackFilenameTextBox + // + this.TrainTrackFilenameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TrainTrackFilenameTextBox.Location = new System.Drawing.Point(115, 23); + this.TrainTrackFilenameTextBox.Name = "TrainTrackFilenameTextBox"; + this.TrainTrackFilenameTextBox.ReadOnly = true; + this.TrainTrackFilenameTextBox.Size = new System.Drawing.Size(360, 20); + this.TrainTrackFilenameTextBox.TabIndex = 40; + // + // label74 + // + this.label74.AutoSize = true; + this.label74.Location = new System.Drawing.Point(21, 271); + this.label74.Name = "label74"; + this.label74.Size = new System.Drawing.Size(68, 13); + this.label74.TabIndex = 39; + this.label74.Text = "Project Path:"; + // + // TrainTrackProjectPathTextBox + // + this.TrainTrackProjectPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TrainTrackProjectPathTextBox.Location = new System.Drawing.Point(95, 268); + this.TrainTrackProjectPathTextBox.Name = "TrainTrackProjectPathTextBox"; + this.TrainTrackProjectPathTextBox.ReadOnly = true; + this.TrainTrackProjectPathTextBox.Size = new System.Drawing.Size(380, 20); + this.TrainTrackProjectPathTextBox.TabIndex = 53; + // + // label79 + // + this.label79.AutoSize = true; + this.label79.Location = new System.Drawing.Point(21, 245); + this.label79.Name = "label79"; + this.label79.Size = new System.Drawing.Size(51, 13); + this.label79.TabIndex = 38; + this.label79.Text = "File Path:"; + // + // TrainTrackFilePathTextBox + // + this.TrainTrackFilePathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TrainTrackFilePathTextBox.Location = new System.Drawing.Point(95, 242); + this.TrainTrackFilePathTextBox.Name = "TrainTrackFilePathTextBox"; + this.TrainTrackFilePathTextBox.ReadOnly = true; + this.TrainTrackFilePathTextBox.Size = new System.Drawing.Size(380, 20); + this.TrainTrackFilePathTextBox.TabIndex = 52; + // + // label80 + // + this.label80.AutoSize = true; + this.label80.Location = new System.Drawing.Point(21, 219); + this.label80.Name = "label80"; + this.label80.Size = new System.Drawing.Size(52, 13); + this.label80.TabIndex = 37; + this.label80.Text = "Rpf Path:"; + // + // TrainTrackRpfPathTextBox + // + this.TrainTrackRpfPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TrainTrackRpfPathTextBox.Location = new System.Drawing.Point(95, 216); + this.TrainTrackRpfPathTextBox.Name = "TrainTrackRpfPathTextBox"; + this.TrainTrackRpfPathTextBox.ReadOnly = true; + this.TrainTrackRpfPathTextBox.Size = new System.Drawing.Size(380, 20); + this.TrainTrackRpfPathTextBox.TabIndex = 51; + // + // EditTrainTrackPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(506, 346); + this.Controls.Add(this.TrainTrackInfoLabel); + this.Controls.Add(this.label86); + this.Controls.Add(this.TrainTrackBrakingDistTextBox); + this.Controls.Add(this.label85); + this.Controls.Add(this.TrainTrackSpeedTextBox); + this.Controls.Add(this.TrainTrackMPStopsAtStationsCheckBox); + this.Controls.Add(this.TrainTrackStopsAtStationsCheckBox); + this.Controls.Add(this.TrainTrackIsPingPongCheckBox); + this.Controls.Add(this.label84); + this.Controls.Add(this.TrainTrackConfigNameTextBox); + this.Controls.Add(this.label83); + this.Controls.Add(this.TrainTrackFilenameTextBox); + this.Controls.Add(this.label74); + this.Controls.Add(this.TrainTrackProjectPathTextBox); + this.Controls.Add(this.label79); + this.Controls.Add(this.TrainTrackFilePathTextBox); + this.Controls.Add(this.label80); + this.Controls.Add(this.TrainTrackRpfPathTextBox); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditTrainTrackPanel"; + this.Text = "Edit Train Track"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label TrainTrackInfoLabel; + private System.Windows.Forms.Label label86; + private System.Windows.Forms.TextBox TrainTrackBrakingDistTextBox; + private System.Windows.Forms.Label label85; + private System.Windows.Forms.TextBox TrainTrackSpeedTextBox; + private System.Windows.Forms.CheckBox TrainTrackMPStopsAtStationsCheckBox; + private System.Windows.Forms.CheckBox TrainTrackStopsAtStationsCheckBox; + private System.Windows.Forms.CheckBox TrainTrackIsPingPongCheckBox; + private System.Windows.Forms.Label label84; + private System.Windows.Forms.TextBox TrainTrackConfigNameTextBox; + private System.Windows.Forms.Label label83; + private System.Windows.Forms.TextBox TrainTrackFilenameTextBox; + private System.Windows.Forms.Label label74; + private System.Windows.Forms.TextBox TrainTrackProjectPathTextBox; + private System.Windows.Forms.Label label79; + private System.Windows.Forms.TextBox TrainTrackFilePathTextBox; + private System.Windows.Forms.Label label80; + private System.Windows.Forms.TextBox TrainTrackRpfPathTextBox; + } +} \ No newline at end of file diff --git a/Project/Panels/EditTrainTrackPanel.cs b/Project/Panels/EditTrainTrackPanel.cs new file mode 100644 index 0000000..90e067e --- /dev/null +++ b/Project/Panels/EditTrainTrackPanel.cs @@ -0,0 +1,95 @@ +using CodeWalker.World; +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.Project.Panels +{ + public partial class EditTrainTrackPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public TrainTrack Track { get; set; } + + //private bool populatingui = false; + private bool waschanged = false; + + public EditTrainTrackPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetTrainTrack(TrainTrack track) + { + Track = track; + Tag = track; + UpdateFormTitle(); + UpdateTrainTrackUI(); + waschanged = track?.HasChanged ?? false; + } + + public void UpdateFormTitleYnvChanged() + { + bool changed = Track.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = Track.RpfFileEntry?.Name ?? Track.Name; + if (string.IsNullOrEmpty(fn)) fn = "Edit Train Track"; + Text = fn + (Track.HasChanged ? "*" : ""); + } + + + public void UpdateTrainTrackUI() + { + if (Track == null) + { + //TrainTrackFilePanel.Enabled = false; + TrainTrackFilenameTextBox.Text = string.Empty; + TrainTrackConfigNameTextBox.Text = string.Empty; + TrainTrackIsPingPongCheckBox.Checked = false; + TrainTrackStopsAtStationsCheckBox.Checked = false; + TrainTrackMPStopsAtStationsCheckBox.Checked = false; + TrainTrackSpeedTextBox.Text = string.Empty; + TrainTrackBrakingDistTextBox.Text = string.Empty; + TrainTrackRpfPathTextBox.Text = string.Empty; + TrainTrackFilePathTextBox.Text = string.Empty; + TrainTrackProjectPathTextBox.Text = string.Empty; + TrainTrackInfoLabel.Text = string.Empty; + } + else + { + //populatingui = true; + //TrainTrackFilePanel.Enabled = true; + TrainTrackFilenameTextBox.Text = Track.filename; + TrainTrackConfigNameTextBox.Text = Track.trainConfigName; + TrainTrackIsPingPongCheckBox.Checked = Track.isPingPongTrack; + TrainTrackStopsAtStationsCheckBox.Checked = Track.stopsAtStations; + TrainTrackMPStopsAtStationsCheckBox.Checked = Track.MPstopsAtStations; + TrainTrackSpeedTextBox.Text = FloatUtil.ToString(Track.speed); + TrainTrackBrakingDistTextBox.Text = FloatUtil.ToString(Track.brakingDist); + TrainTrackRpfPathTextBox.Text = Track.RpfFileEntry?.Path ?? string.Empty; + TrainTrackFilePathTextBox.Text = Track.FilePath; + TrainTrackProjectPathTextBox.Text = string.Empty; //todo + TrainTrackInfoLabel.Text = Track.StationCount.ToString() + " stations"; + //populatingui = false; + } + } + } +} diff --git a/Project/Panels/EditTrainTrackPanel.resx b/Project/Panels/EditTrainTrackPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditTrainTrackPanel.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/Project/Panels/EditYmapCarGenPanel.Designer.cs b/Project/Panels/EditYmapCarGenPanel.Designer.cs new file mode 100644 index 0000000..738a791 --- /dev/null +++ b/Project/Panels/EditYmapCarGenPanel.Designer.cs @@ -0,0 +1,464 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYmapCarGenPanel + { + /// + /// 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(EditYmapCarGenPanel)); + this.CarFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox(); + this.CarDeleteButton = new System.Windows.Forms.Button(); + this.CarAddToProjectButton = new System.Windows.Forms.Button(); + this.label44 = new System.Windows.Forms.Label(); + this.CarLiveryTextBox = new System.Windows.Forms.TextBox(); + this.label43 = new System.Windows.Forms.Label(); + this.CarBodyColorRemap4TextBox = new System.Windows.Forms.TextBox(); + this.label42 = new System.Windows.Forms.Label(); + this.CarBodyColorRemap3TextBox = new System.Windows.Forms.TextBox(); + this.label41 = new System.Windows.Forms.Label(); + this.CarBodyColorRemap2TextBox = new System.Windows.Forms.TextBox(); + this.CarPopGroupTextBox = new System.Windows.Forms.TextBox(); + this.label39 = new System.Windows.Forms.Label(); + this.CarPopGroupHashLabel = new System.Windows.Forms.Label(); + this.label38 = new System.Windows.Forms.Label(); + this.CarBodyColorRemap1TextBox = new System.Windows.Forms.TextBox(); + this.label37 = new System.Windows.Forms.Label(); + this.CarFlagsTextBox = new System.Windows.Forms.TextBox(); + this.CarPerpendicularLengthTextBox = new System.Windows.Forms.TextBox(); + this.label36 = new System.Windows.Forms.Label(); + this.CarOrientYTextBox = new System.Windows.Forms.TextBox(); + this.label34 = new System.Windows.Forms.Label(); + this.CarOrientXTextBox = new System.Windows.Forms.TextBox(); + this.label35 = new System.Windows.Forms.Label(); + this.CarModelTextBox = new System.Windows.Forms.TextBox(); + this.label32 = new System.Windows.Forms.Label(); + this.CarModelHashLabel = new System.Windows.Forms.Label(); + this.CarGoToButton = new System.Windows.Forms.Button(); + this.CarPositionTextBox = new System.Windows.Forms.TextBox(); + this.label31 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // CarFlagsCheckedListBox + // + this.CarFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarFlagsCheckedListBox.CheckOnClick = true; + this.CarFlagsCheckedListBox.FormattingEnabled = true; + this.CarFlagsCheckedListBox.Items.AddRange(new object[] { + "1 - Unk01", + "2 - Unk02", + "4 - Unk03", + "8 - Unk04", + "16 - Unk05", + "32 - Unk06", + "64 - Unk07", + "128 - Unk08", + "256 - Unk09", + "512 - Unk10", + "1024 - Unk11", + "2048 - Unk12", + "4096 - Unk13", + "8192 - Unk14", + "16384 - Unk15", + "32768 - Unk16", + "65536 - Unk17", + "131072 - Unk18", + "262144 - Unk19", + "524288 - Unk20", + "1048576 - Unk21", + "2097152 - Unk22", + "4194304 - Unk23", + "8388608 - Unk24", + "16777216 - Unk25", + "33554432 - Unk26", + "67108864 - Unk27", + "134217728 - Unk28", + "268435456 - Unk29", + "536870912 - Unk30", + "1073741824 - Unk31", + "2147483648 - Unk32"}); + this.CarFlagsCheckedListBox.Location = new System.Drawing.Point(345, 112); + this.CarFlagsCheckedListBox.Name = "CarFlagsCheckedListBox"; + this.CarFlagsCheckedListBox.Size = new System.Drawing.Size(201, 289); + this.CarFlagsCheckedListBox.TabIndex = 103; + this.CarFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.CarFlagsCheckedListBox_ItemCheck); + // + // CarDeleteButton + // + this.CarDeleteButton.Location = new System.Drawing.Point(163, 309); + this.CarDeleteButton.Name = "CarDeleteButton"; + this.CarDeleteButton.Size = new System.Drawing.Size(95, 23); + this.CarDeleteButton.TabIndex = 105; + this.CarDeleteButton.Text = "Delete CarGen"; + this.CarDeleteButton.UseVisualStyleBackColor = true; + this.CarDeleteButton.Click += new System.EventHandler(this.CarDeleteButton_Click); + // + // CarAddToProjectButton + // + this.CarAddToProjectButton.Location = new System.Drawing.Point(62, 309); + this.CarAddToProjectButton.Name = "CarAddToProjectButton"; + this.CarAddToProjectButton.Size = new System.Drawing.Size(95, 23); + this.CarAddToProjectButton.TabIndex = 104; + this.CarAddToProjectButton.Text = "Add to Project"; + this.CarAddToProjectButton.UseVisualStyleBackColor = true; + this.CarAddToProjectButton.Click += new System.EventHandler(this.CarAddToProjectButton_Click); + // + // label44 + // + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(4, 271); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(38, 13); + this.label44.TabIndex = 99; + this.label44.Text = "Livery:"; + // + // CarLiveryTextBox + // + this.CarLiveryTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarLiveryTextBox.Location = new System.Drawing.Point(118, 268); + this.CarLiveryTextBox.Name = "CarLiveryTextBox"; + this.CarLiveryTextBox.Size = new System.Drawing.Size(198, 20); + this.CarLiveryTextBox.TabIndex = 100; + this.CarLiveryTextBox.TextChanged += new System.EventHandler(this.CarLiveryTextBox_TextChanged); + // + // label43 + // + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(4, 245); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(98, 13); + this.label43.TabIndex = 97; + this.label43.Text = "BodyColorRemap4:"; + // + // CarBodyColorRemap4TextBox + // + this.CarBodyColorRemap4TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarBodyColorRemap4TextBox.Location = new System.Drawing.Point(118, 242); + this.CarBodyColorRemap4TextBox.Name = "CarBodyColorRemap4TextBox"; + this.CarBodyColorRemap4TextBox.Size = new System.Drawing.Size(198, 20); + this.CarBodyColorRemap4TextBox.TabIndex = 98; + this.CarBodyColorRemap4TextBox.TextChanged += new System.EventHandler(this.CarBodyColorRemap4TextBox_TextChanged); + // + // label42 + // + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(4, 219); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(98, 13); + this.label42.TabIndex = 95; + this.label42.Text = "BodyColorRemap3:"; + // + // CarBodyColorRemap3TextBox + // + this.CarBodyColorRemap3TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarBodyColorRemap3TextBox.Location = new System.Drawing.Point(118, 216); + this.CarBodyColorRemap3TextBox.Name = "CarBodyColorRemap3TextBox"; + this.CarBodyColorRemap3TextBox.Size = new System.Drawing.Size(198, 20); + this.CarBodyColorRemap3TextBox.TabIndex = 96; + this.CarBodyColorRemap3TextBox.TextChanged += new System.EventHandler(this.CarBodyColorRemap3TextBox_TextChanged); + // + // label41 + // + this.label41.AutoSize = true; + this.label41.Location = new System.Drawing.Point(4, 193); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(98, 13); + this.label41.TabIndex = 93; + this.label41.Text = "BodyColorRemap2:"; + // + // CarBodyColorRemap2TextBox + // + this.CarBodyColorRemap2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarBodyColorRemap2TextBox.Location = new System.Drawing.Point(118, 190); + this.CarBodyColorRemap2TextBox.Name = "CarBodyColorRemap2TextBox"; + this.CarBodyColorRemap2TextBox.Size = new System.Drawing.Size(198, 20); + this.CarBodyColorRemap2TextBox.TabIndex = 94; + this.CarBodyColorRemap2TextBox.TextChanged += new System.EventHandler(this.CarBodyColorRemap2TextBox_TextChanged); + // + // CarPopGroupTextBox + // + this.CarPopGroupTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarPopGroupTextBox.Location = new System.Drawing.Point(82, 60); + this.CarPopGroupTextBox.Name = "CarPopGroupTextBox"; + this.CarPopGroupTextBox.Size = new System.Drawing.Size(310, 20); + this.CarPopGroupTextBox.TabIndex = 80; + this.CarPopGroupTextBox.TextChanged += new System.EventHandler(this.CarPopGroupTextBox_TextChanged); + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Location = new System.Drawing.Point(4, 63); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(58, 13); + this.label39.TabIndex = 79; + this.label39.Text = "PopGroup:"; + // + // CarPopGroupHashLabel + // + this.CarPopGroupHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.CarPopGroupHashLabel.AutoSize = true; + this.CarPopGroupHashLabel.Location = new System.Drawing.Point(398, 63); + this.CarPopGroupHashLabel.Name = "CarPopGroupHashLabel"; + this.CarPopGroupHashLabel.Size = new System.Drawing.Size(44, 13); + this.CarPopGroupHashLabel.TabIndex = 81; + this.CarPopGroupHashLabel.Text = "Hash: 0"; + // + // label38 + // + this.label38.AutoSize = true; + this.label38.Location = new System.Drawing.Point(4, 167); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(98, 13); + this.label38.TabIndex = 91; + this.label38.Text = "BodyColorRemap1:"; + // + // CarBodyColorRemap1TextBox + // + this.CarBodyColorRemap1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarBodyColorRemap1TextBox.Location = new System.Drawing.Point(118, 164); + this.CarBodyColorRemap1TextBox.Name = "CarBodyColorRemap1TextBox"; + this.CarBodyColorRemap1TextBox.Size = new System.Drawing.Size(198, 20); + this.CarBodyColorRemap1TextBox.TabIndex = 92; + this.CarBodyColorRemap1TextBox.TextChanged += new System.EventHandler(this.CarBodyColorRemap1TextBox_TextChanged); + // + // label37 + // + this.label37.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label37.AutoSize = true; + this.label37.Location = new System.Drawing.Point(362, 89); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(35, 13); + this.label37.TabIndex = 101; + this.label37.Text = "Flags:"; + // + // CarFlagsTextBox + // + this.CarFlagsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.CarFlagsTextBox.Location = new System.Drawing.Point(403, 86); + this.CarFlagsTextBox.Name = "CarFlagsTextBox"; + this.CarFlagsTextBox.Size = new System.Drawing.Size(143, 20); + this.CarFlagsTextBox.TabIndex = 102; + this.CarFlagsTextBox.TextChanged += new System.EventHandler(this.CarFlagsTextBox_TextChanged); + // + // CarPerpendicularLengthTextBox + // + this.CarPerpendicularLengthTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarPerpendicularLengthTextBox.Location = new System.Drawing.Point(118, 138); + this.CarPerpendicularLengthTextBox.Name = "CarPerpendicularLengthTextBox"; + this.CarPerpendicularLengthTextBox.Size = new System.Drawing.Size(198, 20); + this.CarPerpendicularLengthTextBox.TabIndex = 90; + this.CarPerpendicularLengthTextBox.TextChanged += new System.EventHandler(this.CarPerpendicularLengthTextBox_TextChanged); + // + // label36 + // + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(4, 141); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(108, 13); + this.label36.TabIndex = 89; + this.label36.Text = "PerpendicularLength:"; + // + // CarOrientYTextBox + // + this.CarOrientYTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarOrientYTextBox.Location = new System.Drawing.Point(82, 112); + this.CarOrientYTextBox.Name = "CarOrientYTextBox"; + this.CarOrientYTextBox.Size = new System.Drawing.Size(234, 20); + this.CarOrientYTextBox.TabIndex = 88; + this.CarOrientYTextBox.TextChanged += new System.EventHandler(this.CarOrientYTextBox_TextChanged); + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(4, 115); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(45, 13); + this.label34.TabIndex = 87; + this.label34.Text = "OrientY:"; + // + // CarOrientXTextBox + // + this.CarOrientXTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarOrientXTextBox.Location = new System.Drawing.Point(82, 86); + this.CarOrientXTextBox.Name = "CarOrientXTextBox"; + this.CarOrientXTextBox.Size = new System.Drawing.Size(234, 20); + this.CarOrientXTextBox.TabIndex = 86; + this.CarOrientXTextBox.TextChanged += new System.EventHandler(this.CarOrientXTextBox_TextChanged); + // + // label35 + // + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(4, 89); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(45, 13); + this.label35.TabIndex = 85; + this.label35.Text = "OrientX:"; + // + // CarModelTextBox + // + this.CarModelTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarModelTextBox.Location = new System.Drawing.Point(82, 34); + this.CarModelTextBox.Name = "CarModelTextBox"; + this.CarModelTextBox.Size = new System.Drawing.Size(310, 20); + this.CarModelTextBox.TabIndex = 77; + this.CarModelTextBox.TextChanged += new System.EventHandler(this.CarModelTextBox_TextChanged); + // + // label32 + // + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(4, 37); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(55, 13); + this.label32.TabIndex = 76; + this.label32.Text = "CarModel:"; + // + // CarModelHashLabel + // + this.CarModelHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.CarModelHashLabel.AutoSize = true; + this.CarModelHashLabel.Location = new System.Drawing.Point(398, 37); + this.CarModelHashLabel.Name = "CarModelHashLabel"; + this.CarModelHashLabel.Size = new System.Drawing.Size(44, 13); + this.CarModelHashLabel.TabIndex = 78; + this.CarModelHashLabel.Text = "Hash: 0"; + // + // CarGoToButton + // + this.CarGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.CarGoToButton.Location = new System.Drawing.Point(478, 6); + this.CarGoToButton.Name = "CarGoToButton"; + this.CarGoToButton.Size = new System.Drawing.Size(68, 23); + this.CarGoToButton.TabIndex = 84; + this.CarGoToButton.Text = "Go to"; + this.CarGoToButton.UseVisualStyleBackColor = true; + this.CarGoToButton.Click += new System.EventHandler(this.CarGoToButton_Click); + // + // CarPositionTextBox + // + this.CarPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CarPositionTextBox.Location = new System.Drawing.Point(82, 8); + this.CarPositionTextBox.Name = "CarPositionTextBox"; + this.CarPositionTextBox.Size = new System.Drawing.Size(390, 20); + this.CarPositionTextBox.TabIndex = 83; + this.CarPositionTextBox.TextChanged += new System.EventHandler(this.CarPositionTextBox_TextChanged); + // + // label31 + // + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(4, 11); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(47, 13); + this.label31.TabIndex = 82; + this.label31.Text = "Position:"; + // + // EditYmapCarGenPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(553, 407); + this.Controls.Add(this.CarFlagsCheckedListBox); + this.Controls.Add(this.CarDeleteButton); + this.Controls.Add(this.CarAddToProjectButton); + this.Controls.Add(this.label44); + this.Controls.Add(this.CarLiveryTextBox); + this.Controls.Add(this.label43); + this.Controls.Add(this.CarBodyColorRemap4TextBox); + this.Controls.Add(this.label42); + this.Controls.Add(this.CarBodyColorRemap3TextBox); + this.Controls.Add(this.label41); + this.Controls.Add(this.CarBodyColorRemap2TextBox); + this.Controls.Add(this.CarPopGroupTextBox); + this.Controls.Add(this.label39); + this.Controls.Add(this.CarPopGroupHashLabel); + this.Controls.Add(this.label38); + this.Controls.Add(this.CarBodyColorRemap1TextBox); + this.Controls.Add(this.label37); + this.Controls.Add(this.CarFlagsTextBox); + this.Controls.Add(this.CarPerpendicularLengthTextBox); + this.Controls.Add(this.label36); + this.Controls.Add(this.CarOrientYTextBox); + this.Controls.Add(this.label34); + this.Controls.Add(this.CarOrientXTextBox); + this.Controls.Add(this.label35); + this.Controls.Add(this.CarModelTextBox); + this.Controls.Add(this.label32); + this.Controls.Add(this.CarModelHashLabel); + this.Controls.Add(this.CarGoToButton); + this.Controls.Add(this.CarPositionTextBox); + this.Controls.Add(this.label31); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYmapCarGenPanel"; + this.Text = "Car Generator"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.CheckedListBox CarFlagsCheckedListBox; + private System.Windows.Forms.Button CarDeleteButton; + private System.Windows.Forms.Button CarAddToProjectButton; + private System.Windows.Forms.Label label44; + private System.Windows.Forms.TextBox CarLiveryTextBox; + private System.Windows.Forms.Label label43; + private System.Windows.Forms.TextBox CarBodyColorRemap4TextBox; + private System.Windows.Forms.Label label42; + private System.Windows.Forms.TextBox CarBodyColorRemap3TextBox; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.TextBox CarBodyColorRemap2TextBox; + private System.Windows.Forms.TextBox CarPopGroupTextBox; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Label CarPopGroupHashLabel; + private System.Windows.Forms.Label label38; + private System.Windows.Forms.TextBox CarBodyColorRemap1TextBox; + private System.Windows.Forms.Label label37; + private System.Windows.Forms.TextBox CarFlagsTextBox; + private System.Windows.Forms.TextBox CarPerpendicularLengthTextBox; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.TextBox CarOrientYTextBox; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.TextBox CarOrientXTextBox; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.TextBox CarModelTextBox; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.Label CarModelHashLabel; + private System.Windows.Forms.Button CarGoToButton; + private System.Windows.Forms.TextBox CarPositionTextBox; + private System.Windows.Forms.Label label31; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYmapCarGenPanel.cs b/Project/Panels/EditYmapCarGenPanel.cs new file mode 100644 index 0000000..c9da213 --- /dev/null +++ b/Project/Panels/EditYmapCarGenPanel.cs @@ -0,0 +1,421 @@ +using CodeWalker.GameFiles; +using SharpDX; +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.Project.Panels +{ + public partial class EditYmapCarGenPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YmapCarGen CurrentCarGen { get; set; } + + private bool populatingui = false; + + public EditYmapCarGenPanel(ProjectForm2 owner) + { + ProjectForm = owner; + InitializeComponent(); + } + + public void SetCarGen(YmapCarGen cargen) + { + CurrentCarGen = cargen; + Tag = cargen; + LoadCarGen(); + UpdateFormTitle(); + } + + private void UpdateFormTitle() + { + if (CurrentCarGen._CCarGen.carModel == 0) + { + Text = "Car Generator"; + } + else + { + Text = CurrentCarGen?.NameString() ?? "Car Generator"; + } + } + + + private void LoadCarGen() + { + + if (CurrentCarGen == null) + { + //CarGenPanel.Enabled = false; + CarAddToProjectButton.Enabled = false; + CarDeleteButton.Enabled = false; + CarModelTextBox.Text = string.Empty; + CarModelHashLabel.Text = "Hash: 0"; + CarPopGroupTextBox.Text = string.Empty; + CarPopGroupHashLabel.Text = "Hash: 0"; + CarFlagsTextBox.Text = string.Empty; + CarPositionTextBox.Text = string.Empty; + CarOrientXTextBox.Text = string.Empty; + CarOrientYTextBox.Text = string.Empty; + CarPerpendicularLengthTextBox.Text = string.Empty; + CarBodyColorRemap1TextBox.Text = string.Empty; + CarBodyColorRemap2TextBox.Text = string.Empty; + CarBodyColorRemap3TextBox.Text = string.Empty; + CarBodyColorRemap4TextBox.Text = string.Empty; + CarLiveryTextBox.Text = string.Empty; + foreach (int i in CarFlagsCheckedListBox.CheckedIndices) + { + CarFlagsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); + } + } + else + { + populatingui = true; + var c = CurrentCarGen.CCarGen; + //CarGenPanel.Enabled = true; + CarAddToProjectButton.Enabled = !ProjectForm.YmapExistsInProject(CurrentCarGen.Ymap); + CarDeleteButton.Enabled = !CarAddToProjectButton.Enabled; + CarModelTextBox.Text = c.carModel.ToString(); + CarModelHashLabel.Text = "Hash: " + c.carModel.Hash.ToString(); + CarPopGroupTextBox.Text = c.popGroup.ToString(); + CarPopGroupHashLabel.Text = "Hash: " + c.popGroup.Hash.ToString(); + CarFlagsTextBox.Text = c.flags.ToString(); + CarPositionTextBox.Text = FloatUtil.GetVector3String(c.position); + CarOrientXTextBox.Text = FloatUtil.ToString(c.orientX); + CarOrientYTextBox.Text = FloatUtil.ToString(c.orientY); + CarPerpendicularLengthTextBox.Text = FloatUtil.ToString(c.perpendicularLength); + CarBodyColorRemap1TextBox.Text = c.bodyColorRemap1.ToString(); + CarBodyColorRemap2TextBox.Text = c.bodyColorRemap2.ToString(); + CarBodyColorRemap3TextBox.Text = c.bodyColorRemap3.ToString(); + CarBodyColorRemap4TextBox.Text = c.bodyColorRemap4.ToString(); + CarLiveryTextBox.Text = c.livery.ToString(); + for (int i = 0; i < CarFlagsCheckedListBox.Items.Count; i++) + { + var cv = ((c.flags & (1u << i)) > 0); + CarFlagsCheckedListBox.SetItemCheckState(i, cv ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectCarGen(CurrentCarGen); + } + + ////struct CCarGen: + //Vector3 position { get; set; } //16 16: Float_XYZ: 0: position + //float orientX { get; set; } //32 32: Float: 0: orientX=735213009 + //float orientY { get; set; } //36 36: Float: 0: orientY=979440342 + //float perpendicularLength { get; set; } //40 40: Float: 0: perpendicularLength=124715667 + //MetaHash carModel { get; set; } //44 44: Hash: 0: carModel + //uint flags { get; set; } //48 48: UnsignedInt: 0: flags + //int bodyColorRemap1 { get; set; } //52 52: SignedInt: 0: bodyColorRemap1=1429703670 + //int bodyColorRemap2 { get; set; } //56 56: SignedInt: 0: bodyColorRemap2=1254848286 + //int bodyColorRemap3 { get; set; } //60 60: SignedInt: 0: bodyColorRemap3=1880965569 + //int bodyColorRemap4 { get; set; } //64 64: SignedInt: 0: bodyColorRemap4=1719152247 + //MetaHash popGroup { get; set; } //68 68: Hash: 0: popGroup=911358791 + //sbyte livery { get; set; } //72 72: SignedByte: 0: livery + } + } + + private void CarModelTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + uint hash = 0; + string name = CarModelTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + CarModelHashLabel.Text = "Hash: " + hash.ToString(); + + //var model = GameFileCache.GetCarInfo(hash); //todo: something like this for car info? + //if (model == null) + //{ + // CarModelHashLabel.Text += " (not found)"; + //} + + if (CurrentCarGen != null) + { + lock (ProjectForm.ProjectSyncRoot) + { + var modelhash = new MetaHash(hash); + if (CurrentCarGen._CCarGen.carModel != modelhash) + { + CurrentCarGen._CCarGen.carModel = modelhash; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + ProjectForm.ProjectExplorer?.UpdateCarGenTreeNode(CurrentCarGen); + + } + + private void CarPopGroupTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + uint hash = 0; + string name = CarPopGroupTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + CarPopGroupHashLabel.Text = "Hash: " + hash.ToString(); + + //var grp = GameFileCache.GetCarPopGroup(hash); //todo: something like this for popgroup info? + //if (grp == null) + //{ + // CarPopGroupHashLabel.Text += " (not found)"; + //} + + if (CurrentCarGen != null) + { + lock (ProjectForm.ProjectSyncRoot) + { + var pghash = new MetaHash(hash); + if (CurrentCarGen._CCarGen.popGroup != pghash) + { + CurrentCarGen._CCarGen.popGroup = pghash; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + ProjectForm.ProjectExplorer?.UpdateCarGenTreeNode(CurrentCarGen); + } + + private void CarFlagsTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + uint flags = 0; + uint.TryParse(CarFlagsTextBox.Text, out flags); + populatingui = true; + for (int i = 0; i < CarFlagsCheckedListBox.Items.Count; i++) + { + var c = ((flags & (1u << i)) > 0); + CarFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.flags != flags) + { + CurrentCarGen._CCarGen.flags = flags; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarFlagsCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + uint flags = 0; + for (int i = 0; i < CarFlagsCheckedListBox.Items.Count; i++) + { + if (e.Index == i) + { + if (e.NewValue == CheckState.Checked) + { + flags += (uint)(1 << i); + } + } + else + { + if (CarFlagsCheckedListBox.GetItemChecked(i)) + { + flags += (uint)(1 << i); + } + } + } + populatingui = true; + CarFlagsTextBox.Text = flags.ToString(); + populatingui = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.flags != flags) + { + CurrentCarGen._CCarGen.flags = flags; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + Vector3 v = FloatUtil.ParseVector3String(CarPositionTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen.Position != v) + { + CurrentCarGen.SetPosition(v); + ProjectForm.SetYmapHasChanged(true); + ProjectForm.WorldForm?.SetWidgetPosition(v); + } + } + + ProjectForm.ProjectExplorer?.UpdateCarGenTreeNode(CurrentCarGen); + } + + private void CarOrientXTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + float ox = FloatUtil.Parse(CarOrientXTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.orientX != ox) + { + CurrentCarGen._CCarGen.orientX = ox; + CurrentCarGen.CalcOrientation(); + ProjectForm.SetYmapHasChanged(true); + ProjectForm.WorldForm?.SetWidgetRotation(CurrentCarGen.Orientation); + } + } + } + + private void CarOrientYTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + float oy = FloatUtil.Parse(CarOrientYTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.orientY != oy) + { + CurrentCarGen._CCarGen.orientY = oy; + CurrentCarGen.CalcOrientation(); + ProjectForm.SetYmapHasChanged(true); + ProjectForm.WorldForm?.SetWidgetRotation(CurrentCarGen.Orientation); + } + } + } + + private void CarPerpendicularLengthTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + float len = FloatUtil.Parse(CarPerpendicularLengthTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.perpendicularLength != len) + { + CurrentCarGen.SetLength(len); + ProjectForm.SetYmapHasChanged(true); + ProjectForm.WorldForm?.SetWidgetScale(new Vector3(len)); + } + } + } + + private void CarBodyColorRemap1TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + int cr = 0; + int.TryParse(CarBodyColorRemap1TextBox.Text, out cr); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.bodyColorRemap1 != cr) + { + CurrentCarGen._CCarGen.bodyColorRemap1 = cr; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarBodyColorRemap2TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + int cr = 0; + int.TryParse(CarBodyColorRemap2TextBox.Text, out cr); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.bodyColorRemap2 != cr) + { + CurrentCarGen._CCarGen.bodyColorRemap2 = cr; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarBodyColorRemap3TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + int cr = 0; + int.TryParse(CarBodyColorRemap3TextBox.Text, out cr); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.bodyColorRemap3 != cr) + { + CurrentCarGen._CCarGen.bodyColorRemap3 = cr; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarBodyColorRemap4TextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + int cr = 0; + int.TryParse(CarBodyColorRemap4TextBox.Text, out cr); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.bodyColorRemap4 != cr) + { + CurrentCarGen._CCarGen.bodyColorRemap4 = cr; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void CarLiveryTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentCarGen == null) return; + sbyte cr = 0; + sbyte.TryParse(CarLiveryTextBox.Text, out cr); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentCarGen._CCarGen.livery != cr) + { + CurrentCarGen._CCarGen.livery = cr; + ProjectForm.SetYmapHasChanged(true); + } + } + ProjectForm.ProjectExplorer?.UpdateCarGenTreeNode(CurrentCarGen); + } + + private void CarGoToButton_Click(object sender, EventArgs e) + { + if (CurrentCarGen == null) return; + ProjectForm.WorldForm?.GoToPosition(CurrentCarGen.Position); + } + + private void CarAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentCarGen); + ProjectForm.AddCarGenToProject(); + } + + private void CarDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentCarGen); + ProjectForm.DeleteCarGen(); + } + } +} diff --git a/Project/Panels/EditYmapCarGenPanel.resx b/Project/Panels/EditYmapCarGenPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYmapCarGenPanel.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/Project/Panels/EditYmapEntityPanel.Designer.cs b/Project/Panels/EditYmapEntityPanel.Designer.cs new file mode 100644 index 0000000..f33c0e7 --- /dev/null +++ b/Project/Panels/EditYmapEntityPanel.Designer.cs @@ -0,0 +1,748 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYmapEntityPanel + { + /// + /// 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(EditYmapEntityPanel)); + this.EntityTabControl = new System.Windows.Forms.TabControl(); + this.EntityGeneralTabPage = new System.Windows.Forms.TabPage(); + this.EntityFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.EntityDeleteButton = new System.Windows.Forms.Button(); + this.EntityTintValueTextBox = new System.Windows.Forms.TextBox(); + this.EntityAddToProjectButton = new System.Windows.Forms.Button(); + this.label27 = new System.Windows.Forms.Label(); + this.EntityArtificialAOTextBox = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.EntityAOMultiplierTextBox = new System.Windows.Forms.TextBox(); + this.EntityGuidTextBox = new System.Windows.Forms.TextBox(); + this.EntityPriorityLevelComboBox = new System.Windows.Forms.ComboBox(); + this.label24 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.EntityFlagsTextBox = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.EntityLodLevelComboBox = new System.Windows.Forms.ComboBox(); + this.label14 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.EntityScaleXYTextBox = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.EntityArchetypeHashLabel = new System.Windows.Forms.Label(); + this.EntityChildLodDistTextBox = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.EntityScaleZTextBox = new System.Windows.Forms.TextBox(); + this.EntityLodDistTextBox = new System.Windows.Forms.TextBox(); + this.EntityArchetypeTextBox = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.EntityPositionTextBox = new System.Windows.Forms.TextBox(); + this.EntityNormalizeRotationButton = new System.Windows.Forms.Button(); + this.EntityGoToButton = new System.Windows.Forms.Button(); + this.label17 = new System.Windows.Forms.Label(); + this.EntityRotationTextBox = new System.Windows.Forms.TextBox(); + this.EntityLodTabPage = new System.Windows.Forms.TabPage(); + this.label20 = new System.Windows.Forms.Label(); + this.EntityParentIndexTextBox = new System.Windows.Forms.TextBox(); + this.EntityNumChildrenTextBox = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.EntityExtensionsTabPage = new System.Windows.Forms.TabPage(); + this.EntityPivotTabPage = new System.Windows.Forms.TabPage(); + this.label95 = new System.Windows.Forms.Label(); + this.EntityPivotEditCheckBox = new System.Windows.Forms.CheckBox(); + this.label93 = new System.Windows.Forms.Label(); + this.EntityPivotPositionTextBox = new System.Windows.Forms.TextBox(); + this.EntityPivotRotationNormalizeButton = new System.Windows.Forms.Button(); + this.label94 = new System.Windows.Forms.Label(); + this.EntityPivotRotationTextBox = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.EntityTabControl.SuspendLayout(); + this.EntityGeneralTabPage.SuspendLayout(); + this.EntityLodTabPage.SuspendLayout(); + this.EntityExtensionsTabPage.SuspendLayout(); + this.EntityPivotTabPage.SuspendLayout(); + this.SuspendLayout(); + // + // EntityTabControl + // + this.EntityTabControl.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.EntityTabControl.Controls.Add(this.EntityGeneralTabPage); + this.EntityTabControl.Controls.Add(this.EntityLodTabPage); + this.EntityTabControl.Controls.Add(this.EntityExtensionsTabPage); + this.EntityTabControl.Controls.Add(this.EntityPivotTabPage); + this.EntityTabControl.Location = new System.Drawing.Point(2, 3); + this.EntityTabControl.Name = "EntityTabControl"; + this.EntityTabControl.SelectedIndex = 0; + this.EntityTabControl.Size = new System.Drawing.Size(563, 502); + this.EntityTabControl.TabIndex = 45; + // + // EntityGeneralTabPage + // + this.EntityGeneralTabPage.Controls.Add(this.EntityFlagsCheckedListBox); + this.EntityGeneralTabPage.Controls.Add(this.label13); + this.EntityGeneralTabPage.Controls.Add(this.label28); + this.EntityGeneralTabPage.Controls.Add(this.EntityDeleteButton); + this.EntityGeneralTabPage.Controls.Add(this.EntityTintValueTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityAddToProjectButton); + this.EntityGeneralTabPage.Controls.Add(this.label27); + this.EntityGeneralTabPage.Controls.Add(this.EntityArtificialAOTextBox); + this.EntityGeneralTabPage.Controls.Add(this.label26); + this.EntityGeneralTabPage.Controls.Add(this.EntityAOMultiplierTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityGuidTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityPriorityLevelComboBox); + this.EntityGeneralTabPage.Controls.Add(this.label24); + this.EntityGeneralTabPage.Controls.Add(this.label15); + this.EntityGeneralTabPage.Controls.Add(this.EntityFlagsTextBox); + this.EntityGeneralTabPage.Controls.Add(this.label18); + this.EntityGeneralTabPage.Controls.Add(this.EntityLodLevelComboBox); + this.EntityGeneralTabPage.Controls.Add(this.label14); + this.EntityGeneralTabPage.Controls.Add(this.label23); + this.EntityGeneralTabPage.Controls.Add(this.EntityScaleXYTextBox); + this.EntityGeneralTabPage.Controls.Add(this.label22); + this.EntityGeneralTabPage.Controls.Add(this.EntityArchetypeHashLabel); + this.EntityGeneralTabPage.Controls.Add(this.EntityChildLodDistTextBox); + this.EntityGeneralTabPage.Controls.Add(this.label19); + this.EntityGeneralTabPage.Controls.Add(this.label21); + this.EntityGeneralTabPage.Controls.Add(this.EntityScaleZTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityLodDistTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityArchetypeTextBox); + this.EntityGeneralTabPage.Controls.Add(this.label16); + this.EntityGeneralTabPage.Controls.Add(this.EntityPositionTextBox); + this.EntityGeneralTabPage.Controls.Add(this.EntityNormalizeRotationButton); + this.EntityGeneralTabPage.Controls.Add(this.EntityGoToButton); + this.EntityGeneralTabPage.Controls.Add(this.label17); + this.EntityGeneralTabPage.Controls.Add(this.EntityRotationTextBox); + this.EntityGeneralTabPage.Location = new System.Drawing.Point(4, 22); + this.EntityGeneralTabPage.Name = "EntityGeneralTabPage"; + this.EntityGeneralTabPage.Padding = new System.Windows.Forms.Padding(3); + this.EntityGeneralTabPage.Size = new System.Drawing.Size(555, 476); + this.EntityGeneralTabPage.TabIndex = 0; + this.EntityGeneralTabPage.Text = "General"; + this.EntityGeneralTabPage.UseVisualStyleBackColor = true; + // + // EntityFlagsCheckedListBox + // + this.EntityFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityFlagsCheckedListBox.CheckOnClick = true; + this.EntityFlagsCheckedListBox.FormattingEnabled = true; + this.EntityFlagsCheckedListBox.Items.AddRange(new object[] { + "1 - Unk01", + "2 - Unk02", + "4 - Unk03", + "8 - Unk04", + "16 - Unk05", + "32 - Unk06", + "64 - Unk07", + "128 - Unk08", + "256 - Unk09", + "512 - Unk10", + "1024 - Unk11", + "2048 - Unk12", + "4096 - Unk13", + "8192 - Unk14", + "16384 - Unk15", + "32768 - Unk16", + "65536 - Unk17", + "131072 - Unk18", + "262144 - Unk19", + "524288 - Unk20", + "1048576 - Unk21", + "2097152 - Unk22", + "4194304 - Unk23", + "8388608 - Unk24", + "16777216 - Unk25", + "33554432 - Unk26", + "67108864 - Unk27", + "134217728 - Unk28", + "268435456 - Unk29", + "536870912 - Unk30", + "1073741824 - Unk31", + "2147483648 - Unk32"}); + this.EntityFlagsCheckedListBox.Location = new System.Drawing.Point(348, 113); + this.EntityFlagsCheckedListBox.Name = "EntityFlagsCheckedListBox"; + this.EntityFlagsCheckedListBox.Size = new System.Drawing.Size(201, 349); + this.EntityFlagsCheckedListBox.TabIndex = 32; + this.EntityFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.EntityFlagsCheckedListBox_ItemCheck); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(15, 64); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(58, 13); + this.label13.TabIndex = 7; + this.label13.Text = "Archetype:"; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(15, 326); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(55, 13); + this.label28.TabIndex = 28; + this.label28.Text = "TintValue:"; + // + // EntityDeleteButton + // + this.EntityDeleteButton.Location = new System.Drawing.Point(175, 376); + this.EntityDeleteButton.Name = "EntityDeleteButton"; + this.EntityDeleteButton.Size = new System.Drawing.Size(95, 23); + this.EntityDeleteButton.TabIndex = 34; + this.EntityDeleteButton.Text = "Delete Entity"; + this.EntityDeleteButton.UseVisualStyleBackColor = true; + this.EntityDeleteButton.Click += new System.EventHandler(this.EntityDeleteButton_Click); + // + // EntityTintValueTextBox + // + this.EntityTintValueTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityTintValueTextBox.Location = new System.Drawing.Point(93, 323); + this.EntityTintValueTextBox.Name = "EntityTintValueTextBox"; + this.EntityTintValueTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityTintValueTextBox.TabIndex = 29; + this.EntityTintValueTextBox.TextChanged += new System.EventHandler(this.EntityTintValueTextBox_TextChanged); + // + // EntityAddToProjectButton + // + this.EntityAddToProjectButton.Location = new System.Drawing.Point(74, 376); + this.EntityAddToProjectButton.Name = "EntityAddToProjectButton"; + this.EntityAddToProjectButton.Size = new System.Drawing.Size(95, 23); + this.EntityAddToProjectButton.TabIndex = 33; + this.EntityAddToProjectButton.Text = "Add to Project"; + this.EntityAddToProjectButton.UseVisualStyleBackColor = true; + this.EntityAddToProjectButton.Click += new System.EventHandler(this.EntityAddToProjectButton_Click); + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(15, 300); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(61, 13); + this.label27.TabIndex = 26; + this.label27.Text = "ArtificialAO:"; + // + // EntityArtificialAOTextBox + // + this.EntityArtificialAOTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityArtificialAOTextBox.Location = new System.Drawing.Point(93, 297); + this.EntityArtificialAOTextBox.Name = "EntityArtificialAOTextBox"; + this.EntityArtificialAOTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityArtificialAOTextBox.TabIndex = 27; + this.EntityArtificialAOTextBox.TextChanged += new System.EventHandler(this.EntityArtificialAOTextBox_TextChanged); + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(15, 274); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(66, 13); + this.label26.TabIndex = 24; + this.label26.Text = "AOMultiplier:"; + // + // EntityAOMultiplierTextBox + // + this.EntityAOMultiplierTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityAOMultiplierTextBox.Location = new System.Drawing.Point(93, 271); + this.EntityAOMultiplierTextBox.Name = "EntityAOMultiplierTextBox"; + this.EntityAOMultiplierTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityAOMultiplierTextBox.TabIndex = 25; + this.EntityAOMultiplierTextBox.TextChanged += new System.EventHandler(this.EntityAOMultiplierTextBox_TextChanged); + // + // EntityGuidTextBox + // + this.EntityGuidTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityGuidTextBox.Location = new System.Drawing.Point(93, 87); + this.EntityGuidTextBox.Name = "EntityGuidTextBox"; + this.EntityGuidTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityGuidTextBox.TabIndex = 11; + this.EntityGuidTextBox.TextChanged += new System.EventHandler(this.EntityGuidTextBox_TextChanged); + // + // EntityPriorityLevelComboBox + // + this.EntityPriorityLevelComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityPriorityLevelComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.EntityPriorityLevelComboBox.FormattingEnabled = true; + this.EntityPriorityLevelComboBox.Location = new System.Drawing.Point(93, 244); + this.EntityPriorityLevelComboBox.Name = "EntityPriorityLevelComboBox"; + this.EntityPriorityLevelComboBox.Size = new System.Drawing.Size(233, 21); + this.EntityPriorityLevelComboBox.TabIndex = 23; + this.EntityPriorityLevelComboBox.SelectedIndexChanged += new System.EventHandler(this.EntityPriorityLevelComboBox_SelectedIndexChanged); + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(15, 247); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(67, 13); + this.label24.TabIndex = 22; + this.label24.Text = "PriorityLevel:"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(15, 90); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(37, 13); + this.label15.TabIndex = 10; + this.label15.Text = "GUID:"; + // + // EntityFlagsTextBox + // + this.EntityFlagsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.EntityFlagsTextBox.Location = new System.Drawing.Point(402, 87); + this.EntityFlagsTextBox.Name = "EntityFlagsTextBox"; + this.EntityFlagsTextBox.Size = new System.Drawing.Size(147, 20); + this.EntityFlagsTextBox.TabIndex = 31; + this.EntityFlagsTextBox.TextChanged += new System.EventHandler(this.EntityFlagsTextBox_TextChanged); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(15, 116); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(51, 13); + this.label18.TabIndex = 12; + this.label18.Text = "ScaleXY:"; + // + // EntityLodLevelComboBox + // + this.EntityLodLevelComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityLodLevelComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.EntityLodLevelComboBox.FormattingEnabled = true; + this.EntityLodLevelComboBox.Location = new System.Drawing.Point(93, 217); + this.EntityLodLevelComboBox.Name = "EntityLodLevelComboBox"; + this.EntityLodLevelComboBox.Size = new System.Drawing.Size(233, 21); + this.EntityLodLevelComboBox.TabIndex = 21; + this.EntityLodLevelComboBox.SelectedIndexChanged += new System.EventHandler(this.EntityLodLevelComboBox_SelectedIndexChanged); + // + // label14 + // + this.label14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(361, 90); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(35, 13); + this.label14.TabIndex = 30; + this.label14.Text = "Flags:"; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(15, 220); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(54, 13); + this.label23.TabIndex = 20; + this.label23.Text = "LodLevel:"; + // + // EntityScaleXYTextBox + // + this.EntityScaleXYTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityScaleXYTextBox.Location = new System.Drawing.Point(93, 113); + this.EntityScaleXYTextBox.Name = "EntityScaleXYTextBox"; + this.EntityScaleXYTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityScaleXYTextBox.TabIndex = 13; + this.EntityScaleXYTextBox.TextChanged += new System.EventHandler(this.EntityScaleXYTextBox_TextChanged); + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(15, 194); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(69, 13); + this.label22.TabIndex = 18; + this.label22.Text = "ChildLodDist:"; + // + // EntityArchetypeHashLabel + // + this.EntityArchetypeHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.EntityArchetypeHashLabel.AutoSize = true; + this.EntityArchetypeHashLabel.Location = new System.Drawing.Point(332, 64); + this.EntityArchetypeHashLabel.Name = "EntityArchetypeHashLabel"; + this.EntityArchetypeHashLabel.Size = new System.Drawing.Size(44, 13); + this.EntityArchetypeHashLabel.TabIndex = 9; + this.EntityArchetypeHashLabel.Text = "Hash: 0"; + // + // EntityChildLodDistTextBox + // + this.EntityChildLodDistTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityChildLodDistTextBox.Location = new System.Drawing.Point(93, 191); + this.EntityChildLodDistTextBox.Name = "EntityChildLodDistTextBox"; + this.EntityChildLodDistTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityChildLodDistTextBox.TabIndex = 19; + this.EntityChildLodDistTextBox.TextChanged += new System.EventHandler(this.EntityChildLodDistTextBox_TextChanged); + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(15, 142); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(44, 13); + this.label19.TabIndex = 14; + this.label19.Text = "ScaleZ:"; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(15, 168); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(46, 13); + this.label21.TabIndex = 16; + this.label21.Text = "LodDist:"; + // + // EntityScaleZTextBox + // + this.EntityScaleZTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityScaleZTextBox.Location = new System.Drawing.Point(93, 139); + this.EntityScaleZTextBox.Name = "EntityScaleZTextBox"; + this.EntityScaleZTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityScaleZTextBox.TabIndex = 15; + this.EntityScaleZTextBox.TextChanged += new System.EventHandler(this.EntityScaleZTextBox_TextChanged); + // + // EntityLodDistTextBox + // + this.EntityLodDistTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityLodDistTextBox.Location = new System.Drawing.Point(93, 165); + this.EntityLodDistTextBox.Name = "EntityLodDistTextBox"; + this.EntityLodDistTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityLodDistTextBox.TabIndex = 17; + this.EntityLodDistTextBox.TextChanged += new System.EventHandler(this.EntityLodDistTextBox_TextChanged); + // + // EntityArchetypeTextBox + // + this.EntityArchetypeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityArchetypeTextBox.Location = new System.Drawing.Point(93, 61); + this.EntityArchetypeTextBox.Name = "EntityArchetypeTextBox"; + this.EntityArchetypeTextBox.Size = new System.Drawing.Size(233, 20); + this.EntityArchetypeTextBox.TabIndex = 8; + this.EntityArchetypeTextBox.TextChanged += new System.EventHandler(this.EntityArchetypeTextBox_TextChanged); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(15, 12); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(47, 13); + this.label16.TabIndex = 1; + this.label16.Text = "Position:"; + // + // EntityPositionTextBox + // + this.EntityPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityPositionTextBox.Location = new System.Drawing.Point(93, 9); + this.EntityPositionTextBox.Name = "EntityPositionTextBox"; + this.EntityPositionTextBox.Size = new System.Drawing.Size(382, 20); + this.EntityPositionTextBox.TabIndex = 2; + this.EntityPositionTextBox.TextChanged += new System.EventHandler(this.EntityPositionTextBox_TextChanged); + // + // EntityNormalizeRotationButton + // + this.EntityNormalizeRotationButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.EntityNormalizeRotationButton.Location = new System.Drawing.Point(481, 33); + this.EntityNormalizeRotationButton.Name = "EntityNormalizeRotationButton"; + this.EntityNormalizeRotationButton.Size = new System.Drawing.Size(68, 23); + this.EntityNormalizeRotationButton.TabIndex = 6; + this.EntityNormalizeRotationButton.Text = "Normalize"; + this.EntityNormalizeRotationButton.UseVisualStyleBackColor = true; + this.EntityNormalizeRotationButton.Click += new System.EventHandler(this.EntityNormalizeRotationButton_Click); + // + // EntityGoToButton + // + this.EntityGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.EntityGoToButton.Location = new System.Drawing.Point(481, 7); + this.EntityGoToButton.Name = "EntityGoToButton"; + this.EntityGoToButton.Size = new System.Drawing.Size(68, 23); + this.EntityGoToButton.TabIndex = 3; + this.EntityGoToButton.Text = "Go to"; + this.EntityGoToButton.UseVisualStyleBackColor = true; + this.EntityGoToButton.Click += new System.EventHandler(this.EntityGoToButton_Click); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(15, 38); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(50, 13); + this.label17.TabIndex = 4; + this.label17.Text = "Rotation:"; + // + // EntityRotationTextBox + // + this.EntityRotationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityRotationTextBox.Location = new System.Drawing.Point(93, 35); + this.EntityRotationTextBox.Name = "EntityRotationTextBox"; + this.EntityRotationTextBox.Size = new System.Drawing.Size(382, 20); + this.EntityRotationTextBox.TabIndex = 5; + this.EntityRotationTextBox.TextChanged += new System.EventHandler(this.EntityRotationTextBox_TextChanged); + // + // EntityLodTabPage + // + this.EntityLodTabPage.Controls.Add(this.label20); + this.EntityLodTabPage.Controls.Add(this.EntityParentIndexTextBox); + this.EntityLodTabPage.Controls.Add(this.EntityNumChildrenTextBox); + this.EntityLodTabPage.Controls.Add(this.label25); + this.EntityLodTabPage.Location = new System.Drawing.Point(4, 22); + this.EntityLodTabPage.Name = "EntityLodTabPage"; + this.EntityLodTabPage.Padding = new System.Windows.Forms.Padding(3); + this.EntityLodTabPage.Size = new System.Drawing.Size(555, 476); + this.EntityLodTabPage.TabIndex = 1; + this.EntityLodTabPage.Text = "LOD Hierarchy"; + this.EntityLodTabPage.UseVisualStyleBackColor = true; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(15, 16); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(67, 13); + this.label20.TabIndex = 24; + this.label20.Text = "ParentIndex:"; + // + // EntityParentIndexTextBox + // + this.EntityParentIndexTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityParentIndexTextBox.Location = new System.Drawing.Point(93, 13); + this.EntityParentIndexTextBox.Name = "EntityParentIndexTextBox"; + this.EntityParentIndexTextBox.Size = new System.Drawing.Size(245, 20); + this.EntityParentIndexTextBox.TabIndex = 25; + this.EntityParentIndexTextBox.TextChanged += new System.EventHandler(this.EntityParentIndexTextBox_TextChanged); + // + // EntityNumChildrenTextBox + // + this.EntityNumChildrenTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityNumChildrenTextBox.Location = new System.Drawing.Point(93, 39); + this.EntityNumChildrenTextBox.Name = "EntityNumChildrenTextBox"; + this.EntityNumChildrenTextBox.Size = new System.Drawing.Size(245, 20); + this.EntityNumChildrenTextBox.TabIndex = 35; + this.EntityNumChildrenTextBox.TextChanged += new System.EventHandler(this.EntityNumChildrenTextBox_TextChanged); + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(15, 42); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(70, 13); + this.label25.TabIndex = 34; + this.label25.Text = "NumChildren:"; + // + // EntityExtensionsTabPage + // + this.EntityExtensionsTabPage.Controls.Add(this.label1); + this.EntityExtensionsTabPage.Location = new System.Drawing.Point(4, 22); + this.EntityExtensionsTabPage.Name = "EntityExtensionsTabPage"; + this.EntityExtensionsTabPage.Size = new System.Drawing.Size(555, 476); + this.EntityExtensionsTabPage.TabIndex = 2; + this.EntityExtensionsTabPage.Text = "Extensions"; + this.EntityExtensionsTabPage.UseVisualStyleBackColor = true; + // + // EntityPivotTabPage + // + this.EntityPivotTabPage.Controls.Add(this.label95); + this.EntityPivotTabPage.Controls.Add(this.EntityPivotEditCheckBox); + this.EntityPivotTabPage.Controls.Add(this.label93); + this.EntityPivotTabPage.Controls.Add(this.EntityPivotPositionTextBox); + this.EntityPivotTabPage.Controls.Add(this.EntityPivotRotationNormalizeButton); + this.EntityPivotTabPage.Controls.Add(this.label94); + this.EntityPivotTabPage.Controls.Add(this.EntityPivotRotationTextBox); + this.EntityPivotTabPage.Location = new System.Drawing.Point(4, 22); + this.EntityPivotTabPage.Name = "EntityPivotTabPage"; + this.EntityPivotTabPage.Size = new System.Drawing.Size(555, 476); + this.EntityPivotTabPage.TabIndex = 3; + this.EntityPivotTabPage.Text = "Pivot"; + this.EntityPivotTabPage.UseVisualStyleBackColor = true; + // + // label95 + // + this.label95.Location = new System.Drawing.Point(90, 152); + this.label95.Name = "label95"; + this.label95.Size = new System.Drawing.Size(329, 51); + this.label95.TabIndex = 27; + this.label95.Text = "Note: Custom pivot is not saved. It will be reset if you close the project or res" + + "tart CodeWalker."; + // + // EntityPivotEditCheckBox + // + this.EntityPivotEditCheckBox.AutoSize = true; + this.EntityPivotEditCheckBox.Location = new System.Drawing.Point(93, 32); + this.EntityPivotEditCheckBox.Name = "EntityPivotEditCheckBox"; + this.EntityPivotEditCheckBox.Size = new System.Drawing.Size(137, 17); + this.EntityPivotEditCheckBox.TabIndex = 20; + this.EntityPivotEditCheckBox.Text = "Edit pivot in World view"; + this.EntityPivotEditCheckBox.UseVisualStyleBackColor = true; + this.EntityPivotEditCheckBox.CheckedChanged += new System.EventHandler(this.EntityPivotEditCheckBox_CheckedChanged); + // + // label93 + // + this.label93.AutoSize = true; + this.label93.Location = new System.Drawing.Point(15, 73); + this.label93.Name = "label93"; + this.label93.Size = new System.Drawing.Size(47, 13); + this.label93.TabIndex = 21; + this.label93.Text = "Position:"; + // + // EntityPivotPositionTextBox + // + this.EntityPivotPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityPivotPositionTextBox.Location = new System.Drawing.Point(93, 70); + this.EntityPivotPositionTextBox.Name = "EntityPivotPositionTextBox"; + this.EntityPivotPositionTextBox.Size = new System.Drawing.Size(382, 20); + this.EntityPivotPositionTextBox.TabIndex = 22; + this.EntityPivotPositionTextBox.TextChanged += new System.EventHandler(this.EntityPivotPositionTextBox_TextChanged); + // + // EntityPivotRotationNormalizeButton + // + this.EntityPivotRotationNormalizeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.EntityPivotRotationNormalizeButton.Location = new System.Drawing.Point(481, 94); + this.EntityPivotRotationNormalizeButton.Name = "EntityPivotRotationNormalizeButton"; + this.EntityPivotRotationNormalizeButton.Size = new System.Drawing.Size(68, 23); + this.EntityPivotRotationNormalizeButton.TabIndex = 26; + this.EntityPivotRotationNormalizeButton.Text = "Normalize"; + this.EntityPivotRotationNormalizeButton.UseVisualStyleBackColor = true; + this.EntityPivotRotationNormalizeButton.Click += new System.EventHandler(this.EntityPivotRotationNormalizeButton_Click); + // + // label94 + // + this.label94.AutoSize = true; + this.label94.Location = new System.Drawing.Point(15, 99); + this.label94.Name = "label94"; + this.label94.Size = new System.Drawing.Size(50, 13); + this.label94.TabIndex = 24; + this.label94.Text = "Rotation:"; + // + // EntityPivotRotationTextBox + // + this.EntityPivotRotationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.EntityPivotRotationTextBox.Location = new System.Drawing.Point(93, 96); + this.EntityPivotRotationTextBox.Name = "EntityPivotRotationTextBox"; + this.EntityPivotRotationTextBox.Size = new System.Drawing.Size(382, 20); + this.EntityPivotRotationTextBox.TabIndex = 25; + this.EntityPivotRotationTextBox.TextChanged += new System.EventHandler(this.EntityPivotRotationTextBox_TextChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(27, 27); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(157, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Entity extensions editing TODO!"; + // + // EditYmapEntityPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(565, 505); + this.Controls.Add(this.EntityTabControl); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYmapEntityPanel"; + this.Text = "Entity"; + this.EntityTabControl.ResumeLayout(false); + this.EntityGeneralTabPage.ResumeLayout(false); + this.EntityGeneralTabPage.PerformLayout(); + this.EntityLodTabPage.ResumeLayout(false); + this.EntityLodTabPage.PerformLayout(); + this.EntityExtensionsTabPage.ResumeLayout(false); + this.EntityExtensionsTabPage.PerformLayout(); + this.EntityPivotTabPage.ResumeLayout(false); + this.EntityPivotTabPage.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl EntityTabControl; + private System.Windows.Forms.TabPage EntityGeneralTabPage; + private System.Windows.Forms.CheckedListBox EntityFlagsCheckedListBox; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Button EntityDeleteButton; + private System.Windows.Forms.TextBox EntityTintValueTextBox; + private System.Windows.Forms.Button EntityAddToProjectButton; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.TextBox EntityArtificialAOTextBox; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.TextBox EntityAOMultiplierTextBox; + private System.Windows.Forms.TextBox EntityGuidTextBox; + private System.Windows.Forms.ComboBox EntityPriorityLevelComboBox; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox EntityFlagsTextBox; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.ComboBox EntityLodLevelComboBox; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.TextBox EntityScaleXYTextBox; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.Label EntityArchetypeHashLabel; + private System.Windows.Forms.TextBox EntityChildLodDistTextBox; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.TextBox EntityScaleZTextBox; + private System.Windows.Forms.TextBox EntityLodDistTextBox; + private System.Windows.Forms.TextBox EntityArchetypeTextBox; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.TextBox EntityPositionTextBox; + private System.Windows.Forms.Button EntityNormalizeRotationButton; + private System.Windows.Forms.Button EntityGoToButton; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.TextBox EntityRotationTextBox; + private System.Windows.Forms.TabPage EntityLodTabPage; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.TextBox EntityParentIndexTextBox; + private System.Windows.Forms.TextBox EntityNumChildrenTextBox; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.TabPage EntityExtensionsTabPage; + private System.Windows.Forms.TabPage EntityPivotTabPage; + private System.Windows.Forms.Label label95; + private System.Windows.Forms.CheckBox EntityPivotEditCheckBox; + private System.Windows.Forms.Label label93; + private System.Windows.Forms.TextBox EntityPivotPositionTextBox; + private System.Windows.Forms.Button EntityPivotRotationNormalizeButton; + private System.Windows.Forms.Label label94; + private System.Windows.Forms.TextBox EntityPivotRotationTextBox; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYmapEntityPanel.cs b/Project/Panels/EditYmapEntityPanel.cs new file mode 100644 index 0000000..f89acd9 --- /dev/null +++ b/Project/Panels/EditYmapEntityPanel.cs @@ -0,0 +1,608 @@ +using CodeWalker.GameFiles; +using SharpDX; +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.Project.Panels +{ + public partial class EditYmapEntityPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YmapEntityDef CurrentEntity { get; set; } + + private bool populatingui = false; + + public EditYmapEntityPanel(ProjectForm2 owner) + { + ProjectForm = owner; + InitializeComponent(); + LoadDropDowns(); + } + + public void SetEntity(YmapEntityDef entity) + { + CurrentEntity = entity; + Tag = entity; + LoadEntity(); + UpdateFormTitle(); + } + + private void UpdateFormTitle() + { + Text = CurrentEntity?.Name ?? "Entity"; + } + + + private void LoadDropDowns() + { + EntityLodLevelComboBox.Items.Clear(); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_ORPHANHD); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_HD); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_LOD); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_SLOD1); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_SLOD2); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_SLOD3); + EntityLodLevelComboBox.Items.Add(Unk_1264241711.LODTYPES_DEPTH_SLOD4); + + EntityPriorityLevelComboBox.Items.Clear(); + EntityPriorityLevelComboBox.Items.Add(Unk_648413703.PRI_REQUIRED); + EntityPriorityLevelComboBox.Items.Add(Unk_648413703.PRI_OPTIONAL_HIGH); + EntityPriorityLevelComboBox.Items.Add(Unk_648413703.PRI_OPTIONAL_MEDIUM); + EntityPriorityLevelComboBox.Items.Add(Unk_648413703.PRI_OPTIONAL_LOW); + } + + + private void LoadEntity() + { + if (CurrentEntity == null) + { + //EntityPanel.Enabled = false; + EntityAddToProjectButton.Enabled = false; + EntityDeleteButton.Enabled = false; + EntityArchetypeTextBox.Text = string.Empty; + EntityArchetypeHashLabel.Text = "Hash: 0"; + EntityFlagsTextBox.Text = string.Empty; + EntityGuidTextBox.Text = string.Empty; + EntityPositionTextBox.Text = string.Empty; + EntityRotationTextBox.Text = string.Empty; + EntityScaleXYTextBox.Text = string.Empty; + EntityScaleZTextBox.Text = string.Empty; + EntityParentIndexTextBox.Text = string.Empty; + EntityLodDistTextBox.Text = string.Empty; + EntityChildLodDistTextBox.Text = string.Empty; + EntityLodLevelComboBox.SelectedIndex = 0;// Math.Max(EntityLodLevelComboBox.FindString(), 0); + EntityNumChildrenTextBox.Text = string.Empty; + EntityPriorityLevelComboBox.SelectedIndex = 0; //Math.Max(.. + EntityAOMultiplierTextBox.Text = string.Empty; + EntityArtificialAOTextBox.Text = string.Empty; + EntityTintValueTextBox.Text = string.Empty; + EntityPivotEditCheckBox.Checked = false; + EntityPivotPositionTextBox.Text = string.Empty; + EntityPivotRotationTextBox.Text = string.Empty; + foreach (int i in EntityFlagsCheckedListBox.CheckedIndices) + { + EntityFlagsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); + } + } + else + { + populatingui = true; + var e = CurrentEntity.CEntityDef; + var po = CurrentEntity.PivotOrientation; + //EntityPanel.Enabled = true; + EntityAddToProjectButton.Enabled = !ProjectForm.YmapExistsInProject(CurrentEntity.Ymap); + EntityDeleteButton.Enabled = !EntityAddToProjectButton.Enabled; + EntityArchetypeTextBox.Text = e.archetypeName.ToString(); + EntityArchetypeHashLabel.Text = "Hash: " + e.archetypeName.Hash.ToString(); + EntityFlagsTextBox.Text = e.flags.ToString(); + EntityGuidTextBox.Text = e.guid.ToString(); + EntityPositionTextBox.Text = FloatUtil.GetVector3String(e.position); + EntityRotationTextBox.Text = FloatUtil.GetVector4String(e.rotation); + EntityScaleXYTextBox.Text = FloatUtil.ToString(e.scaleXY); + EntityScaleZTextBox.Text = FloatUtil.ToString(e.scaleZ); + EntityParentIndexTextBox.Text = e.parentIndex.ToString(); + EntityLodDistTextBox.Text = FloatUtil.ToString(e.lodDist); + EntityChildLodDistTextBox.Text = FloatUtil.ToString(e.childLodDist); + EntityLodLevelComboBox.SelectedIndex = Math.Max(EntityLodLevelComboBox.FindString(e.lodLevel.ToString()), 0); + EntityNumChildrenTextBox.Text = e.numChildren.ToString(); + EntityPriorityLevelComboBox.SelectedIndex = Math.Max(EntityPriorityLevelComboBox.FindString(e.priorityLevel.ToString()), 0); + EntityAOMultiplierTextBox.Text = e.ambientOcclusionMultiplier.ToString(); + EntityArtificialAOTextBox.Text = e.artificialAmbientOcclusion.ToString(); + EntityTintValueTextBox.Text = e.tintValue.ToString(); + EntityPivotPositionTextBox.Text = FloatUtil.GetVector3String(CurrentEntity.PivotPosition); + EntityPivotRotationTextBox.Text = FloatUtil.GetVector4String(new Vector4(po.X, po.Y, po.Z, po.W)); + for (int i = 0; i < EntityFlagsCheckedListBox.Items.Count; i++) + { + var cv = ((e.flags & (1u << i)) > 0); + EntityFlagsCheckedListBox.SetItemCheckState(i, cv ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + + + + ProjectForm.WorldForm?.SelectEntity(CurrentEntity); //hopefully the drawable is already loaded - this will try get from cache + + ////struct CEntityDef: + //MetaHash archetypeName { get; set; } //8 8: Hash: 0: archetypeName + //uint flags { get; set; } //12 12: UnsignedInt: 0: flags + //uint guid { get; set; } //16 16: UnsignedInt: 0: guid + //Vector3 position { get; set; } //32 32: Float_XYZ: 0: position + //Vector4 rotation { get; set; } //48 48: Float_XYZW: 0: rotation + //float scaleXY { get; set; } //64 64: Float: 0: 2627937847 + //float scaleZ { get; set; } //68 68: Float: 0: 284916802 + //int parentIndex { get; set; } //72 72: SignedInt: 0: parentIndex + //float lodDist { get; set; } //76 76: Float: 0: lodDist + //float childLodDist { get; set; } //80 80: Float: 0: childLodDist//3398912973 + //Unk_1264241711 lodLevel { get; set; } //84 84: IntEnum: 1264241711: lodLevel //LODTYPES_DEPTH_ + //uint numChildren { get; set; } //88 88: UnsignedInt: 0: numChildren//2793909385 + //Unk_648413703 priorityLevel { get; set; } //92 92: IntEnum: 648413703: priorityLevel//647098393 + //Array_StructurePointer extensions { get; set; } //96 96: Array: 0: extensions {0: StructurePointer: 0: 256} + //int ambientOcclusionMultiplier { get; set; } //112 112: SignedInt: 0: ambientOcclusionMultiplier//415356295 + //int artificialAmbientOcclusion { get; set; } //116 116: SignedInt: 0: artificialAmbientOcclusion//599844163 + //uint tintValue { get; set; } //120 120: UnsignedInt: 0: tintValue//1015358759 + } + + } + + + private void EntityArchetypeTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint hash = 0; + string name = EntityArchetypeTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + EntityArchetypeHashLabel.Text = "Hash: " + hash.ToString(); + + var arch = ProjectForm.GameFileCache.GetArchetype(hash); + if (arch == null) + { + EntityArchetypeHashLabel.Text += " (not found)"; + } + + TreeNode tn = ProjectForm.ProjectExplorer?.FindEntityTreeNode(CurrentEntity); + if (tn != null) + { + tn.Text = name; + } + + if (CurrentEntity != null) + { + lock (ProjectForm.ProjectSyncRoot) + { + CurrentEntity._CEntityDef.archetypeName = new MetaHash(hash); + if (CurrentEntity.Archetype != arch) + { + CurrentEntity.SetArchetype(arch); + ProjectForm.SetYmapHasChanged(true); + } + } + } + } + + private void EntityFlagsTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint flags = 0; + uint.TryParse(EntityFlagsTextBox.Text, out flags); + populatingui = true; + for (int i = 0; i < EntityFlagsCheckedListBox.Items.Count; i++) + { + var c = ((flags & (1u << i)) > 0); + EntityFlagsCheckedListBox.SetItemCheckState(i, c ? CheckState.Checked : CheckState.Unchecked); + } + populatingui = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.flags != flags) + { + CurrentEntity._CEntityDef.flags = flags; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityFlagsCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint flags = 0; + for (int i = 0; i < EntityFlagsCheckedListBox.Items.Count; i++) + { + if (e.Index == i) + { + if (e.NewValue == CheckState.Checked) + { + flags += (uint)(1 << i); + } + } + else + { + if (EntityFlagsCheckedListBox.GetItemChecked(i)) + { + flags += (uint)(1 << i); + } + } + } + populatingui = true; + EntityFlagsTextBox.Text = flags.ToString(); + populatingui = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.flags != flags) + { + CurrentEntity._CEntityDef.flags = flags; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityGuidTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint guid = 0; + uint.TryParse(EntityGuidTextBox.Text, out guid); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.guid != guid) + { + CurrentEntity._CEntityDef.guid = guid; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Vector3 v = FloatUtil.ParseVector3String(EntityPositionTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity.MloParent != null) + { + //TODO: positioning for interior entities! + } + else + { + if (CurrentEntity.Position != v) + { + CurrentEntity.SetPosition(v); + ProjectForm.SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + wf.SetWidgetPosition(CurrentEntity.WidgetPosition, true); + })); + } + } + } + } + } + + private void EntityRotationTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Vector4 v = FloatUtil.ParseVector4String(EntityRotationTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.rotation != v) + { + Quaternion q = new Quaternion(v); + CurrentEntity.SetOrientationInv(q); + ProjectForm.SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + wf.SetWidgetRotation(CurrentEntity.WidgetOrientation, true); + })); + } + } + } + } + + private void EntityScaleXYTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + float sxy = 0; + FloatUtil.TryParse(EntityScaleXYTextBox.Text, out sxy); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity.Scale.X != sxy) + { + Vector3 newscale = new Vector3(sxy, sxy, CurrentEntity.Scale.Z); + CurrentEntity.SetScale(newscale); + ProjectForm.SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + wf.SetWidgetScale(newscale, true); + })); + } + } + } + } + + private void EntityScaleZTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + float sz = 0; + FloatUtil.TryParse(EntityScaleZTextBox.Text, out sz); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity.Scale.Z != sz) + { + Vector3 newscale = new Vector3(CurrentEntity.Scale.X, CurrentEntity.Scale.Y, sz); + CurrentEntity.SetScale(newscale); + ProjectForm.SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + wf.SetWidgetScale(newscale, true); + })); + } + } + } + } + + private void EntityParentIndexTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + int pind = 0; + int.TryParse(EntityParentIndexTextBox.Text, out pind); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.parentIndex != pind) + { + CurrentEntity._CEntityDef.parentIndex = pind; //Needs more work for LOD linking! + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityLodDistTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + float lodDist = 0; + FloatUtil.TryParse(EntityLodDistTextBox.Text, out lodDist); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.lodDist != lodDist) + { + CurrentEntity._CEntityDef.lodDist = lodDist; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityChildLodDistTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + float childLodDist = 0; + FloatUtil.TryParse(EntityChildLodDistTextBox.Text, out childLodDist); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.childLodDist != childLodDist) + { + CurrentEntity._CEntityDef.childLodDist = childLodDist; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityLodLevelComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Unk_1264241711 lodLevel = (Unk_1264241711)EntityLodLevelComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.lodLevel != lodLevel) + { + CurrentEntity._CEntityDef.lodLevel = lodLevel; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityNumChildrenTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint numChildren = 0; + uint.TryParse(EntityNumChildrenTextBox.Text, out numChildren); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.numChildren != numChildren) + { + CurrentEntity._CEntityDef.numChildren = numChildren; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityPriorityLevelComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Unk_648413703 priorityLevel = (Unk_648413703)EntityPriorityLevelComboBox.SelectedItem; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.priorityLevel != priorityLevel) + { + CurrentEntity._CEntityDef.priorityLevel = priorityLevel; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityAOMultiplierTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + int aomult = 0; + int.TryParse(EntityAOMultiplierTextBox.Text, out aomult); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.ambientOcclusionMultiplier != aomult) + { + CurrentEntity._CEntityDef.ambientOcclusionMultiplier = aomult; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityArtificialAOTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + int artao = 0; + int.TryParse(EntityArtificialAOTextBox.Text, out artao); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.artificialAmbientOcclusion != artao) + { + CurrentEntity._CEntityDef.artificialAmbientOcclusion = artao; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityTintValueTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + uint tintValue = 0; + uint.TryParse(EntityTintValueTextBox.Text, out tintValue); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity._CEntityDef.tintValue != tintValue) + { + CurrentEntity._CEntityDef.tintValue = tintValue; + ProjectForm.SetYmapHasChanged(true); + } + } + } + + private void EntityGoToButton_Click(object sender, EventArgs e) + { + if (CurrentEntity == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentEntity.Position); + } + + private void EntityNormalizeRotationButton_Click(object sender, EventArgs e) + { + Vector4 v = FloatUtil.ParseVector4String(EntityRotationTextBox.Text); + Quaternion q = Quaternion.Normalize(new Quaternion(v)); + EntityRotationTextBox.Text = FloatUtil.GetVector4String(new Vector4(q.X, q.Y, q.Z, q.W)); + } + + private void EntityAddToProjectButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentEntity); + ProjectForm.AddEntityToProject(); + } + + private void EntityDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentEntity); + ProjectForm.DeleteEntity(); + } + + private void EntityPivotEditCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.EditEntityPivot = EntityPivotEditCheckBox.Checked; + } + } + + private void EntityPivotPositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Vector3 v = FloatUtil.ParseVector3String(EntityPivotPositionTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity.PivotPosition != v) + { + CurrentEntity.SetPivotPosition(v); + //SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + bool editpivot = wf.EditEntityPivot; + wf.EditEntityPivot = true; + wf.SetWidgetPosition(CurrentEntity.WidgetPosition, true); + wf.EditEntityPivot = editpivot; + })); + } + } + } + } + + private void EntityPivotRotationTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentEntity == null) return; + Vector4 v = FloatUtil.ParseVector4String(EntityPivotRotationTextBox.Text); + Quaternion q = new Quaternion(v); + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentEntity.PivotOrientation != q) + { + CurrentEntity.SetPivotOrientation(q); + //SetYmapHasChanged(true); + var wf = ProjectForm.WorldForm; + if (wf != null) + { + wf.BeginInvoke(new Action(() => + { + bool editpivot = wf.EditEntityPivot; + wf.EditEntityPivot = true; + wf.SetWidgetRotation(CurrentEntity.WidgetOrientation, true); + wf.EditEntityPivot = editpivot; + })); + } + } + } + } + + private void EntityPivotRotationNormalizeButton_Click(object sender, EventArgs e) + { + Vector4 v = FloatUtil.ParseVector4String(EntityPivotRotationTextBox.Text); + Quaternion q = Quaternion.Normalize(new Quaternion(v)); + EntityPivotRotationTextBox.Text = FloatUtil.GetVector4String(new Vector4(q.X, q.Y, q.Z, q.W)); + } + } +} diff --git a/Project/Panels/EditYmapEntityPanel.resx b/Project/Panels/EditYmapEntityPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYmapEntityPanel.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/Project/Panels/EditYmapGrassPanel.Designer.cs b/Project/Panels/EditYmapGrassPanel.Designer.cs new file mode 100644 index 0000000..824c62a --- /dev/null +++ b/Project/Panels/EditYmapGrassPanel.Designer.cs @@ -0,0 +1,62 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYmapGrassPanel + { + /// + /// 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(EditYmapGrassPanel)); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(52, 52); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(105, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Grass editing TODO!"; + // + // EditYmapGrassPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(554, 355); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYmapGrassPanel"; + this.Text = "Grass Batch"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYmapGrassPanel.cs b/Project/Panels/EditYmapGrassPanel.cs new file mode 100644 index 0000000..a4d5a6f --- /dev/null +++ b/Project/Panels/EditYmapGrassPanel.cs @@ -0,0 +1,47 @@ +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.Project.Panels +{ + public partial class EditYmapGrassPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YmapGrassInstanceBatch CurrentBatch { get; set; } + + //private bool populatingui = false; + + public EditYmapGrassPanel(ProjectForm2 owner) + { + ProjectForm = owner; + InitializeComponent(); + } + + public void SetBatch(YmapGrassInstanceBatch batch) + { + CurrentBatch = batch; + Tag = batch; + LoadGrassBatch(); + UpdateFormTitle(); + } + + private void UpdateFormTitle() + { + Text = CurrentBatch?.Batch.archetypeName.ToString() ?? "Grass Batch"; + } + + + + private void LoadGrassBatch() + { + } + + } +} diff --git a/Project/Panels/EditYmapGrassPanel.resx b/Project/Panels/EditYmapGrassPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYmapGrassPanel.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 + + + + + AAABAAMAICAAAAAAGACoDAAANgAAABAQAAAAABgAaAMAAN4MAABAQAAAAAAYACgyAABGEAAAKAAAACAA + AABAAAAAAQAYAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv8/u3v+Pn6//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP7+/vX3/rzA3OHl9fz9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//+zv+3Z6qcLI5Pr7/wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP7+/+br+15in6+33vf5/wAAAAAAAAAAAAAAAP7+//7+/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3+//v8//v8//3+/wAAAAAAAAAAAAAAAAAAAP7+/+Ho+1dana20 + 4/b4/wAAAAAAAPz9//P2/+Tp/ezw/vz9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///X4 + /9Pa+tPa+/H1//z9/wAAAAAAAAAAAAAAAP7+/93k+SsscaSr3PX3/wAAAP7+//L1/7W98AcWgrvC8Pj6 + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/+bs/xohiAEJdrvF9+7y//z9/wAAAAAAAAAA + AP7+/9rh+CEkapmh0/T3/wAAAPj6/9HZ/AEHcgEEb9LZ+/r7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAP7//+/z/3F+zAAAXwQLcZai3fb4/wAAAAAAAAAAAP3+/97l/E9Tmaau4fT3/wAAAO/0/1dd + sAAAV7a/8/H1//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr8/+jv/46Y3QUUf6Ot + 5PX4/wAAAAAAAAAAAP3+/9zj+3Z6wLe/7fX4/wAAAPD0/212xnaAzerw//z9/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv8/+/z/+Dm+/D0//z9/wAAAAAAAP7+//j6/9Pd+UhLjb/H + 9/D0//3+//n7/+nt/+jt//n7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP7///7+//7+//7+/wAAAAAAAPr8/+7z/83W+ImU2A0UdFNarr/K9env//X4//z9//3+//7//wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///j6/+Pq/255 + xhckjE5XsVVftUlTqwAKeTA9nr3H8+7z//v8/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+//b4/9Tc+Sc0mRonj8rV/crX/ZSb48rX/brG8wwWgQAEdJei + 4efu//n7//7+//z9//z9//z9//z9//3+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP3+//f5/+3y/+nv/+ft + /8vV+io2mImU2M7c/7vG9yIvlQAOfCg4mM3Y/s/c/4aR1AQRfGtzwtni/ebt/9vi/tri/tXd+9Tc+O3x + /vz9/wAAAAAAAAAAAAAAAAAAAAAAAPn6/87V+FVftkRPrFlnvSEqjQoUfmJvwWFvvg0TfQQIcxEchwAD + cy89n19rvVVitQwZgwAAaiMrkT9NqTVBoiw3mhQihig1mNLX+fv8/wAAAAAAAAAAAAAAAAAAAAAAAPb5 + /52l4EFLqoCK03yF0VBctGhyw52o5GVrvQAAaneBzsHM+jA3mhYgiTtIpJOf3ouW2AAAbmh0wbbA8bS+ + 7qiz5pCb16+56e/z//3+/wAAAAAAAAAAAAAAAAAAAAAAAPv8//H1/+vw/+zx/+nv/7/J9YqP3MbP/8LM + +hwqkFZftaCp5EhRrcTQ+9jj/8rW/UJMqn6J0ebt//X3//f5//b4//X3//f5//z9/wAAAAAAAAAAAAAA + AAAAAAAAAP7+//z9//3+/wAAAAAAAP3+/+7z/6at64iP3aWs7XN8zRIfhyUykp2o5MHM+oKM0xonjY6X + 2+jv//v8/wAAAP7+//n7//b5//r7//7//wAAAAAAAAAAAAAAAP7+//f5/+rw/9Pa9fL0/v7//wAAAAAA + APv8//H1/+Tr/7i/91liu0NPq0VQrS06m0NNqDdCoYqU1+nv//v8/wAAAAAAAPn7/9zi/qSt59ri/fL1 + //v8//7//wAAAPz9//D0/8rT+h0sjkVQrPD0/wAAAAAAAAAAAAAAAAAAAPz9/+7z/8LL9Jqk4aGq6LW/ + 8c3W9+Xs/vH1//v8/wAAAAAAAAAAAPf5/6at5gAAbxIfh6u16+Po/fr7/wAAAPb5/6ev5gAIeAAPernC + 8fX4/wAAAAAAAP3+//v8//z9/wAAAP3+//j6//P3//P2//b4//r8//7+//7+//v8//r8//3+/wAAAPv8 + /+Xr/nuIzwAAbBseg5Sb2fb5/wAAAPf5/8DF8pWe3d/n/vT3//39/wAAAPv8/+zx/87V9+3x/v3+/wAA + AP3+//j6//X4//v8/wAAAAAAAPn7/+Dm/snR9fD0//39//z8/fv8/+3y/8LK9aGq4dfd9/n7/wAAAPz9 + //b5//X4//v8/wAAAAAAAP7+/+7z/4aP1gEPet7k/f39/wAAAPf5/83U+ZCZ2u3x/v7+/wAAAPP3/215 + wgAJd7fB8/L1//7+/wAAAP3+//j6//f5//r8//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAPj6/87W/AAA + X2duue3y//7+/wAAAPD0/05asBQfidzj/P39/wAAAPX4/6Su6AAAXBccgtff/vv8/wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP3/3F8xhYli9Xe/fn6/wAAAAAAAO3y/1pltQAJd9be + /fv8/wAAAPz9/+rw/36I0Bknjs/W+vv8/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAPf5/8HI7tnf+/X4//7+/wAAAAAAAO/0/3R7xgAAb9ng/Pz9/wAAAAAAAPn7/+Ln/dLY+fP2//3+ + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3+//r7//v8//7+/wAAAAAAAAAA + APb4/7/F84eP0e/0//7+/wAAAAAAAP7+//z9//v8//3+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz9//b5//X4//v8/wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////w////4 + P///+D////g8//D4MH/geCB/4Dggf+A4IH/wOCD/+DAB//hgAf//gAP//wAAB/AAAAPwAAAD8AAAA/AA + AAfjAAEHgYADAQPgBwEDEAEBAghgAQwIIEH8CCB//Bggf/wYMH/8ODD///h/////////////KAAAABAA + AAAgAAAAAQAYAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///+vv/fL1/v///wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4+Vx7/F5v///wAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///4CHtrS62////////////////////wAAAAAAAAAAAP////H0/vf6/v// + /////////4yTwrrB4f///+zw+7rA6P39/////wAAAAAAAAAAAP///56l2BkcguXr/P///////42Uw8jO + 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/Project/Panels/EditYmapPanel.Designer.cs b/Project/Panels/EditYmapPanel.Designer.cs new file mode 100644 index 0000000..12e796c --- /dev/null +++ b/Project/Panels/EditYmapPanel.Designer.cs @@ -0,0 +1,661 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYmapPanel + { + /// + /// 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(EditYmapPanel)); + this.YmapTabControl = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.YmapCFlagsGrassCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsCriticalCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsDistLightsCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsLODLightsCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsPhysicsCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsOcclusionCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsInteriorCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsSLODCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsSLOD2CheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsLODCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapCFlagsHDCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapContentFlagsTextBox = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.YmapCalculateFlagsButton = new System.Windows.Forms.Button(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.YmapFlagsLODCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapFlagsScriptedCheckBox = new System.Windows.Forms.CheckBox(); + this.YmapFlagsTextBox = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.label12 = new System.Windows.Forms.Label(); + this.YmapPhysicsDictionariesTextBox = new CodeWalker.WinForms.TextBoxFix(); + this.YmapProjectPathTextBox = new System.Windows.Forms.TextBox(); + this.label30 = new System.Windows.Forms.Label(); + this.YmapFileLocationTextBox = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.YmapCalculateExtentsButton = new System.Windows.Forms.Button(); + this.YmapStreamingExtentsMaxTextBox = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.YmapStreamingExtentsMinTextBox = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.YmapEntitiesExtentsMaxTextBox = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.YmapEntitiesExtentsMinTextBox = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.YmapParentHashLabel = new System.Windows.Forms.Label(); + this.YmapNameHashLabel = new System.Windows.Forms.Label(); + this.YmapParentTextBox = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.YmapNameTextBox = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.YmapTabControl.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // YmapTabControl + // + this.YmapTabControl.Controls.Add(this.tabPage1); + this.YmapTabControl.Controls.Add(this.tabPage2); + this.YmapTabControl.Location = new System.Drawing.Point(3, 59); + this.YmapTabControl.Name = "YmapTabControl"; + this.YmapTabControl.SelectedIndex = 0; + this.YmapTabControl.Size = new System.Drawing.Size(504, 203); + this.YmapTabControl.TabIndex = 63; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.groupBox1); + this.tabPage1.Controls.Add(this.YmapCalculateFlagsButton); + this.tabPage1.Controls.Add(this.groupBox2); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(496, 177); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Flags"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.YmapCFlagsGrassCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsCriticalCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsDistLightsCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsLODLightsCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsPhysicsCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsOcclusionCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsInteriorCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsSLODCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsSLOD2CheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsLODCheckBox); + this.groupBox1.Controls.Add(this.YmapCFlagsHDCheckBox); + this.groupBox1.Controls.Add(this.YmapContentFlagsTextBox); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Location = new System.Drawing.Point(6, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(259, 166); + this.groupBox1.TabIndex = 13; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Content Flags"; + // + // YmapCFlagsGrassCheckBox + // + this.YmapCFlagsGrassCheckBox.AutoSize = true; + this.YmapCFlagsGrassCheckBox.Location = new System.Drawing.Point(138, 113); + this.YmapCFlagsGrassCheckBox.Name = "YmapCFlagsGrassCheckBox"; + this.YmapCFlagsGrassCheckBox.Size = new System.Drawing.Size(86, 17); + this.YmapCFlagsGrassCheckBox.TabIndex = 10; + this.YmapCFlagsGrassCheckBox.Text = "Grass (1024)"; + this.YmapCFlagsGrassCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsGrassCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsGrassCheckBox_CheckedChanged); + // + // YmapCFlagsCriticalCheckBox + // + this.YmapCFlagsCriticalCheckBox.AutoSize = true; + this.YmapCFlagsCriticalCheckBox.Location = new System.Drawing.Point(6, 113); + this.YmapCFlagsCriticalCheckBox.Name = "YmapCFlagsCriticalCheckBox"; + this.YmapCFlagsCriticalCheckBox.Size = new System.Drawing.Size(84, 17); + this.YmapCFlagsCriticalCheckBox.TabIndex = 9; + this.YmapCFlagsCriticalCheckBox.Text = "Critical (512)"; + this.YmapCFlagsCriticalCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsCriticalCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsCriticalCheckBox_CheckedChanged); + // + // YmapCFlagsDistLightsCheckBox + // + this.YmapCFlagsDistLightsCheckBox.AutoSize = true; + this.YmapCFlagsDistLightsCheckBox.Location = new System.Drawing.Point(138, 90); + this.YmapCFlagsDistLightsCheckBox.Name = "YmapCFlagsDistLightsCheckBox"; + this.YmapCFlagsDistLightsCheckBox.Size = new System.Drawing.Size(117, 17); + this.YmapCFlagsDistLightsCheckBox.TabIndex = 8; + this.YmapCFlagsDistLightsCheckBox.Text = "Distant Lights (256)"; + this.YmapCFlagsDistLightsCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsDistLightsCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsDistLightsCheckBox_CheckedChanged); + // + // YmapCFlagsLODLightsCheckBox + // + this.YmapCFlagsLODLightsCheckBox.AutoSize = true; + this.YmapCFlagsLODLightsCheckBox.Location = new System.Drawing.Point(6, 90); + this.YmapCFlagsLODLightsCheckBox.Name = "YmapCFlagsLODLightsCheckBox"; + this.YmapCFlagsLODLightsCheckBox.Size = new System.Drawing.Size(106, 17); + this.YmapCFlagsLODLightsCheckBox.TabIndex = 7; + this.YmapCFlagsLODLightsCheckBox.Text = "LOD Lights (128)"; + this.YmapCFlagsLODLightsCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsLODLightsCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsLODLightsCheckBox_CheckedChanged); + // + // YmapCFlagsPhysicsCheckBox + // + this.YmapCFlagsPhysicsCheckBox.AutoSize = true; + this.YmapCFlagsPhysicsCheckBox.Location = new System.Drawing.Point(138, 67); + this.YmapCFlagsPhysicsCheckBox.Name = "YmapCFlagsPhysicsCheckBox"; + this.YmapCFlagsPhysicsCheckBox.Size = new System.Drawing.Size(83, 17); + this.YmapCFlagsPhysicsCheckBox.TabIndex = 6; + this.YmapCFlagsPhysicsCheckBox.Text = "Physics (64)"; + this.YmapCFlagsPhysicsCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsPhysicsCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsPhysicsCheckBox_CheckedChanged); + // + // YmapCFlagsOcclusionCheckBox + // + this.YmapCFlagsOcclusionCheckBox.AutoSize = true; + this.YmapCFlagsOcclusionCheckBox.Location = new System.Drawing.Point(6, 67); + this.YmapCFlagsOcclusionCheckBox.Name = "YmapCFlagsOcclusionCheckBox"; + this.YmapCFlagsOcclusionCheckBox.Size = new System.Drawing.Size(94, 17); + this.YmapCFlagsOcclusionCheckBox.TabIndex = 5; + this.YmapCFlagsOcclusionCheckBox.Text = "Occlusion (32)"; + this.YmapCFlagsOcclusionCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsOcclusionCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsOcclusionCheckBox_CheckedChanged); + // + // YmapCFlagsInteriorCheckBox + // + this.YmapCFlagsInteriorCheckBox.AutoSize = true; + this.YmapCFlagsInteriorCheckBox.Location = new System.Drawing.Point(6, 44); + this.YmapCFlagsInteriorCheckBox.Name = "YmapCFlagsInteriorCheckBox"; + this.YmapCFlagsInteriorCheckBox.Size = new System.Drawing.Size(73, 17); + this.YmapCFlagsInteriorCheckBox.TabIndex = 4; + this.YmapCFlagsInteriorCheckBox.Text = "Interior (8)"; + this.YmapCFlagsInteriorCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsInteriorCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsInteriorCheckBox_CheckedChanged); + // + // YmapCFlagsSLODCheckBox + // + this.YmapCFlagsSLODCheckBox.AutoSize = true; + this.YmapCFlagsSLODCheckBox.Location = new System.Drawing.Point(138, 44); + this.YmapCFlagsSLODCheckBox.Name = "YmapCFlagsSLODCheckBox"; + this.YmapCFlagsSLODCheckBox.Size = new System.Drawing.Size(76, 17); + this.YmapCFlagsSLODCheckBox.TabIndex = 3; + this.YmapCFlagsSLODCheckBox.Text = "SLOD (16)"; + this.YmapCFlagsSLODCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsSLODCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsSLODCheckBox_CheckedChanged); + // + // YmapCFlagsSLOD2CheckBox + // + this.YmapCFlagsSLOD2CheckBox.AutoSize = true; + this.YmapCFlagsSLOD2CheckBox.Location = new System.Drawing.Point(138, 21); + this.YmapCFlagsSLOD2CheckBox.Name = "YmapCFlagsSLOD2CheckBox"; + this.YmapCFlagsSLOD2CheckBox.Size = new System.Drawing.Size(82, 17); + this.YmapCFlagsSLOD2CheckBox.TabIndex = 2; + this.YmapCFlagsSLOD2CheckBox.Text = "SLOD2+ (4)"; + this.YmapCFlagsSLOD2CheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsSLOD2CheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsSLOD2CheckBox_CheckedChanged); + // + // YmapCFlagsLODCheckBox + // + this.YmapCFlagsLODCheckBox.AutoSize = true; + this.YmapCFlagsLODCheckBox.Location = new System.Drawing.Point(69, 21); + this.YmapCFlagsLODCheckBox.Name = "YmapCFlagsLODCheckBox"; + this.YmapCFlagsLODCheckBox.Size = new System.Drawing.Size(63, 17); + this.YmapCFlagsLODCheckBox.TabIndex = 1; + this.YmapCFlagsLODCheckBox.Text = "LOD (2)"; + this.YmapCFlagsLODCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsLODCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsLODCheckBox_CheckedChanged); + // + // YmapCFlagsHDCheckBox + // + this.YmapCFlagsHDCheckBox.AutoSize = true; + this.YmapCFlagsHDCheckBox.Location = new System.Drawing.Point(6, 21); + this.YmapCFlagsHDCheckBox.Name = "YmapCFlagsHDCheckBox"; + this.YmapCFlagsHDCheckBox.Size = new System.Drawing.Size(57, 17); + this.YmapCFlagsHDCheckBox.TabIndex = 0; + this.YmapCFlagsHDCheckBox.Text = "HD (1)"; + this.YmapCFlagsHDCheckBox.UseVisualStyleBackColor = true; + this.YmapCFlagsHDCheckBox.CheckedChanged += new System.EventHandler(this.YmapCFlagsHDCheckBox_CheckedChanged); + // + // YmapContentFlagsTextBox + // + this.YmapContentFlagsTextBox.Location = new System.Drawing.Point(69, 140); + this.YmapContentFlagsTextBox.Name = "YmapContentFlagsTextBox"; + this.YmapContentFlagsTextBox.Size = new System.Drawing.Size(130, 20); + this.YmapContentFlagsTextBox.TabIndex = 13; + this.YmapContentFlagsTextBox.TextChanged += new System.EventHandler(this.YmapContentFlagsTextBox_TextChanged); + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(26, 143); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(37, 13); + this.label7.TabIndex = 12; + this.label7.Text = "Value:"; + // + // YmapCalculateFlagsButton + // + this.YmapCalculateFlagsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.YmapCalculateFlagsButton.Location = new System.Drawing.Point(385, 144); + this.YmapCalculateFlagsButton.Name = "YmapCalculateFlagsButton"; + this.YmapCalculateFlagsButton.Size = new System.Drawing.Size(106, 23); + this.YmapCalculateFlagsButton.TabIndex = 40; + this.YmapCalculateFlagsButton.Text = "Calculate all flags"; + this.YmapCalculateFlagsButton.UseVisualStyleBackColor = true; + this.YmapCalculateFlagsButton.Click += new System.EventHandler(this.YmapCalculateFlagsButton_Click); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.YmapFlagsLODCheckBox); + this.groupBox2.Controls.Add(this.YmapFlagsScriptedCheckBox); + this.groupBox2.Controls.Add(this.YmapFlagsTextBox); + this.groupBox2.Controls.Add(this.label6); + this.groupBox2.Location = new System.Drawing.Point(271, 6); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(219, 74); + this.groupBox2.TabIndex = 14; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Flags"; + // + // YmapFlagsLODCheckBox + // + this.YmapFlagsLODCheckBox.AutoSize = true; + this.YmapFlagsLODCheckBox.Location = new System.Drawing.Point(92, 21); + this.YmapFlagsLODCheckBox.Name = "YmapFlagsLODCheckBox"; + this.YmapFlagsLODCheckBox.Size = new System.Drawing.Size(63, 17); + this.YmapFlagsLODCheckBox.TabIndex = 13; + this.YmapFlagsLODCheckBox.Text = "LOD (2)"; + this.YmapFlagsLODCheckBox.UseVisualStyleBackColor = true; + this.YmapFlagsLODCheckBox.CheckedChanged += new System.EventHandler(this.YmapFlagsLODCheckBox_CheckedChanged); + // + // YmapFlagsScriptedCheckBox + // + this.YmapFlagsScriptedCheckBox.AutoSize = true; + this.YmapFlagsScriptedCheckBox.Location = new System.Drawing.Point(6, 21); + this.YmapFlagsScriptedCheckBox.Name = "YmapFlagsScriptedCheckBox"; + this.YmapFlagsScriptedCheckBox.Size = new System.Drawing.Size(80, 17); + this.YmapFlagsScriptedCheckBox.TabIndex = 12; + this.YmapFlagsScriptedCheckBox.Text = "Scripted (1)"; + this.YmapFlagsScriptedCheckBox.UseVisualStyleBackColor = true; + this.YmapFlagsScriptedCheckBox.CheckedChanged += new System.EventHandler(this.YmapFlagsScriptedCheckBox_CheckedChanged); + // + // YmapFlagsTextBox + // + this.YmapFlagsTextBox.Location = new System.Drawing.Point(78, 48); + this.YmapFlagsTextBox.Name = "YmapFlagsTextBox"; + this.YmapFlagsTextBox.Size = new System.Drawing.Size(130, 20); + this.YmapFlagsTextBox.TabIndex = 11; + this.YmapFlagsTextBox.TextChanged += new System.EventHandler(this.YmapFlagsTextBox_TextChanged); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(35, 51); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(37, 13); + this.label6.TabIndex = 10; + this.label6.Text = "Value:"; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.label12); + this.tabPage2.Controls.Add(this.YmapPhysicsDictionariesTextBox); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(496, 177); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Physics Dictionaries"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(3, 9); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(75, 13); + this.label12.TabIndex = 52; + this.label12.Text = "Name hashes:"; + // + // YmapPhysicsDictionariesTextBox + // + this.YmapPhysicsDictionariesTextBox.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.YmapPhysicsDictionariesTextBox.Location = new System.Drawing.Point(84, 6); + this.YmapPhysicsDictionariesTextBox.Multiline = true; + this.YmapPhysicsDictionariesTextBox.Name = "YmapPhysicsDictionariesTextBox"; + this.YmapPhysicsDictionariesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.YmapPhysicsDictionariesTextBox.Size = new System.Drawing.Size(248, 165); + this.YmapPhysicsDictionariesTextBox.TabIndex = 51; + this.YmapPhysicsDictionariesTextBox.WordWrap = false; + this.YmapPhysicsDictionariesTextBox.TextChanged += new System.EventHandler(this.YmapPhysicsDictionariesTextBox_TextChanged); + // + // YmapProjectPathTextBox + // + this.YmapProjectPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapProjectPathTextBox.Location = new System.Drawing.Point(84, 415); + this.YmapProjectPathTextBox.Name = "YmapProjectPathTextBox"; + this.YmapProjectPathTextBox.ReadOnly = true; + this.YmapProjectPathTextBox.Size = new System.Drawing.Size(414, 20); + this.YmapProjectPathTextBox.TabIndex = 62; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Location = new System.Drawing.Point(6, 418); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(67, 13); + this.label30.TabIndex = 61; + this.label30.Text = "Project path:"; + // + // YmapFileLocationTextBox + // + this.YmapFileLocationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapFileLocationTextBox.Location = new System.Drawing.Point(84, 389); + this.YmapFileLocationTextBox.Name = "YmapFileLocationTextBox"; + this.YmapFileLocationTextBox.ReadOnly = true; + this.YmapFileLocationTextBox.Size = new System.Drawing.Size(414, 20); + this.YmapFileLocationTextBox.TabIndex = 60; + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(6, 392); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(66, 13); + this.label29.TabIndex = 59; + this.label29.Text = "File location:"; + // + // YmapCalculateExtentsButton + // + this.YmapCalculateExtentsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.YmapCalculateExtentsButton.Location = new System.Drawing.Point(392, 348); + this.YmapCalculateExtentsButton.Name = "YmapCalculateExtentsButton"; + this.YmapCalculateExtentsButton.Size = new System.Drawing.Size(106, 23); + this.YmapCalculateExtentsButton.TabIndex = 58; + this.YmapCalculateExtentsButton.Text = "Calculate extents"; + this.YmapCalculateExtentsButton.UseVisualStyleBackColor = true; + this.YmapCalculateExtentsButton.Click += new System.EventHandler(this.YmapCalculateExtentsButton_Click); + // + // YmapStreamingExtentsMaxTextBox + // + this.YmapStreamingExtentsMaxTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapStreamingExtentsMaxTextBox.Location = new System.Drawing.Point(127, 350); + this.YmapStreamingExtentsMaxTextBox.Name = "YmapStreamingExtentsMaxTextBox"; + this.YmapStreamingExtentsMaxTextBox.Size = new System.Drawing.Size(259, 20); + this.YmapStreamingExtentsMaxTextBox.TabIndex = 57; + this.YmapStreamingExtentsMaxTextBox.TextChanged += new System.EventHandler(this.YmapStreamingExtentsMaxTextBox_TextChanged); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(6, 353); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(118, 13); + this.label10.TabIndex = 56; + this.label10.Text = "Streaming Extents Max:"; + // + // YmapStreamingExtentsMinTextBox + // + this.YmapStreamingExtentsMinTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapStreamingExtentsMinTextBox.Location = new System.Drawing.Point(127, 324); + this.YmapStreamingExtentsMinTextBox.Name = "YmapStreamingExtentsMinTextBox"; + this.YmapStreamingExtentsMinTextBox.Size = new System.Drawing.Size(259, 20); + this.YmapStreamingExtentsMinTextBox.TabIndex = 55; + this.YmapStreamingExtentsMinTextBox.TextChanged += new System.EventHandler(this.YmapStreamingExtentsMinTextBox_TextChanged); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(6, 327); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(115, 13); + this.label11.TabIndex = 54; + this.label11.Text = "Streaming Extents Min:"; + // + // YmapEntitiesExtentsMaxTextBox + // + this.YmapEntitiesExtentsMaxTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapEntitiesExtentsMaxTextBox.Location = new System.Drawing.Point(127, 298); + this.YmapEntitiesExtentsMaxTextBox.Name = "YmapEntitiesExtentsMaxTextBox"; + this.YmapEntitiesExtentsMaxTextBox.Size = new System.Drawing.Size(259, 20); + this.YmapEntitiesExtentsMaxTextBox.TabIndex = 53; + this.YmapEntitiesExtentsMaxTextBox.TextChanged += new System.EventHandler(this.YmapEntitiesExtentsMaxTextBox_TextChanged); + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(6, 301); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(105, 13); + this.label9.TabIndex = 52; + this.label9.Text = "Entities Extents Max:"; + // + // YmapEntitiesExtentsMinTextBox + // + this.YmapEntitiesExtentsMinTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapEntitiesExtentsMinTextBox.Location = new System.Drawing.Point(127, 272); + this.YmapEntitiesExtentsMinTextBox.Name = "YmapEntitiesExtentsMinTextBox"; + this.YmapEntitiesExtentsMinTextBox.Size = new System.Drawing.Size(259, 20); + this.YmapEntitiesExtentsMinTextBox.TabIndex = 51; + this.YmapEntitiesExtentsMinTextBox.TextChanged += new System.EventHandler(this.YmapEntitiesExtentsMinTextBox_TextChanged); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(6, 275); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(102, 13); + this.label8.TabIndex = 50; + this.label8.Text = "Entities Extents Min:"; + // + // YmapParentHashLabel + // + this.YmapParentHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.YmapParentHashLabel.AutoSize = true; + this.YmapParentHashLabel.Location = new System.Drawing.Point(350, 36); + this.YmapParentHashLabel.Name = "YmapParentHashLabel"; + this.YmapParentHashLabel.Size = new System.Drawing.Size(44, 13); + this.YmapParentHashLabel.TabIndex = 49; + this.YmapParentHashLabel.Text = "Hash: 0"; + // + // YmapNameHashLabel + // + this.YmapNameHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.YmapNameHashLabel.AutoSize = true; + this.YmapNameHashLabel.Location = new System.Drawing.Point(350, 10); + this.YmapNameHashLabel.Name = "YmapNameHashLabel"; + this.YmapNameHashLabel.Size = new System.Drawing.Size(44, 13); + this.YmapNameHashLabel.TabIndex = 48; + this.YmapNameHashLabel.Text = "Hash: 0"; + // + // YmapParentTextBox + // + this.YmapParentTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapParentTextBox.Location = new System.Drawing.Point(84, 33); + this.YmapParentTextBox.Name = "YmapParentTextBox"; + this.YmapParentTextBox.Size = new System.Drawing.Size(216, 20); + this.YmapParentTextBox.TabIndex = 46; + this.YmapParentTextBox.TextChanged += new System.EventHandler(this.YmapParentTextBox_TextChanged); + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(299, 36); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(35, 13); + this.label4.TabIndex = 47; + this.label4.Text = ".ymap"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(6, 36); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(41, 13); + this.label5.TabIndex = 45; + this.label5.Text = "Parent:"; + // + // YmapNameTextBox + // + this.YmapNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YmapNameTextBox.Location = new System.Drawing.Point(84, 7); + this.YmapNameTextBox.Name = "YmapNameTextBox"; + this.YmapNameTextBox.Size = new System.Drawing.Size(216, 20); + this.YmapNameTextBox.TabIndex = 43; + this.YmapNameTextBox.TextChanged += new System.EventHandler(this.YmapNameTextBox_TextChanged); + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(299, 10); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(35, 13); + this.label3.TabIndex = 44; + this.label3.Text = ".ymap"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(6, 10); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(38, 13); + this.label2.TabIndex = 42; + this.label2.Text = "Name:"; + // + // EditYmapPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(510, 443); + this.Controls.Add(this.YmapTabControl); + this.Controls.Add(this.YmapProjectPathTextBox); + this.Controls.Add(this.label30); + this.Controls.Add(this.YmapFileLocationTextBox); + this.Controls.Add(this.label29); + this.Controls.Add(this.YmapCalculateExtentsButton); + this.Controls.Add(this.YmapStreamingExtentsMaxTextBox); + this.Controls.Add(this.label10); + this.Controls.Add(this.YmapStreamingExtentsMinTextBox); + this.Controls.Add(this.label11); + this.Controls.Add(this.YmapEntitiesExtentsMaxTextBox); + this.Controls.Add(this.label9); + this.Controls.Add(this.YmapEntitiesExtentsMinTextBox); + this.Controls.Add(this.label8); + this.Controls.Add(this.YmapParentHashLabel); + this.Controls.Add(this.YmapNameHashLabel); + this.Controls.Add(this.YmapParentTextBox); + this.Controls.Add(this.label4); + this.Controls.Add(this.label5); + this.Controls.Add(this.YmapNameTextBox); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYmapPanel"; + this.Text = "Edit Ymap"; + this.YmapTabControl.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TabControl YmapTabControl; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox YmapCFlagsGrassCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsCriticalCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsDistLightsCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsLODLightsCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsPhysicsCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsOcclusionCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsInteriorCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsSLODCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsSLOD2CheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsLODCheckBox; + private System.Windows.Forms.CheckBox YmapCFlagsHDCheckBox; + private System.Windows.Forms.TextBox YmapContentFlagsTextBox; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Button YmapCalculateFlagsButton; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.CheckBox YmapFlagsLODCheckBox; + private System.Windows.Forms.CheckBox YmapFlagsScriptedCheckBox; + private System.Windows.Forms.TextBox YmapFlagsTextBox; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.Label label12; + private WinForms.TextBoxFix YmapPhysicsDictionariesTextBox; + private System.Windows.Forms.TextBox YmapProjectPathTextBox; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.TextBox YmapFileLocationTextBox; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Button YmapCalculateExtentsButton; + private System.Windows.Forms.TextBox YmapStreamingExtentsMaxTextBox; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox YmapStreamingExtentsMinTextBox; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox YmapEntitiesExtentsMaxTextBox; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox YmapEntitiesExtentsMinTextBox; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label YmapParentHashLabel; + private System.Windows.Forms.Label YmapNameHashLabel; + private System.Windows.Forms.TextBox YmapParentTextBox; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox YmapNameTextBox; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYmapPanel.cs b/Project/Panels/EditYmapPanel.cs new file mode 100644 index 0000000..e662c62 --- /dev/null +++ b/Project/Panels/EditYmapPanel.cs @@ -0,0 +1,572 @@ +using CodeWalker.GameFiles; +using SharpDX; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace CodeWalker.Project.Panels +{ + public partial class EditYmapPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YmapFile Ymap { get; set; } + + private bool populatingui = false; + private bool waschanged = false; + + public EditYmapPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetYmap(YmapFile ymap) + { + Ymap = ymap; + Tag = ymap; + UpdateFormTitle(); + UpdateYmapUI(); + waschanged = ymap?.HasChanged ?? false; + } + + public void UpdateFormTitleYmapChanged() + { + bool changed = Ymap.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = Ymap.RpfFileEntry?.Name ?? Ymap.Name; + if (string.IsNullOrEmpty(fn)) fn = "untitled.ymap"; + Text = fn + (Ymap.HasChanged ? "*" : ""); + } + + public void UpdateYmapUI() + { + if (Ymap == null) + { + YmapNameTextBox.Text = ""; + YmapNameHashLabel.Text = "Hash: 0"; + YmapParentTextBox.Text = string.Empty; + YmapParentHashLabel.Text = "Hash: 0"; + YmapFlagsTextBox.Text = string.Empty; + YmapContentFlagsTextBox.Text = string.Empty; + YmapCFlagsHDCheckBox.Checked = false; + YmapCFlagsLODCheckBox.Checked = false; + YmapCFlagsSLOD2CheckBox.Checked = false; + YmapCFlagsInteriorCheckBox.Checked = false; + YmapCFlagsSLODCheckBox.Checked = false; + YmapCFlagsOcclusionCheckBox.Checked = false; + YmapCFlagsPhysicsCheckBox.Checked = false; + YmapCFlagsLODLightsCheckBox.Checked = false; + YmapCFlagsDistLightsCheckBox.Checked = false; + YmapCFlagsCriticalCheckBox.Checked = false; + YmapCFlagsGrassCheckBox.Checked = false; + YmapFlagsScriptedCheckBox.Checked = false; + YmapFlagsLODCheckBox.Checked = false; + YmapPhysicsDictionariesTextBox.Text = string.Empty; + YmapEntitiesExtentsMinTextBox.Text = string.Empty; + YmapEntitiesExtentsMaxTextBox.Text = string.Empty; + YmapStreamingExtentsMinTextBox.Text = string.Empty; + YmapStreamingExtentsMaxTextBox.Text = string.Empty; + YmapFileLocationTextBox.Text = string.Empty; + YmapProjectPathTextBox.Text = string.Empty; + } + else + { + populatingui = true; + var md = Ymap.CMapData; + if (md.name.Hash == 0) + { + string name = Path.GetFileNameWithoutExtension(Ymap.Name); + JenkIndex.Ensure(name); + md.name = new MetaHash(JenkHash.GenHash(name)); + } + + var project = ProjectForm?.CurrentProjectFile; + + YmapNameTextBox.Text = md.name.ToString(); + YmapNameHashLabel.Text = "Hash: " + md.name.Hash.ToString(); + YmapParentTextBox.Text = md.parent.ToString(); + YmapParentHashLabel.Text = "Hash: " + md.parent.Hash.ToString(); + YmapEntitiesExtentsMinTextBox.Text = FloatUtil.GetVector3String(md.entitiesExtentsMin); + YmapEntitiesExtentsMaxTextBox.Text = FloatUtil.GetVector3String(md.entitiesExtentsMax); + YmapStreamingExtentsMinTextBox.Text = FloatUtil.GetVector3String(md.streamingExtentsMin); + YmapStreamingExtentsMaxTextBox.Text = FloatUtil.GetVector3String(md.streamingExtentsMax); + YmapFileLocationTextBox.Text = Ymap.RpfFileEntry?.Path ?? Ymap.FilePath; + YmapProjectPathTextBox.Text = (project != null) ? project.GetRelativePath(Ymap.FilePath) : Ymap.FilePath; + + UpdateYmapFlagsUI(true, true); + + UpdateYmapPhysicsDictionariesUI(); + + populatingui = false; + + ////struct CMapData: + //MetaHash name { get; set; } //8 8: Hash: 0: name + //MetaHash parent { get; set; } //12 12: Hash: 0: parent + //uint flags { get; set; } //16 16: UnsignedInt: 0: flags + //uint contentFlags { get; set; } //20 20: UnsignedInt: 0: contentFlags//1785155637 + //Vector3 streamingExtentsMin { get; set; } //32 32: Float_XYZ: 0: streamingExtentsMin//3710026271 + //Vector3 streamingExtentsMax { get; set; } //48 48: Float_XYZ: 0: streamingExtentsMax//2720965429 + //Vector3 entitiesExtentsMin { get; set; } //64 64: Float_XYZ: 0: entitiesExtentsMin//477478129 + //Vector3 entitiesExtentsMax { get; set; } //80 80: Float_XYZ: 0: entitiesExtentsMax//1829192759 + //Array_StructurePointer entities { get; set; } //96 96: Array: 0: entities {0: StructurePointer: 0: 256} + //Array_Structure containerLods { get; set; } //112 112: Array: 0: containerLods//2935983381 {0: Structure: 372253349: 256} + //Array_Structure boxOccluders { get; set; } //128 128: Array: 0: boxOccluders//3983590932 {0: Structure: SectionUNKNOWN7: 256} + //Array_Structure occludeModels { get; set; } //144 144: Array: 0: occludeModels//2132383965 {0: Structure: SectionUNKNOWN5: 256} + //Array_uint physicsDictionaries { get; set; } //160 160: Array: 0: physicsDictionaries//949589348 {0: Hash: 0: 256} + //rage__fwInstancedMapData instancedData { get; set; } //176 176: Structure: rage__fwInstancedMapData: instancedData//2569067561 + //Array_Structure timeCycleModifiers { get; set; } //224 224: Array: 0: timeCycleModifiers {0: Structure: CTimeCycleModifier: 256} + //Array_Structure carGenerators { get; set; } //240 240: Array: 0: carGenerators//3254823756 {0: Structure: CCarGen: 256} + //CLODLight LODLightsSOA { get; set; } //256 256: Structure: CLODLight: LODLightsSOA//1774371066 + //CDistantLODLight DistantLODLightsSOA { get; set; } //392 392: Structure: CDistantLODLight: DistantLODLightsSOA//2954466641 + //CBlockDesc block { get; set; } //440 440: Structure: CBlockDesc//3072355914: block + + } + + + } + + private void UpdateYmapFlagsUI(bool updateCheckboxes, bool updateTextboxes) + { + if (Ymap == null) return; + + var md = Ymap.CMapData; + var flags = md.flags; + var contentFlags = md.contentFlags; + + if (updateCheckboxes) + { + YmapCFlagsHDCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 0); //1 + YmapCFlagsLODCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 1); //2 + YmapCFlagsSLOD2CheckBox.Checked = BitUtil.IsBitSet(contentFlags, 2); //4 + YmapCFlagsInteriorCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 3); //8 + YmapCFlagsSLODCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 4); //16 + YmapCFlagsOcclusionCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 5); //32 + YmapCFlagsPhysicsCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 6); //64 + YmapCFlagsLODLightsCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 7); //128 + YmapCFlagsDistLightsCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 8); //256 + YmapCFlagsCriticalCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 9); //512 + YmapCFlagsGrassCheckBox.Checked = BitUtil.IsBitSet(contentFlags, 10); //1024 + + YmapFlagsScriptedCheckBox.Checked = BitUtil.IsBitSet(flags, 0); //1 + YmapFlagsLODCheckBox.Checked = BitUtil.IsBitSet(flags, 1); //2 + } + if (updateTextboxes) + { + YmapFlagsTextBox.Text = flags.ToString(); + YmapContentFlagsTextBox.Text = contentFlags.ToString(); + } + } + + private void UpdateYmapPhysicsDictionariesUI() + { + if ((Ymap == null) || (Ymap.physicsDictionaries == null)) + { + YmapPhysicsDictionariesTextBox.Text = string.Empty; + } + else + { + StringBuilder sb = new StringBuilder(); + foreach (var hash in Ymap.physicsDictionaries) + { + sb.AppendLine(hash.ToString()); + } + YmapPhysicsDictionariesTextBox.Text = sb.ToString(); + } + } + + private void SetYmapHasChanged(bool changed) + { + ProjectForm.SetYmapHasChanged(changed); + UpdateFormTitleYmapChanged(); + } + + private void SetYmapPhysicsDictionariesFromTextbox() + { + if (populatingui) return; + if (Ymap == null) return; + + List hashes = new List(); + + var strs = YmapPhysicsDictionariesTextBox.Text.Split('\n'); + foreach (var str in strs) + { + var tstr = str.Trim(); + if (!string.IsNullOrEmpty(tstr)) + { + uint h = 0; + if (uint.TryParse(tstr, out h)) + { + hashes.Add(h); + } + else + { + h = JenkHash.GenHash(tstr.ToLowerInvariant()); + hashes.Add(h); + } + } + } + + lock (ProjectForm.ProjectSyncRoot) + { + Ymap.physicsDictionaries = (hashes.Count > 0) ? hashes.ToArray() : null; + SetYmapHasChanged(true); + } + } + + private void SetYmapFlagsFromCheckBoxes() + { + if (populatingui) return; + if (Ymap == null) return; + + uint flags = 0; + uint contentFlags = 0; + + contentFlags = BitUtil.UpdateBit(contentFlags, 0, YmapCFlagsHDCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 1, YmapCFlagsLODCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 2, YmapCFlagsSLOD2CheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 3, YmapCFlagsInteriorCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 4, YmapCFlagsSLODCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 5, YmapCFlagsOcclusionCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 6, YmapCFlagsPhysicsCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 7, YmapCFlagsLODLightsCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 8, YmapCFlagsDistLightsCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 9, YmapCFlagsCriticalCheckBox.Checked); + contentFlags = BitUtil.UpdateBit(contentFlags, 10, YmapCFlagsGrassCheckBox.Checked); + + flags = BitUtil.UpdateBit(flags, 0, YmapFlagsScriptedCheckBox.Checked); + flags = BitUtil.UpdateBit(flags, 1, YmapFlagsLODCheckBox.Checked); + + + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.flags != flags) + { + Ymap._CMapData.flags = flags; + SetYmapHasChanged(true); + } + if (Ymap._CMapData.contentFlags != contentFlags) + { + Ymap._CMapData.contentFlags = contentFlags; + SetYmapHasChanged(true); + } + } + + populatingui = true; + UpdateYmapFlagsUI(false, true); //update textbox + populatingui = false; + } + + private void SetYmapFlagsFromTextBoxes() + { + if (populatingui) return; + if (Ymap == null) return; + + uint flags = 0; + uint contentFlags = 0; + uint.TryParse(YmapFlagsTextBox.Text, out flags); + uint.TryParse(YmapContentFlagsTextBox.Text, out contentFlags); + + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.flags != flags) + { + Ymap._CMapData.flags = flags; + SetYmapHasChanged(true); + } + if (Ymap._CMapData.contentFlags != contentFlags) + { + Ymap._CMapData.contentFlags = contentFlags; + SetYmapHasChanged(true); + } + } + + populatingui = true; + UpdateYmapFlagsUI(true, false); //update checkboxes + populatingui = false; + } + + private void CalcYmapFlags() + { + if (populatingui) return; + if (Ymap == null) return; + + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap.CalcFlags()) + { + SetYmapHasChanged(true); + } + } + + populatingui = true; + UpdateYmapFlagsUI(true, true); //update checkboxes and textboxes + populatingui = false; + } + + private void CalcYmapExtents() + { + if (Ymap == null) return; + + var allents = Ymap.AllEntities; + var allbatches = Ymap.GrassInstanceBatches; + + if ((allents == null) && (allbatches == null)) + { + MessageBox.Show("No items to calculate extents from."); + return; + } + + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap.CalcExtents()) + { + SetYmapHasChanged(true); + } + } + + populatingui = true; + var md = Ymap.CMapData; + YmapEntitiesExtentsMinTextBox.Text = FloatUtil.GetVector3String(md.entitiesExtentsMin); + YmapEntitiesExtentsMaxTextBox.Text = FloatUtil.GetVector3String(md.entitiesExtentsMax); + YmapStreamingExtentsMinTextBox.Text = FloatUtil.GetVector3String(md.streamingExtentsMin); + YmapStreamingExtentsMaxTextBox.Text = FloatUtil.GetVector3String(md.streamingExtentsMax); + populatingui = false; + } + + + private void YmapNameTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + uint hash = 0; + string name = YmapNameTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + YmapNameHashLabel.Text = "Hash: " + hash.ToString(); + + if (Ymap != null) + { + lock (ProjectForm.ProjectSyncRoot) + { + string ymname = name + ".ymap"; + if (Ymap.Name != ymname) + { + Ymap.Name = ymname; + Ymap._CMapData.name = new MetaHash(hash); + SetYmapHasChanged(true); + UpdateFormTitle(); + } + } + } + } + + private void YmapParentTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + uint hash = 0; + string name = YmapParentTextBox.Text; + if (!uint.TryParse(name, out hash))//don't re-hash hashes + { + hash = JenkHash.GenHash(name); + JenkIndex.Ensure(name); + } + YmapParentHashLabel.Text = "Hash: " + hash.ToString(); + + if (hash != 0) + { + var entry = ProjectForm.FindParentYmapEntry(hash); + if (entry == null) + { + YmapParentHashLabel.Text += " (not found!)"; + } + } + + if (Ymap != null) + { + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.parent.Hash != hash) + { + Ymap._CMapData.parent = new MetaHash(hash); + SetYmapHasChanged(true); + + //TODO: confirm entity parent linkage? + } + } + } + + } + + private void YmapFlagsTextBox_TextChanged(object sender, EventArgs e) + { + SetYmapFlagsFromTextBoxes(); + } + + private void YmapContentFlagsTextBox_TextChanged(object sender, EventArgs e) + { + SetYmapFlagsFromTextBoxes(); + } + + private void YmapCFlagsHDCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsLODCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsSLOD2CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsInteriorCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsSLODCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsOcclusionCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsPhysicsCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsLODLightsCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsDistLightsCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsCriticalCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCFlagsGrassCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapFlagsScriptedCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapFlagsLODCheckBox_CheckedChanged(object sender, EventArgs e) + { + SetYmapFlagsFromCheckBoxes(); + } + + private void YmapCalculateFlagsButton_Click(object sender, EventArgs e) + { + CalcYmapFlags(); + } + + private void YmapEntitiesExtentsMinTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ymap == null) return; + Vector3 v = FloatUtil.ParseVector3String(YmapEntitiesExtentsMinTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.entitiesExtentsMin != v) + { + Ymap._CMapData.entitiesExtentsMin = v; + SetYmapHasChanged(true); + } + } + } + + private void YmapEntitiesExtentsMaxTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ymap == null) return; + Vector3 v = FloatUtil.ParseVector3String(YmapEntitiesExtentsMaxTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.entitiesExtentsMax != v) + { + Ymap._CMapData.entitiesExtentsMax = v; + SetYmapHasChanged(true); + } + } + } + + private void YmapStreamingExtentsMinTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ymap == null) return; + Vector3 v = FloatUtil.ParseVector3String(YmapStreamingExtentsMinTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.streamingExtentsMin != v) + { + Ymap._CMapData.streamingExtentsMin = v; + SetYmapHasChanged(true); + } + } + } + + private void YmapStreamingExtentsMaxTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ymap == null) return; + Vector3 v = FloatUtil.ParseVector3String(YmapStreamingExtentsMaxTextBox.Text); + lock (ProjectForm.ProjectSyncRoot) + { + if (Ymap._CMapData.streamingExtentsMax != v) + { + Ymap._CMapData.streamingExtentsMax = v; + SetYmapHasChanged(true); + } + } + } + + private void YmapCalculateExtentsButton_Click(object sender, EventArgs e) + { + CalcYmapExtents(); + } + + private void YmapPhysicsDictionariesTextBox_TextChanged(object sender, EventArgs e) + { + SetYmapPhysicsDictionariesFromTextbox(); + } + } +} diff --git a/Project/Panels/EditYmapPanel.resx b/Project/Panels/EditYmapPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYmapPanel.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/Project/Panels/EditYndNodePanel.Designer.cs b/Project/Panels/EditYndNodePanel.Designer.cs new file mode 100644 index 0000000..a29f106 --- /dev/null +++ b/Project/Panels/EditYndNodePanel.Designer.cs @@ -0,0 +1,1955 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYndNodePanel + { + /// + /// 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(EditYndNodePanel)); + this.PathNodeTabControl = new System.Windows.Forms.TabControl(); + this.PathNodePropertiesTabPage = new System.Windows.Forms.TabPage(); + this.PathNodeFlags5GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags52CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags53CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags51CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags5UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags4GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags45CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags46CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags47CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags48CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags42UpDown = new System.Windows.Forms.NumericUpDown(); + this.label71 = new System.Windows.Forms.Label(); + this.PathNodeFlags41CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags4UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags4Label = new System.Windows.Forms.Label(); + this.PathNodeFlags3GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags32UpDown = new System.Windows.Forms.NumericUpDown(); + this.label70 = new System.Windows.Forms.Label(); + this.PathNodeFlags31CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags3UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags3Label = new System.Windows.Forms.Label(); + this.PathNodeFlags2GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags21CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags28CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags22CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags27CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags23CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags26CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags24CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags25CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags2UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags2Label = new System.Windows.Forms.Label(); + this.PathNodeFlags1GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags11CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags18CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags12CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags17CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags13CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags16CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags14CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags15CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags1UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags1Label = new System.Windows.Forms.Label(); + this.PathNodeFlags0GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeFlags01CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags08CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags02CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags07CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags03CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags06CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags04CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags05CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeFlags0UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeFlags0Label = new System.Windows.Forms.Label(); + this.PathNodeDeleteButton = new System.Windows.Forms.Button(); + this.PathNodeAreaIDUpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeAddToProjectButton = new System.Windows.Forms.Button(); + this.label49 = new System.Windows.Forms.Label(); + this.label50 = new System.Windows.Forms.Label(); + this.label68 = new System.Windows.Forms.Label(); + this.PathNodeNodeIDUpDown = new System.Windows.Forms.NumericUpDown(); + this.label52 = new System.Windows.Forms.Label(); + this.PathNodeStreetHashTextBox = new System.Windows.Forms.TextBox(); + this.PathNodeGoToButton = new System.Windows.Forms.Button(); + this.PathNodeStreetNameLabel = new System.Windows.Forms.Label(); + this.PathNodePositionTextBox = new System.Windows.Forms.TextBox(); + this.label55 = new System.Windows.Forms.Label(); + this.PathNodeLinksTabPage = new System.Windows.Forms.TabPage(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.PathNodeRemoveLinkButton = new System.Windows.Forms.Button(); + this.PathNodeAddLinkButton = new System.Windows.Forms.Button(); + this.PathNodeLinksListBox = new System.Windows.Forms.ListBox(); + this.PathNodeLinkCountLabel = new System.Windows.Forms.Label(); + this.PathNodeLinkPanel = new System.Windows.Forms.Panel(); + this.PathLinkFlags2GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeLinkFlags21CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags22CheckBox = new System.Windows.Forms.CheckBox(); + this.label53 = new System.Windows.Forms.Label(); + this.PathNodeLinkFwdLanesUpDown = new System.Windows.Forms.NumericUpDown(); + this.label56 = new System.Windows.Forms.Label(); + this.PathNodeLinkBackLanesUpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeLinkFlags2UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeLinkFlags2Label = new System.Windows.Forms.Label(); + this.PathLinkFlags1GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeLinkOffsetSizeUpDown = new System.Windows.Forms.NumericUpDown(); + this.label61 = new System.Windows.Forms.Label(); + this.PathNodeLinkFlags11CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags18CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags12CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags13CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags14CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags1UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeLinkFlags1Label = new System.Windows.Forms.Label(); + this.PathLinkFlags0GroupBox = new System.Windows.Forms.GroupBox(); + this.PathNodeLinkFlags04UpDown = new System.Windows.Forms.NumericUpDown(); + this.label60 = new System.Windows.Forms.Label(); + this.PathNodeLinkFlags03UpDown = new System.Windows.Forms.NumericUpDown(); + this.label58 = new System.Windows.Forms.Label(); + this.PathNodeLinkFlags01CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags02CheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeLinkFlags0UpDown = new System.Windows.Forms.NumericUpDown(); + this.PathNodeLinkFlags0Label = new System.Windows.Forms.Label(); + this.PathNodeLinkageStatusLabel = new System.Windows.Forms.Label(); + this.PathNodeLinkLengthUpDown = new System.Windows.Forms.NumericUpDown(); + this.label57 = new System.Windows.Forms.Label(); + this.PathNodeLinkNodeIDUpDown = new System.Windows.Forms.NumericUpDown(); + this.label51 = new System.Windows.Forms.Label(); + this.PathNodeLinkAreaIDUpDown = new System.Windows.Forms.NumericUpDown(); + this.label54 = new System.Windows.Forms.Label(); + this.PathNodeJunctionTabPage = new System.Windows.Forms.TabPage(); + this.label78 = new System.Windows.Forms.Label(); + this.PathNodeJunctionPanel = new System.Windows.Forms.Panel(); + this.PathNodeJunctionPosYUpDown = new System.Windows.Forms.NumericUpDown(); + this.label59 = new System.Windows.Forms.Label(); + this.PathNodeJunctionPosXUpDown = new System.Windows.Forms.NumericUpDown(); + this.label69 = new System.Windows.Forms.Label(); + this.PathNodeJunctionHeightmapBytesTextBox = new CodeWalker.WinForms.TextBoxFix(); + this.PathNodeJunctionHeightmapDimYUpDown = new System.Windows.Forms.NumericUpDown(); + this.label77 = new System.Windows.Forms.Label(); + this.PathNodeJunctionHeightmapDimXUpDown = new System.Windows.Forms.NumericUpDown(); + this.label76 = new System.Windows.Forms.Label(); + this.PathNodeJunctionMinZUpDown = new System.Windows.Forms.NumericUpDown(); + this.label67 = new System.Windows.Forms.Label(); + this.PathNodeJunctionMaxZUpDown = new System.Windows.Forms.NumericUpDown(); + this.label65 = new System.Windows.Forms.Label(); + this.PathNodeJunctionEnableCheckBox = new System.Windows.Forms.CheckBox(); + this.PathNodeTabControl.SuspendLayout(); + this.PathNodePropertiesTabPage.SuspendLayout(); + this.PathNodeFlags5GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags5UpDown)).BeginInit(); + this.PathNodeFlags4GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags42UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags4UpDown)).BeginInit(); + this.PathNodeFlags3GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags32UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags3UpDown)).BeginInit(); + this.PathNodeFlags2GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags2UpDown)).BeginInit(); + this.PathNodeFlags1GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags1UpDown)).BeginInit(); + this.PathNodeFlags0GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags0UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeAreaIDUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeNodeIDUpDown)).BeginInit(); + this.PathNodeLinksTabPage.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + this.PathNodeLinkPanel.SuspendLayout(); + this.PathLinkFlags2GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFwdLanesUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkBackLanesUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags2UpDown)).BeginInit(); + this.PathLinkFlags1GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkOffsetSizeUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags1UpDown)).BeginInit(); + this.PathLinkFlags0GroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags04UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags03UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags0UpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkLengthUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkNodeIDUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkAreaIDUpDown)).BeginInit(); + this.PathNodeJunctionTabPage.SuspendLayout(); + this.PathNodeJunctionPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionPosYUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionPosXUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionHeightmapDimYUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionHeightmapDimXUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionMinZUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionMaxZUpDown)).BeginInit(); + this.SuspendLayout(); + // + // PathNodeTabControl + // + this.PathNodeTabControl.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.PathNodeTabControl.Controls.Add(this.PathNodePropertiesTabPage); + this.PathNodeTabControl.Controls.Add(this.PathNodeLinksTabPage); + this.PathNodeTabControl.Controls.Add(this.PathNodeJunctionTabPage); + this.PathNodeTabControl.Location = new System.Drawing.Point(2, 3); + this.PathNodeTabControl.Name = "PathNodeTabControl"; + this.PathNodeTabControl.SelectedIndex = 0; + this.PathNodeTabControl.Size = new System.Drawing.Size(519, 447); + this.PathNodeTabControl.TabIndex = 29; + // + // PathNodePropertiesTabPage + // + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags5GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags4GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags3GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags2GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags1GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeFlags0GroupBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeDeleteButton); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeAreaIDUpDown); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeAddToProjectButton); + this.PathNodePropertiesTabPage.Controls.Add(this.label49); + this.PathNodePropertiesTabPage.Controls.Add(this.label50); + this.PathNodePropertiesTabPage.Controls.Add(this.label68); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeNodeIDUpDown); + this.PathNodePropertiesTabPage.Controls.Add(this.label52); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeStreetHashTextBox); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeGoToButton); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodeStreetNameLabel); + this.PathNodePropertiesTabPage.Controls.Add(this.PathNodePositionTextBox); + this.PathNodePropertiesTabPage.Controls.Add(this.label55); + this.PathNodePropertiesTabPage.Location = new System.Drawing.Point(4, 22); + this.PathNodePropertiesTabPage.Name = "PathNodePropertiesTabPage"; + this.PathNodePropertiesTabPage.Size = new System.Drawing.Size(511, 421); + this.PathNodePropertiesTabPage.TabIndex = 2; + this.PathNodePropertiesTabPage.Text = "Node Properties"; + this.PathNodePropertiesTabPage.UseVisualStyleBackColor = true; + // + // PathNodeFlags5GroupBox + // + this.PathNodeFlags5GroupBox.Controls.Add(this.PathNodeFlags52CheckBox); + this.PathNodeFlags5GroupBox.Controls.Add(this.PathNodeFlags53CheckBox); + this.PathNodeFlags5GroupBox.Controls.Add(this.PathNodeFlags51CheckBox); + this.PathNodeFlags5GroupBox.Controls.Add(this.PathNodeFlags5UpDown); + this.PathNodeFlags5GroupBox.Location = new System.Drawing.Point(249, 318); + this.PathNodeFlags5GroupBox.Name = "PathNodeFlags5GroupBox"; + this.PathNodeFlags5GroupBox.Size = new System.Drawing.Size(223, 84); + this.PathNodeFlags5GroupBox.TabIndex = 48; + this.PathNodeFlags5GroupBox.TabStop = false; + this.PathNodeFlags5GroupBox.Text = "Flags 5"; + // + // PathNodeFlags52CheckBox + // + this.PathNodeFlags52CheckBox.AutoSize = true; + this.PathNodeFlags52CheckBox.Location = new System.Drawing.Point(80, 41); + this.PathNodeFlags52CheckBox.Name = "PathNodeFlags52CheckBox"; + this.PathNodeFlags52CheckBox.Size = new System.Drawing.Size(87, 17); + this.PathNodeFlags52CheckBox.TabIndex = 36; + this.PathNodeFlags52CheckBox.Text = "Speed unk 1"; + this.PathNodeFlags52CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags52CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags52CheckBox_CheckedChanged); + // + // PathNodeFlags53CheckBox + // + this.PathNodeFlags53CheckBox.AutoSize = true; + this.PathNodeFlags53CheckBox.Location = new System.Drawing.Point(80, 62); + this.PathNodeFlags53CheckBox.Name = "PathNodeFlags53CheckBox"; + this.PathNodeFlags53CheckBox.Size = new System.Drawing.Size(87, 17); + this.PathNodeFlags53CheckBox.TabIndex = 37; + this.PathNodeFlags53CheckBox.Text = "Speed unk 2"; + this.PathNodeFlags53CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags53CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags53CheckBox_CheckedChanged); + // + // PathNodeFlags51CheckBox + // + this.PathNodeFlags51CheckBox.AutoSize = true; + this.PathNodeFlags51CheckBox.Location = new System.Drawing.Point(80, 20); + this.PathNodeFlags51CheckBox.Name = "PathNodeFlags51CheckBox"; + this.PathNodeFlags51CheckBox.Size = new System.Drawing.Size(137, 17); + this.PathNodeFlags51CheckBox.TabIndex = 35; + this.PathNodeFlags51CheckBox.Text = "Has junction heightmap"; + this.PathNodeFlags51CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags51CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags51CheckBox_CheckedChanged); + // + // PathNodeFlags5UpDown + // + this.PathNodeFlags5UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags5UpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeFlags5UpDown.Name = "PathNodeFlags5UpDown"; + this.PathNodeFlags5UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags5UpDown.TabIndex = 43; + this.PathNodeFlags5UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags5UpDown_ValueChanged); + // + // PathNodeFlags4GroupBox + // + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags45CheckBox); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags46CheckBox); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags47CheckBox); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags48CheckBox); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags42UpDown); + this.PathNodeFlags4GroupBox.Controls.Add(this.label71); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags41CheckBox); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags4UpDown); + this.PathNodeFlags4GroupBox.Controls.Add(this.PathNodeFlags4Label); + this.PathNodeFlags4GroupBox.Location = new System.Drawing.Point(370, 96); + this.PathNodeFlags4GroupBox.Name = "PathNodeFlags4GroupBox"; + this.PathNodeFlags4GroupBox.Size = new System.Drawing.Size(115, 175); + this.PathNodeFlags4GroupBox.TabIndex = 47; + this.PathNodeFlags4GroupBox.TabStop = false; + this.PathNodeFlags4GroupBox.Text = "Flags 4"; + // + // PathNodeFlags45CheckBox + // + this.PathNodeFlags45CheckBox.AutoSize = true; + this.PathNodeFlags45CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeFlags45CheckBox.Name = "PathNodeFlags45CheckBox"; + this.PathNodeFlags45CheckBox.Size = new System.Drawing.Size(70, 17); + this.PathNodeFlags45CheckBox.TabIndex = 36; + this.PathNodeFlags45CheckBox.Text = "Special 1"; + this.PathNodeFlags45CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags45CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags45CheckBox_CheckedChanged); + // + // PathNodeFlags46CheckBox + // + this.PathNodeFlags46CheckBox.AutoSize = true; + this.PathNodeFlags46CheckBox.Location = new System.Drawing.Point(6, 87); + this.PathNodeFlags46CheckBox.Name = "PathNodeFlags46CheckBox"; + this.PathNodeFlags46CheckBox.Size = new System.Drawing.Size(70, 17); + this.PathNodeFlags46CheckBox.TabIndex = 37; + this.PathNodeFlags46CheckBox.Text = "Special 2"; + this.PathNodeFlags46CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags46CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags46CheckBox_CheckedChanged); + // + // PathNodeFlags47CheckBox + // + this.PathNodeFlags47CheckBox.AutoSize = true; + this.PathNodeFlags47CheckBox.Location = new System.Drawing.Point(6, 108); + this.PathNodeFlags47CheckBox.Name = "PathNodeFlags47CheckBox"; + this.PathNodeFlags47CheckBox.Size = new System.Drawing.Size(70, 17); + this.PathNodeFlags47CheckBox.TabIndex = 38; + this.PathNodeFlags47CheckBox.Text = "Special 3"; + this.PathNodeFlags47CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags47CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags47CheckBox_CheckedChanged); + // + // PathNodeFlags48CheckBox + // + this.PathNodeFlags48CheckBox.AutoSize = true; + this.PathNodeFlags48CheckBox.Location = new System.Drawing.Point(6, 129); + this.PathNodeFlags48CheckBox.Name = "PathNodeFlags48CheckBox"; + this.PathNodeFlags48CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags48CheckBox.TabIndex = 39; + this.PathNodeFlags48CheckBox.Text = "Junction unk 6"; + this.PathNodeFlags48CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags48CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags48CheckBox_CheckedChanged); + // + // PathNodeFlags42UpDown + // + this.PathNodeFlags42UpDown.Location = new System.Drawing.Point(41, 150); + this.PathNodeFlags42UpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeFlags42UpDown.Name = "PathNodeFlags42UpDown"; + this.PathNodeFlags42UpDown.Size = new System.Drawing.Size(57, 20); + this.PathNodeFlags42UpDown.TabIndex = 41; + this.PathNodeFlags42UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags42UpDown_ValueChanged); + // + // label71 + // + this.label71.AutoSize = true; + this.label71.Location = new System.Drawing.Point(4, 152); + this.label71.Name = "label71"; + this.label71.Size = new System.Drawing.Size(30, 13); + this.label71.TabIndex = 40; + this.label71.Text = "Unk:"; + // + // PathNodeFlags41CheckBox + // + this.PathNodeFlags41CheckBox.AutoSize = true; + this.PathNodeFlags41CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeFlags41CheckBox.Name = "PathNodeFlags41CheckBox"; + this.PathNodeFlags41CheckBox.Size = new System.Drawing.Size(79, 17); + this.PathNodeFlags41CheckBox.TabIndex = 35; + this.PathNodeFlags41CheckBox.Text = "Slow unk 4"; + this.PathNodeFlags41CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags41CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags41CheckBox_CheckedChanged); + // + // PathNodeFlags4UpDown + // + this.PathNodeFlags4UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags4UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeFlags4UpDown.Name = "PathNodeFlags4UpDown"; + this.PathNodeFlags4UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags4UpDown.TabIndex = 43; + this.PathNodeFlags4UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags4UpDown_ValueChanged); + // + // PathNodeFlags4Label + // + this.PathNodeFlags4Label.AutoSize = true; + this.PathNodeFlags4Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeFlags4Label.Name = "PathNodeFlags4Label"; + this.PathNodeFlags4Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeFlags4Label.TabIndex = 44; + this.PathNodeFlags4Label.Text = "0x00"; + // + // PathNodeFlags3GroupBox + // + this.PathNodeFlags3GroupBox.Controls.Add(this.PathNodeFlags32UpDown); + this.PathNodeFlags3GroupBox.Controls.Add(this.label70); + this.PathNodeFlags3GroupBox.Controls.Add(this.PathNodeFlags31CheckBox); + this.PathNodeFlags3GroupBox.Controls.Add(this.PathNodeFlags3UpDown); + this.PathNodeFlags3GroupBox.Controls.Add(this.PathNodeFlags3Label); + this.PathNodeFlags3GroupBox.Location = new System.Drawing.Point(7, 318); + this.PathNodeFlags3GroupBox.Name = "PathNodeFlags3GroupBox"; + this.PathNodeFlags3GroupBox.Size = new System.Drawing.Size(223, 84); + this.PathNodeFlags3GroupBox.TabIndex = 46; + this.PathNodeFlags3GroupBox.TabStop = false; + this.PathNodeFlags3GroupBox.Text = "Flags 3"; + // + // PathNodeFlags32UpDown + // + this.PathNodeFlags32UpDown.Location = new System.Drawing.Point(147, 44); + this.PathNodeFlags32UpDown.Maximum = new decimal(new int[] { + 127, + 0, + 0, + 0}); + this.PathNodeFlags32UpDown.Name = "PathNodeFlags32UpDown"; + this.PathNodeFlags32UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags32UpDown.TabIndex = 37; + this.PathNodeFlags32UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags32UpDown_ValueChanged); + // + // label70 + // + this.label70.AutoSize = true; + this.label70.Location = new System.Drawing.Point(111, 46); + this.label70.Name = "label70"; + this.label70.Size = new System.Drawing.Size(30, 13); + this.label70.TabIndex = 36; + this.label70.Text = "Unk:"; + // + // PathNodeFlags31CheckBox + // + this.PathNodeFlags31CheckBox.AutoSize = true; + this.PathNodeFlags31CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeFlags31CheckBox.Name = "PathNodeFlags31CheckBox"; + this.PathNodeFlags31CheckBox.Size = new System.Drawing.Size(85, 17); + this.PathNodeFlags31CheckBox.TabIndex = 35; + this.PathNodeFlags31CheckBox.Text = "Interior node"; + this.PathNodeFlags31CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags31CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags31CheckBox_CheckedChanged); + // + // PathNodeFlags3UpDown + // + this.PathNodeFlags3UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags3UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeFlags3UpDown.Name = "PathNodeFlags3UpDown"; + this.PathNodeFlags3UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags3UpDown.TabIndex = 43; + this.PathNodeFlags3UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags3UpDown_ValueChanged); + // + // PathNodeFlags3Label + // + this.PathNodeFlags3Label.AutoSize = true; + this.PathNodeFlags3Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeFlags3Label.Name = "PathNodeFlags3Label"; + this.PathNodeFlags3Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeFlags3Label.TabIndex = 44; + this.PathNodeFlags3Label.Text = "0x00"; + // + // PathNodeFlags2GroupBox + // + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags21CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags28CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags22CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags27CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags23CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags26CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags24CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags25CheckBox); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags2UpDown); + this.PathNodeFlags2GroupBox.Controls.Add(this.PathNodeFlags2Label); + this.PathNodeFlags2GroupBox.Location = new System.Drawing.Point(249, 96); + this.PathNodeFlags2GroupBox.Name = "PathNodeFlags2GroupBox"; + this.PathNodeFlags2GroupBox.Size = new System.Drawing.Size(115, 216); + this.PathNodeFlags2GroupBox.TabIndex = 45; + this.PathNodeFlags2GroupBox.TabStop = false; + this.PathNodeFlags2GroupBox.Text = "Flags 2"; + // + // PathNodeFlags21CheckBox + // + this.PathNodeFlags21CheckBox.AutoSize = true; + this.PathNodeFlags21CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeFlags21CheckBox.Name = "PathNodeFlags21CheckBox"; + this.PathNodeFlags21CheckBox.Size = new System.Drawing.Size(79, 17); + this.PathNodeFlags21CheckBox.TabIndex = 35; + this.PathNodeFlags21CheckBox.Text = "Slow unk 2"; + this.PathNodeFlags21CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags21CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags21CheckBox_CheckedChanged); + // + // PathNodeFlags28CheckBox + // + this.PathNodeFlags28CheckBox.AutoSize = true; + this.PathNodeFlags28CheckBox.Location = new System.Drawing.Point(6, 192); + this.PathNodeFlags28CheckBox.Name = "PathNodeFlags28CheckBox"; + this.PathNodeFlags28CheckBox.Size = new System.Drawing.Size(81, 17); + this.PathNodeFlags28CheckBox.TabIndex = 42; + this.PathNodeFlags28CheckBox.Text = "Back road?"; + this.PathNodeFlags28CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags28CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags28CheckBox_CheckedChanged); + // + // PathNodeFlags22CheckBox + // + this.PathNodeFlags22CheckBox.AutoSize = true; + this.PathNodeFlags22CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeFlags22CheckBox.Name = "PathNodeFlags22CheckBox"; + this.PathNodeFlags22CheckBox.Size = new System.Drawing.Size(72, 17); + this.PathNodeFlags22CheckBox.TabIndex = 36; + this.PathNodeFlags22CheckBox.Text = "Unused 2"; + this.PathNodeFlags22CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags22CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags22CheckBox_CheckedChanged); + // + // PathNodeFlags27CheckBox + // + this.PathNodeFlags27CheckBox.AutoSize = true; + this.PathNodeFlags27CheckBox.Location = new System.Drawing.Point(6, 171); + this.PathNodeFlags27CheckBox.Name = "PathNodeFlags27CheckBox"; + this.PathNodeFlags27CheckBox.Size = new System.Drawing.Size(66, 17); + this.PathNodeFlags27CheckBox.TabIndex = 41; + this.PathNodeFlags27CheckBox.Text = "Freeway"; + this.PathNodeFlags27CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags27CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags27CheckBox_CheckedChanged); + // + // PathNodeFlags23CheckBox + // + this.PathNodeFlags23CheckBox.AutoSize = true; + this.PathNodeFlags23CheckBox.Location = new System.Drawing.Point(6, 87); + this.PathNodeFlags23CheckBox.Name = "PathNodeFlags23CheckBox"; + this.PathNodeFlags23CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags23CheckBox.TabIndex = 37; + this.PathNodeFlags23CheckBox.Text = "Junction unk 5"; + this.PathNodeFlags23CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags23CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags23CheckBox_CheckedChanged); + // + // PathNodeFlags26CheckBox + // + this.PathNodeFlags26CheckBox.AutoSize = true; + this.PathNodeFlags26CheckBox.Location = new System.Drawing.Point(6, 150); + this.PathNodeFlags26CheckBox.Name = "PathNodeFlags26CheckBox"; + this.PathNodeFlags26CheckBox.Size = new System.Drawing.Size(86, 17); + this.PathNodeFlags26CheckBox.TabIndex = 40; + this.PathNodeFlags26CheckBox.Text = "Water/boats"; + this.PathNodeFlags26CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags26CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags26CheckBox_CheckedChanged); + // + // PathNodeFlags24CheckBox + // + this.PathNodeFlags24CheckBox.AutoSize = true; + this.PathNodeFlags24CheckBox.Location = new System.Drawing.Point(6, 108); + this.PathNodeFlags24CheckBox.Name = "PathNodeFlags24CheckBox"; + this.PathNodeFlags24CheckBox.Size = new System.Drawing.Size(72, 17); + this.PathNodeFlags24CheckBox.TabIndex = 38; + this.PathNodeFlags24CheckBox.Text = "Unused 8"; + this.PathNodeFlags24CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags24CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags24CheckBox_CheckedChanged); + // + // PathNodeFlags25CheckBox + // + this.PathNodeFlags25CheckBox.AutoSize = true; + this.PathNodeFlags25CheckBox.Location = new System.Drawing.Point(6, 129); + this.PathNodeFlags25CheckBox.Name = "PathNodeFlags25CheckBox"; + this.PathNodeFlags25CheckBox.Size = new System.Drawing.Size(79, 17); + this.PathNodeFlags25CheckBox.TabIndex = 39; + this.PathNodeFlags25CheckBox.Text = "Slow unk 3"; + this.PathNodeFlags25CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags25CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags25CheckBox_CheckedChanged); + // + // PathNodeFlags2UpDown + // + this.PathNodeFlags2UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags2UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeFlags2UpDown.Name = "PathNodeFlags2UpDown"; + this.PathNodeFlags2UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags2UpDown.TabIndex = 43; + this.PathNodeFlags2UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags2UpDown_ValueChanged); + // + // PathNodeFlags2Label + // + this.PathNodeFlags2Label.AutoSize = true; + this.PathNodeFlags2Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeFlags2Label.Name = "PathNodeFlags2Label"; + this.PathNodeFlags2Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeFlags2Label.TabIndex = 44; + this.PathNodeFlags2Label.Text = "0x00"; + // + // PathNodeFlags1GroupBox + // + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags11CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags18CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags12CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags17CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags13CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags16CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags14CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags15CheckBox); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags1UpDown); + this.PathNodeFlags1GroupBox.Controls.Add(this.PathNodeFlags1Label); + this.PathNodeFlags1GroupBox.Location = new System.Drawing.Point(128, 96); + this.PathNodeFlags1GroupBox.Name = "PathNodeFlags1GroupBox"; + this.PathNodeFlags1GroupBox.Size = new System.Drawing.Size(115, 216); + this.PathNodeFlags1GroupBox.TabIndex = 44; + this.PathNodeFlags1GroupBox.TabStop = false; + this.PathNodeFlags1GroupBox.Text = "Flags 1"; + // + // PathNodeFlags11CheckBox + // + this.PathNodeFlags11CheckBox.AutoSize = true; + this.PathNodeFlags11CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeFlags11CheckBox.Name = "PathNodeFlags11CheckBox"; + this.PathNodeFlags11CheckBox.Size = new System.Drawing.Size(82, 17); + this.PathNodeFlags11CheckBox.TabIndex = 35; + this.PathNodeFlags11CheckBox.Text = "L turn lane?"; + this.PathNodeFlags11CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags11CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags11CheckBox_CheckedChanged); + // + // PathNodeFlags18CheckBox + // + this.PathNodeFlags18CheckBox.AutoSize = true; + this.PathNodeFlags18CheckBox.Location = new System.Drawing.Point(6, 192); + this.PathNodeFlags18CheckBox.Name = "PathNodeFlags18CheckBox"; + this.PathNodeFlags18CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags18CheckBox.TabIndex = 42; + this.PathNodeFlags18CheckBox.Text = "Junction unk 4"; + this.PathNodeFlags18CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags18CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags18CheckBox_CheckedChanged); + // + // PathNodeFlags12CheckBox + // + this.PathNodeFlags12CheckBox.AutoSize = true; + this.PathNodeFlags12CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeFlags12CheckBox.Name = "PathNodeFlags12CheckBox"; + this.PathNodeFlags12CheckBox.Size = new System.Drawing.Size(98, 17); + this.PathNodeFlags12CheckBox.TabIndex = 36; + this.PathNodeFlags12CheckBox.Text = "L turn no return"; + this.PathNodeFlags12CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags12CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags12CheckBox_CheckedChanged); + // + // PathNodeFlags17CheckBox + // + this.PathNodeFlags17CheckBox.AutoSize = true; + this.PathNodeFlags17CheckBox.Location = new System.Drawing.Point(6, 171); + this.PathNodeFlags17CheckBox.Name = "PathNodeFlags17CheckBox"; + this.PathNodeFlags17CheckBox.Size = new System.Drawing.Size(108, 17); + this.PathNodeFlags17CheckBox.TabIndex = 41; + this.PathNodeFlags17CheckBox.Text = "Traffic light unk 3"; + this.PathNodeFlags17CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags17CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags17CheckBox_CheckedChanged); + // + // PathNodeFlags13CheckBox + // + this.PathNodeFlags13CheckBox.AutoSize = true; + this.PathNodeFlags13CheckBox.Location = new System.Drawing.Point(6, 87); + this.PathNodeFlags13CheckBox.Name = "PathNodeFlags13CheckBox"; + this.PathNodeFlags13CheckBox.Size = new System.Drawing.Size(100, 17); + this.PathNodeFlags13CheckBox.TabIndex = 37; + this.PathNodeFlags13CheckBox.Text = "R turn no return"; + this.PathNodeFlags13CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags13CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags13CheckBox_CheckedChanged); + // + // PathNodeFlags16CheckBox + // + this.PathNodeFlags16CheckBox.AutoSize = true; + this.PathNodeFlags16CheckBox.Location = new System.Drawing.Point(6, 150); + this.PathNodeFlags16CheckBox.Name = "PathNodeFlags16CheckBox"; + this.PathNodeFlags16CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags16CheckBox.TabIndex = 40; + this.PathNodeFlags16CheckBox.Text = "Junction unk 3"; + this.PathNodeFlags16CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags16CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags16CheckBox_CheckedChanged); + // + // PathNodeFlags14CheckBox + // + this.PathNodeFlags14CheckBox.AutoSize = true; + this.PathNodeFlags14CheckBox.Location = new System.Drawing.Point(6, 108); + this.PathNodeFlags14CheckBox.Name = "PathNodeFlags14CheckBox"; + this.PathNodeFlags14CheckBox.Size = new System.Drawing.Size(108, 17); + this.PathNodeFlags14CheckBox.TabIndex = 38; + this.PathNodeFlags14CheckBox.Text = "Traffic light unk 1"; + this.PathNodeFlags14CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags14CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags14CheckBox_CheckedChanged); + // + // PathNodeFlags15CheckBox + // + this.PathNodeFlags15CheckBox.AutoSize = true; + this.PathNodeFlags15CheckBox.Location = new System.Drawing.Point(6, 129); + this.PathNodeFlags15CheckBox.Name = "PathNodeFlags15CheckBox"; + this.PathNodeFlags15CheckBox.Size = new System.Drawing.Size(108, 17); + this.PathNodeFlags15CheckBox.TabIndex = 39; + this.PathNodeFlags15CheckBox.Text = "Traffic light unk 2"; + this.PathNodeFlags15CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags15CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags15CheckBox_CheckedChanged); + // + // PathNodeFlags1UpDown + // + this.PathNodeFlags1UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags1UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeFlags1UpDown.Name = "PathNodeFlags1UpDown"; + this.PathNodeFlags1UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags1UpDown.TabIndex = 43; + this.PathNodeFlags1UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags1UpDown_ValueChanged); + // + // PathNodeFlags1Label + // + this.PathNodeFlags1Label.AutoSize = true; + this.PathNodeFlags1Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeFlags1Label.Name = "PathNodeFlags1Label"; + this.PathNodeFlags1Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeFlags1Label.TabIndex = 44; + this.PathNodeFlags1Label.Text = "0x00"; + // + // PathNodeFlags0GroupBox + // + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags01CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags08CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags02CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags07CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags03CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags06CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags04CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags05CheckBox); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags0UpDown); + this.PathNodeFlags0GroupBox.Controls.Add(this.PathNodeFlags0Label); + this.PathNodeFlags0GroupBox.Location = new System.Drawing.Point(7, 96); + this.PathNodeFlags0GroupBox.Name = "PathNodeFlags0GroupBox"; + this.PathNodeFlags0GroupBox.Size = new System.Drawing.Size(115, 216); + this.PathNodeFlags0GroupBox.TabIndex = 43; + this.PathNodeFlags0GroupBox.TabStop = false; + this.PathNodeFlags0GroupBox.Text = "Flags 0"; + // + // PathNodeFlags01CheckBox + // + this.PathNodeFlags01CheckBox.AutoSize = true; + this.PathNodeFlags01CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeFlags01CheckBox.Name = "PathNodeFlags01CheckBox"; + this.PathNodeFlags01CheckBox.Size = new System.Drawing.Size(65, 17); + this.PathNodeFlags01CheckBox.TabIndex = 35; + this.PathNodeFlags01CheckBox.Text = "Scripted"; + this.PathNodeFlags01CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags01CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags01CheckBox_CheckedChanged); + // + // PathNodeFlags08CheckBox + // + this.PathNodeFlags08CheckBox.AutoSize = true; + this.PathNodeFlags08CheckBox.Location = new System.Drawing.Point(6, 192); + this.PathNodeFlags08CheckBox.Name = "PathNodeFlags08CheckBox"; + this.PathNodeFlags08CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags08CheckBox.TabIndex = 42; + this.PathNodeFlags08CheckBox.Text = "Junction unk 2"; + this.PathNodeFlags08CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags08CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags08CheckBox_CheckedChanged); + // + // PathNodeFlags02CheckBox + // + this.PathNodeFlags02CheckBox.AutoSize = true; + this.PathNodeFlags02CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeFlags02CheckBox.Name = "PathNodeFlags02CheckBox"; + this.PathNodeFlags02CheckBox.Size = new System.Drawing.Size(89, 17); + this.PathNodeFlags02CheckBox.TabIndex = 36; + this.PathNodeFlags02CheckBox.Text = "GPS enable?"; + this.PathNodeFlags02CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags02CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags02CheckBox_CheckedChanged); + // + // PathNodeFlags07CheckBox + // + this.PathNodeFlags07CheckBox.AutoSize = true; + this.PathNodeFlags07CheckBox.Location = new System.Drawing.Point(6, 171); + this.PathNodeFlags07CheckBox.Name = "PathNodeFlags07CheckBox"; + this.PathNodeFlags07CheckBox.Size = new System.Drawing.Size(96, 17); + this.PathNodeFlags07CheckBox.TabIndex = 41; + this.PathNodeFlags07CheckBox.Text = "Junction unk 1"; + this.PathNodeFlags07CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags07CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags07CheckBox_CheckedChanged); + // + // PathNodeFlags03CheckBox + // + this.PathNodeFlags03CheckBox.AutoSize = true; + this.PathNodeFlags03CheckBox.Location = new System.Drawing.Point(6, 87); + this.PathNodeFlags03CheckBox.Name = "PathNodeFlags03CheckBox"; + this.PathNodeFlags03CheckBox.Size = new System.Drawing.Size(72, 17); + this.PathNodeFlags03CheckBox.TabIndex = 37; + this.PathNodeFlags03CheckBox.Text = "Unused 4"; + this.PathNodeFlags03CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags03CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags03CheckBox_CheckedChanged); + // + // PathNodeFlags06CheckBox + // + this.PathNodeFlags06CheckBox.AutoSize = true; + this.PathNodeFlags06CheckBox.Location = new System.Drawing.Point(6, 150); + this.PathNodeFlags06CheckBox.Name = "PathNodeFlags06CheckBox"; + this.PathNodeFlags06CheckBox.Size = new System.Drawing.Size(79, 17); + this.PathNodeFlags06CheckBox.TabIndex = 40; + this.PathNodeFlags06CheckBox.Text = "Slow unk 1"; + this.PathNodeFlags06CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags06CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags06CheckBox_CheckedChanged); + // + // PathNodeFlags04CheckBox + // + this.PathNodeFlags04CheckBox.AutoSize = true; + this.PathNodeFlags04CheckBox.Location = new System.Drawing.Point(6, 108); + this.PathNodeFlags04CheckBox.Name = "PathNodeFlags04CheckBox"; + this.PathNodeFlags04CheckBox.Size = new System.Drawing.Size(87, 17); + this.PathNodeFlags04CheckBox.TabIndex = 38; + this.PathNodeFlags04CheckBox.Text = "Gravel road?"; + this.PathNodeFlags04CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags04CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags04CheckBox_CheckedChanged); + // + // PathNodeFlags05CheckBox + // + this.PathNodeFlags05CheckBox.AutoSize = true; + this.PathNodeFlags05CheckBox.Location = new System.Drawing.Point(6, 129); + this.PathNodeFlags05CheckBox.Name = "PathNodeFlags05CheckBox"; + this.PathNodeFlags05CheckBox.Size = new System.Drawing.Size(78, 17); + this.PathNodeFlags05CheckBox.TabIndex = 39; + this.PathNodeFlags05CheckBox.Text = "Unused 16"; + this.PathNodeFlags05CheckBox.UseVisualStyleBackColor = true; + this.PathNodeFlags05CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeFlags05CheckBox_CheckedChanged); + // + // PathNodeFlags0UpDown + // + this.PathNodeFlags0UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeFlags0UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeFlags0UpDown.Name = "PathNodeFlags0UpDown"; + this.PathNodeFlags0UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeFlags0UpDown.TabIndex = 43; + this.PathNodeFlags0UpDown.ValueChanged += new System.EventHandler(this.PathNodeFlags0UpDown_ValueChanged); + // + // PathNodeFlags0Label + // + this.PathNodeFlags0Label.AutoSize = true; + this.PathNodeFlags0Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeFlags0Label.Name = "PathNodeFlags0Label"; + this.PathNodeFlags0Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeFlags0Label.TabIndex = 44; + this.PathNodeFlags0Label.Text = "0x00"; + // + // PathNodeDeleteButton + // + this.PathNodeDeleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.PathNodeDeleteButton.Enabled = false; + this.PathNodeDeleteButton.Location = new System.Drawing.Point(418, 36); + this.PathNodeDeleteButton.Name = "PathNodeDeleteButton"; + this.PathNodeDeleteButton.Size = new System.Drawing.Size(90, 23); + this.PathNodeDeleteButton.TabIndex = 12; + this.PathNodeDeleteButton.Text = "Delete Node"; + this.PathNodeDeleteButton.UseVisualStyleBackColor = true; + this.PathNodeDeleteButton.Click += new System.EventHandler(this.PathNodeDeleteButton_Click); + // + // PathNodeAreaIDUpDown + // + this.PathNodeAreaIDUpDown.Location = new System.Drawing.Point(78, 12); + this.PathNodeAreaIDUpDown.Maximum = new decimal(new int[] { + 1023, + 0, + 0, + 0}); + this.PathNodeAreaIDUpDown.Name = "PathNodeAreaIDUpDown"; + this.PathNodeAreaIDUpDown.Size = new System.Drawing.Size(74, 20); + this.PathNodeAreaIDUpDown.TabIndex = 6; + this.PathNodeAreaIDUpDown.ValueChanged += new System.EventHandler(this.PathNodeAreaIDUpDown_ValueChanged); + // + // PathNodeAddToProjectButton + // + this.PathNodeAddToProjectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.PathNodeAddToProjectButton.Enabled = false; + this.PathNodeAddToProjectButton.Location = new System.Drawing.Point(322, 36); + this.PathNodeAddToProjectButton.Name = "PathNodeAddToProjectButton"; + this.PathNodeAddToProjectButton.Size = new System.Drawing.Size(90, 23); + this.PathNodeAddToProjectButton.TabIndex = 11; + this.PathNodeAddToProjectButton.Text = "Add to Project"; + this.PathNodeAddToProjectButton.UseVisualStyleBackColor = true; + this.PathNodeAddToProjectButton.Click += new System.EventHandler(this.PathNodeAddToProjectButton_Click); + // + // label49 + // + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(26, 14); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(46, 13); + this.label49.TabIndex = 5; + this.label49.Text = "Area ID:"; + // + // label50 + // + this.label50.AutoSize = true; + this.label50.Location = new System.Drawing.Point(166, 14); + this.label50.Name = "label50"; + this.label50.Size = new System.Drawing.Size(50, 13); + this.label50.TabIndex = 7; + this.label50.Text = "Node ID:"; + // + // label68 + // + this.label68.AutoSize = true; + this.label68.Location = new System.Drawing.Point(302, 14); + this.label68.Name = "label68"; + this.label68.Size = new System.Drawing.Size(156, 13); + this.label68.TabIndex = 32; + this.label68.Text = "(These will be set automatically)"; + // + // PathNodeNodeIDUpDown + // + this.PathNodeNodeIDUpDown.Location = new System.Drawing.Point(222, 12); + this.PathNodeNodeIDUpDown.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.PathNodeNodeIDUpDown.Name = "PathNodeNodeIDUpDown"; + this.PathNodeNodeIDUpDown.Size = new System.Drawing.Size(74, 20); + this.PathNodeNodeIDUpDown.TabIndex = 8; + this.PathNodeNodeIDUpDown.ValueChanged += new System.EventHandler(this.PathNodeNodeIDUpDown_ValueChanged); + // + // label52 + // + this.label52.AutoSize = true; + this.label52.Location = new System.Drawing.Point(4, 67); + this.label52.Name = "label52"; + this.label52.Size = new System.Drawing.Size(70, 13); + this.label52.TabIndex = 9; + this.label52.Text = "Street (hash):"; + // + // PathNodeStreetHashTextBox + // + this.PathNodeStreetHashTextBox.Location = new System.Drawing.Point(78, 64); + this.PathNodeStreetHashTextBox.Name = "PathNodeStreetHashTextBox"; + this.PathNodeStreetHashTextBox.Size = new System.Drawing.Size(138, 20); + this.PathNodeStreetHashTextBox.TabIndex = 13; + this.PathNodeStreetHashTextBox.TextChanged += new System.EventHandler(this.PathNodeStreetHashTextBox_TextChanged); + // + // PathNodeGoToButton + // + this.PathNodeGoToButton.Location = new System.Drawing.Point(222, 36); + this.PathNodeGoToButton.Name = "PathNodeGoToButton"; + this.PathNodeGoToButton.Size = new System.Drawing.Size(68, 23); + this.PathNodeGoToButton.TabIndex = 10; + this.PathNodeGoToButton.Text = "Go to"; + this.PathNodeGoToButton.UseVisualStyleBackColor = true; + this.PathNodeGoToButton.Click += new System.EventHandler(this.PathNodeGoToButton_Click); + // + // PathNodeStreetNameLabel + // + this.PathNodeStreetNameLabel.AutoSize = true; + this.PathNodeStreetNameLabel.Location = new System.Drawing.Point(223, 67); + this.PathNodeStreetNameLabel.Name = "PathNodeStreetNameLabel"; + this.PathNodeStreetNameLabel.Size = new System.Drawing.Size(73, 13); + this.PathNodeStreetNameLabel.TabIndex = 11; + this.PathNodeStreetNameLabel.Text = "Name: [None]"; + // + // PathNodePositionTextBox + // + this.PathNodePositionTextBox.Location = new System.Drawing.Point(78, 38); + this.PathNodePositionTextBox.Name = "PathNodePositionTextBox"; + this.PathNodePositionTextBox.Size = new System.Drawing.Size(138, 20); + this.PathNodePositionTextBox.TabIndex = 9; + this.PathNodePositionTextBox.TextChanged += new System.EventHandler(this.PathNodePositionTextBox_TextChanged); + // + // label55 + // + this.label55.AutoSize = true; + this.label55.Location = new System.Drawing.Point(25, 41); + this.label55.Name = "label55"; + this.label55.Size = new System.Drawing.Size(47, 13); + this.label55.TabIndex = 28; + this.label55.Text = "Position:"; + // + // PathNodeLinksTabPage + // + this.PathNodeLinksTabPage.Controls.Add(this.splitContainer2); + this.PathNodeLinksTabPage.Location = new System.Drawing.Point(4, 22); + this.PathNodeLinksTabPage.Name = "PathNodeLinksTabPage"; + this.PathNodeLinksTabPage.Padding = new System.Windows.Forms.Padding(3); + this.PathNodeLinksTabPage.Size = new System.Drawing.Size(511, 421); + this.PathNodeLinksTabPage.TabIndex = 0; + this.PathNodeLinksTabPage.Text = "Path Links"; + this.PathNodeLinksTabPage.UseVisualStyleBackColor = true; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer2.Location = new System.Drawing.Point(3, 3); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.PathNodeRemoveLinkButton); + this.splitContainer2.Panel1.Controls.Add(this.PathNodeAddLinkButton); + this.splitContainer2.Panel1.Controls.Add(this.PathNodeLinksListBox); + this.splitContainer2.Panel1.Controls.Add(this.PathNodeLinkCountLabel); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.PathNodeLinkPanel); + this.splitContainer2.Size = new System.Drawing.Size(505, 415); + this.splitContainer2.SplitterDistance = 168; + this.splitContainer2.TabIndex = 0; + // + // PathNodeRemoveLinkButton + // + this.PathNodeRemoveLinkButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.PathNodeRemoveLinkButton.Location = new System.Drawing.Point(85, 389); + this.PathNodeRemoveLinkButton.Name = "PathNodeRemoveLinkButton"; + this.PathNodeRemoveLinkButton.Size = new System.Drawing.Size(76, 23); + this.PathNodeRemoveLinkButton.TabIndex = 2; + this.PathNodeRemoveLinkButton.Text = "Remove"; + this.PathNodeRemoveLinkButton.UseVisualStyleBackColor = true; + this.PathNodeRemoveLinkButton.Click += new System.EventHandler(this.PathNodeRemoveLinkButton_Click); + // + // PathNodeAddLinkButton + // + this.PathNodeAddLinkButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.PathNodeAddLinkButton.Location = new System.Drawing.Point(3, 389); + this.PathNodeAddLinkButton.Name = "PathNodeAddLinkButton"; + this.PathNodeAddLinkButton.Size = new System.Drawing.Size(76, 23); + this.PathNodeAddLinkButton.TabIndex = 1; + this.PathNodeAddLinkButton.Text = "Add"; + this.PathNodeAddLinkButton.UseVisualStyleBackColor = true; + this.PathNodeAddLinkButton.Click += new System.EventHandler(this.PathNodeAddLinkButton_Click); + // + // PathNodeLinksListBox + // + this.PathNodeLinksListBox.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.PathNodeLinksListBox.FormattingEnabled = true; + this.PathNodeLinksListBox.Location = new System.Drawing.Point(0, 0); + this.PathNodeLinksListBox.Name = "PathNodeLinksListBox"; + this.PathNodeLinksListBox.Size = new System.Drawing.Size(165, 329); + this.PathNodeLinksListBox.TabIndex = 0; + this.PathNodeLinksListBox.SelectedIndexChanged += new System.EventHandler(this.PathNodeLinksListBox_SelectedIndexChanged); + // + // PathNodeLinkCountLabel + // + this.PathNodeLinkCountLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.PathNodeLinkCountLabel.AutoSize = true; + this.PathNodeLinkCountLabel.Location = new System.Drawing.Point(3, 373); + this.PathNodeLinkCountLabel.Name = "PathNodeLinkCountLabel"; + this.PathNodeLinkCountLabel.Size = new System.Drawing.Size(70, 13); + this.PathNodeLinkCountLabel.TabIndex = 31; + this.PathNodeLinkCountLabel.Text = "Link Count: 0"; + // + // PathNodeLinkPanel + // + this.PathNodeLinkPanel.Controls.Add(this.PathLinkFlags2GroupBox); + this.PathNodeLinkPanel.Controls.Add(this.PathLinkFlags1GroupBox); + this.PathNodeLinkPanel.Controls.Add(this.PathLinkFlags0GroupBox); + this.PathNodeLinkPanel.Controls.Add(this.PathNodeLinkageStatusLabel); + this.PathNodeLinkPanel.Controls.Add(this.PathNodeLinkLengthUpDown); + this.PathNodeLinkPanel.Controls.Add(this.label57); + this.PathNodeLinkPanel.Controls.Add(this.PathNodeLinkNodeIDUpDown); + this.PathNodeLinkPanel.Controls.Add(this.label51); + this.PathNodeLinkPanel.Controls.Add(this.PathNodeLinkAreaIDUpDown); + this.PathNodeLinkPanel.Controls.Add(this.label54); + this.PathNodeLinkPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.PathNodeLinkPanel.Enabled = false; + this.PathNodeLinkPanel.Location = new System.Drawing.Point(0, 0); + this.PathNodeLinkPanel.Name = "PathNodeLinkPanel"; + this.PathNodeLinkPanel.Size = new System.Drawing.Size(333, 415); + this.PathNodeLinkPanel.TabIndex = 0; + // + // PathLinkFlags2GroupBox + // + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkFlags21CheckBox); + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkFlags22CheckBox); + this.PathLinkFlags2GroupBox.Controls.Add(this.label53); + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkFwdLanesUpDown); + this.PathLinkFlags2GroupBox.Controls.Add(this.label56); + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkBackLanesUpDown); + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkFlags2UpDown); + this.PathLinkFlags2GroupBox.Controls.Add(this.PathNodeLinkFlags2Label); + this.PathLinkFlags2GroupBox.Location = new System.Drawing.Point(13, 240); + this.PathLinkFlags2GroupBox.Name = "PathLinkFlags2GroupBox"; + this.PathLinkFlags2GroupBox.Size = new System.Drawing.Size(141, 145); + this.PathLinkFlags2GroupBox.TabIndex = 18; + this.PathLinkFlags2GroupBox.TabStop = false; + this.PathLinkFlags2GroupBox.Text = "Flags 2"; + // + // PathNodeLinkFlags21CheckBox + // + this.PathNodeLinkFlags21CheckBox.AutoSize = true; + this.PathNodeLinkFlags21CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeLinkFlags21CheckBox.Name = "PathNodeLinkFlags21CheckBox"; + this.PathNodeLinkFlags21CheckBox.Size = new System.Drawing.Size(123, 17); + this.PathNodeLinkFlags21CheckBox.TabIndex = 33; + this.PathNodeLinkFlags21CheckBox.Text = "Angled/merged links"; + this.PathNodeLinkFlags21CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags21CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags21CheckBox_CheckedChanged); + // + // PathNodeLinkFlags22CheckBox + // + this.PathNodeLinkFlags22CheckBox.AutoSize = true; + this.PathNodeLinkFlags22CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeLinkFlags22CheckBox.Name = "PathNodeLinkFlags22CheckBox"; + this.PathNodeLinkFlags22CheckBox.Size = new System.Drawing.Size(129, 17); + this.PathNodeLinkFlags22CheckBox.TabIndex = 34; + this.PathNodeLinkFlags22CheckBox.Text = "Lane change / U-turn"; + this.PathNodeLinkFlags22CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags22CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags22CheckBox_CheckedChanged); + // + // label53 + // + this.label53.AutoSize = true; + this.label53.Location = new System.Drawing.Point(7, 118); + this.label53.Name = "label53"; + this.label53.Size = new System.Drawing.Size(58, 13); + this.label53.TabIndex = 37; + this.label53.Text = "Fwd lanes:"; + // + // PathNodeLinkFwdLanesUpDown + // + this.PathNodeLinkFwdLanesUpDown.Location = new System.Drawing.Point(71, 116); + this.PathNodeLinkFwdLanesUpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeLinkFwdLanesUpDown.Name = "PathNodeLinkFwdLanesUpDown"; + this.PathNodeLinkFwdLanesUpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeLinkFwdLanesUpDown.TabIndex = 38; + this.PathNodeLinkFwdLanesUpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFwdLanesUpDown_ValueChanged); + // + // label56 + // + this.label56.AutoSize = true; + this.label56.Location = new System.Drawing.Point(3, 92); + this.label56.Name = "label56"; + this.label56.Size = new System.Drawing.Size(63, 13); + this.label56.TabIndex = 35; + this.label56.Text = "Back lanes:"; + // + // PathNodeLinkBackLanesUpDown + // + this.PathNodeLinkBackLanesUpDown.Location = new System.Drawing.Point(72, 90); + this.PathNodeLinkBackLanesUpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeLinkBackLanesUpDown.Name = "PathNodeLinkBackLanesUpDown"; + this.PathNodeLinkBackLanesUpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeLinkBackLanesUpDown.TabIndex = 36; + this.PathNodeLinkBackLanesUpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkBackLanesUpDown_ValueChanged); + // + // PathNodeLinkFlags2UpDown + // + this.PathNodeLinkFlags2UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeLinkFlags2UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeLinkFlags2UpDown.Name = "PathNodeLinkFlags2UpDown"; + this.PathNodeLinkFlags2UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeLinkFlags2UpDown.TabIndex = 31; + this.PathNodeLinkFlags2UpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFlags2UpDown_ValueChanged); + // + // PathNodeLinkFlags2Label + // + this.PathNodeLinkFlags2Label.AutoSize = true; + this.PathNodeLinkFlags2Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeLinkFlags2Label.Name = "PathNodeLinkFlags2Label"; + this.PathNodeLinkFlags2Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeLinkFlags2Label.TabIndex = 32; + this.PathNodeLinkFlags2Label.Text = "0x00"; + // + // PathLinkFlags1GroupBox + // + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkOffsetSizeUpDown); + this.PathLinkFlags1GroupBox.Controls.Add(this.label61); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags11CheckBox); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags18CheckBox); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags12CheckBox); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags13CheckBox); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags14CheckBox); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags1UpDown); + this.PathLinkFlags1GroupBox.Controls.Add(this.PathNodeLinkFlags1Label); + this.PathLinkFlags1GroupBox.Location = new System.Drawing.Point(165, 93); + this.PathLinkFlags1GroupBox.Name = "PathLinkFlags1GroupBox"; + this.PathLinkFlags1GroupBox.Size = new System.Drawing.Size(133, 181); + this.PathLinkFlags1GroupBox.TabIndex = 17; + this.PathLinkFlags1GroupBox.TabStop = false; + this.PathLinkFlags1GroupBox.Text = "Flags 1"; + // + // PathNodeLinkOffsetSizeUpDown + // + this.PathNodeLinkOffsetSizeUpDown.Location = new System.Drawing.Point(70, 152); + this.PathNodeLinkOffsetSizeUpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeLinkOffsetSizeUpDown.Name = "PathNodeLinkOffsetSizeUpDown"; + this.PathNodeLinkOffsetSizeUpDown.Size = new System.Drawing.Size(57, 20); + this.PathNodeLinkOffsetSizeUpDown.TabIndex = 39; + this.PathNodeLinkOffsetSizeUpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkOffsetSizeUpDown_ValueChanged); + // + // label61 + // + this.label61.AutoSize = true; + this.label61.Location = new System.Drawing.Point(6, 154); + this.label61.Name = "label61"; + this.label61.Size = new System.Drawing.Size(59, 13); + this.label61.TabIndex = 38; + this.label61.Text = "Offset size:"; + // + // PathNodeLinkFlags11CheckBox + // + this.PathNodeLinkFlags11CheckBox.AutoSize = true; + this.PathNodeLinkFlags11CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeLinkFlags11CheckBox.Name = "PathNodeLinkFlags11CheckBox"; + this.PathNodeLinkFlags11CheckBox.Size = new System.Drawing.Size(72, 17); + this.PathNodeLinkFlags11CheckBox.TabIndex = 30; + this.PathNodeLinkFlags11CheckBox.Text = "Unused 1"; + this.PathNodeLinkFlags11CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags11CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags11CheckBox_CheckedChanged); + // + // PathNodeLinkFlags18CheckBox + // + this.PathNodeLinkFlags18CheckBox.AutoSize = true; + this.PathNodeLinkFlags18CheckBox.Location = new System.Drawing.Point(6, 129); + this.PathNodeLinkFlags18CheckBox.Name = "PathNodeLinkFlags18CheckBox"; + this.PathNodeLinkFlags18CheckBox.Size = new System.Drawing.Size(98, 17); + this.PathNodeLinkFlags18CheckBox.TabIndex = 37; + this.PathNodeLinkFlags18CheckBox.Text = "Negative offset"; + this.PathNodeLinkFlags18CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags18CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags18CheckBox_CheckedChanged); + // + // PathNodeLinkFlags12CheckBox + // + this.PathNodeLinkFlags12CheckBox.AutoSize = true; + this.PathNodeLinkFlags12CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeLinkFlags12CheckBox.Name = "PathNodeLinkFlags12CheckBox"; + this.PathNodeLinkFlags12CheckBox.Size = new System.Drawing.Size(81, 17); + this.PathNodeLinkFlags12CheckBox.TabIndex = 31; + this.PathNodeLinkFlags12CheckBox.Text = "Unknown 1"; + this.PathNodeLinkFlags12CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags12CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags12CheckBox_CheckedChanged); + // + // PathNodeLinkFlags13CheckBox + // + this.PathNodeLinkFlags13CheckBox.AutoSize = true; + this.PathNodeLinkFlags13CheckBox.Location = new System.Drawing.Point(6, 87); + this.PathNodeLinkFlags13CheckBox.Name = "PathNodeLinkFlags13CheckBox"; + this.PathNodeLinkFlags13CheckBox.Size = new System.Drawing.Size(73, 17); + this.PathNodeLinkFlags13CheckBox.TabIndex = 32; + this.PathNodeLinkFlags13CheckBox.Text = "Dead end"; + this.PathNodeLinkFlags13CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags13CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags13CheckBox_CheckedChanged); + // + // PathNodeLinkFlags14CheckBox + // + this.PathNodeLinkFlags14CheckBox.AutoSize = true; + this.PathNodeLinkFlags14CheckBox.Location = new System.Drawing.Point(6, 108); + this.PathNodeLinkFlags14CheckBox.Name = "PathNodeLinkFlags14CheckBox"; + this.PathNodeLinkFlags14CheckBox.Size = new System.Drawing.Size(92, 17); + this.PathNodeLinkFlags14CheckBox.TabIndex = 33; + this.PathNodeLinkFlags14CheckBox.Text = "Dead end exit"; + this.PathNodeLinkFlags14CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags14CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags14CheckBox_CheckedChanged); + // + // PathNodeLinkFlags1UpDown + // + this.PathNodeLinkFlags1UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeLinkFlags1UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeLinkFlags1UpDown.Name = "PathNodeLinkFlags1UpDown"; + this.PathNodeLinkFlags1UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeLinkFlags1UpDown.TabIndex = 28; + this.PathNodeLinkFlags1UpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFlags1UpDown_ValueChanged); + // + // PathNodeLinkFlags1Label + // + this.PathNodeLinkFlags1Label.AutoSize = true; + this.PathNodeLinkFlags1Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeLinkFlags1Label.Name = "PathNodeLinkFlags1Label"; + this.PathNodeLinkFlags1Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeLinkFlags1Label.TabIndex = 29; + this.PathNodeLinkFlags1Label.Text = "0x00"; + // + // PathLinkFlags0GroupBox + // + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags04UpDown); + this.PathLinkFlags0GroupBox.Controls.Add(this.label60); + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags03UpDown); + this.PathLinkFlags0GroupBox.Controls.Add(this.label58); + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags01CheckBox); + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags02CheckBox); + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags0UpDown); + this.PathLinkFlags0GroupBox.Controls.Add(this.PathNodeLinkFlags0Label); + this.PathLinkFlags0GroupBox.Location = new System.Drawing.Point(13, 93); + this.PathLinkFlags0GroupBox.Name = "PathLinkFlags0GroupBox"; + this.PathLinkFlags0GroupBox.Size = new System.Drawing.Size(141, 141); + this.PathLinkFlags0GroupBox.TabIndex = 16; + this.PathLinkFlags0GroupBox.TabStop = false; + this.PathLinkFlags0GroupBox.Text = "Flags 0"; + // + // PathNodeLinkFlags04UpDown + // + this.PathNodeLinkFlags04UpDown.Location = new System.Drawing.Point(71, 112); + this.PathNodeLinkFlags04UpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeLinkFlags04UpDown.Name = "PathNodeLinkFlags04UpDown"; + this.PathNodeLinkFlags04UpDown.Size = new System.Drawing.Size(57, 20); + this.PathNodeLinkFlags04UpDown.TabIndex = 32; + this.PathNodeLinkFlags04UpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFlags04UpDown_ValueChanged); + // + // label60 + // + this.label60.AutoSize = true; + this.label60.Location = new System.Drawing.Point(26, 114); + this.label60.Name = "label60"; + this.label60.Size = new System.Drawing.Size(39, 13); + this.label60.TabIndex = 31; + this.label60.Text = "Unk 2:"; + // + // PathNodeLinkFlags03UpDown + // + this.PathNodeLinkFlags03UpDown.Location = new System.Drawing.Point(71, 88); + this.PathNodeLinkFlags03UpDown.Maximum = new decimal(new int[] { + 7, + 0, + 0, + 0}); + this.PathNodeLinkFlags03UpDown.Name = "PathNodeLinkFlags03UpDown"; + this.PathNodeLinkFlags03UpDown.Size = new System.Drawing.Size(57, 20); + this.PathNodeLinkFlags03UpDown.TabIndex = 30; + this.PathNodeLinkFlags03UpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFlags03UpDown_ValueChanged); + // + // label58 + // + this.label58.AutoSize = true; + this.label58.Location = new System.Drawing.Point(26, 90); + this.label58.Name = "label58"; + this.label58.Size = new System.Drawing.Size(39, 13); + this.label58.TabIndex = 29; + this.label58.Text = "Unk 1:"; + // + // PathNodeLinkFlags01CheckBox + // + this.PathNodeLinkFlags01CheckBox.AutoSize = true; + this.PathNodeLinkFlags01CheckBox.Location = new System.Drawing.Point(6, 45); + this.PathNodeLinkFlags01CheckBox.Name = "PathNodeLinkFlags01CheckBox"; + this.PathNodeLinkFlags01CheckBox.Size = new System.Drawing.Size(70, 17); + this.PathNodeLinkFlags01CheckBox.TabIndex = 27; + this.PathNodeLinkFlags01CheckBox.Text = "Special 1"; + this.PathNodeLinkFlags01CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags01CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags01CheckBox_CheckedChanged); + // + // PathNodeLinkFlags02CheckBox + // + this.PathNodeLinkFlags02CheckBox.AutoSize = true; + this.PathNodeLinkFlags02CheckBox.Location = new System.Drawing.Point(6, 66); + this.PathNodeLinkFlags02CheckBox.Name = "PathNodeLinkFlags02CheckBox"; + this.PathNodeLinkFlags02CheckBox.Size = new System.Drawing.Size(86, 17); + this.PathNodeLinkFlags02CheckBox.TabIndex = 28; + this.PathNodeLinkFlags02CheckBox.Text = "Scripted unk"; + this.PathNodeLinkFlags02CheckBox.UseVisualStyleBackColor = true; + this.PathNodeLinkFlags02CheckBox.CheckedChanged += new System.EventHandler(this.PathNodeLinkFlags02CheckBox_CheckedChanged); + // + // PathNodeLinkFlags0UpDown + // + this.PathNodeLinkFlags0UpDown.Location = new System.Drawing.Point(6, 19); + this.PathNodeLinkFlags0UpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeLinkFlags0UpDown.Name = "PathNodeLinkFlags0UpDown"; + this.PathNodeLinkFlags0UpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeLinkFlags0UpDown.TabIndex = 25; + this.PathNodeLinkFlags0UpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkFlags0UpDown_ValueChanged); + // + // PathNodeLinkFlags0Label + // + this.PathNodeLinkFlags0Label.AutoSize = true; + this.PathNodeLinkFlags0Label.Location = new System.Drawing.Point(74, 21); + this.PathNodeLinkFlags0Label.Name = "PathNodeLinkFlags0Label"; + this.PathNodeLinkFlags0Label.Size = new System.Drawing.Size(30, 13); + this.PathNodeLinkFlags0Label.TabIndex = 26; + this.PathNodeLinkFlags0Label.Text = "0x00"; + // + // PathNodeLinkageStatusLabel + // + this.PathNodeLinkageStatusLabel.AutoSize = true; + this.PathNodeLinkageStatusLabel.Location = new System.Drawing.Point(74, 33); + this.PathNodeLinkageStatusLabel.Name = "PathNodeLinkageStatusLabel"; + this.PathNodeLinkageStatusLabel.Size = new System.Drawing.Size(10, 13); + this.PathNodeLinkageStatusLabel.TabIndex = 13; + this.PathNodeLinkageStatusLabel.Text = "-"; + // + // PathNodeLinkLengthUpDown + // + this.PathNodeLinkLengthUpDown.Location = new System.Drawing.Point(74, 57); + this.PathNodeLinkLengthUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeLinkLengthUpDown.Name = "PathNodeLinkLengthUpDown"; + this.PathNodeLinkLengthUpDown.Size = new System.Drawing.Size(74, 20); + this.PathNodeLinkLengthUpDown.TabIndex = 15; + // + // label57 + // + this.label57.AutoSize = true; + this.label57.Location = new System.Drawing.Point(6, 59); + this.label57.Name = "label57"; + this.label57.Size = new System.Drawing.Size(62, 13); + this.label57.TabIndex = 14; + this.label57.Text = "Link length:"; + // + // PathNodeLinkNodeIDUpDown + // + this.PathNodeLinkNodeIDUpDown.Location = new System.Drawing.Point(219, 8); + this.PathNodeLinkNodeIDUpDown.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.PathNodeLinkNodeIDUpDown.Name = "PathNodeLinkNodeIDUpDown"; + this.PathNodeLinkNodeIDUpDown.Size = new System.Drawing.Size(74, 20); + this.PathNodeLinkNodeIDUpDown.TabIndex = 12; + this.PathNodeLinkNodeIDUpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkNodeIDUpDown_ValueChanged); + // + // label51 + // + this.label51.AutoSize = true; + this.label51.Location = new System.Drawing.Point(163, 10); + this.label51.Name = "label51"; + this.label51.Size = new System.Drawing.Size(50, 13); + this.label51.TabIndex = 11; + this.label51.Text = "Node ID:"; + // + // PathNodeLinkAreaIDUpDown + // + this.PathNodeLinkAreaIDUpDown.Location = new System.Drawing.Point(74, 8); + this.PathNodeLinkAreaIDUpDown.Maximum = new decimal(new int[] { + 1023, + 0, + 0, + 0}); + this.PathNodeLinkAreaIDUpDown.Name = "PathNodeLinkAreaIDUpDown"; + this.PathNodeLinkAreaIDUpDown.Size = new System.Drawing.Size(74, 20); + this.PathNodeLinkAreaIDUpDown.TabIndex = 10; + this.PathNodeLinkAreaIDUpDown.ValueChanged += new System.EventHandler(this.PathNodeLinkAreaIDUpDown_ValueChanged); + // + // label54 + // + this.label54.AutoSize = true; + this.label54.Location = new System.Drawing.Point(22, 10); + this.label54.Name = "label54"; + this.label54.Size = new System.Drawing.Size(46, 13); + this.label54.TabIndex = 9; + this.label54.Text = "Area ID:"; + // + // PathNodeJunctionTabPage + // + this.PathNodeJunctionTabPage.Controls.Add(this.label78); + this.PathNodeJunctionTabPage.Controls.Add(this.PathNodeJunctionPanel); + this.PathNodeJunctionTabPage.Controls.Add(this.PathNodeJunctionEnableCheckBox); + this.PathNodeJunctionTabPage.Location = new System.Drawing.Point(4, 22); + this.PathNodeJunctionTabPage.Name = "PathNodeJunctionTabPage"; + this.PathNodeJunctionTabPage.Padding = new System.Windows.Forms.Padding(3); + this.PathNodeJunctionTabPage.Size = new System.Drawing.Size(511, 421); + this.PathNodeJunctionTabPage.TabIndex = 1; + this.PathNodeJunctionTabPage.Text = "Junction"; + this.PathNodeJunctionTabPage.UseVisualStyleBackColor = true; + // + // label78 + // + this.label78.AutoSize = true; + this.label78.Location = new System.Drawing.Point(182, 7); + this.label78.Name = "label78"; + this.label78.Size = new System.Drawing.Size(113, 13); + this.label78.TabIndex = 51; + this.label78.Text = "Height map byte array:"; + // + // PathNodeJunctionPanel + // + this.PathNodeJunctionPanel.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.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionPosYUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label59); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionPosXUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label69); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionHeightmapBytesTextBox); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionHeightmapDimYUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label77); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionHeightmapDimXUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label76); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionMinZUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label67); + this.PathNodeJunctionPanel.Controls.Add(this.PathNodeJunctionMaxZUpDown); + this.PathNodeJunctionPanel.Controls.Add(this.label65); + this.PathNodeJunctionPanel.Enabled = false; + this.PathNodeJunctionPanel.Location = new System.Drawing.Point(6, 29); + this.PathNodeJunctionPanel.Name = "PathNodeJunctionPanel"; + this.PathNodeJunctionPanel.Size = new System.Drawing.Size(490, 379); + this.PathNodeJunctionPanel.TabIndex = 1; + // + // PathNodeJunctionPosYUpDown + // + this.PathNodeJunctionPosYUpDown.Location = new System.Drawing.Point(57, 81); + this.PathNodeJunctionPosYUpDown.Maximum = new decimal(new int[] { + 32767, + 0, + 0, + 0}); + this.PathNodeJunctionPosYUpDown.Minimum = new decimal(new int[] { + 32768, + 0, + 0, + -2147483648}); + this.PathNodeJunctionPosYUpDown.Name = "PathNodeJunctionPosYUpDown"; + this.PathNodeJunctionPosYUpDown.Size = new System.Drawing.Size(86, 20); + this.PathNodeJunctionPosYUpDown.TabIndex = 53; + this.PathNodeJunctionPosYUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionPosYUpDown_ValueChanged); + // + // label59 + // + this.label59.AutoSize = true; + this.label59.Location = new System.Drawing.Point(13, 83); + this.label59.Name = "label59"; + this.label59.Size = new System.Drawing.Size(38, 13); + this.label59.TabIndex = 54; + this.label59.Text = "Pos Y:"; + // + // PathNodeJunctionPosXUpDown + // + this.PathNodeJunctionPosXUpDown.Location = new System.Drawing.Point(57, 55); + this.PathNodeJunctionPosXUpDown.Maximum = new decimal(new int[] { + 32767, + 0, + 0, + 0}); + this.PathNodeJunctionPosXUpDown.Minimum = new decimal(new int[] { + 32768, + 0, + 0, + -2147483648}); + this.PathNodeJunctionPosXUpDown.Name = "PathNodeJunctionPosXUpDown"; + this.PathNodeJunctionPosXUpDown.Size = new System.Drawing.Size(86, 20); + this.PathNodeJunctionPosXUpDown.TabIndex = 51; + this.PathNodeJunctionPosXUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionPosXUpDown_ValueChanged); + // + // label69 + // + this.label69.AutoSize = true; + this.label69.Location = new System.Drawing.Point(13, 57); + this.label69.Name = "label69"; + this.label69.Size = new System.Drawing.Size(38, 13); + this.label69.TabIndex = 52; + this.label69.Text = "Pos X:"; + // + // PathNodeJunctionHeightmapBytesTextBox + // + this.PathNodeJunctionHeightmapBytesTextBox.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.PathNodeJunctionHeightmapBytesTextBox.Location = new System.Drawing.Point(159, 3); + this.PathNodeJunctionHeightmapBytesTextBox.Multiline = true; + this.PathNodeJunctionHeightmapBytesTextBox.Name = "PathNodeJunctionHeightmapBytesTextBox"; + this.PathNodeJunctionHeightmapBytesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.PathNodeJunctionHeightmapBytesTextBox.Size = new System.Drawing.Size(328, 373); + this.PathNodeJunctionHeightmapBytesTextBox.TabIndex = 50; + this.PathNodeJunctionHeightmapBytesTextBox.WordWrap = false; + this.PathNodeJunctionHeightmapBytesTextBox.TextChanged += new System.EventHandler(this.PathNodeJunctionHeightmapBytesTextBox_TextChanged); + // + // PathNodeJunctionHeightmapDimYUpDown + // + this.PathNodeJunctionHeightmapDimYUpDown.Location = new System.Drawing.Point(57, 133); + this.PathNodeJunctionHeightmapDimYUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimYUpDown.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimYUpDown.Name = "PathNodeJunctionHeightmapDimYUpDown"; + this.PathNodeJunctionHeightmapDimYUpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeJunctionHeightmapDimYUpDown.TabIndex = 49; + this.PathNodeJunctionHeightmapDimYUpDown.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimYUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionHeightmapDimYUpDown_ValueChanged); + // + // label77 + // + this.label77.AutoSize = true; + this.label77.Location = new System.Drawing.Point(11, 135); + this.label77.Name = "label77"; + this.label77.Size = new System.Drawing.Size(40, 13); + this.label77.TabIndex = 48; + this.label77.Text = "Size Y:"; + // + // PathNodeJunctionHeightmapDimXUpDown + // + this.PathNodeJunctionHeightmapDimXUpDown.Location = new System.Drawing.Point(57, 107); + this.PathNodeJunctionHeightmapDimXUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimXUpDown.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimXUpDown.Name = "PathNodeJunctionHeightmapDimXUpDown"; + this.PathNodeJunctionHeightmapDimXUpDown.Size = new System.Drawing.Size(62, 20); + this.PathNodeJunctionHeightmapDimXUpDown.TabIndex = 47; + this.PathNodeJunctionHeightmapDimXUpDown.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.PathNodeJunctionHeightmapDimXUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionHeightmapDimXUpDown_ValueChanged); + // + // label76 + // + this.label76.AutoSize = true; + this.label76.Location = new System.Drawing.Point(11, 109); + this.label76.Name = "label76"; + this.label76.Size = new System.Drawing.Size(40, 13); + this.label76.TabIndex = 46; + this.label76.Text = "Size X:"; + // + // PathNodeJunctionMinZUpDown + // + this.PathNodeJunctionMinZUpDown.Location = new System.Drawing.Point(57, 29); + this.PathNodeJunctionMinZUpDown.Maximum = new decimal(new int[] { + 32767, + 0, + 0, + 0}); + this.PathNodeJunctionMinZUpDown.Minimum = new decimal(new int[] { + 32768, + 0, + 0, + -2147483648}); + this.PathNodeJunctionMinZUpDown.Name = "PathNodeJunctionMinZUpDown"; + this.PathNodeJunctionMinZUpDown.Size = new System.Drawing.Size(86, 20); + this.PathNodeJunctionMinZUpDown.TabIndex = 32; + this.PathNodeJunctionMinZUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionMinZUpDown_ValueChanged); + // + // label67 + // + this.label67.AutoSize = true; + this.label67.Location = new System.Drawing.Point(14, 32); + this.label67.Name = "label67"; + this.label67.Size = new System.Drawing.Size(37, 13); + this.label67.TabIndex = 33; + this.label67.Text = "Min Z:"; + // + // PathNodeJunctionMaxZUpDown + // + this.PathNodeJunctionMaxZUpDown.Location = new System.Drawing.Point(57, 3); + this.PathNodeJunctionMaxZUpDown.Maximum = new decimal(new int[] { + 32767, + 0, + 0, + 0}); + this.PathNodeJunctionMaxZUpDown.Minimum = new decimal(new int[] { + 32768, + 0, + 0, + -2147483648}); + this.PathNodeJunctionMaxZUpDown.Name = "PathNodeJunctionMaxZUpDown"; + this.PathNodeJunctionMaxZUpDown.Size = new System.Drawing.Size(86, 20); + this.PathNodeJunctionMaxZUpDown.TabIndex = 30; + this.PathNodeJunctionMaxZUpDown.ValueChanged += new System.EventHandler(this.PathNodeJunctionMaxZUpDown_ValueChanged); + // + // label65 + // + this.label65.AutoSize = true; + this.label65.Location = new System.Drawing.Point(11, 5); + this.label65.Name = "label65"; + this.label65.Size = new System.Drawing.Size(40, 13); + this.label65.TabIndex = 31; + this.label65.Text = "Max Z:"; + // + // PathNodeJunctionEnableCheckBox + // + this.PathNodeJunctionEnableCheckBox.AutoSize = true; + this.PathNodeJunctionEnableCheckBox.Location = new System.Drawing.Point(6, 6); + this.PathNodeJunctionEnableCheckBox.Name = "PathNodeJunctionEnableCheckBox"; + this.PathNodeJunctionEnableCheckBox.Size = new System.Drawing.Size(156, 17); + this.PathNodeJunctionEnableCheckBox.TabIndex = 0; + this.PathNodeJunctionEnableCheckBox.Text = "Enable Junction Heightmap"; + this.PathNodeJunctionEnableCheckBox.UseVisualStyleBackColor = true; + this.PathNodeJunctionEnableCheckBox.CheckedChanged += new System.EventHandler(this.PathNodeJunctionEnableCheckBox_CheckedChanged); + // + // EditYndNodePanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(522, 451); + this.Controls.Add(this.PathNodeTabControl); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYndNodePanel"; + this.Text = "Edit Ynd Node"; + this.PathNodeTabControl.ResumeLayout(false); + this.PathNodePropertiesTabPage.ResumeLayout(false); + this.PathNodePropertiesTabPage.PerformLayout(); + this.PathNodeFlags5GroupBox.ResumeLayout(false); + this.PathNodeFlags5GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags5UpDown)).EndInit(); + this.PathNodeFlags4GroupBox.ResumeLayout(false); + this.PathNodeFlags4GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags42UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags4UpDown)).EndInit(); + this.PathNodeFlags3GroupBox.ResumeLayout(false); + this.PathNodeFlags3GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags32UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags3UpDown)).EndInit(); + this.PathNodeFlags2GroupBox.ResumeLayout(false); + this.PathNodeFlags2GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags2UpDown)).EndInit(); + this.PathNodeFlags1GroupBox.ResumeLayout(false); + this.PathNodeFlags1GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags1UpDown)).EndInit(); + this.PathNodeFlags0GroupBox.ResumeLayout(false); + this.PathNodeFlags0GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeFlags0UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeAreaIDUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeNodeIDUpDown)).EndInit(); + this.PathNodeLinksTabPage.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel1.PerformLayout(); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + this.PathNodeLinkPanel.ResumeLayout(false); + this.PathNodeLinkPanel.PerformLayout(); + this.PathLinkFlags2GroupBox.ResumeLayout(false); + this.PathLinkFlags2GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFwdLanesUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkBackLanesUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags2UpDown)).EndInit(); + this.PathLinkFlags1GroupBox.ResumeLayout(false); + this.PathLinkFlags1GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkOffsetSizeUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags1UpDown)).EndInit(); + this.PathLinkFlags0GroupBox.ResumeLayout(false); + this.PathLinkFlags0GroupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags04UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags03UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkFlags0UpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkLengthUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkNodeIDUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeLinkAreaIDUpDown)).EndInit(); + this.PathNodeJunctionTabPage.ResumeLayout(false); + this.PathNodeJunctionTabPage.PerformLayout(); + this.PathNodeJunctionPanel.ResumeLayout(false); + this.PathNodeJunctionPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionPosYUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionPosXUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionHeightmapDimYUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionHeightmapDimXUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionMinZUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PathNodeJunctionMaxZUpDown)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl PathNodeTabControl; + private System.Windows.Forms.TabPage PathNodePropertiesTabPage; + private System.Windows.Forms.GroupBox PathNodeFlags5GroupBox; + private System.Windows.Forms.CheckBox PathNodeFlags52CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags53CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags51CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags5UpDown; + private System.Windows.Forms.GroupBox PathNodeFlags4GroupBox; + private System.Windows.Forms.CheckBox PathNodeFlags45CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags46CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags47CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags48CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags42UpDown; + private System.Windows.Forms.Label label71; + private System.Windows.Forms.CheckBox PathNodeFlags41CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags4UpDown; + private System.Windows.Forms.Label PathNodeFlags4Label; + private System.Windows.Forms.GroupBox PathNodeFlags3GroupBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags32UpDown; + private System.Windows.Forms.Label label70; + private System.Windows.Forms.CheckBox PathNodeFlags31CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags3UpDown; + private System.Windows.Forms.Label PathNodeFlags3Label; + private System.Windows.Forms.GroupBox PathNodeFlags2GroupBox; + private System.Windows.Forms.CheckBox PathNodeFlags21CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags28CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags22CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags27CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags23CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags26CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags24CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags25CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags2UpDown; + private System.Windows.Forms.Label PathNodeFlags2Label; + private System.Windows.Forms.GroupBox PathNodeFlags1GroupBox; + private System.Windows.Forms.CheckBox PathNodeFlags11CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags18CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags12CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags17CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags13CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags16CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags14CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags15CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags1UpDown; + private System.Windows.Forms.Label PathNodeFlags1Label; + private System.Windows.Forms.GroupBox PathNodeFlags0GroupBox; + private System.Windows.Forms.CheckBox PathNodeFlags01CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags08CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags02CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags07CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags03CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags06CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags04CheckBox; + private System.Windows.Forms.CheckBox PathNodeFlags05CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeFlags0UpDown; + private System.Windows.Forms.Label PathNodeFlags0Label; + private System.Windows.Forms.Button PathNodeDeleteButton; + private System.Windows.Forms.NumericUpDown PathNodeAreaIDUpDown; + private System.Windows.Forms.Button PathNodeAddToProjectButton; + private System.Windows.Forms.Label label49; + private System.Windows.Forms.Label label50; + private System.Windows.Forms.Label label68; + private System.Windows.Forms.NumericUpDown PathNodeNodeIDUpDown; + private System.Windows.Forms.Label label52; + private System.Windows.Forms.TextBox PathNodeStreetHashTextBox; + private System.Windows.Forms.Button PathNodeGoToButton; + private System.Windows.Forms.Label PathNodeStreetNameLabel; + private System.Windows.Forms.TextBox PathNodePositionTextBox; + private System.Windows.Forms.Label label55; + private System.Windows.Forms.TabPage PathNodeLinksTabPage; + private System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.Button PathNodeRemoveLinkButton; + private System.Windows.Forms.Button PathNodeAddLinkButton; + private System.Windows.Forms.ListBox PathNodeLinksListBox; + private System.Windows.Forms.Label PathNodeLinkCountLabel; + private System.Windows.Forms.Panel PathNodeLinkPanel; + private System.Windows.Forms.GroupBox PathLinkFlags2GroupBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags21CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags22CheckBox; + private System.Windows.Forms.Label label53; + private System.Windows.Forms.NumericUpDown PathNodeLinkFwdLanesUpDown; + private System.Windows.Forms.Label label56; + private System.Windows.Forms.NumericUpDown PathNodeLinkBackLanesUpDown; + private System.Windows.Forms.NumericUpDown PathNodeLinkFlags2UpDown; + private System.Windows.Forms.Label PathNodeLinkFlags2Label; + private System.Windows.Forms.GroupBox PathLinkFlags1GroupBox; + private System.Windows.Forms.NumericUpDown PathNodeLinkOffsetSizeUpDown; + private System.Windows.Forms.Label label61; + private System.Windows.Forms.CheckBox PathNodeLinkFlags11CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags18CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags12CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags13CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags14CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeLinkFlags1UpDown; + private System.Windows.Forms.Label PathNodeLinkFlags1Label; + private System.Windows.Forms.GroupBox PathLinkFlags0GroupBox; + private System.Windows.Forms.NumericUpDown PathNodeLinkFlags04UpDown; + private System.Windows.Forms.Label label60; + private System.Windows.Forms.NumericUpDown PathNodeLinkFlags03UpDown; + private System.Windows.Forms.Label label58; + private System.Windows.Forms.CheckBox PathNodeLinkFlags01CheckBox; + private System.Windows.Forms.CheckBox PathNodeLinkFlags02CheckBox; + private System.Windows.Forms.NumericUpDown PathNodeLinkFlags0UpDown; + private System.Windows.Forms.Label PathNodeLinkFlags0Label; + private System.Windows.Forms.Label PathNodeLinkageStatusLabel; + private System.Windows.Forms.NumericUpDown PathNodeLinkLengthUpDown; + private System.Windows.Forms.Label label57; + private System.Windows.Forms.NumericUpDown PathNodeLinkNodeIDUpDown; + private System.Windows.Forms.Label label51; + private System.Windows.Forms.NumericUpDown PathNodeLinkAreaIDUpDown; + private System.Windows.Forms.Label label54; + private System.Windows.Forms.TabPage PathNodeJunctionTabPage; + private System.Windows.Forms.Label label78; + private System.Windows.Forms.Panel PathNodeJunctionPanel; + private System.Windows.Forms.NumericUpDown PathNodeJunctionPosYUpDown; + private System.Windows.Forms.Label label59; + private System.Windows.Forms.NumericUpDown PathNodeJunctionPosXUpDown; + private System.Windows.Forms.Label label69; + private WinForms.TextBoxFix PathNodeJunctionHeightmapBytesTextBox; + private System.Windows.Forms.NumericUpDown PathNodeJunctionHeightmapDimYUpDown; + private System.Windows.Forms.Label label77; + private System.Windows.Forms.NumericUpDown PathNodeJunctionHeightmapDimXUpDown; + private System.Windows.Forms.Label label76; + private System.Windows.Forms.NumericUpDown PathNodeJunctionMinZUpDown; + private System.Windows.Forms.Label label67; + private System.Windows.Forms.NumericUpDown PathNodeJunctionMaxZUpDown; + private System.Windows.Forms.Label label65; + private System.Windows.Forms.CheckBox PathNodeJunctionEnableCheckBox; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYndNodePanel.cs b/Project/Panels/EditYndNodePanel.cs new file mode 100644 index 0000000..34682c1 --- /dev/null +++ b/Project/Panels/EditYndNodePanel.cs @@ -0,0 +1,1256 @@ +using CodeWalker.GameFiles; +using SharpDX; +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.Project.Panels +{ + public partial class EditYndNodePanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YndNode CurrentPathNode { get; set; } + public YndLink CurrentPathLink { get; set; } + public YndFile CurrentYndFile { get; set; } + + private bool populatingui = false; + + public EditYndNodePanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetPathNode(YndNode node) + { + CurrentPathNode = node; + CurrentPathLink = null; + CurrentYndFile = node?.Ynd; + Tag = node; + UpdateFormTitle(); + UpdateYndNodeUI(); + } + + private void UpdateFormTitle() + { + var sn = CurrentPathNode.StreetName.Hash == 0 ? "Path node" : CurrentPathNode.StreetName.ToString(); + Text = sn + " " + CurrentPathNode.NodeID.ToString(); + } + + public void UpdateYndNodeUI() + { + LoadPathNodeTabPage(); + + LoadPathNodeJunctionPage(); + + LoadPathNodeLinkPage(); + } + + + private void LoadPathNodeTabPage() + { + + CurrentPathLink = null; + + if (CurrentPathNode == null) + { + //YndNodePanel.Enabled = false; + PathNodeDeleteButton.Enabled = false; + PathNodeAddToProjectButton.Enabled = false; + PathNodeAreaIDUpDown.Value = 0; + PathNodeNodeIDUpDown.Value = 0; + PathNodePositionTextBox.Text = string.Empty; + PathNodeStreetHashTextBox.Text = string.Empty; + PathNodeStreetNameLabel.Text = "Name: [None]"; + + UpdatePathNodeFlagsUI(true, true); + + PathNodeLinkCountLabel.Text = "Link Count: 0"; + PathNodeLinksListBox.Items.Clear(); + + } + else + { + populatingui = true; + var n = CurrentPathNode.RawData; + //YndNodePanel.Enabled = true; + PathNodeDeleteButton.Enabled = ProjectForm.YndExistsInProject(CurrentYndFile); + PathNodeAddToProjectButton.Enabled = !PathNodeDeleteButton.Enabled; + var streetname = GlobalText.TryGetString(n.StreetName.Hash); + PathNodeAreaIDUpDown.Value = n.AreaID; + PathNodeNodeIDUpDown.Value = n.NodeID; + PathNodePositionTextBox.Text = FloatUtil.GetVector3String(CurrentPathNode.Position); + PathNodeStreetHashTextBox.Text = n.StreetName.Hash.ToString(); + PathNodeStreetNameLabel.Text = "Name: " + ((n.StreetName.Hash == 0) ? "[None]" : (string.IsNullOrEmpty(streetname) ? "[Not found]" : streetname)); + + UpdatePathNodeFlagsUI(true, true); + + PathNodeLinkCountLabel.Text = "Link Count: " + CurrentPathNode.LinkCount.ToString(); + PathNodeLinksListBox.Items.Clear(); + if (CurrentPathNode.Links != null) + { + foreach (var link in CurrentPathNode.Links) + { + PathNodeLinksListBox.Items.Add(link); + } + } + populatingui = false; + + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectPathNode(CurrentPathNode); + } + + } + } + + private void LoadPathNodeLinkPage() + { + if (CurrentPathLink == null) + { + PathNodeLinkPanel.Enabled = false; + PathNodeLinkAreaIDUpDown.Value = 0; + PathNodeLinkNodeIDUpDown.Value = 0; + + UpdatePathNodeLinkFlagsUI(true, true); + + PathNodeLinkLengthUpDown.Value = 0; + PathNodeLinkageStatusLabel.Text = ""; + } + else + { + populatingui = true; + PathNodeLinkPanel.Enabled = true; + PathNodeLinkAreaIDUpDown.Value = CurrentPathLink._RawData.AreaID; + PathNodeLinkNodeIDUpDown.Value = CurrentPathLink._RawData.NodeID; + + UpdatePathNodeLinkFlagsUI(true, true); + + PathNodeLinkLengthUpDown.Value = CurrentPathLink.LinkLength.Value; + PathNodeLinkageStatusLabel.Text = ""; + populatingui = false; + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SelectPathLink(CurrentPathLink); + } + } + + } + + private void LoadPathNodeJunctionPage() + { + + var junc = CurrentPathNode?.Junction; + if (junc == null) + { + PathNodeJunctionEnableCheckBox.Checked = false; + PathNodeJunctionPanel.Enabled = false; + PathNodeJunctionMaxZUpDown.Value = 0; + PathNodeJunctionMinZUpDown.Value = 0; + PathNodeJunctionPosXUpDown.Value = 0; + PathNodeJunctionPosYUpDown.Value = 0; + PathNodeJunctionHeightmapDimXUpDown.Value = 1; + PathNodeJunctionHeightmapDimYUpDown.Value = 1; + PathNodeJunctionHeightmapBytesTextBox.Text = string.Empty; + } + else + { + populatingui = true; + PathNodeJunctionEnableCheckBox.Checked = CurrentPathNode.HasJunction; + PathNodeJunctionPanel.Enabled = PathNodeJunctionEnableCheckBox.Checked; + PathNodeJunctionMaxZUpDown.Value = junc.MaxZ; + PathNodeJunctionMinZUpDown.Value = junc.MinZ; + PathNodeJunctionPosXUpDown.Value = junc.PositionX; + PathNodeJunctionPosYUpDown.Value = junc.PositionY; + PathNodeJunctionHeightmapDimXUpDown.Value = junc.Heightmap.CountX; + PathNodeJunctionHeightmapDimYUpDown.Value = junc.Heightmap.CountY; + PathNodeJunctionHeightmapBytesTextBox.Text = junc.Heightmap?.GetDataString() ?? ""; + populatingui = false; + } + + + } + + private void UpdatePathNodeFlagsUI(bool updateCheckboxes, bool updateUpDowns) + { + + var flags0 = CurrentPathNode?.Flags0.Value ?? 0; + var flags1 = CurrentPathNode?.Flags1.Value ?? 0; + var flags2 = CurrentPathNode?.Flags2.Value ?? 0; + var flags3 = CurrentPathNode?.Flags3.Value ?? 0; + var flags4 = CurrentPathNode?.Flags4.Value ?? 0; + var flags5 = (uint)(CurrentPathNode?.LinkCountUnk ?? 0); + + + if (updateCheckboxes) + { + PathNodeFlags01CheckBox.Checked = BitUtil.IsBitSet(flags0, 0); + PathNodeFlags02CheckBox.Checked = BitUtil.IsBitSet(flags0, 1); + PathNodeFlags03CheckBox.Checked = BitUtil.IsBitSet(flags0, 2); + PathNodeFlags04CheckBox.Checked = BitUtil.IsBitSet(flags0, 3); + PathNodeFlags05CheckBox.Checked = BitUtil.IsBitSet(flags0, 4); + PathNodeFlags06CheckBox.Checked = BitUtil.IsBitSet(flags0, 5); + PathNodeFlags07CheckBox.Checked = BitUtil.IsBitSet(flags0, 6); + PathNodeFlags08CheckBox.Checked = BitUtil.IsBitSet(flags0, 7); + + PathNodeFlags11CheckBox.Checked = BitUtil.IsBitSet(flags1, 0); + PathNodeFlags12CheckBox.Checked = BitUtil.IsBitSet(flags1, 1); + PathNodeFlags13CheckBox.Checked = BitUtil.IsBitSet(flags1, 2); + PathNodeFlags14CheckBox.Checked = BitUtil.IsBitSet(flags1, 3); + PathNodeFlags15CheckBox.Checked = BitUtil.IsBitSet(flags1, 4); + PathNodeFlags16CheckBox.Checked = BitUtil.IsBitSet(flags1, 5); + PathNodeFlags17CheckBox.Checked = BitUtil.IsBitSet(flags1, 6); + PathNodeFlags18CheckBox.Checked = BitUtil.IsBitSet(flags1, 7); + + PathNodeFlags21CheckBox.Checked = BitUtil.IsBitSet(flags2, 0); + PathNodeFlags22CheckBox.Checked = BitUtil.IsBitSet(flags2, 1); + PathNodeFlags23CheckBox.Checked = BitUtil.IsBitSet(flags2, 2); + PathNodeFlags24CheckBox.Checked = BitUtil.IsBitSet(flags2, 3); + PathNodeFlags25CheckBox.Checked = BitUtil.IsBitSet(flags2, 4); + PathNodeFlags26CheckBox.Checked = BitUtil.IsBitSet(flags2, 5); + PathNodeFlags27CheckBox.Checked = BitUtil.IsBitSet(flags2, 6); + PathNodeFlags28CheckBox.Checked = BitUtil.IsBitSet(flags2, 7); + + PathNodeFlags31CheckBox.Checked = BitUtil.IsBitSet(flags3, 0); + PathNodeFlags32UpDown.Value = (flags3 >> 1) & 127; + + PathNodeFlags41CheckBox.Checked = BitUtil.IsBitSet(flags4, 0); + PathNodeFlags42UpDown.Value = (flags4 >> 1) & 7; + PathNodeFlags45CheckBox.Checked = BitUtil.IsBitSet(flags4, 4); + PathNodeFlags46CheckBox.Checked = BitUtil.IsBitSet(flags4, 5); + PathNodeFlags47CheckBox.Checked = BitUtil.IsBitSet(flags4, 6); + PathNodeFlags48CheckBox.Checked = BitUtil.IsBitSet(flags4, 7); + + PathNodeFlags51CheckBox.Checked = BitUtil.IsBitSet(flags5, 0); + PathNodeFlags52CheckBox.Checked = BitUtil.IsBitSet(flags5, 1); + PathNodeFlags53CheckBox.Checked = BitUtil.IsBitSet(flags5, 2); + } + if (updateUpDowns) + { + PathNodeFlags0UpDown.Value = flags0; + PathNodeFlags1UpDown.Value = flags1; + PathNodeFlags2UpDown.Value = flags2; + PathNodeFlags3UpDown.Value = flags3; + PathNodeFlags4UpDown.Value = flags4; + PathNodeFlags5UpDown.Value = flags5; + } + + var n = CurrentPathNode; + if (n != null) + { + PathNodeFlags0Label.Text = n.Flags0.ToHexString(); + PathNodeFlags1Label.Text = n.Flags1.ToHexString(); + PathNodeFlags2Label.Text = n.Flags2.ToHexString(); + PathNodeFlags3Label.Text = n.Flags3.ToHexString(); + PathNodeFlags4Label.Text = n.Flags4.ToHexString(); + } + else + { + PathNodeFlags0Label.Text = "0x00"; + PathNodeFlags1Label.Text = "0x00"; + PathNodeFlags2Label.Text = "0x00"; + PathNodeFlags3Label.Text = "0x00"; + PathNodeFlags4Label.Text = "0x00"; + } + } + + private void UpdatePathNodeLinkFlagsUI(bool updateCheckboxes, bool updateUpDowns) + { + var flags0 = CurrentPathLink?.Flags0.Value ?? 0; + var flags1 = CurrentPathLink?.Flags1.Value ?? 0; + var flags2 = CurrentPathLink?.Flags2.Value ?? 0; + + + if (updateCheckboxes) + { + PathNodeLinkFlags01CheckBox.Checked = BitUtil.IsBitSet(flags0, 0); + PathNodeLinkFlags02CheckBox.Checked = BitUtil.IsBitSet(flags0, 1); + PathNodeLinkFlags03UpDown.Value = (flags0 >> 2) & 7; + PathNodeLinkFlags04UpDown.Value = (flags0 >> 5) & 7; + + PathNodeLinkFlags11CheckBox.Checked = BitUtil.IsBitSet(flags1, 0); + PathNodeLinkFlags12CheckBox.Checked = BitUtil.IsBitSet(flags1, 1); + PathNodeLinkFlags13CheckBox.Checked = BitUtil.IsBitSet(flags1, 2); + PathNodeLinkFlags14CheckBox.Checked = BitUtil.IsBitSet(flags1, 3); + PathNodeLinkOffsetSizeUpDown.Value = (flags1 >> 4) & 7; + PathNodeLinkFlags18CheckBox.Checked = BitUtil.IsBitSet(flags1, 7); + + PathNodeLinkFlags21CheckBox.Checked = BitUtil.IsBitSet(flags2, 0); + PathNodeLinkFlags22CheckBox.Checked = BitUtil.IsBitSet(flags2, 1); + PathNodeLinkBackLanesUpDown.Value = (flags2 >> 2) & 7; + PathNodeLinkFwdLanesUpDown.Value = (flags2 >> 5) & 7; + } + if (updateUpDowns) + { + PathNodeLinkFlags0UpDown.Value = flags0; + PathNodeLinkFlags1UpDown.Value = flags1; + PathNodeLinkFlags2UpDown.Value = flags2; + } + + var l = CurrentPathLink; + if (l != null) + { + PathNodeLinkFlags0Label.Text = l.Flags0.ToHexString(); + PathNodeLinkFlags1Label.Text = l.Flags1.ToHexString(); + PathNodeLinkFlags2Label.Text = l.Flags2.ToHexString(); + } + else + { + PathNodeLinkFlags0Label.Text = "0x00"; + PathNodeLinkFlags1Label.Text = "0x00"; + PathNodeLinkFlags2Label.Text = "0x00"; + } + } + + private void SetPathNodeFlagsFromCheckBoxes() + { + if (populatingui) return; + if (CurrentPathNode == null) return; + + uint flags0 = 0; + uint flags1 = 0; + uint flags2 = 0; + uint flags3 = 0; + uint flags4 = 0; + uint flags5 = 0; + flags0 = BitUtil.UpdateBit(flags0, 0, PathNodeFlags01CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 1, PathNodeFlags02CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 2, PathNodeFlags03CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 3, PathNodeFlags04CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 4, PathNodeFlags05CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 5, PathNodeFlags06CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 6, PathNodeFlags07CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 7, PathNodeFlags08CheckBox.Checked); + + flags1 = BitUtil.UpdateBit(flags1, 0, PathNodeFlags11CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 1, PathNodeFlags12CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 2, PathNodeFlags13CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 3, PathNodeFlags14CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 4, PathNodeFlags15CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 5, PathNodeFlags16CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 6, PathNodeFlags17CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 7, PathNodeFlags18CheckBox.Checked); + + flags2 = BitUtil.UpdateBit(flags2, 0, PathNodeFlags21CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 1, PathNodeFlags22CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 2, PathNodeFlags23CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 3, PathNodeFlags24CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 4, PathNodeFlags25CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 5, PathNodeFlags26CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 6, PathNodeFlags27CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 7, PathNodeFlags28CheckBox.Checked); + + flags3 = BitUtil.UpdateBit(flags3, 0, PathNodeFlags31CheckBox.Checked); + flags3 += (((uint)PathNodeFlags32UpDown.Value & 127u) << 1); + + flags4 = BitUtil.UpdateBit(flags4, 0, PathNodeFlags41CheckBox.Checked); + flags4 += (((uint)PathNodeFlags42UpDown.Value & 7u) << 1); + flags4 = BitUtil.UpdateBit(flags4, 4, PathNodeFlags45CheckBox.Checked); + flags4 = BitUtil.UpdateBit(flags4, 5, PathNodeFlags46CheckBox.Checked); + flags4 = BitUtil.UpdateBit(flags4, 6, PathNodeFlags47CheckBox.Checked); + flags4 = BitUtil.UpdateBit(flags4, 7, PathNodeFlags48CheckBox.Checked); + + flags5 = BitUtil.UpdateBit(flags5, 0, PathNodeFlags51CheckBox.Checked); + flags5 = BitUtil.UpdateBit(flags5, 1, PathNodeFlags52CheckBox.Checked); + flags5 = BitUtil.UpdateBit(flags5, 2, PathNodeFlags53CheckBox.Checked); + + + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Flags0.Value != flags0) + { + CurrentPathNode.Flags0 = (byte)flags0; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags1.Value != flags1) + { + CurrentPathNode.Flags1 = (byte)flags1; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags2.Value != flags2) + { + CurrentPathNode.Flags2 = (byte)flags2; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags3.Value != flags3) + { + CurrentPathNode.Flags3 = (byte)flags3; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags4.Value != flags4) + { + CurrentPathNode.Flags4 = (byte)flags4; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.LinkCountUnk != flags5) + { + CurrentPathNode.LinkCountUnk = (byte)flags5; + ProjectForm.SetYndHasChanged(true); + } + } + + populatingui = true; + UpdatePathNodeFlagsUI(false, true); //update updowns + populatingui = false; + } + + private void SetPathNodeFlagsFromUpDowns() + { + if (populatingui) return; + if (CurrentPathNode == null) return; + + uint flags0 = (uint)PathNodeFlags0UpDown.Value; + uint flags1 = (uint)PathNodeFlags1UpDown.Value; + uint flags2 = (uint)PathNodeFlags2UpDown.Value; + uint flags3 = (uint)PathNodeFlags3UpDown.Value; + uint flags4 = (uint)PathNodeFlags4UpDown.Value; + uint flags5 = (uint)PathNodeFlags5UpDown.Value; + + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Flags0.Value != flags0) + { + CurrentPathNode.Flags0 = (byte)flags0; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags1.Value != flags1) + { + CurrentPathNode.Flags1 = (byte)flags1; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags2.Value != flags2) + { + CurrentPathNode.Flags2 = (byte)flags2; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags3.Value != flags3) + { + CurrentPathNode.Flags3 = (byte)flags3; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.Flags4.Value != flags4) + { + CurrentPathNode.Flags4 = (byte)flags4; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathNode.LinkCountUnk != flags5) + { + CurrentPathNode.LinkCountUnk = (byte)flags5; + ProjectForm.SetYndHasChanged(true); + } + } + + populatingui = true; + UpdatePathNodeFlagsUI(true, false); //update checkboxes + populatingui = false; + } + + private void SetPathNodeLinkFlagsFromCheckBoxes() + { + if (populatingui) return; + if (CurrentPathLink == null) return; + + uint flags0 = 0; + uint flags1 = 0; + uint flags2 = 0; + flags0 = BitUtil.UpdateBit(flags0, 0, PathNodeLinkFlags01CheckBox.Checked); + flags0 = BitUtil.UpdateBit(flags0, 1, PathNodeLinkFlags02CheckBox.Checked); + flags0 += (((uint)PathNodeLinkFlags03UpDown.Value & 7u) << 2); + flags0 += (((uint)PathNodeLinkFlags04UpDown.Value & 7u) << 5); + + flags1 = BitUtil.UpdateBit(flags1, 0, PathNodeLinkFlags11CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 1, PathNodeLinkFlags12CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 2, PathNodeLinkFlags13CheckBox.Checked); + flags1 = BitUtil.UpdateBit(flags1, 3, PathNodeLinkFlags14CheckBox.Checked); + flags1 += (((uint)PathNodeLinkOffsetSizeUpDown.Value & 7u) << 4); + flags1 = BitUtil.UpdateBit(flags1, 7, PathNodeLinkFlags18CheckBox.Checked); + + flags2 = BitUtil.UpdateBit(flags2, 0, PathNodeLinkFlags21CheckBox.Checked); + flags2 = BitUtil.UpdateBit(flags2, 1, PathNodeLinkFlags22CheckBox.Checked); + flags2 += (((uint)PathNodeLinkBackLanesUpDown.Value & 7u) << 2); + flags2 += (((uint)PathNodeLinkFwdLanesUpDown.Value & 7u) << 5); + + bool updgfx = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathLink.Flags0.Value != flags0) + { + CurrentPathLink.Flags0 = (byte)flags0; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathLink.Flags1.Value != flags1) + { + CurrentPathLink.Flags1 = (byte)flags1; + ProjectForm.SetYndHasChanged(true); + updgfx = true; + } + if (CurrentPathLink.Flags2.Value != flags2) + { + CurrentPathLink.Flags2 = (byte)flags2; + ProjectForm.SetYndHasChanged(true); + updgfx = true; + } + } + + populatingui = true; + UpdatePathNodeLinkFlagsUI(false, true); //update updowns + populatingui = false; + + if (updgfx && (ProjectForm.WorldForm != null) && (CurrentYndFile != null)) + { + ProjectForm.WorldForm.UpdatePathYndGraphics(CurrentYndFile, false); + } + } + + private void SetPathNodeLinkFlagsFromUpDowns() + { + if (populatingui) return; + if (CurrentPathLink == null) return; + + uint flags0 = (uint)PathNodeLinkFlags0UpDown.Value; + uint flags1 = (uint)PathNodeLinkFlags1UpDown.Value; + uint flags2 = (uint)PathNodeLinkFlags2UpDown.Value; + + bool updgfx = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathLink.Flags0.Value != flags0) + { + CurrentPathLink.Flags0 = (byte)flags0; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathLink.Flags1.Value != flags1) + { + CurrentPathLink.Flags1 = (byte)flags1; + ProjectForm.SetYndHasChanged(true); + } + if (CurrentPathLink.Flags2.Value != flags2) + { + CurrentPathLink.Flags2 = (byte)flags2; + ProjectForm.SetYndHasChanged(true); + updgfx = true; + } + } + + populatingui = true; + UpdatePathNodeLinkFlagsUI(true, false); //update checkboxes + populatingui = false; + + if (updgfx && (ProjectForm.WorldForm != null) && (CurrentYndFile != null)) + { + ProjectForm.WorldForm.UpdatePathYndGraphics(CurrentYndFile, false); + } + } + + + private void AddPathLink() + { + if (CurrentPathNode == null) return; + + var l = CurrentPathNode.AddLink(); + + LoadPathNodeTabPage(); + + PathNodeLinksListBox.SelectedItem = l; + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdatePathNodeGraphics(CurrentPathNode, false); + } + } + + private void RemovePathLink() + { + if (CurrentPathLink == null) return; + if (CurrentPathNode == null) return; + + var r = CurrentPathNode.RemoveLink(CurrentPathLink); + + if (!r) return; + + LoadPathNodeTabPage(); + + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdatePathNodeGraphics(CurrentPathNode, false); + } + } + + private void UpdatePathNodeLinkage() + { + if (CurrentPathLink == null) return; + if (CurrentYndFile == null) return; + + YndNode linknode = null; + ushort areaid = CurrentPathLink._RawData.AreaID; + ushort nodeid = CurrentPathLink._RawData.NodeID; + if (areaid == CurrentYndFile.AreaID) + { + //link to the same ynd. find the new node in the current ynd. + if ((CurrentYndFile.Nodes != null) && (nodeid < CurrentYndFile.Nodes.Length)) + { + linknode = CurrentYndFile.Nodes[nodeid]; + } + } + else + { + //try lookup the link node from the space. + if (ProjectForm.WorldForm != null) + { + linknode = ProjectForm.WorldForm.GetPathNodeFromSpace(areaid, nodeid); + } + } + + if (linknode == null) + { + PathNodeLinkageStatusLabel.Text = "Unable to find node " + areaid.ToString() + ":" + nodeid.ToString() + "."; + } + else + { + PathNodeLinkageStatusLabel.Text = ""; + } + + CurrentPathLink.Node2 = linknode; + CurrentPathLink.UpdateLength(); + + + ////need to rebuild the link verts.. updating the graphics should do it... + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.UpdatePathYndGraphics(CurrentYndFile, false); + } + } + + + + + + + + private void PathNodeAreaIDUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + ushort areaid = (ushort)PathNodeAreaIDUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.AreaID != areaid) + { + CurrentPathNode.AreaID = areaid; + ProjectForm.SetYndHasChanged(true); + } + } + + ProjectForm.ProjectExplorer?.UpdatePathNodeTreeNode(CurrentPathNode); + } + + private void PathNodeNodeIDUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + ushort nodeid = (ushort)PathNodeNodeIDUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.NodeID != nodeid) + { + CurrentPathNode.NodeID = nodeid; + ProjectForm.SetYndHasChanged(true); + } + } + + ProjectForm.ProjectExplorer?.UpdatePathNodeTreeNode(CurrentPathNode); + } + + private void PathNodePositionTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + Vector3 v = FloatUtil.ParseVector3String(PathNodePositionTextBox.Text); + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Position != v) + { + CurrentPathNode.SetPosition(v); + ProjectForm.SetYndHasChanged(true); + change = true; + } + } + if (change) + { + if (ProjectForm.WorldForm != null) + { + ProjectForm.WorldForm.SetWidgetPosition(CurrentPathNode.Position); + ProjectForm.WorldForm.UpdatePathNodeGraphics(CurrentPathNode, false); + } + //PathNodePositionTextBox.Text = FloatUtil.GetVector3String(CurrentPathNode.Position); + } + } + + private void PathNodeGoToButton_Click(object sender, EventArgs e) + { + if (CurrentPathNode == null) return; + if (ProjectForm.WorldForm == null) return; + ProjectForm.WorldForm.GoToPosition(CurrentPathNode.Position); + } + + private void PathNodeAddToProjectButton_Click(object sender, EventArgs e) + { + if (CurrentPathNode?.Ynd != null) + { + ProjectForm.AddYndToProject(CurrentPathNode.Ynd); + + } + } + + private void PathNodeDeleteButton_Click(object sender, EventArgs e) + { + ProjectForm.SetProjectItem(CurrentPathNode); + ProjectForm.DeletePathNode(); + } + + private void PathNodeStreetHashTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + uint hash; + uint.TryParse(PathNodeStreetHashTextBox.Text, out hash); + var streetname = GlobalText.TryGetString(hash); + PathNodeStreetNameLabel.Text = "Name: " + ((hash == 0) ? "[None]" : (string.IsNullOrEmpty(streetname) ? "[Not found]" : streetname)); + + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.StreetName.Hash != hash) + { + CurrentPathNode.StreetName = hash; + ProjectForm.SetYndHasChanged(true); + } + } + + ProjectForm.ProjectExplorer?.UpdatePathNodeTreeNode(CurrentPathNode); + } + + private void PathNodeFlags0UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags1UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags2UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags3UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags4UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags5UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromUpDowns(); + } + + private void PathNodeFlags01CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags02CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags03CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags04CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags05CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags06CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags07CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags08CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags11CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags12CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags13CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags14CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags15CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags16CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags17CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags18CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags21CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags22CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags23CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags24CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags25CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags26CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags27CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags28CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags31CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags32UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); //treat this one like checkboxes + } + + private void PathNodeFlags51CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags41CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags45CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags46CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags47CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags48CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags42UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); //treat this one like checkboxes + } + + private void PathNodeFlags52CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + private void PathNodeFlags53CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeFlagsFromCheckBoxes(); + } + + + private void PathNodeLinksListBox_SelectedIndexChanged(object sender, EventArgs e) + { + CurrentPathLink = PathNodeLinksListBox.SelectedItem as YndLink; + LoadPathNodeLinkPage(); + } + + private void PathNodeAddLinkButton_Click(object sender, EventArgs e) + { + AddPathLink(); + } + + private void PathNodeRemoveLinkButton_Click(object sender, EventArgs e) + { + RemovePathLink(); + } + + private void PathNodeLinkAreaIDUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathLink == null) return; + ushort areaid = (ushort)PathNodeLinkAreaIDUpDown.Value; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathLink._RawData.AreaID != areaid) + { + CurrentPathLink._RawData.AreaID = areaid; + ProjectForm.SetYndHasChanged(true); + change = true; + } + } + if (change) + { + UpdatePathNodeLinkage(); + + //refresh the selected item in the list box, to update the text, and the other controls. + PathNodeLinksListBox.Items[PathNodeLinksListBox.SelectedIndex] = PathNodeLinksListBox.SelectedItem; + } + } + + private void PathNodeLinkNodeIDUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathLink == null) return; + ushort nodeid = (ushort)PathNodeLinkNodeIDUpDown.Value; + bool change = false; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathLink._RawData.NodeID != nodeid) + { + CurrentPathLink._RawData.NodeID = nodeid; + ProjectForm.SetYndHasChanged(true); + change = true; + } + } + if (change) + { + UpdatePathNodeLinkage(); + + //refresh the selected item in the list box, to update the text, and the other controls. + PathNodeLinksListBox.Items[PathNodeLinksListBox.SelectedIndex] = PathNodeLinksListBox.SelectedItem; + } + } + + private void PathNodeLinkFlags0UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromUpDowns(); + } + + private void PathNodeLinkFlags1UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromUpDowns(); + } + + private void PathNodeLinkFlags2UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromUpDowns(); + } + + private void PathNodeLinkFlags01CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags02CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags03UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags04UpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags11CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags12CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags13CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags14CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags18CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkOffsetSizeUpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags21CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFlags22CheckBox_CheckedChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkFwdLanesUpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkBackLanesUpDown_ValueChanged(object sender, EventArgs e) + { + SetPathNodeLinkFlagsFromCheckBoxes(); + } + + private void PathNodeLinkLengthUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathLink == null) return; + byte length = (byte)PathNodeLinkLengthUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathLink.LinkLength.Value != length) + { + CurrentPathLink.LinkLength = length; + CurrentPathLink._RawData.LinkLength = length; + ProjectForm.SetYndHasChanged(true); + } + } + } + + + private void PathNodeJunctionEnableCheckBox_CheckedChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.HasJunction != PathNodeJunctionEnableCheckBox.Checked) + { + CurrentPathNode.HasJunction = PathNodeJunctionEnableCheckBox.Checked; + if (CurrentPathNode.HasJunction && (CurrentPathNode.Junction == null)) + { + var j = new YndJunction(); + //init new junction + j._RawData.HeightmapDimX = 1; + j._RawData.HeightmapDimY = 1; + j.Heightmap = new YndJunctionHeightmap(new byte[] { 255 }, j); + j.RefData = new NodeJunctionRef() { AreaID = (ushort)CurrentPathNode.AreaID, NodeID = (ushort)CurrentPathNode.NodeID }; + + CurrentPathNode.Junction = j; + } + ProjectForm.SetYndHasChanged(true); + } + } + LoadPathNodeJunctionPage(); + } + + private void PathNodeJunctionMaxZUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + short val = (short)PathNodeJunctionMaxZUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction.MaxZ != val) + { + CurrentPathNode.Junction.MaxZ = val; + CurrentPathNode.Junction._RawData.MaxZ = val; + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void PathNodeJunctionMinZUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + short val = (short)PathNodeJunctionMinZUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction.MinZ != val) + { + CurrentPathNode.Junction.MinZ = val; + CurrentPathNode.Junction._RawData.MinZ = val; + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void PathNodeJunctionPosXUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + short val = (short)PathNodeJunctionPosXUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction.PositionX != val) + { + CurrentPathNode.Junction.PositionX = val; + CurrentPathNode.Junction._RawData.PositionX = val; + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void PathNodeJunctionPosYUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + short val = (short)PathNodeJunctionPosYUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction.PositionY != val) + { + CurrentPathNode.Junction.PositionY = val; + CurrentPathNode.Junction._RawData.PositionY = val; + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void PathNodeJunctionHeightmapDimXUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + byte val = (byte)PathNodeJunctionHeightmapDimXUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction._RawData.HeightmapDimX != val) + { + CurrentPathNode.Junction._RawData.HeightmapDimX = val; + CurrentPathNode.Junction.ResizeHeightmap(); + ProjectForm.SetYndHasChanged(true); + } + } + LoadPathNodeJunctionPage(); + } + + private void PathNodeJunctionHeightmapDimYUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + byte val = (byte)PathNodeJunctionHeightmapDimYUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + if (CurrentPathNode.Junction._RawData.HeightmapDimY != val) + { + CurrentPathNode.Junction._RawData.HeightmapDimY = val; + CurrentPathNode.Junction.ResizeHeightmap(); + ProjectForm.SetYndHasChanged(true); + } + } + LoadPathNodeJunctionPage(); + } + + private void PathNodeJunctionHeightmapBytesTextBox_TextChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (CurrentPathNode == null) return; + if (CurrentPathNode.Junction == null) return; + lock (ProjectForm.ProjectSyncRoot) + { + CurrentPathNode.Junction.SetHeightmap(PathNodeJunctionHeightmapBytesTextBox.Text); + ProjectForm.SetYndHasChanged(true); + } + //LoadPathNodeJunctionPage(); + } + } +} diff --git a/Project/Panels/EditYndNodePanel.resx b/Project/Panels/EditYndNodePanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYndNodePanel.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/Project/Panels/EditYndPanel.Designer.cs b/Project/Panels/EditYndPanel.Designer.cs new file mode 100644 index 0000000..f660921 --- /dev/null +++ b/Project/Panels/EditYndPanel.Designer.cs @@ -0,0 +1,281 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYndPanel + { + /// + /// 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(EditYndPanel)); + this.label88 = new System.Windows.Forms.Label(); + this.YndAreaIDYUpDown = new System.Windows.Forms.NumericUpDown(); + this.label87 = new System.Windows.Forms.Label(); + this.YndAreaIDXUpDown = new System.Windows.Forms.NumericUpDown(); + this.label48 = new System.Windows.Forms.Label(); + this.YndProjectPathTextBox = new System.Windows.Forms.TextBox(); + this.label46 = new System.Windows.Forms.Label(); + this.YndFilePathTextBox = new System.Windows.Forms.TextBox(); + this.label47 = new System.Windows.Forms.Label(); + this.YndTotalNodesLabel = new System.Windows.Forms.Label(); + this.YndPedNodesUpDown = new System.Windows.Forms.NumericUpDown(); + this.label45 = new System.Windows.Forms.Label(); + this.YndVehicleNodesUpDown = new System.Windows.Forms.NumericUpDown(); + this.label40 = new System.Windows.Forms.Label(); + this.YndAreaIDInfoLabel = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.YndRpfPathTextBox = new System.Windows.Forms.TextBox(); + ((System.ComponentModel.ISupportInitialize)(this.YndAreaIDYUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndAreaIDXUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndPedNodesUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndVehicleNodesUpDown)).BeginInit(); + this.SuspendLayout(); + // + // label88 + // + this.label88.AutoSize = true; + this.label88.Location = new System.Drawing.Point(183, 20); + this.label88.Name = "label88"; + this.label88.Size = new System.Drawing.Size(17, 13); + this.label88.TabIndex = 36; + this.label88.Text = "Y:"; + // + // YndAreaIDYUpDown + // + this.YndAreaIDYUpDown.Location = new System.Drawing.Point(206, 18); + this.YndAreaIDYUpDown.Maximum = new decimal(new int[] { + 31, + 0, + 0, + 0}); + this.YndAreaIDYUpDown.Name = "YndAreaIDYUpDown"; + this.YndAreaIDYUpDown.Size = new System.Drawing.Size(48, 20); + this.YndAreaIDYUpDown.TabIndex = 35; + this.YndAreaIDYUpDown.ValueChanged += new System.EventHandler(this.YndAreaIDYUpDown_ValueChanged); + // + // label87 + // + this.label87.AutoSize = true; + this.label87.Location = new System.Drawing.Point(101, 20); + this.label87.Name = "label87"; + this.label87.Size = new System.Drawing.Size(17, 13); + this.label87.TabIndex = 34; + this.label87.Text = "X:"; + // + // YndAreaIDXUpDown + // + this.YndAreaIDXUpDown.Location = new System.Drawing.Point(124, 18); + this.YndAreaIDXUpDown.Maximum = new decimal(new int[] { + 31, + 0, + 0, + 0}); + this.YndAreaIDXUpDown.Name = "YndAreaIDXUpDown"; + this.YndAreaIDXUpDown.Size = new System.Drawing.Size(48, 20); + this.YndAreaIDXUpDown.TabIndex = 33; + this.YndAreaIDXUpDown.ValueChanged += new System.EventHandler(this.YndAreaIDXUpDown_ValueChanged); + // + // label48 + // + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(23, 216); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(68, 13); + this.label48.TabIndex = 32; + this.label48.Text = "Project Path:"; + // + // YndProjectPathTextBox + // + this.YndProjectPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YndProjectPathTextBox.Location = new System.Drawing.Point(97, 213); + this.YndProjectPathTextBox.Name = "YndProjectPathTextBox"; + this.YndProjectPathTextBox.ReadOnly = true; + this.YndProjectPathTextBox.Size = new System.Drawing.Size(450, 20); + this.YndProjectPathTextBox.TabIndex = 31; + // + // label46 + // + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(23, 190); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(51, 13); + this.label46.TabIndex = 30; + this.label46.Text = "File Path:"; + // + // YndFilePathTextBox + // + this.YndFilePathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YndFilePathTextBox.Location = new System.Drawing.Point(97, 187); + this.YndFilePathTextBox.Name = "YndFilePathTextBox"; + this.YndFilePathTextBox.ReadOnly = true; + this.YndFilePathTextBox.Size = new System.Drawing.Size(450, 20); + this.YndFilePathTextBox.TabIndex = 29; + // + // label47 + // + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(23, 164); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(52, 13); + this.label47.TabIndex = 28; + this.label47.Text = "Rpf Path:"; + // + // YndTotalNodesLabel + // + this.YndTotalNodesLabel.AutoSize = true; + this.YndTotalNodesLabel.Location = new System.Drawing.Point(23, 59); + this.YndTotalNodesLabel.Name = "YndTotalNodesLabel"; + this.YndTotalNodesLabel.Size = new System.Drawing.Size(77, 13); + this.YndTotalNodesLabel.TabIndex = 27; + this.YndTotalNodesLabel.Text = "Total Nodes: 0"; + // + // YndPedNodesUpDown + // + this.YndPedNodesUpDown.Location = new System.Drawing.Point(377, 57); + this.YndPedNodesUpDown.Maximum = new decimal(new int[] { + 0, + 0, + 0, + 0}); + this.YndPedNodesUpDown.Name = "YndPedNodesUpDown"; + this.YndPedNodesUpDown.Size = new System.Drawing.Size(74, 20); + this.YndPedNodesUpDown.TabIndex = 26; + this.YndPedNodesUpDown.ValueChanged += new System.EventHandler(this.YndPedNodesUpDown_ValueChanged); + // + // label45 + // + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(308, 59); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(63, 13); + this.label45.TabIndex = 25; + this.label45.Text = "Ped Nodes:"; + // + // YndVehicleNodesUpDown + // + this.YndVehicleNodesUpDown.Location = new System.Drawing.Point(206, 57); + this.YndVehicleNodesUpDown.Maximum = new decimal(new int[] { + 0, + 0, + 0, + 0}); + this.YndVehicleNodesUpDown.Name = "YndVehicleNodesUpDown"; + this.YndVehicleNodesUpDown.Size = new System.Drawing.Size(74, 20); + this.YndVehicleNodesUpDown.TabIndex = 24; + this.YndVehicleNodesUpDown.ValueChanged += new System.EventHandler(this.YndVehicleNodesUpDown_ValueChanged); + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Location = new System.Drawing.Point(121, 59); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(79, 13); + this.label40.TabIndex = 23; + this.label40.Text = "Vehicle Nodes:"; + // + // YndAreaIDInfoLabel + // + this.YndAreaIDInfoLabel.AutoSize = true; + this.YndAreaIDInfoLabel.Location = new System.Drawing.Point(271, 20); + this.YndAreaIDInfoLabel.Name = "YndAreaIDInfoLabel"; + this.YndAreaIDInfoLabel.Size = new System.Drawing.Size(30, 13); + this.YndAreaIDInfoLabel.TabIndex = 22; + this.YndAreaIDInfoLabel.Text = "ID: 0"; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(45, 20); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(46, 13); + this.label33.TabIndex = 21; + this.label33.Text = "Area ID:"; + // + // YndRpfPathTextBox + // + this.YndRpfPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.YndRpfPathTextBox.Location = new System.Drawing.Point(97, 161); + this.YndRpfPathTextBox.Name = "YndRpfPathTextBox"; + this.YndRpfPathTextBox.ReadOnly = true; + this.YndRpfPathTextBox.Size = new System.Drawing.Size(450, 20); + this.YndRpfPathTextBox.TabIndex = 20; + // + // EditYndPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(574, 499); + this.Controls.Add(this.label88); + this.Controls.Add(this.YndAreaIDYUpDown); + this.Controls.Add(this.label87); + this.Controls.Add(this.YndAreaIDXUpDown); + this.Controls.Add(this.label48); + this.Controls.Add(this.YndProjectPathTextBox); + this.Controls.Add(this.label46); + this.Controls.Add(this.YndFilePathTextBox); + this.Controls.Add(this.label47); + this.Controls.Add(this.YndTotalNodesLabel); + this.Controls.Add(this.YndPedNodesUpDown); + this.Controls.Add(this.label45); + this.Controls.Add(this.YndVehicleNodesUpDown); + this.Controls.Add(this.label40); + this.Controls.Add(this.YndAreaIDInfoLabel); + this.Controls.Add(this.label33); + this.Controls.Add(this.YndRpfPathTextBox); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYndPanel"; + this.Text = "Edit Ynd"; + ((System.ComponentModel.ISupportInitialize)(this.YndAreaIDYUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndAreaIDXUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndPedNodesUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.YndVehicleNodesUpDown)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label88; + private System.Windows.Forms.NumericUpDown YndAreaIDYUpDown; + private System.Windows.Forms.Label label87; + private System.Windows.Forms.NumericUpDown YndAreaIDXUpDown; + private System.Windows.Forms.Label label48; + private System.Windows.Forms.TextBox YndProjectPathTextBox; + private System.Windows.Forms.Label label46; + private System.Windows.Forms.TextBox YndFilePathTextBox; + private System.Windows.Forms.Label label47; + private System.Windows.Forms.Label YndTotalNodesLabel; + private System.Windows.Forms.NumericUpDown YndPedNodesUpDown; + private System.Windows.Forms.Label label45; + private System.Windows.Forms.NumericUpDown YndVehicleNodesUpDown; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.Label YndAreaIDInfoLabel; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.TextBox YndRpfPathTextBox; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYndPanel.cs b/Project/Panels/EditYndPanel.cs new file mode 100644 index 0000000..717b444 --- /dev/null +++ b/Project/Panels/EditYndPanel.cs @@ -0,0 +1,157 @@ +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.Project.Panels +{ + public partial class EditYndPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YndFile Ynd { get; set; } + + private bool populatingui = false; + private bool waschanged = false; + + public EditYndPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetYnd(YndFile ynd) + { + Ynd = ynd; + Tag = ynd; + UpdateFormTitle(); + UpdateYndUI(); + waschanged = ynd?.HasChanged ?? false; + } + + public void UpdateFormTitleYndChanged() + { + bool changed = Ynd.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = Ynd.RpfFileEntry?.Name ?? Ynd.Name; + if (string.IsNullOrEmpty(fn)) fn = "untitled.ynd"; + Text = fn + (Ynd.HasChanged ? "*" : ""); + } + + + public void UpdateYndUI() + { + if (Ynd == null) + { + //YndPanel.Enabled = false; + YndRpfPathTextBox.Text = string.Empty; + YndFilePathTextBox.Text = string.Empty; + YndProjectPathTextBox.Text = string.Empty; + YndAreaIDXUpDown.Value = 0; + YndAreaIDYUpDown.Value = 0; + YndAreaIDInfoLabel.Text = "ID: 0"; + YndTotalNodesLabel.Text = "Total Nodes: 0"; + YndVehicleNodesUpDown.Value = 0; + YndVehicleNodesUpDown.Maximum = 0; + YndPedNodesUpDown.Value = 0; + YndPedNodesUpDown.Maximum = 0; + } + else + { + populatingui = true; + var nd = Ynd.NodeDictionary; + //YndPanel.Enabled = true; + YndRpfPathTextBox.Text = Ynd.RpfFileEntry.Path; + YndFilePathTextBox.Text = Ynd.FilePath; + YndProjectPathTextBox.Text = (Ynd != null) ? ProjectForm.CurrentProjectFile.GetRelativePath(Ynd.FilePath) : Ynd.FilePath; + YndAreaIDXUpDown.Value = Ynd.CellX; + YndAreaIDYUpDown.Value = Ynd.CellY; + YndAreaIDInfoLabel.Text = "ID: " + Ynd.AreaID.ToString(); + YndTotalNodesLabel.Text = "Total Nodes: " + (nd?.NodesCount.ToString() ?? "0"); + YndVehicleNodesUpDown.Maximum = nd?.NodesCount ?? 0; + YndVehicleNodesUpDown.Value = Math.Min(nd?.NodesCountVehicle ?? 0, YndVehicleNodesUpDown.Maximum); + YndPedNodesUpDown.Maximum = nd?.NodesCount ?? 0; + YndPedNodesUpDown.Value = Math.Min(nd?.NodesCountPed ?? 0, YndPedNodesUpDown.Maximum); + populatingui = false; + } + } + + private void YndAreaIDUpDownChange() + { + if (populatingui) return; + if (Ynd == null) return; + int x = (int)YndAreaIDXUpDown.Value; + int y = (int)YndAreaIDYUpDown.Value; + lock (ProjectForm.ProjectSyncRoot) + { + var areaid = y * 32 + x; + if (Ynd.AreaID != areaid) + { + Ynd.AreaID = areaid; + Ynd.Name = "nodes" + areaid.ToString() + ".ynd"; + YndAreaIDInfoLabel.Text = "ID: " + areaid.ToString(); + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void YndAreaIDXUpDown_ValueChanged(object sender, EventArgs e) + { + YndAreaIDUpDownChange(); + } + + private void YndAreaIDYUpDown_ValueChanged(object sender, EventArgs e) + { + YndAreaIDUpDownChange(); + } + + private void YndVehicleNodesUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ynd == null) return; + if (Ynd.NodeDictionary == null) return; + lock (ProjectForm.ProjectSyncRoot) + { + var vehnodes = (int)YndVehicleNodesUpDown.Value; + if (Ynd.NodeDictionary.NodesCountVehicle != vehnodes) + { + Ynd.NodeDictionary.NodesCountVehicle = (uint)vehnodes; + ProjectForm.SetYndHasChanged(true); + } + } + } + + private void YndPedNodesUpDown_ValueChanged(object sender, EventArgs e) + { + if (populatingui) return; + if (Ynd == null) return; + if (Ynd.NodeDictionary == null) return; + lock (ProjectForm.ProjectSyncRoot) + { + var pednodes = (int)YndPedNodesUpDown.Value; + if (Ynd.NodeDictionary.NodesCountPed != pednodes) + { + Ynd.NodeDictionary.NodesCountPed = (uint)pednodes; + ProjectForm.SetYndHasChanged(true); + } + } + } + } +} diff --git a/Project/Panels/EditYndPanel.resx b/Project/Panels/EditYndPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYndPanel.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/Project/Panels/EditYnvPanel.Designer.cs b/Project/Panels/EditYnvPanel.Designer.cs new file mode 100644 index 0000000..5356664 --- /dev/null +++ b/Project/Panels/EditYnvPanel.Designer.cs @@ -0,0 +1,154 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYnvPanel + { + /// + /// 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(EditYnvPanel)); + this.YnvAABBSizeTextBox = new System.Windows.Forms.TextBox(); + this.label91 = new System.Windows.Forms.Label(); + this.label89 = new System.Windows.Forms.Label(); + this.YnvAreaIDYUpDown = new System.Windows.Forms.NumericUpDown(); + this.label90 = new System.Windows.Forms.Label(); + this.YnvAreaIDXUpDown = new System.Windows.Forms.NumericUpDown(); + this.YnvAreaIDInfoLabel = new System.Windows.Forms.Label(); + this.label92 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.YnvAreaIDYUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.YnvAreaIDXUpDown)).BeginInit(); + this.SuspendLayout(); + // + // YnvAABBSizeTextBox + // + this.YnvAABBSizeTextBox.Location = new System.Drawing.Point(110, 66); + this.YnvAABBSizeTextBox.Name = "YnvAABBSizeTextBox"; + this.YnvAABBSizeTextBox.Size = new System.Drawing.Size(138, 20); + this.YnvAABBSizeTextBox.TabIndex = 37; + // + // label91 + // + this.label91.AutoSize = true; + this.label91.Location = new System.Drawing.Point(43, 69); + this.label91.Name = "label91"; + this.label91.Size = new System.Drawing.Size(61, 13); + this.label91.TabIndex = 38; + this.label91.Text = "AABB Size:"; + // + // label89 + // + this.label89.AutoSize = true; + this.label89.Location = new System.Drawing.Point(169, 32); + this.label89.Name = "label89"; + this.label89.Size = new System.Drawing.Size(17, 13); + this.label89.TabIndex = 36; + this.label89.Text = "Y:"; + // + // YnvAreaIDYUpDown + // + this.YnvAreaIDYUpDown.Location = new System.Drawing.Point(192, 30); + this.YnvAreaIDYUpDown.Maximum = new decimal(new int[] { + 31, + 0, + 0, + 0}); + this.YnvAreaIDYUpDown.Name = "YnvAreaIDYUpDown"; + this.YnvAreaIDYUpDown.Size = new System.Drawing.Size(48, 20); + this.YnvAreaIDYUpDown.TabIndex = 35; + // + // label90 + // + this.label90.AutoSize = true; + this.label90.Location = new System.Drawing.Point(87, 32); + this.label90.Name = "label90"; + this.label90.Size = new System.Drawing.Size(17, 13); + this.label90.TabIndex = 34; + this.label90.Text = "X:"; + // + // YnvAreaIDXUpDown + // + this.YnvAreaIDXUpDown.Location = new System.Drawing.Point(110, 30); + this.YnvAreaIDXUpDown.Maximum = new decimal(new int[] { + 31, + 0, + 0, + 0}); + this.YnvAreaIDXUpDown.Name = "YnvAreaIDXUpDown"; + this.YnvAreaIDXUpDown.Size = new System.Drawing.Size(48, 20); + this.YnvAreaIDXUpDown.TabIndex = 33; + // + // YnvAreaIDInfoLabel + // + this.YnvAreaIDInfoLabel.AutoSize = true; + this.YnvAreaIDInfoLabel.Location = new System.Drawing.Point(257, 32); + this.YnvAreaIDInfoLabel.Name = "YnvAreaIDInfoLabel"; + this.YnvAreaIDInfoLabel.Size = new System.Drawing.Size(30, 13); + this.YnvAreaIDInfoLabel.TabIndex = 32; + this.YnvAreaIDInfoLabel.Text = "ID: 0"; + // + // label92 + // + this.label92.AutoSize = true; + this.label92.Location = new System.Drawing.Point(31, 32); + this.label92.Name = "label92"; + this.label92.Size = new System.Drawing.Size(46, 13); + this.label92.TabIndex = 31; + this.label92.Text = "Area ID:"; + // + // EditYnvPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(513, 427); + this.Controls.Add(this.YnvAABBSizeTextBox); + this.Controls.Add(this.label91); + this.Controls.Add(this.label89); + this.Controls.Add(this.YnvAreaIDYUpDown); + this.Controls.Add(this.label90); + this.Controls.Add(this.YnvAreaIDXUpDown); + this.Controls.Add(this.YnvAreaIDInfoLabel); + this.Controls.Add(this.label92); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYnvPanel"; + this.Text = "Edit Ynv"; + ((System.ComponentModel.ISupportInitialize)(this.YnvAreaIDYUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.YnvAreaIDXUpDown)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox YnvAABBSizeTextBox; + private System.Windows.Forms.Label label91; + private System.Windows.Forms.Label label89; + private System.Windows.Forms.NumericUpDown YnvAreaIDYUpDown; + private System.Windows.Forms.Label label90; + private System.Windows.Forms.NumericUpDown YnvAreaIDXUpDown; + private System.Windows.Forms.Label YnvAreaIDInfoLabel; + private System.Windows.Forms.Label label92; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYnvPanel.cs b/Project/Panels/EditYnvPanel.cs new file mode 100644 index 0000000..4307406 --- /dev/null +++ b/Project/Panels/EditYnvPanel.cs @@ -0,0 +1,64 @@ +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.Project.Panels +{ + public partial class EditYnvPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YnvFile Ynv { get; set; } + + //private bool populatingui = false; + private bool waschanged = false; + + public EditYnvPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetYnv(YnvFile ynv) + { + Ynv = ynv; + Tag = ynv; + UpdateFormTitle(); + UpdateYnvUI(); + waschanged = ynv?.HasChanged ?? false; + } + + public void UpdateFormTitleYnvChanged() + { + bool changed = Ynv.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = Ynv.RpfFileEntry?.Name ?? Ynv.Name; + if (string.IsNullOrEmpty(fn)) fn = "untitled.ynv"; + Text = fn + (Ynv.HasChanged ? "*" : ""); + } + + + public void UpdateYnvUI() + { + } + + } +} diff --git a/Project/Panels/EditYnvPanel.resx b/Project/Panels/EditYnvPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYnvPanel.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/Project/Panels/EditYnvPolyPanel.Designer.cs b/Project/Panels/EditYnvPolyPanel.Designer.cs new file mode 100644 index 0000000..5c06460 --- /dev/null +++ b/Project/Panels/EditYnvPolyPanel.Designer.cs @@ -0,0 +1,62 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYnvPolyPanel + { + /// + /// 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(EditYnvPolyPanel)); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(48, 56); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(121, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Nav Poly editing TODO!"; + // + // EditYnvPolyPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(557, 396); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYnvPolyPanel"; + this.Text = "Edit Ynv Poly"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYnvPolyPanel.cs b/Project/Panels/EditYnvPolyPanel.cs new file mode 100644 index 0000000..168010b --- /dev/null +++ b/Project/Panels/EditYnvPolyPanel.cs @@ -0,0 +1,46 @@ +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.Project.Panels +{ + public partial class EditYnvPolyPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YnvPoly YnvPoly { get; set; } + + //private bool populatingui = false; + + public EditYnvPolyPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetYnvPoly(YnvPoly ynvPoly) + { + YnvPoly = ynvPoly; + Tag = ynvPoly; + UpdateFormTitle(); + UpdateYnvUI(); + } + + private void UpdateFormTitle() + { + Text = "Nav Poly " + YnvPoly.Index.ToString(); + } + + + public void UpdateYnvUI() + { + } + + } +} diff --git a/Project/Panels/EditYnvPolyPanel.resx b/Project/Panels/EditYnvPolyPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYnvPolyPanel.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/Project/Panels/EditYtypPanel.Designer.cs b/Project/Panels/EditYtypPanel.Designer.cs new file mode 100644 index 0000000..8b545b4 --- /dev/null +++ b/Project/Panels/EditYtypPanel.Designer.cs @@ -0,0 +1,62 @@ +namespace CodeWalker.Project.Panels +{ + partial class EditYtypPanel + { + /// + /// 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(EditYtypPanel)); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(58, 52); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(99, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Ytyp editing TODO!"; + // + // EditYtypPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(469, 292); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "EditYtypPanel"; + this.Text = "Edit Ytyp"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Project/Panels/EditYtypPanel.cs b/Project/Panels/EditYtypPanel.cs new file mode 100644 index 0000000..0a34f1a --- /dev/null +++ b/Project/Panels/EditYtypPanel.cs @@ -0,0 +1,63 @@ +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.Project.Panels +{ + public partial class EditYtypPanel : ProjectPanel + { + public ProjectForm2 ProjectForm; + public YtypFile Ytyp { get; set; } + + //private bool populatingui = false; + private bool waschanged = false; + + public EditYtypPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public void SetYtyp(YtypFile ytyp) + { + Ytyp = ytyp; + Tag = ytyp; + UpdateFormTitle(); + UpdateYtypUI(); + waschanged = ytyp?.HasChanged ?? false; + } + + public void UpdateFormTitleYtypChanged() + { + bool changed = Ytyp.HasChanged; + if (!waschanged && changed) + { + UpdateFormTitle(); + waschanged = true; + } + else if (waschanged && !changed) + { + UpdateFormTitle(); + waschanged = false; + } + } + private void UpdateFormTitle() + { + string fn = Ytyp.RpfFileEntry?.Name ?? Ytyp.Name; + if (string.IsNullOrEmpty(fn)) fn = "untitled.ytyp"; + Text = fn + (Ytyp.HasChanged ? "*" : ""); + } + + + public void UpdateYtypUI() + { + } + } +} diff --git a/Project/Panels/EditYtypPanel.resx b/Project/Panels/EditYtypPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/EditYtypPanel.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/Project/Panels/ProjectExplorerPanel.Designer.cs b/Project/Panels/ProjectExplorerPanel.Designer.cs new file mode 100644 index 0000000..5bebe08 --- /dev/null +++ b/Project/Panels/ProjectExplorerPanel.Designer.cs @@ -0,0 +1,71 @@ +namespace CodeWalker.Project.Panels +{ + partial class ProjectExplorerPanel + { + /// + /// 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(ProjectExplorerPanel)); + this.ProjectTreeView = new System.Windows.Forms.TreeView(); + this.SuspendLayout(); + // + // ProjectTreeView + // + this.ProjectTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.ProjectTreeView.Dock = System.Windows.Forms.DockStyle.Fill; + this.ProjectTreeView.FullRowSelect = true; + this.ProjectTreeView.HideSelection = false; + this.ProjectTreeView.Location = new System.Drawing.Point(0, 0); + this.ProjectTreeView.Name = "ProjectTreeView"; + this.ProjectTreeView.ShowLines = false; + this.ProjectTreeView.ShowRootLines = false; + this.ProjectTreeView.Size = new System.Drawing.Size(270, 559); + this.ProjectTreeView.TabIndex = 0; + this.ProjectTreeView.BeforeCollapse += new System.Windows.Forms.TreeViewCancelEventHandler(this.ProjectTreeView_BeforeCollapse); + this.ProjectTreeView.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.ProjectTreeView_BeforeExpand); + this.ProjectTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.ProjectTreeView_AfterSelect); + this.ProjectTreeView.DoubleClick += new System.EventHandler(this.ProjectTreeView_DoubleClick); + this.ProjectTreeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ProjectTreeView_MouseDown); + // + // ProjectExplorerPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(270, 559); + this.Controls.Add(this.ProjectTreeView); + this.HideOnClose = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "ProjectExplorerPanel"; + this.Text = "Project Explorer"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TreeView ProjectTreeView; + } +} \ No newline at end of file diff --git a/Project/Panels/ProjectExplorerPanel.cs b/Project/Panels/ProjectExplorerPanel.cs new file mode 100644 index 0000000..93cf354 --- /dev/null +++ b/Project/Panels/ProjectExplorerPanel.cs @@ -0,0 +1,880 @@ +using CodeWalker.GameFiles; +using CodeWalker.World; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace CodeWalker.Project.Panels +{ + public partial class ProjectExplorerPanel : ProjectPanel + { + public ProjectForm2 ProjectForm { get; set; } + public ProjectFile CurrentProjectFile { get; set; } + + private bool inDoubleClick = false; //used in disabling double-click to expand tree nodes + + public ProjectExplorerPanel(ProjectForm2 projectForm) + { + ProjectForm = projectForm; + InitializeComponent(); + } + + public override void SetTheme(ThemeBase theme) + { + base.SetTheme(theme); + if (theme is VS2015DarkTheme) + { + ProjectTreeView.BackColor = theme.ColorPalette.MainWindowActive.Background; + ProjectTreeView.ForeColor = Color.White; + ProjectTreeView.LineColor = Color.White; + } + else + { + ProjectTreeView.BackColor = SystemColors.Window; + ProjectTreeView.ForeColor = SystemColors.WindowText; + ProjectTreeView.LineColor = Color.Black; + } + } + + + + public void LoadProjectTree(ProjectFile projectFile) + { + ProjectTreeView.Nodes.Clear(); + + CurrentProjectFile = projectFile; + if (CurrentProjectFile == null) return; + + var pcstr = CurrentProjectFile.HasChanged ? "*" : ""; + + var projnode = ProjectTreeView.Nodes.Add(pcstr + CurrentProjectFile.Name); + projnode.Tag = CurrentProjectFile; + + + if (CurrentProjectFile.YmapFiles.Count > 0) + { + var ymapsnode = projnode.Nodes.Add("Ymap Files"); + ymapsnode.Name = "Ymap"; + + foreach (var ymapfile in CurrentProjectFile.YmapFiles) + { + var ycstr = ymapfile.HasChanged ? "*" : ""; + string name = ymapfile.Name; + if (ymapfile.RpfFileEntry != null) + { + name = ymapfile.RpfFileEntry.Name; + } + var ymapnode = ymapsnode.Nodes.Add(ycstr + name); + ymapnode.Tag = ymapfile; + + LoadYmapTreeNodes(ymapfile, ymapnode); + + JenkIndex.Ensure(name); + JenkIndex.Ensure(Path.GetFileNameWithoutExtension(name)); + } + ymapsnode.Expand(); + } + + if (CurrentProjectFile.YtypFiles.Count > 0) + { + var ytypsnode = projnode.Nodes.Add("Ytyp Files"); + ytypsnode.Name = "Ytyp"; + + foreach (var ytypfile in CurrentProjectFile.YtypFiles) + { + var ycstr = ytypfile.HasChanged ? "*" : ""; + string name = ytypfile.Name; + if (ytypfile.RpfFileEntry != null) + { + name = ytypfile.RpfFileEntry.Name; + } + var ytypnode = ytypsnode.Nodes.Add(ycstr + name); + ytypnode.Tag = ytypfile; + + LoadYtypTreeNodes(ytypfile, ytypnode); + + JenkIndex.Ensure(name); + JenkIndex.Ensure(Path.GetFileNameWithoutExtension(name)); + } + ytypsnode.Expand(); + } + + if (CurrentProjectFile.YndFiles.Count > 0) + { + var yndsnode = projnode.Nodes.Add("Ynd Files"); + yndsnode.Name = "Ynd"; + + foreach (var yndfile in CurrentProjectFile.YndFiles) + { + var ycstr = yndfile.HasChanged ? "*" : ""; + string name = yndfile.Name; + if (yndfile.RpfFileEntry != null) + { + name = yndfile.RpfFileEntry.Name; + } + var yndnode = yndsnode.Nodes.Add(ycstr + name); + yndnode.Tag = yndfile; + + LoadYndTreeNodes(yndfile, yndnode); + } + yndsnode.Expand(); + } + + if (CurrentProjectFile.YnvFiles.Count > 0) + { + var ynvsnode = projnode.Nodes.Add("Ynv Files"); + ynvsnode.Name = "Ynv"; + + foreach (var ynvfile in CurrentProjectFile.YnvFiles) + { + var ycstr = ynvfile.HasChanged ? "*" : ""; + string name = ynvfile.Name; + if (ynvfile.RpfFileEntry != null) + { + name = ynvfile.RpfFileEntry.Name; + } + var ynvnode = ynvsnode.Nodes.Add(ycstr + name); + ynvnode.Tag = ynvfile; + + LoadYnvTreeNodes(ynvfile, ynvnode); + } + ynvsnode.Expand(); + } + + if (CurrentProjectFile.TrainsFiles.Count > 0) + { + var trainsnode = projnode.Nodes.Add("Trains Files"); + trainsnode.Name = "Trains"; + + foreach (var trainfile in CurrentProjectFile.TrainsFiles) + { + var tcstr = trainfile.HasChanged ? "*" : ""; + string name = trainfile.Name; + if (trainfile.RpfFileEntry != null) + { + name = trainfile.RpfFileEntry.Name; + } + var trainnode = trainsnode.Nodes.Add(tcstr + name); + trainnode.Tag = trainfile; + + LoadTrainTrackTreeNodes(trainfile, trainnode); + } + trainsnode.Expand(); + } + + if (CurrentProjectFile.ScenarioFiles.Count > 0) + { + var scenariosnode = projnode.Nodes.Add("Scenario Files"); + scenariosnode.Name = "Scenarios"; + + foreach (var scenariofile in CurrentProjectFile.ScenarioFiles) + { + var scstr = scenariofile.HasChanged ? "*" : ""; + string name = scenariofile.Name; + if (scenariofile.RpfFileEntry != null) + { + name = scenariofile.RpfFileEntry.Name; + } + var scenarionode = scenariosnode.Nodes.Add(scstr + name); + scenarionode.Tag = scenariofile; + + LoadScenarioTreeNodes(scenariofile, scenarionode); + } + scenariosnode.Expand(); + } + + projnode.Expand(); + + } + + private void LoadYmapTreeNodes(YmapFile ymap, TreeNode node) + { + if (ymap == null) return; + + if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Entities and CarGens + + node.Nodes.Clear(); + + if ((ymap.AllEntities != null) && (ymap.AllEntities.Length > 0)) + { + var entsnode = node.Nodes.Add("Entities (" + ymap.AllEntities.Length.ToString() + ")"); + entsnode.Name = "Entities"; + entsnode.Tag = ymap; + var ents = ymap.AllEntities; + for (int i = 0; i < ents.Length; i++) + { + var ent = ents[i]; + var edef = ent.CEntityDef; + var enode = entsnode.Nodes.Add(edef.archetypeName.ToString()); + enode.Tag = ent; + } + } + if ((ymap.CarGenerators != null) && (ymap.CarGenerators.Length > 0)) + { + var cargensnode = node.Nodes.Add("Car Generators (" + ymap.CarGenerators.Length.ToString() + ")"); + cargensnode.Name = "CarGens"; + cargensnode.Tag = ymap; + var cargens = ymap.CarGenerators; + for (int i = 0; i < cargens.Length; i++) + { + var cargen = cargens[i]; + var ccgnode = cargensnode.Nodes.Add(cargen.ToString()); + ccgnode.Tag = cargen; + } + } + if ((ymap.GrassInstanceBatches != null) && (ymap.GrassInstanceBatches.Length > 0)) + { + var grassbatchesnodes = node.Nodes.Add("Grass Batches (" + ymap.GrassInstanceBatches.Length.ToString() + ")"); + grassbatchesnodes.Name = "GrassBatches"; + grassbatchesnodes.Tag = ymap; + var grassbatches = ymap.GrassInstanceBatches; + for (int i = 0; i < grassbatches.Length; i++) + { + var batch = grassbatches[i]; + var gbnode = grassbatchesnodes.Nodes.Add(batch.ToString()); + gbnode.Tag = batch; + } + } + + } + private void LoadYtypTreeNodes(YtypFile ytyp, TreeNode node)//TODO! + { + } + private void LoadYndTreeNodes(YndFile ynd, TreeNode node) + { + if (ynd == null) return; + + if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Nodes + + node.Nodes.Clear(); + + + + if ((ynd.Nodes != null) && (ynd.Nodes.Length > 0)) + { + var nodesnode = node.Nodes.Add("Nodes (" + ynd.Nodes.Length.ToString() + ")"); + nodesnode.Name = "Nodes"; + nodesnode.Tag = ynd; + var nodes = ynd.Nodes; + for (int i = 0; i < nodes.Length; i++) + { + var ynode = nodes[i]; + var nnode = ynode.RawData; + var tnode = nodesnode.Nodes.Add(nnode.ToString()); + tnode.Tag = ynode; + } + } + + } + private void LoadYnvTreeNodes(YnvFile ynv, TreeNode node)//TODO! + { + } + private void LoadTrainTrackTreeNodes(TrainTrack track, TreeNode node) + { + if (track == null) return; + + if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Nodes + + node.Nodes.Clear(); + + + + if ((track.Nodes != null) && (track.Nodes.Count > 0)) + { + var nodesnode = node.Nodes.Add("Nodes (" + track.Nodes.Count.ToString() + ")"); + nodesnode.Name = "Nodes"; + nodesnode.Tag = track; + var nodes = track.Nodes; + for (int i = 0; i < nodes.Count; i++) + { + var ynode = nodes[i]; + var tnode = nodesnode.Nodes.Add(ynode.ToString()); + tnode.Tag = ynode; + } + } + + } + private void LoadScenarioTreeNodes(YmtFile ymt, TreeNode node) + { + if (!string.IsNullOrEmpty(node.Name)) return; //named nodes are eg Points + + node.Nodes.Clear(); + + var region = ymt?.ScenarioRegion; + + if (region == null) return; + + var nodes = region.Nodes; + if ((nodes == null) || (nodes.Count == 0)) return; + + var pointsnode = node.Nodes.Add("Points (" + nodes.Count.ToString() + ")"); + pointsnode.Name = "Points"; + pointsnode.Tag = ymt; + for (int i = 0; i < nodes.Count; i++) + { + var snode = nodes[i]; + var tnode = pointsnode.Nodes.Add(snode.MedTypeName + ": " + snode.StringText); + tnode.Tag = snode; + } + + //var sr = region.Region; + //if (sr == null) return; + //int pointCount = (sr.Points?.LoadSavePoints?.Length ?? 0) + (sr.Points?.MyPoints?.Length ?? 0); + //int entityOverrideCount = (sr.EntityOverrides?.Length ?? 0); + //int chainCount = (sr.Paths?.Chains?.Length ?? 0); + //int clusterCount = (sr.Clusters?.Length ?? 0); + //TreeNode pointsNode = null; + //TreeNode entityOverridesNode = null; + //TreeNode chainsNode = null; + //TreeNode clustersNode = null; + //if (pointCount > 0) + //{ + // pointsNode = node.Nodes.Add("Points (" + pointCount.ToString() + ")"); + //} + //if (entityOverrideCount > 0) + //{ + // entityOverridesNode = node.Nodes.Add("Entity Overrides (" + entityOverrideCount.ToString() + ")"); + //} + //if (chainCount > 0) + //{ + // chainsNode = node.Nodes.Add("Chains (" + chainsNode.ToString() + ")"); + //} + //if (clusterCount > 0) + //{ + // clustersNode = node.Nodes.Add("Clusters (" + clusterCount.ToString() + ")"); + //} + //for (int i = 0; i < nodes.Count; i++) + //{ + // var snode = nodes[i]; + // if (snode == null) continue; + // if ((pointsNode != null) && ((snode.LoadSavePoint != null) || (snode.MyPoint != null))) + // { + // pointsNode.Nodes.Add(snode.ToString()).Tag = snode; + // } + // if ((entityOverridesNode != null) && ((snode.EntityOverride != null) || (snode.EntityPoint != null))) + // { + // entityOverridesNode.Nodes.Add(snode.ToString()).Tag = snode; + // } + // if ((chainsNode != null) && (snode.ChainingNode != null)) + // { + // chainsNode.Nodes.Add(snode.ToString()).Tag = snode; + // } + // if ((clustersNode != null) && ((snode.Cluster != null) || (snode.ClusterLoadSavePoint != null) || (snode.ClusterMyPoint != null))) + // { + // clustersNode.Nodes.Add(snode.ToString()).Tag = snode; + // } + //} + + } + + + + public void SetProjectHasChanged(bool changed) + { + if ((ProjectTreeView.Nodes.Count > 0) && (CurrentProjectFile != null)) + { + //first node is the project... + string changestr = changed ? "*" : ""; + ProjectTreeView.Nodes[0].Text = changestr + CurrentProjectFile.Name; + } + } + public void SetYmapHasChanged(YmapFile ymap, bool changed) + { + if (ProjectTreeView.Nodes.Count > 0) + { + var pnode = ProjectTreeView.Nodes[0]; + var ymnode = GetChildTreeNode(pnode, "Ymap"); + if (ymnode == null) return; + string changestr = changed ? "*" : ""; + for (int i = 0; i < ymnode.Nodes.Count; i++) + { + var ynode = ymnode.Nodes[i]; + if (ynode.Tag == ymap) + { + string name = ymap.Name; + if (ymap.RpfFileEntry != null) + { + name = ymap.RpfFileEntry.Name; + } + ynode.Text = changestr + name; + break; + } + } + } + } + public void SetYtypHasChanged(YtypFile ytyp, bool changed) + { + if (ProjectTreeView.Nodes.Count > 0) + { + var pnode = ProjectTreeView.Nodes[0]; + var ytnode = GetChildTreeNode(pnode, "Ytyp"); + if (ytnode == null) return; + string changestr = changed ? "*" : ""; + for (int i = 0; i < ytnode.Nodes.Count; i++) + { + var ynode = ytnode.Nodes[i]; + if (ynode.Tag == ytyp) + { + string name = ytyp.Name; + if (ytyp.RpfFileEntry != null) + { + name = ytyp.RpfFileEntry.Name; + } + ynode.Text = changestr + name; + break; + } + } + } + } + public void SetYndHasChanged(YndFile ynd, bool changed) + { + if (ProjectTreeView.Nodes.Count > 0) + { + var pnode = ProjectTreeView.Nodes[0]; + var ynnode = GetChildTreeNode(pnode, "Ynd"); + if (ynnode == null) return; + string changestr = changed ? "*" : ""; + for (int i = 0; i < ynnode.Nodes.Count; i++) + { + var ynode = ynnode.Nodes[i]; + if (ynode.Tag == ynd) + { + string name = ynd.Name; + if (ynd.RpfFileEntry != null) + { + name = ynd.RpfFileEntry.Name; + } + ynode.Text = changestr + name; + break; + } + } + } + } + public void SetYnvHasChanged(YnvFile ynv, bool changed)//TODO! + { + } + public void SetTrainTrackHasChanged(TrainTrack track, bool changed) + { + if (ProjectTreeView.Nodes.Count > 0) + { + var pnode = ProjectTreeView.Nodes[0]; + var trnode = GetChildTreeNode(pnode, "Trains"); + if (trnode == null) return; + string changestr = changed ? "*" : ""; + for (int i = 0; i < trnode.Nodes.Count; i++) + { + var tnode = trnode.Nodes[i]; + if (tnode.Tag == track) + { + string name = track.Name; + if (track.RpfFileEntry != null) + { + name = track.RpfFileEntry.Name; + } + tnode.Text = changestr + name; + break; + } + } + } + } + public void SetScenarioHasChanged(YmtFile scenario, bool changed) + { + if (ProjectTreeView.Nodes.Count > 0) + { + var pnode = ProjectTreeView.Nodes[0]; + var scnode = GetChildTreeNode(pnode, "Scenarios"); + if (scnode == null) return; + string changestr = changed ? "*" : ""; + for (int i = 0; i < scnode.Nodes.Count; i++) + { + var snode = scnode.Nodes[i]; + if (snode.Tag == scenario) + { + string name = scenario.Name; + if (scenario.RpfFileEntry != null) + { + name = scenario.RpfFileEntry.Name; + } + snode.Text = changestr + name; + break; + } + } + } + } + + + + + + + + + + private TreeNode GetChildTreeNode(TreeNode node, string name) + { + if (node == null) return null; + var nodes = node.Nodes.Find(name, false); + if ((nodes == null) || (nodes.Length != 1)) return null; + return nodes[0]; + } + public TreeNode FindYmapTreeNode(YmapFile ymap) + { + if (ProjectTreeView.Nodes.Count <= 0) return null; + var projnode = ProjectTreeView.Nodes[0]; + var ymapsnode = GetChildTreeNode(projnode, "Ymap"); + if (ymapsnode == null) return null; + for (int i = 0; i < ymapsnode.Nodes.Count; i++) + { + var ymapnode = ymapsnode.Nodes[i]; + if (ymapnode.Tag == ymap) return ymapnode; + } + return null; + } + public TreeNode FindEntityTreeNode(YmapEntityDef ent) + { + if (ent == null) return null; + TreeNode ymapnode = FindYmapTreeNode(ent.Ymap); + if (ymapnode == null) return null; + var entsnode = GetChildTreeNode(ymapnode, "Entities"); + if (entsnode == null) return null; + for (int i = 0; i < entsnode.Nodes.Count; i++) + { + TreeNode entnode = entsnode.Nodes[i]; + if (entnode.Tag == ent) return entnode; + } + return null; + } + public TreeNode FindCarGenTreeNode(YmapCarGen cargen) + { + if (cargen == null) return null; + TreeNode ymapnode = FindYmapTreeNode(cargen.Ymap); + if (ymapnode == null) return null; + var cargensnode = GetChildTreeNode(ymapnode, "CarGens"); + if (cargensnode == null) return null; + for (int i = 0; i < cargensnode.Nodes.Count; i++) + { + TreeNode cargennode = cargensnode.Nodes[i]; + if (cargennode.Tag == cargen) return cargennode; + } + return null; + } + public TreeNode FindYndTreeNode(YndFile ynd) + { + if (ProjectTreeView.Nodes.Count <= 0) return null; + var projnode = ProjectTreeView.Nodes[0]; + var yndsnode = GetChildTreeNode(projnode, "Ynd"); + if (yndsnode == null) return null; + for (int i = 0; i < yndsnode.Nodes.Count; i++) + { + var yndnode = yndsnode.Nodes[i]; + if (yndnode.Tag == ynd) return yndnode; + } + return null; + } + public TreeNode FindPathNodeTreeNode(YndNode n) + { + if (n == null) return null; + TreeNode yndnode = FindYndTreeNode(n.Ynd); + var nodesnode = GetChildTreeNode(yndnode, "Nodes"); + if (nodesnode == null) return null; + for (int i = 0; i < nodesnode.Nodes.Count; i++) + { + TreeNode nnode = nodesnode.Nodes[i]; + if (nnode.Tag == n) return nnode; + } + return null; + } + public TreeNode FindYnvTreeNode(YnvFile ynv) + { + if (ProjectTreeView.Nodes.Count <= 0) return null; + var projnode = ProjectTreeView.Nodes[0]; + var ynvsnode = GetChildTreeNode(projnode, "Ynv"); + if (ynvsnode == null) return null; + for (int i = 0; i < ynvsnode.Nodes.Count; i++) + { + var yndnode = ynvsnode.Nodes[i]; + if (yndnode.Tag == ynv) return yndnode; + } + return null; + } + public TreeNode FindNavPolyTreeNode(YnvPoly p) + { + if (p == null) return null; + TreeNode ynvnode = FindYnvTreeNode(p.Ynv); + var polysnode = GetChildTreeNode(ynvnode, "Polygons"); + if (polysnode == null) return null; + for (int i = 0; i < polysnode.Nodes.Count; i++) + { + TreeNode pnode = polysnode.Nodes[i]; + if (pnode.Tag == p) return pnode; + } + return null; + } + public TreeNode FindTrainTrackTreeNode(TrainTrack track) + { + if (ProjectTreeView.Nodes.Count <= 0) return null; + var projnode = ProjectTreeView.Nodes[0]; + var trainsnode = GetChildTreeNode(projnode, "Trains"); + if (trainsnode == null) return null; + for (int i = 0; i < trainsnode.Nodes.Count; i++) + { + var trainnode = trainsnode.Nodes[i]; + if (trainnode.Tag == track) return trainnode; + } + return null; + } + public TreeNode FindTrainNodeTreeNode(TrainTrackNode n) + { + if (n == null) return null; + TreeNode tracknode = FindTrainTrackTreeNode(n.Track); + var nodesnode = GetChildTreeNode(tracknode, "Nodes"); + if (nodesnode == null) return null; + for (int i = 0; i < nodesnode.Nodes.Count; i++) + { + TreeNode nnode = nodesnode.Nodes[i]; + if (nnode.Tag == n) return nnode; + } + return null; + } + public TreeNode FindScenarioTreeNode(YmtFile ymt) + { + if (ProjectTreeView.Nodes.Count <= 0) return null; + var projnode = ProjectTreeView.Nodes[0]; + var scenariosnode = GetChildTreeNode(projnode, "Scenarios"); + if (scenariosnode == null) return null; + for (int i = 0; i < scenariosnode.Nodes.Count; i++) + { + var ymtnode = scenariosnode.Nodes[i]; + if (ymtnode.Tag == ymt) return ymtnode; + } + return null; + } + public TreeNode FindScenarioNodeTreeNode(ScenarioNode p) + { + if (p == null) return null; + TreeNode ymtnode = FindScenarioTreeNode(p.Ymt); + var pointsnode = GetChildTreeNode(ymtnode, "Points"); + if (pointsnode == null) return null; + for (int i = 0; i < pointsnode.Nodes.Count; i++) + { + TreeNode pnode = pointsnode.Nodes[i]; + if (pnode.Tag == p) return pnode; + } + return null; + } + + + + + + public void DeselectNode() + { + ProjectTreeView.SelectedNode = null; + } + public void TrySelectEntityTreeNode(YmapEntityDef ent) + { + TreeNode entnode = FindEntityTreeNode(ent); + if (entnode != null) + { + ProjectTreeView.SelectedNode = entnode; + } + } + public void TrySelectCarGenTreeNode(YmapCarGen cargen) + { + TreeNode cargennode = FindCarGenTreeNode(cargen); + if (cargennode != null) + { + ProjectTreeView.SelectedNode = cargennode; + } + } + public void TrySelectPathNodeTreeNode(YndNode node) + { + TreeNode tnode = FindPathNodeTreeNode(node); + if (tnode == null) + { + tnode = FindYndTreeNode(node?.Ynd); + } + if (tnode != null) + { + ProjectTreeView.SelectedNode = tnode; + } + } + public void TrySelectNavPolyTreeNode(YnvPoly poly) + { + TreeNode tnode = FindNavPolyTreeNode(poly); + if (tnode == null) + { + tnode = FindYnvTreeNode(poly?.Ynv); + } + if (tnode != null) + { + ProjectTreeView.SelectedNode = tnode; + } + } + public void TrySelectTrainNodeTreeNode(TrainTrackNode node) + { + TreeNode tnode = FindTrainNodeTreeNode(node); + if (tnode == null) + { + tnode = FindTrainTrackTreeNode(node?.Track); + } + if (tnode != null) + { + ProjectTreeView.SelectedNode = tnode; + } + } + public void TrySelectScenarioTreeNode(YmtFile scenario) + { + TreeNode tnode = FindScenarioTreeNode(scenario); + if (tnode != null) + { + ProjectTreeView.SelectedNode = tnode; + } + } + public void TrySelectScenarioNodeTreeNode(ScenarioNode node) + { + TreeNode tnode = FindScenarioNodeTreeNode(node); + if (tnode == null) + { + tnode = FindScenarioTreeNode(node?.Ymt); + } + if (tnode != null) + { + ProjectTreeView.SelectedNode = tnode; + } + } + + public void UpdateCarGenTreeNode(YmapCarGen cargen) + { + var tn = FindCarGenTreeNode(cargen); + if (tn != null) + { + tn.Text = cargen.ToString(); + } + } + public void UpdatePathNodeTreeNode(YndNode node) + { + var tn = FindPathNodeTreeNode(node); + if (tn != null) + { + tn.Text = node._RawData.ToString(); + } + } + public void UpdateNavPolyTreeNode(YnvPoly poly) + { + var tn = FindNavPolyTreeNode(poly); + if (tn != null) + { + tn.Text = poly._RawData.ToString(); + } + } + public void UpdateTrainNodeTreeNode(TrainTrackNode node) + { + var tn = FindTrainNodeTreeNode(node); + if (tn != null) + { + tn.Text = node.ToString(); + } + } + public void UpdateScenarioNodeTreeNode(ScenarioNode node) + { + var tn = FindScenarioNodeTreeNode(node); + if (tn != null) + { + tn.Text = node.MedTypeName + ": " + node.StringText; + } + } + + public void RemoveEntityTreeNode(YmapEntityDef ent) + { + var tn = FindEntityTreeNode(ent); + if ((tn != null) && (tn.Parent != null)) + { + tn.Parent.Text = "Entities (" + ent.Ymap.AllEntities.Length.ToString() + ")"; + tn.Parent.Nodes.Remove(tn); + } + } + public void RemoveCarGenTreeNode(YmapCarGen cargen) + { + var tn = FindCarGenTreeNode(cargen); + if ((tn != null) && (tn.Parent != null)) + { + tn.Parent.Text = "Car Generators (" + cargen.Ymap.CarGenerators.Length.ToString() + ")"; + tn.Parent.Nodes.Remove(tn); + } + } + public void RemovePathNodeTreeNode(YndNode node) + { + var tn = FindPathNodeTreeNode(node); + if ((tn != null) && (tn.Parent != null)) + { + tn.Parent.Text = "Nodes (" + node.Ynd.Nodes.Length.ToString() + ")"; + tn.Parent.Nodes.Remove(tn); + } + } + public void RemoveTrainNodeTreeNode(TrainTrackNode node) + { + var tn = FindTrainNodeTreeNode(node); + if ((tn != null) && (tn.Parent != null)) + { + tn.Parent.Text = "Nodes (" + node.Track.Nodes.Count.ToString() + ")"; + tn.Parent.Nodes.Remove(tn); + } + } + public void RemoveScenarioNodeTreeNode(ScenarioNode node) + { + var tn = FindScenarioNodeTreeNode(node); + if ((tn != null) && (tn.Parent != null)) + { + tn.Parent.Text = "Points (" + (node.Ymt?.ScenarioRegion?.Nodes?.Count ?? 0).ToString() + ")"; + tn.Parent.Nodes.Remove(tn); + } + } + + + + + + public event ProjectExplorerItemSelectHandler OnItemSelected; + public event ProjectExplorerItemActivateHandler OnItemActivated; + + + + private void ProjectTreeView_AfterSelect(object sender, TreeViewEventArgs e) + { + OnItemSelected?.Invoke(ProjectTreeView.SelectedNode?.Tag); + } + private void ProjectTreeView_DoubleClick(object sender, EventArgs e) + { + if (ProjectTreeView.SelectedNode != null) + { + OnItemActivated?.Invoke(ProjectTreeView.SelectedNode.Tag); + } + } + + private void ProjectTreeView_BeforeCollapse(object sender, TreeViewCancelEventArgs e) + { + //if (e.Node.Tag != CurrentProjectFile) return; //disabling doubleclick expand/collapse only for project node + if (inDoubleClick == true && e.Action == TreeViewAction.Collapse) e.Cancel = true; + } + private void ProjectTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e) + { + //if (e.Node.Tag != CurrentProjectFile) return; //disabling doubleclick expand/collapse only for project node + if (inDoubleClick == true && e.Action == TreeViewAction.Expand) e.Cancel = true; + } + private void ProjectTreeView_MouseDown(object sender, MouseEventArgs e) + { + inDoubleClick = (e.Clicks > 1); //disabling doubleclick expand/collapse + } + } + public delegate void ProjectExplorerItemSelectHandler(object item); + public delegate void ProjectExplorerItemActivateHandler(object item); +} diff --git a/Project/Panels/ProjectExplorerPanel.resx b/Project/Panels/ProjectExplorerPanel.resx new file mode 100644 index 0000000..1431f6b --- /dev/null +++ b/Project/Panels/ProjectExplorerPanel.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/Project/Panels/WelcomePanel.Designer.cs b/Project/Panels/WelcomePanel.Designer.cs new file mode 100644 index 0000000..70febbf --- /dev/null +++ b/Project/Panels/WelcomePanel.Designer.cs @@ -0,0 +1,77 @@ +namespace CodeWalker.Project.Panels +{ + partial class WelcomePanel + { + /// + /// 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(WelcomePanel)); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(23, 20); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(266, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Welcome to the CodeWalker Project Window!"; + // + // label2 + // + this.label2.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.label2.Location = new System.Drawing.Point(37, 49); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(534, 329); + this.label2.TabIndex = 1; + this.label2.Text = resources.GetString("label2.Text"); + // + // WelcomePanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(613, 401); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "WelcomePanel"; + this.Text = "Welcome"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + } +} \ No newline at end of file diff --git a/Project/Panels/WelcomePanel.cs b/Project/Panels/WelcomePanel.cs new file mode 100644 index 0000000..aff2272 --- /dev/null +++ b/Project/Panels/WelcomePanel.cs @@ -0,0 +1,22 @@ +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; +using WeifenLuo.WinFormsUI.Docking; + +namespace CodeWalker.Project.Panels +{ + public partial class WelcomePanel : ProjectPanel + { + public WelcomePanel() + { + InitializeComponent(); + } + + } +} diff --git a/Project/Panels/WelcomePanel.resx b/Project/Panels/WelcomePanel.resx new file mode 100644 index 0000000..b0c0824 --- /dev/null +++ b/Project/Panels/WelcomePanel.resx @@ -0,0 +1,416 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + This window is the starting point for modding using CodeWalker. It allows editing of various different file types often used in creating map mods. + +To get started, create a new project or open an existing one using the File menu. + +Items can be edited in the CodeWalker World View using the various tools, and modified items in the World View will have their containing files added to the project automatically. The selected item in World View can also have its properties modified directly on its property page. + + + + + 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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/Project/ProjectFile.cs b/Project/ProjectFile.cs index 8622e13..daf7850 100644 --- a/Project/ProjectFile.cs +++ b/Project/ProjectFile.cs @@ -16,6 +16,7 @@ namespace CodeWalker.Project public string Name { get; set; } //friendly name for this project public int Version { get; set; } public List YmapFilenames { get; set; } = new List(); + public List YtypFilenames { get; set; } = new List(); public List YndFilenames { get; set; } = new List(); public List YnvFilenames { get; set; } = new List(); public List TrainsFilenames { get; set; } = new List(); @@ -27,6 +28,7 @@ namespace CodeWalker.Project public bool HasChanged { get; set; } //flag for use by the UI public List YmapFiles { get; set; } = new List(); + public List YtypFiles { get; set; } = new List(); public List YndFiles { get; set; } = new List(); public List YnvFiles { get; set; } = new List(); public List TrainsFiles { get; set; } = new List(); @@ -49,6 +51,12 @@ namespace CodeWalker.Project Xml.AddChildWithInnerText(doc, ymapselem, "Item", ymapfilename); } + var ytypselem = Xml.AddChild(doc, projelem, "YtypFilenames"); + foreach (string ytypfilename in YtypFilenames) + { + Xml.AddChildWithInnerText(doc, ytypselem, "Item", ytypfilename); + } + var yndselem = Xml.AddChild(doc, projelem, "YndFilenames"); foreach (string yndfilename in YndFilenames) { @@ -106,6 +114,21 @@ namespace CodeWalker.Project } + YtypFilenames.Clear(); + YtypFiles.Clear(); + var ytypselem = Xml.GetChild(projelem, "YtypFilenames"); + if (ytypselem != null) + { + foreach (var node in ytypselem.SelectNodes("Item")) + { + XmlElement ytypel = node as XmlElement; + if (ytypel != null) + { + AddYtypFile(ytypel.InnerText); + } + } + } + YndFilenames.Clear(); YndFiles.Clear(); @@ -182,6 +205,10 @@ namespace CodeWalker.Project { YmapFilenames[i] = GetUpdatedFilePath(YmapFilenames[i], oldprojpath); } + for (int i = 0; i < YtypFilenames.Count; i++) + { + YtypFilenames[i] = GetUpdatedFilePath(YtypFilenames[i], oldprojpath); + } for (int i = 0; i < YndFilenames.Count; i++) { YndFilenames[i] = GetUpdatedFilePath(YndFilenames[i], oldprojpath); @@ -264,7 +291,7 @@ namespace CodeWalker.Project { YmapFile ymap = new YmapFile(); ymap.RpfFileEntry = new RpfResourceFileEntry(); - ymap.RpfFileEntry.Name = new FileInfo(filename).Name; + ymap.RpfFileEntry.Name = Path.GetFileName(filename); ymap.FilePath = GetFullFilePath(filename); ymap.Name = ymap.RpfFileEntry.Name; JenkIndex.Ensure(ymap.Name); @@ -330,11 +357,81 @@ namespace CodeWalker.Project } + public YtypFile AddYtypFile(string filename) + { + YtypFile ytyp = new YtypFile(); + ytyp.RpfFileEntry = new RpfResourceFileEntry(); + ytyp.RpfFileEntry.Name = Path.GetFileName(filename); + ytyp.FilePath = GetFullFilePath(filename); + ytyp.Name = ytyp.RpfFileEntry.Name; + JenkIndex.Ensure(ytyp.Name); + JenkIndex.Ensure(Path.GetFileNameWithoutExtension(ytyp.Name)); + JenkIndex.Ensure(filename); + if (!AddYtypFile(ytyp)) return null; + return ytyp; + } + public bool AddYtypFile(YtypFile ytyp) + { + string relpath = GetRelativePath(ytyp.FilePath); + if (string.IsNullOrEmpty(relpath)) relpath = ytyp.Name; + if (YtypFilenames.Contains(relpath)) return false; + YtypFilenames.Add(relpath); + YtypFiles.Add(ytyp); + return true; + } + public void RemoveYtypFile(YtypFile ytyp) + { + if (ytyp == null) return; + var relpath = GetRelativePath(ytyp.FilePath); + if (string.IsNullOrEmpty(relpath)) relpath = ytyp.Name; + YtypFiles.Remove(ytyp); + YtypFilenames.Remove(relpath); + HasChanged = true; + } + public bool ContainsYtyp(string filename) + { + bool found = false; + filename = filename.ToLowerInvariant(); + foreach (var ytypfn in YtypFilenames) + { + if (ytypfn == filename) + { + found = true; + break; + } + } + return found; + } + public bool ContainsYtyp(YtypFile ytyp) + { + foreach (var f in YtypFiles) + { + if (f == ytyp) return true; + } + return false; + } + public bool RenameYtyp(string oldfilename, string newfilename) + { + oldfilename = oldfilename.ToLowerInvariant(); + newfilename = newfilename.ToLowerInvariant(); + for (int i = 0; i < YtypFilenames.Count; i++) + { + if (YtypFilenames[i] == oldfilename) + { + YtypFilenames[i] = newfilename; + HasChanged = true; + return true; + } + } + return false; + } + + public YndFile AddYndFile(string filename) { YndFile ynd = new YndFile(); ynd.RpfFileEntry = new RpfResourceFileEntry(); - ynd.RpfFileEntry.Name = new FileInfo(filename).Name; + ynd.RpfFileEntry.Name = Path.GetFileName(filename); ynd.FilePath = GetFullFilePath(filename); ynd.Name = ynd.RpfFileEntry.Name; if (!AddYndFile(ynd)) return null; @@ -401,7 +498,7 @@ namespace CodeWalker.Project { YnvFile ynv = new YnvFile(); ynv.RpfFileEntry = new RpfResourceFileEntry(); - ynv.RpfFileEntry.Name = new FileInfo(filename).Name; + ynv.RpfFileEntry.Name = Path.GetFileName(filename); ynv.FilePath = GetFullFilePath(filename); ynv.Name = ynv.RpfFileEntry.Name; if (!AddYnvFile(ynv)) return null; @@ -468,7 +565,7 @@ namespace CodeWalker.Project { TrainTrack track = new TrainTrack(); track.RpfFileEntry = new RpfResourceFileEntry(); - track.RpfFileEntry.Name = new FileInfo(filename).Name; + track.RpfFileEntry.Name = Path.GetFileName(filename); track.FilePath = GetFullFilePath(filename); track.Name = track.RpfFileEntry.Name; if (!AddTrainsFile(track)) return null; @@ -535,7 +632,7 @@ namespace CodeWalker.Project { YmtFile scenario = new YmtFile(); scenario.RpfFileEntry = new RpfResourceFileEntry(); - scenario.RpfFileEntry.Name = new FileInfo(filename).Name; + scenario.RpfFileEntry.Name = Path.GetFileName(filename); scenario.FilePath = GetFullFilePath(filename); scenario.Name = scenario.RpfFileEntry.Name; scenario.ContentType = YmtFileContentType.ScenarioPointRegion; diff --git a/Project/ProjectForm2.Designer.cs b/Project/ProjectForm2.Designer.cs new file mode 100644 index 0000000..f11056b --- /dev/null +++ b/Project/ProjectForm2.Designer.cs @@ -0,0 +1,1318 @@ +namespace CodeWalker.Project +{ + partial class ProjectForm2 + { + /// + /// 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() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProjectForm2)); + this.MainMenu = new System.Windows.Forms.MenuStrip(); + this.FileMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.FileNewYmapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewYtypMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewYndMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewYnvMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewTrainsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileNewScenarioMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); + this.FileOpenYmapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenYtypMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenYndMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenYnvMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenTrainsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileOpenScenarioMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.FileCloseProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.FileSaveProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileSaveProjectAsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileSaveItemMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.FileSaveItemAsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ViewMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ViewProjectExplorerMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.ViewThemeMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ViewThemeBlueMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ViewThemeLightMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ViewThemeDarkMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolsManifestGeneratorMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.ToolsImportMenyooXmlMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.RenderMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.RenderShowGtavMapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.RenderShowProjectItemsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.MainDockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel(); + this.VSExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); + this.SaveFileDialog = new System.Windows.Forms.SaveFileDialog(); + this.OpenFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.MainToolbar = new System.Windows.Forms.ToolStrip(); + this.ToolbarNewButton = new CodeWalker.WinForms.ToolStripSplitButtonFix(); + this.ToolbarNewProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.ToolbarNewYmapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarNewYtypMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarNewYndMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarNewYnvMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarNewTrainsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarNewScenarioMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenButton = new CodeWalker.WinForms.ToolStripSplitButtonFix(); + this.ToolbarOpenProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.ToolbarOpenYmapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenYtypMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenYndMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenYnvMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenTrainsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarOpenScenarioMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolbarSaveButton = new System.Windows.Forms.ToolStripButton(); + this.ToolbarSaveAllButton = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.EditUndoMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditRedoMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.EditCutMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditCopyMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditPasteMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditDeleteMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.EditCloneMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YmapMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YtypMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YndMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YnvMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.TrainsMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YmapNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); + this.YmapNewEntityMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YmapNewCarGenMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); + this.YmapAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YmapRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YtypNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); + this.YtypNewArchetypeMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YndNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator(); + this.YtypAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YtypRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YndNewNodeMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); + this.YndAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YndRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YnvNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator(); + this.YnvNewPolygonMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator18 = new System.Windows.Forms.ToolStripSeparator(); + this.YnvAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.YnvRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.TrainsNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator(); + this.TrainsNewNodeMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator20 = new System.Windows.Forms.ToolStripSeparator(); + this.TrainsAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.TrainsRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioNameMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator21 = new System.Windows.Forms.ToolStripSeparator(); + this.ScenarioNewPointMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioNewPointFromSelectedMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioNewEntityOverrideMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioNewChainMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioNewClusterMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioImportChainMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator22 = new System.Windows.Forms.ToolStripSeparator(); + this.ScenarioAddToProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.ScenarioRemoveFromProjectMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.MainMenu.SuspendLayout(); + this.MainToolbar.SuspendLayout(); + this.SuspendLayout(); + // + // MainMenu + // + this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.FileMenu, + this.EditMenu, + this.ViewMenu, + this.YmapMenu, + this.YtypMenu, + this.YndMenu, + this.YnvMenu, + this.TrainsMenu, + this.ScenarioMenu, + this.ToolsMenu, + this.RenderMenu}); + this.MainMenu.Location = new System.Drawing.Point(0, 0); + this.MainMenu.Name = "MainMenu"; + this.MainMenu.Size = new System.Drawing.Size(813, 24); + this.MainMenu.TabIndex = 0; + this.MainMenu.Text = "Main Menu"; + // + // FileMenu + // + this.FileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.FileNewMenu, + this.FileOpenMenu, + this.toolStripSeparator3, + this.FileCloseProjectMenu, + this.toolStripSeparator4, + this.FileSaveProjectMenu, + this.FileSaveProjectAsMenu, + this.FileSaveItemMenu, + this.FileSaveItemAsMenu}); + this.FileMenu.Name = "FileMenu"; + this.FileMenu.Size = new System.Drawing.Size(37, 20); + this.FileMenu.Text = "File"; + // + // FileNewMenu + // + this.FileNewMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.FileNewProjectMenu, + this.toolStripSeparator8, + this.FileNewYmapMenu, + this.FileNewYtypMenu, + this.FileNewYndMenu, + this.FileNewYnvMenu, + this.FileNewTrainsMenu, + this.FileNewScenarioMenu}); + this.FileNewMenu.Name = "FileNewMenu"; + this.FileNewMenu.Size = new System.Drawing.Size(163, 22); + this.FileNewMenu.Text = "New"; + // + // FileNewProjectMenu + // + this.FileNewProjectMenu.Name = "FileNewProjectMenu"; + this.FileNewProjectMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewProjectMenu.Text = "Project"; + this.FileNewProjectMenu.Click += new System.EventHandler(this.FileNewProjectMenu_Click); + // + // toolStripSeparator8 + // + this.toolStripSeparator8.Name = "toolStripSeparator8"; + this.toolStripSeparator8.Size = new System.Drawing.Size(137, 6); + // + // FileNewYmapMenu + // + this.FileNewYmapMenu.Name = "FileNewYmapMenu"; + this.FileNewYmapMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewYmapMenu.Text = "Ymap File"; + this.FileNewYmapMenu.Click += new System.EventHandler(this.FileNewYmapMenu_Click); + // + // FileNewYtypMenu + // + this.FileNewYtypMenu.Name = "FileNewYtypMenu"; + this.FileNewYtypMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewYtypMenu.Text = "Ytyp File"; + this.FileNewYtypMenu.Click += new System.EventHandler(this.FileNewYtypMenu_Click); + // + // FileNewYndMenu + // + this.FileNewYndMenu.Name = "FileNewYndMenu"; + this.FileNewYndMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewYndMenu.Text = "Ynd File"; + this.FileNewYndMenu.Click += new System.EventHandler(this.FileNewYndMenu_Click); + // + // FileNewYnvMenu + // + this.FileNewYnvMenu.Name = "FileNewYnvMenu"; + this.FileNewYnvMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewYnvMenu.Text = "Ynv File"; + this.FileNewYnvMenu.Click += new System.EventHandler(this.FileNewYnvMenu_Click); + // + // FileNewTrainsMenu + // + this.FileNewTrainsMenu.Name = "FileNewTrainsMenu"; + this.FileNewTrainsMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewTrainsMenu.Text = "Trains File"; + this.FileNewTrainsMenu.Click += new System.EventHandler(this.FileNewTrainsMenu_Click); + // + // FileNewScenarioMenu + // + this.FileNewScenarioMenu.Name = "FileNewScenarioMenu"; + this.FileNewScenarioMenu.Size = new System.Drawing.Size(140, 22); + this.FileNewScenarioMenu.Text = "Scenario File"; + this.FileNewScenarioMenu.Click += new System.EventHandler(this.FileNewScenarioMenu_Click); + // + // FileOpenMenu + // + this.FileOpenMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.FileOpenProjectMenu, + this.toolStripSeparator9, + this.FileOpenYmapMenu, + this.FileOpenYtypMenu, + this.FileOpenYndMenu, + this.FileOpenYnvMenu, + this.FileOpenTrainsMenu, + this.FileOpenScenarioMenu}); + this.FileOpenMenu.Name = "FileOpenMenu"; + this.FileOpenMenu.Size = new System.Drawing.Size(163, 22); + this.FileOpenMenu.Text = "Open"; + // + // FileOpenProjectMenu + // + this.FileOpenProjectMenu.Name = "FileOpenProjectMenu"; + this.FileOpenProjectMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenProjectMenu.Text = "Project..."; + this.FileOpenProjectMenu.Click += new System.EventHandler(this.FileOpenProjectMenu_Click); + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(146, 6); + // + // FileOpenYmapMenu + // + this.FileOpenYmapMenu.Name = "FileOpenYmapMenu"; + this.FileOpenYmapMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenYmapMenu.Text = "Ymap File..."; + this.FileOpenYmapMenu.Click += new System.EventHandler(this.FileOpenYmapMenu_Click); + // + // FileOpenYtypMenu + // + this.FileOpenYtypMenu.Name = "FileOpenYtypMenu"; + this.FileOpenYtypMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenYtypMenu.Text = "Ytyp File..."; + this.FileOpenYtypMenu.Click += new System.EventHandler(this.FileOpenYtypMenu_Click); + // + // FileOpenYndMenu + // + this.FileOpenYndMenu.Name = "FileOpenYndMenu"; + this.FileOpenYndMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenYndMenu.Text = "Ynd File..."; + this.FileOpenYndMenu.Click += new System.EventHandler(this.FileOpenYndMenu_Click); + // + // FileOpenYnvMenu + // + this.FileOpenYnvMenu.Name = "FileOpenYnvMenu"; + this.FileOpenYnvMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenYnvMenu.Text = "Ynv File..."; + this.FileOpenYnvMenu.Click += new System.EventHandler(this.FileOpenYnvMenu_Click); + // + // FileOpenTrainsMenu + // + this.FileOpenTrainsMenu.Name = "FileOpenTrainsMenu"; + this.FileOpenTrainsMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenTrainsMenu.Text = "Trains File..."; + this.FileOpenTrainsMenu.Click += new System.EventHandler(this.FileOpenTrainsMenu_Click); + // + // FileOpenScenarioMenu + // + this.FileOpenScenarioMenu.Name = "FileOpenScenarioMenu"; + this.FileOpenScenarioMenu.Size = new System.Drawing.Size(149, 22); + this.FileOpenScenarioMenu.Text = "Scenario File..."; + this.FileOpenScenarioMenu.Click += new System.EventHandler(this.FileOpenScenarioMenu_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(160, 6); + // + // FileCloseProjectMenu + // + this.FileCloseProjectMenu.Enabled = false; + this.FileCloseProjectMenu.Name = "FileCloseProjectMenu"; + this.FileCloseProjectMenu.Size = new System.Drawing.Size(163, 22); + this.FileCloseProjectMenu.Text = "Close Project"; + this.FileCloseProjectMenu.Click += new System.EventHandler(this.FileCloseProjectMenu_Click); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(160, 6); + // + // FileSaveProjectMenu + // + this.FileSaveProjectMenu.Enabled = false; + this.FileSaveProjectMenu.Name = "FileSaveProjectMenu"; + this.FileSaveProjectMenu.Size = new System.Drawing.Size(163, 22); + this.FileSaveProjectMenu.Text = "Save Project"; + this.FileSaveProjectMenu.Click += new System.EventHandler(this.FileSaveProjectMenu_Click); + // + // FileSaveProjectAsMenu + // + this.FileSaveProjectAsMenu.Enabled = false; + this.FileSaveProjectAsMenu.Name = "FileSaveProjectAsMenu"; + this.FileSaveProjectAsMenu.Size = new System.Drawing.Size(163, 22); + this.FileSaveProjectAsMenu.Text = "Save Project As..."; + this.FileSaveProjectAsMenu.Click += new System.EventHandler(this.FileSaveProjectAsMenu_Click); + // + // FileSaveItemMenu + // + this.FileSaveItemMenu.Enabled = false; + this.FileSaveItemMenu.Name = "FileSaveItemMenu"; + this.FileSaveItemMenu.Size = new System.Drawing.Size(163, 22); + this.FileSaveItemMenu.Text = "Save Item"; + this.FileSaveItemMenu.Visible = false; + this.FileSaveItemMenu.Click += new System.EventHandler(this.FileSaveItemMenu_Click); + // + // FileSaveItemAsMenu + // + this.FileSaveItemAsMenu.Enabled = false; + this.FileSaveItemAsMenu.Name = "FileSaveItemAsMenu"; + this.FileSaveItemAsMenu.Size = new System.Drawing.Size(163, 22); + this.FileSaveItemAsMenu.Text = "Save Item As..."; + this.FileSaveItemAsMenu.Visible = false; + this.FileSaveItemAsMenu.Click += new System.EventHandler(this.FileSaveItemAsMenu_Click); + // + // EditMenu + // + this.EditMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.EditUndoMenu, + this.EditRedoMenu, + this.toolStripSeparator10, + this.EditCutMenu, + this.EditCopyMenu, + this.EditPasteMenu, + this.EditCloneMenu, + this.EditDeleteMenu}); + this.EditMenu.Name = "EditMenu"; + this.EditMenu.Size = new System.Drawing.Size(39, 20); + this.EditMenu.Text = "Edit"; + // + // ViewMenu + // + this.ViewMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ViewProjectExplorerMenu, + this.toolStripSeparator1, + this.ViewThemeMenu}); + this.ViewMenu.Name = "ViewMenu"; + this.ViewMenu.Size = new System.Drawing.Size(44, 20); + this.ViewMenu.Text = "View"; + // + // ViewProjectExplorerMenu + // + this.ViewProjectExplorerMenu.Name = "ViewProjectExplorerMenu"; + this.ViewProjectExplorerMenu.Size = new System.Drawing.Size(156, 22); + this.ViewProjectExplorerMenu.Text = "Project Explorer"; + this.ViewProjectExplorerMenu.Click += new System.EventHandler(this.ViewProjectExplorerMenu_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(153, 6); + // + // ViewThemeMenu + // + this.ViewThemeMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ViewThemeBlueMenu, + this.ViewThemeLightMenu, + this.ViewThemeDarkMenu}); + this.ViewThemeMenu.Name = "ViewThemeMenu"; + this.ViewThemeMenu.Size = new System.Drawing.Size(156, 22); + this.ViewThemeMenu.Text = "Theme"; + // + // ViewThemeBlueMenu + // + this.ViewThemeBlueMenu.Checked = true; + this.ViewThemeBlueMenu.CheckState = System.Windows.Forms.CheckState.Checked; + this.ViewThemeBlueMenu.Name = "ViewThemeBlueMenu"; + this.ViewThemeBlueMenu.Size = new System.Drawing.Size(101, 22); + this.ViewThemeBlueMenu.Text = "Blue"; + this.ViewThemeBlueMenu.Click += new System.EventHandler(this.ViewThemeBlueMenu_Click); + // + // ViewThemeLightMenu + // + this.ViewThemeLightMenu.Name = "ViewThemeLightMenu"; + this.ViewThemeLightMenu.Size = new System.Drawing.Size(101, 22); + this.ViewThemeLightMenu.Text = "Light"; + this.ViewThemeLightMenu.Click += new System.EventHandler(this.ViewThemeLightMenu_Click); + // + // ViewThemeDarkMenu + // + this.ViewThemeDarkMenu.Name = "ViewThemeDarkMenu"; + this.ViewThemeDarkMenu.Size = new System.Drawing.Size(101, 22); + this.ViewThemeDarkMenu.Text = "Dark"; + this.ViewThemeDarkMenu.Click += new System.EventHandler(this.ViewThemeDarkMenu_Click); + // + // ToolsMenu + // + this.ToolsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ToolsManifestGeneratorMenu, + this.toolStripSeparator2, + this.ToolsImportMenyooXmlMenu}); + this.ToolsMenu.Name = "ToolsMenu"; + this.ToolsMenu.Size = new System.Drawing.Size(47, 20); + this.ToolsMenu.Text = "Tools"; + // + // ToolsManifestGeneratorMenu + // + this.ToolsManifestGeneratorMenu.Name = "ToolsManifestGeneratorMenu"; + this.ToolsManifestGeneratorMenu.Size = new System.Drawing.Size(193, 22); + this.ToolsManifestGeneratorMenu.Text = "Manifest Generator..."; + this.ToolsManifestGeneratorMenu.Click += new System.EventHandler(this.ToolsManifestGeneratorMenu_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(190, 6); + // + // ToolsImportMenyooXmlMenu + // + this.ToolsImportMenyooXmlMenu.Name = "ToolsImportMenyooXmlMenu"; + this.ToolsImportMenyooXmlMenu.Size = new System.Drawing.Size(193, 22); + this.ToolsImportMenyooXmlMenu.Text = "Import Menyoo XML..."; + this.ToolsImportMenyooXmlMenu.Click += new System.EventHandler(this.ToolsImportMenyooXmlMenu_Click); + // + // RenderMenu + // + this.RenderMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.RenderShowGtavMapMenu, + this.RenderShowProjectItemsMenu}); + this.RenderMenu.Name = "RenderMenu"; + this.RenderMenu.Size = new System.Drawing.Size(56, 20); + this.RenderMenu.Text = "Render"; + // + // RenderShowGtavMapMenu + // + this.RenderShowGtavMapMenu.Checked = true; + this.RenderShowGtavMapMenu.CheckState = System.Windows.Forms.CheckState.Checked; + this.RenderShowGtavMapMenu.Name = "RenderShowGtavMapMenu"; + this.RenderShowGtavMapMenu.Size = new System.Drawing.Size(175, 22); + this.RenderShowGtavMapMenu.Text = "Show GTAV Map"; + this.RenderShowGtavMapMenu.Click += new System.EventHandler(this.RenderShowGtavMapMenu_Click); + // + // RenderShowProjectItemsMenu + // + this.RenderShowProjectItemsMenu.Checked = true; + this.RenderShowProjectItemsMenu.CheckState = System.Windows.Forms.CheckState.Checked; + this.RenderShowProjectItemsMenu.Name = "RenderShowProjectItemsMenu"; + this.RenderShowProjectItemsMenu.Size = new System.Drawing.Size(175, 22); + this.RenderShowProjectItemsMenu.Text = "Show Project Items"; + this.RenderShowProjectItemsMenu.Click += new System.EventHandler(this.RenderShowProjectItemsMenu_Click); + // + // MainDockPanel + // + this.MainDockPanel.BackColor = System.Drawing.SystemColors.AppWorkspace; + this.MainDockPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.MainDockPanel.DockLeftPortion = 0.3D; + this.MainDockPanel.DockRightPortion = 0.3D; + this.MainDockPanel.Location = new System.Drawing.Point(0, 49); + this.MainDockPanel.Name = "MainDockPanel"; + this.MainDockPanel.Size = new System.Drawing.Size(813, 481); + this.MainDockPanel.TabIndex = 1; + this.MainDockPanel.ActiveContentChanged += new System.EventHandler(this.MainDockPanel_ActiveContentChanged); + this.MainDockPanel.DocumentDragged += new System.EventHandler(this.MainDockPanel_DocumentDragged); + // + // VSExtender + // + this.VSExtender.DefaultRenderer = null; + // + // SaveFileDialog + // + this.SaveFileDialog.Filter = "CodeWalker Projects|*.cwproj"; + // + // OpenFileDialog + // + this.OpenFileDialog.Filter = "CodeWalker Projects|*.cwproj"; + // + // MainToolbar + // + this.MainToolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ToolbarNewButton, + this.ToolbarOpenButton, + this.ToolbarSaveButton, + this.ToolbarSaveAllButton, + this.toolStripSeparator5}); + this.MainToolbar.Location = new System.Drawing.Point(0, 24); + this.MainToolbar.Name = "MainToolbar"; + this.MainToolbar.Size = new System.Drawing.Size(813, 25); + this.MainToolbar.TabIndex = 4; + // + // ToolbarNewButton + // + this.ToolbarNewButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.ToolbarNewButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ToolbarNewProjectMenu, + this.toolStripSeparator7, + this.ToolbarNewYmapMenu, + this.ToolbarNewYtypMenu, + this.ToolbarNewYndMenu, + this.ToolbarNewYnvMenu, + this.ToolbarNewTrainsMenu, + this.ToolbarNewScenarioMenu}); + this.ToolbarNewButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarNewButton.Image"))); + this.ToolbarNewButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ToolbarNewButton.Name = "ToolbarNewButton"; + this.ToolbarNewButton.Size = new System.Drawing.Size(32, 22); + this.ToolbarNewButton.Text = "New"; + this.ToolbarNewButton.ButtonClick += new System.EventHandler(this.ToolbarNewButton_ButtonClick); + // + // ToolbarNewProjectMenu + // + this.ToolbarNewProjectMenu.Name = "ToolbarNewProjectMenu"; + this.ToolbarNewProjectMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewProjectMenu.Text = "New Project"; + this.ToolbarNewProjectMenu.Click += new System.EventHandler(this.ToolbarNewProjectMenu_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(164, 6); + // + // ToolbarNewYmapMenu + // + this.ToolbarNewYmapMenu.Name = "ToolbarNewYmapMenu"; + this.ToolbarNewYmapMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewYmapMenu.Text = "New Ymap File"; + this.ToolbarNewYmapMenu.Click += new System.EventHandler(this.ToolbarNewYmapMenu_Click); + // + // ToolbarNewYtypMenu + // + this.ToolbarNewYtypMenu.Name = "ToolbarNewYtypMenu"; + this.ToolbarNewYtypMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewYtypMenu.Text = "New Ytyp File"; + this.ToolbarNewYtypMenu.Click += new System.EventHandler(this.ToolbarNewYtypMenu_Click); + // + // ToolbarNewYndMenu + // + this.ToolbarNewYndMenu.Name = "ToolbarNewYndMenu"; + this.ToolbarNewYndMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewYndMenu.Text = "New Ynd File"; + this.ToolbarNewYndMenu.Click += new System.EventHandler(this.ToolbarNewYndMenu_Click); + // + // ToolbarNewYnvMenu + // + this.ToolbarNewYnvMenu.Name = "ToolbarNewYnvMenu"; + this.ToolbarNewYnvMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewYnvMenu.Text = "New Ynv File"; + this.ToolbarNewYnvMenu.Click += new System.EventHandler(this.ToolbarNewYnvMenu_Click); + // + // ToolbarNewTrainsMenu + // + this.ToolbarNewTrainsMenu.Name = "ToolbarNewTrainsMenu"; + this.ToolbarNewTrainsMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewTrainsMenu.Text = "New Trains File"; + this.ToolbarNewTrainsMenu.Click += new System.EventHandler(this.ToolbarNewTrainsMenu_Click); + // + // ToolbarNewScenarioMenu + // + this.ToolbarNewScenarioMenu.Name = "ToolbarNewScenarioMenu"; + this.ToolbarNewScenarioMenu.Size = new System.Drawing.Size(167, 22); + this.ToolbarNewScenarioMenu.Text = "New Scenario File"; + this.ToolbarNewScenarioMenu.Click += new System.EventHandler(this.ToolbarNewScenarioMenu_Click); + // + // ToolbarOpenButton + // + this.ToolbarOpenButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.ToolbarOpenButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ToolbarOpenProjectMenu, + this.toolStripSeparator6, + this.ToolbarOpenYmapMenu, + this.ToolbarOpenYtypMenu, + this.ToolbarOpenYndMenu, + this.ToolbarOpenYnvMenu, + this.ToolbarOpenTrainsMenu, + this.ToolbarOpenScenarioMenu}); + this.ToolbarOpenButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarOpenButton.Image"))); + this.ToolbarOpenButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ToolbarOpenButton.Name = "ToolbarOpenButton"; + this.ToolbarOpenButton.Size = new System.Drawing.Size(32, 22); + this.ToolbarOpenButton.Text = "Open..."; + this.ToolbarOpenButton.ButtonClick += new System.EventHandler(this.ToolbarOpenButton_ButtonClick); + // + // ToolbarOpenProjectMenu + // + this.ToolbarOpenProjectMenu.Name = "ToolbarOpenProjectMenu"; + this.ToolbarOpenProjectMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenProjectMenu.Text = "Open Project..."; + this.ToolbarOpenProjectMenu.Click += new System.EventHandler(this.ToolbarOpenProjectMenu_Click); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(178, 6); + // + // ToolbarOpenYmapMenu + // + this.ToolbarOpenYmapMenu.Name = "ToolbarOpenYmapMenu"; + this.ToolbarOpenYmapMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenYmapMenu.Text = "Open Ymap File..."; + this.ToolbarOpenYmapMenu.Click += new System.EventHandler(this.ToolbarOpenYmapMenu_Click); + // + // ToolbarOpenYtypMenu + // + this.ToolbarOpenYtypMenu.Name = "ToolbarOpenYtypMenu"; + this.ToolbarOpenYtypMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenYtypMenu.Text = "Open Ytyp File..."; + this.ToolbarOpenYtypMenu.Click += new System.EventHandler(this.ToolbarOpenYtypMenu_Click); + // + // ToolbarOpenYndMenu + // + this.ToolbarOpenYndMenu.Name = "ToolbarOpenYndMenu"; + this.ToolbarOpenYndMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenYndMenu.Text = "Open Ynd File..."; + this.ToolbarOpenYndMenu.Click += new System.EventHandler(this.ToolbarOpenYndMenu_Click); + // + // ToolbarOpenYnvMenu + // + this.ToolbarOpenYnvMenu.Name = "ToolbarOpenYnvMenu"; + this.ToolbarOpenYnvMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenYnvMenu.Text = "Open Ynv File..."; + this.ToolbarOpenYnvMenu.Click += new System.EventHandler(this.ToolbarOpenYnvMenu_Click); + // + // ToolbarOpenTrainsMenu + // + this.ToolbarOpenTrainsMenu.Name = "ToolbarOpenTrainsMenu"; + this.ToolbarOpenTrainsMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenTrainsMenu.Text = "Open Trains File..."; + this.ToolbarOpenTrainsMenu.Click += new System.EventHandler(this.ToolbarOpenTrainsMenu_Click); + // + // ToolbarOpenScenarioMenu + // + this.ToolbarOpenScenarioMenu.Name = "ToolbarOpenScenarioMenu"; + this.ToolbarOpenScenarioMenu.Size = new System.Drawing.Size(181, 22); + this.ToolbarOpenScenarioMenu.Text = "Open Scenario File..."; + this.ToolbarOpenScenarioMenu.Click += new System.EventHandler(this.ToolbarOpenScenarioMenu_Click); + // + // ToolbarSaveButton + // + this.ToolbarSaveButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.ToolbarSaveButton.Enabled = false; + this.ToolbarSaveButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSaveButton.Image"))); + this.ToolbarSaveButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ToolbarSaveButton.Name = "ToolbarSaveButton"; + this.ToolbarSaveButton.Size = new System.Drawing.Size(23, 22); + this.ToolbarSaveButton.Text = "Save"; + this.ToolbarSaveButton.Click += new System.EventHandler(this.ToolbarSaveButton_Click); + // + // ToolbarSaveAllButton + // + this.ToolbarSaveAllButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.ToolbarSaveAllButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSaveAllButton.Image"))); + this.ToolbarSaveAllButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.ToolbarSaveAllButton.Name = "ToolbarSaveAllButton"; + this.ToolbarSaveAllButton.Size = new System.Drawing.Size(23, 22); + this.ToolbarSaveAllButton.Text = "Save All"; + this.ToolbarSaveAllButton.Click += new System.EventHandler(this.ToolbarSaveAllButton_Click); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); + // + // EditUndoMenu + // + this.EditUndoMenu.Enabled = false; + this.EditUndoMenu.Name = "EditUndoMenu"; + this.EditUndoMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); + this.EditUndoMenu.Size = new System.Drawing.Size(190, 22); + this.EditUndoMenu.Text = "Undo"; + // + // EditRedoMenu + // + this.EditRedoMenu.Enabled = false; + this.EditRedoMenu.Name = "EditRedoMenu"; + this.EditRedoMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y))); + this.EditRedoMenu.Size = new System.Drawing.Size(190, 22); + this.EditRedoMenu.Text = "Redo"; + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + this.toolStripSeparator10.Size = new System.Drawing.Size(187, 6); + // + // EditCutMenu + // + this.EditCutMenu.Enabled = false; + this.EditCutMenu.Name = "EditCutMenu"; + this.EditCutMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X))); + this.EditCutMenu.Size = new System.Drawing.Size(190, 22); + this.EditCutMenu.Text = "Cut Item"; + // + // EditCopyMenu + // + this.EditCopyMenu.Enabled = false; + this.EditCopyMenu.Name = "EditCopyMenu"; + this.EditCopyMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); + this.EditCopyMenu.Size = new System.Drawing.Size(190, 22); + this.EditCopyMenu.Text = "Copy Item"; + // + // EditPasteMenu + // + this.EditPasteMenu.Enabled = false; + this.EditPasteMenu.Name = "EditPasteMenu"; + this.EditPasteMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V))); + this.EditPasteMenu.Size = new System.Drawing.Size(190, 22); + this.EditPasteMenu.Text = "Paste Item"; + // + // EditDeleteMenu + // + this.EditDeleteMenu.Enabled = false; + this.EditDeleteMenu.Name = "EditDeleteMenu"; + this.EditDeleteMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.Delete))); + this.EditDeleteMenu.Size = new System.Drawing.Size(190, 22); + this.EditDeleteMenu.Text = "Delete Item"; + // + // EditCloneMenu + // + this.EditCloneMenu.Enabled = false; + this.EditCloneMenu.Name = "EditCloneMenu"; + this.EditCloneMenu.Size = new System.Drawing.Size(190, 22); + this.EditCloneMenu.Text = "Clone Item"; + // + // YmapMenu + // + this.YmapMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.YmapNameMenu, + this.toolStripSeparator11, + this.YmapNewEntityMenu, + this.YmapNewCarGenMenu, + this.toolStripSeparator12, + this.YmapAddToProjectMenu, + this.YmapRemoveFromProjectMenu}); + this.YmapMenu.Name = "YmapMenu"; + this.YmapMenu.Size = new System.Drawing.Size(49, 20); + this.YmapMenu.Text = "Ymap"; + this.YmapMenu.Visible = false; + // + // YtypMenu + // + this.YtypMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.YtypNameMenu, + this.toolStripSeparator13, + this.YtypNewArchetypeMenu, + this.toolStripSeparator15, + this.YtypAddToProjectMenu, + this.YtypRemoveFromProjectMenu}); + this.YtypMenu.Name = "YtypMenu"; + this.YtypMenu.Size = new System.Drawing.Size(43, 20); + this.YtypMenu.Text = "Ytyp"; + this.YtypMenu.Visible = false; + // + // YndMenu + // + this.YndMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.YndNameMenu, + this.toolStripSeparator14, + this.YndNewNodeMenu, + this.toolStripSeparator16, + this.YndAddToProjectMenu, + this.YndRemoveFromProjectMenu}); + this.YndMenu.Name = "YndMenu"; + this.YndMenu.Size = new System.Drawing.Size(39, 20); + this.YndMenu.Text = "Ynd"; + this.YndMenu.Visible = false; + // + // YnvMenu + // + this.YnvMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.YnvNameMenu, + this.toolStripSeparator17, + this.YnvNewPolygonMenu, + this.toolStripSeparator18, + this.YnvAddToProjectMenu, + this.YnvRemoveFromProjectMenu}); + this.YnvMenu.Name = "YnvMenu"; + this.YnvMenu.Size = new System.Drawing.Size(38, 20); + this.YnvMenu.Text = "Ynv"; + this.YnvMenu.Visible = false; + // + // TrainsMenu + // + this.TrainsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.TrainsNameMenu, + this.toolStripSeparator19, + this.TrainsNewNodeMenu, + this.toolStripSeparator20, + this.TrainsAddToProjectMenu, + this.TrainsRemoveFromProjectMenu}); + this.TrainsMenu.Name = "TrainsMenu"; + this.TrainsMenu.Size = new System.Drawing.Size(50, 20); + this.TrainsMenu.Text = "Trains"; + this.TrainsMenu.Visible = false; + // + // ScenarioMenu + // + this.ScenarioMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ScenarioNameMenu, + this.toolStripSeparator21, + this.ScenarioNewPointMenu, + this.ScenarioNewPointFromSelectedMenu, + this.ScenarioNewEntityOverrideMenu, + this.ScenarioNewChainMenu, + this.ScenarioNewClusterMenu, + this.ScenarioImportChainMenu, + this.toolStripSeparator22, + this.ScenarioAddToProjectMenu, + this.ScenarioRemoveFromProjectMenu}); + this.ScenarioMenu.Name = "ScenarioMenu"; + this.ScenarioMenu.Size = new System.Drawing.Size(64, 20); + this.ScenarioMenu.Text = "Scenario"; + this.ScenarioMenu.Visible = false; + // + // YmapNameMenu + // + this.YmapNameMenu.Enabled = false; + this.YmapNameMenu.Name = "YmapNameMenu"; + this.YmapNameMenu.Size = new System.Drawing.Size(199, 22); + this.YmapNameMenu.Text = "(No .ymap file selected)"; + // + // toolStripSeparator11 + // + this.toolStripSeparator11.Name = "toolStripSeparator11"; + this.toolStripSeparator11.Size = new System.Drawing.Size(196, 6); + // + // YmapNewEntityMenu + // + this.YmapNewEntityMenu.Enabled = false; + this.YmapNewEntityMenu.Name = "YmapNewEntityMenu"; + this.YmapNewEntityMenu.Size = new System.Drawing.Size(199, 22); + this.YmapNewEntityMenu.Text = "New Entity"; + this.YmapNewEntityMenu.Click += new System.EventHandler(this.YmapNewEntityMenu_Click); + // + // YmapNewCarGenMenu + // + this.YmapNewCarGenMenu.Enabled = false; + this.YmapNewCarGenMenu.Name = "YmapNewCarGenMenu"; + this.YmapNewCarGenMenu.Size = new System.Drawing.Size(199, 22); + this.YmapNewCarGenMenu.Text = "New Car Generator"; + this.YmapNewCarGenMenu.Click += new System.EventHandler(this.YmapNewCarGenMenu_Click); + // + // toolStripSeparator12 + // + this.toolStripSeparator12.Name = "toolStripSeparator12"; + this.toolStripSeparator12.Size = new System.Drawing.Size(196, 6); + // + // YmapAddToProjectMenu + // + this.YmapAddToProjectMenu.Enabled = false; + this.YmapAddToProjectMenu.Name = "YmapAddToProjectMenu"; + this.YmapAddToProjectMenu.Size = new System.Drawing.Size(199, 22); + this.YmapAddToProjectMenu.Text = "Add to Project"; + this.YmapAddToProjectMenu.Click += new System.EventHandler(this.YmapAddToProjectMenu_Click); + // + // YmapRemoveFromProjectMenu + // + this.YmapRemoveFromProjectMenu.Enabled = false; + this.YmapRemoveFromProjectMenu.Name = "YmapRemoveFromProjectMenu"; + this.YmapRemoveFromProjectMenu.Size = new System.Drawing.Size(199, 22); + this.YmapRemoveFromProjectMenu.Text = "Remove from Project"; + this.YmapRemoveFromProjectMenu.Click += new System.EventHandler(this.YmapRemoveFromProjectMenu_Click); + // + // YtypNameMenu + // + this.YtypNameMenu.Enabled = false; + this.YtypNameMenu.Name = "YtypNameMenu"; + this.YtypNameMenu.Size = new System.Drawing.Size(192, 22); + this.YtypNameMenu.Text = "(No .ytyp file selected)"; + // + // toolStripSeparator13 + // + this.toolStripSeparator13.Name = "toolStripSeparator13"; + this.toolStripSeparator13.Size = new System.Drawing.Size(189, 6); + // + // YtypNewArchetypeMenu + // + this.YtypNewArchetypeMenu.Enabled = false; + this.YtypNewArchetypeMenu.Name = "YtypNewArchetypeMenu"; + this.YtypNewArchetypeMenu.Size = new System.Drawing.Size(192, 22); + this.YtypNewArchetypeMenu.Text = "New Archetype"; + this.YtypNewArchetypeMenu.Click += new System.EventHandler(this.YtypNewArchetypeMenu_Click); + // + // YndNameMenu + // + this.YndNameMenu.Enabled = false; + this.YndNameMenu.Name = "YndNameMenu"; + this.YndNameMenu.Size = new System.Drawing.Size(189, 22); + this.YndNameMenu.Text = "(No .ynd file selected)"; + // + // toolStripSeparator14 + // + this.toolStripSeparator14.Name = "toolStripSeparator14"; + this.toolStripSeparator14.Size = new System.Drawing.Size(186, 6); + // + // toolStripSeparator15 + // + this.toolStripSeparator15.Name = "toolStripSeparator15"; + this.toolStripSeparator15.Size = new System.Drawing.Size(189, 6); + // + // YtypAddToProjectMenu + // + this.YtypAddToProjectMenu.Enabled = false; + this.YtypAddToProjectMenu.Name = "YtypAddToProjectMenu"; + this.YtypAddToProjectMenu.Size = new System.Drawing.Size(192, 22); + this.YtypAddToProjectMenu.Text = "Add to Project"; + this.YtypAddToProjectMenu.Click += new System.EventHandler(this.YtypAddToProjectMenu_Click); + // + // YtypRemoveFromProjectMenu + // + this.YtypRemoveFromProjectMenu.Enabled = false; + this.YtypRemoveFromProjectMenu.Name = "YtypRemoveFromProjectMenu"; + this.YtypRemoveFromProjectMenu.Size = new System.Drawing.Size(192, 22); + this.YtypRemoveFromProjectMenu.Text = "Remove from Project"; + this.YtypRemoveFromProjectMenu.Click += new System.EventHandler(this.YtypRemoveFromProjectMenu_Click); + // + // YndNewNodeMenu + // + this.YndNewNodeMenu.Enabled = false; + this.YndNewNodeMenu.Name = "YndNewNodeMenu"; + this.YndNewNodeMenu.Size = new System.Drawing.Size(189, 22); + this.YndNewNodeMenu.Text = "New Node"; + this.YndNewNodeMenu.Click += new System.EventHandler(this.YndNewNodeMenu_Click); + // + // toolStripSeparator16 + // + this.toolStripSeparator16.Name = "toolStripSeparator16"; + this.toolStripSeparator16.Size = new System.Drawing.Size(186, 6); + // + // YndAddToProjectMenu + // + this.YndAddToProjectMenu.Enabled = false; + this.YndAddToProjectMenu.Name = "YndAddToProjectMenu"; + this.YndAddToProjectMenu.Size = new System.Drawing.Size(189, 22); + this.YndAddToProjectMenu.Text = "Add to Project"; + this.YndAddToProjectMenu.Click += new System.EventHandler(this.YndAddToProjectMenu_Click); + // + // YndRemoveFromProjectMenu + // + this.YndRemoveFromProjectMenu.Enabled = false; + this.YndRemoveFromProjectMenu.Name = "YndRemoveFromProjectMenu"; + this.YndRemoveFromProjectMenu.Size = new System.Drawing.Size(189, 22); + this.YndRemoveFromProjectMenu.Text = "Remove from Project"; + this.YndRemoveFromProjectMenu.Click += new System.EventHandler(this.YndRemoveFromProjectMenu_Click); + // + // YnvNameMenu + // + this.YnvNameMenu.Enabled = false; + this.YnvNameMenu.Name = "YnvNameMenu"; + this.YnvNameMenu.Size = new System.Drawing.Size(188, 22); + this.YnvNameMenu.Text = "(No .ynv file selected)"; + // + // toolStripSeparator17 + // + this.toolStripSeparator17.Name = "toolStripSeparator17"; + this.toolStripSeparator17.Size = new System.Drawing.Size(185, 6); + // + // YnvNewPolygonMenu + // + this.YnvNewPolygonMenu.Enabled = false; + this.YnvNewPolygonMenu.Name = "YnvNewPolygonMenu"; + this.YnvNewPolygonMenu.Size = new System.Drawing.Size(188, 22); + this.YnvNewPolygonMenu.Text = "New Polygon"; + this.YnvNewPolygonMenu.Click += new System.EventHandler(this.YnvNewPolygonMenu_Click); + // + // toolStripSeparator18 + // + this.toolStripSeparator18.Name = "toolStripSeparator18"; + this.toolStripSeparator18.Size = new System.Drawing.Size(185, 6); + // + // YnvAddToProjectMenu + // + this.YnvAddToProjectMenu.Enabled = false; + this.YnvAddToProjectMenu.Name = "YnvAddToProjectMenu"; + this.YnvAddToProjectMenu.Size = new System.Drawing.Size(188, 22); + this.YnvAddToProjectMenu.Text = "Add to Project"; + this.YnvAddToProjectMenu.Click += new System.EventHandler(this.YnvAddToProjectMenu_Click); + // + // YnvRemoveFromProjectMenu + // + this.YnvRemoveFromProjectMenu.Enabled = false; + this.YnvRemoveFromProjectMenu.Name = "YnvRemoveFromProjectMenu"; + this.YnvRemoveFromProjectMenu.Size = new System.Drawing.Size(188, 22); + this.YnvRemoveFromProjectMenu.Text = "Remove from Project"; + this.YnvRemoveFromProjectMenu.Click += new System.EventHandler(this.YnvRemoveFromProjectMenu_Click); + // + // TrainsNameMenu + // + this.TrainsNameMenu.Enabled = false; + this.TrainsNameMenu.Name = "TrainsNameMenu"; + this.TrainsNameMenu.Size = new System.Drawing.Size(200, 22); + this.TrainsNameMenu.Text = "(No train track selected)"; + // + // toolStripSeparator19 + // + this.toolStripSeparator19.Name = "toolStripSeparator19"; + this.toolStripSeparator19.Size = new System.Drawing.Size(197, 6); + // + // TrainsNewNodeMenu + // + this.TrainsNewNodeMenu.Enabled = false; + this.TrainsNewNodeMenu.Name = "TrainsNewNodeMenu"; + this.TrainsNewNodeMenu.Size = new System.Drawing.Size(200, 22); + this.TrainsNewNodeMenu.Text = "New Node"; + this.TrainsNewNodeMenu.Click += new System.EventHandler(this.TrainsNewNodeMenu_Click); + // + // toolStripSeparator20 + // + this.toolStripSeparator20.Name = "toolStripSeparator20"; + this.toolStripSeparator20.Size = new System.Drawing.Size(197, 6); + // + // TrainsAddToProjectMenu + // + this.TrainsAddToProjectMenu.Enabled = false; + this.TrainsAddToProjectMenu.Name = "TrainsAddToProjectMenu"; + this.TrainsAddToProjectMenu.Size = new System.Drawing.Size(200, 22); + this.TrainsAddToProjectMenu.Text = "Add to Project"; + this.TrainsAddToProjectMenu.Click += new System.EventHandler(this.TrainsAddToProjectMenu_Click); + // + // TrainsRemoveFromProjectMenu + // + this.TrainsRemoveFromProjectMenu.Enabled = false; + this.TrainsRemoveFromProjectMenu.Name = "TrainsRemoveFromProjectMenu"; + this.TrainsRemoveFromProjectMenu.Size = new System.Drawing.Size(200, 22); + this.TrainsRemoveFromProjectMenu.Text = "Remove from Project"; + this.TrainsRemoveFromProjectMenu.Click += new System.EventHandler(this.TrainsRemoveFromProjectMenu_Click); + // + // ScenarioNameMenu + // + this.ScenarioNameMenu.Enabled = false; + this.ScenarioNameMenu.Name = "ScenarioNameMenu"; + this.ScenarioNameMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNameMenu.Text = "(No scenario region selected)"; + // + // toolStripSeparator21 + // + this.toolStripSeparator21.Name = "toolStripSeparator21"; + this.toolStripSeparator21.Size = new System.Drawing.Size(225, 6); + // + // ScenarioNewPointMenu + // + this.ScenarioNewPointMenu.Enabled = false; + this.ScenarioNewPointMenu.Name = "ScenarioNewPointMenu"; + this.ScenarioNewPointMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNewPointMenu.Text = "New Point (Blank)"; + this.ScenarioNewPointMenu.Click += new System.EventHandler(this.ScenarioNewPointMenu_Click); + // + // ScenarioNewPointFromSelectedMenu + // + this.ScenarioNewPointFromSelectedMenu.Enabled = false; + this.ScenarioNewPointFromSelectedMenu.Name = "ScenarioNewPointFromSelectedMenu"; + this.ScenarioNewPointFromSelectedMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNewPointFromSelectedMenu.Text = "New Point (from Selected)"; + this.ScenarioNewPointFromSelectedMenu.Click += new System.EventHandler(this.ScenarioNewPointFromSelectedMenu_Click); + // + // ScenarioNewEntityOverrideMenu + // + this.ScenarioNewEntityOverrideMenu.Enabled = false; + this.ScenarioNewEntityOverrideMenu.Name = "ScenarioNewEntityOverrideMenu"; + this.ScenarioNewEntityOverrideMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNewEntityOverrideMenu.Text = "New Entity Override"; + this.ScenarioNewEntityOverrideMenu.Click += new System.EventHandler(this.ScenarioNewEntityOverrideMenu_Click); + // + // ScenarioNewChainMenu + // + this.ScenarioNewChainMenu.Enabled = false; + this.ScenarioNewChainMenu.Name = "ScenarioNewChainMenu"; + this.ScenarioNewChainMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNewChainMenu.Text = "New Chain"; + this.ScenarioNewChainMenu.Click += new System.EventHandler(this.ScenarioNewChainMenu_Click); + // + // ScenarioNewClusterMenu + // + this.ScenarioNewClusterMenu.Enabled = false; + this.ScenarioNewClusterMenu.Name = "ScenarioNewClusterMenu"; + this.ScenarioNewClusterMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioNewClusterMenu.Text = "New Cluster"; + this.ScenarioNewClusterMenu.Click += new System.EventHandler(this.ScenarioNewClusterMenu_Click); + // + // ScenarioImportChainMenu + // + this.ScenarioImportChainMenu.Enabled = false; + this.ScenarioImportChainMenu.Name = "ScenarioImportChainMenu"; + this.ScenarioImportChainMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioImportChainMenu.Text = "Import Chain..."; + this.ScenarioImportChainMenu.Click += new System.EventHandler(this.ScenarioImportChainMenu_Click); + // + // toolStripSeparator22 + // + this.toolStripSeparator22.Name = "toolStripSeparator22"; + this.toolStripSeparator22.Size = new System.Drawing.Size(225, 6); + // + // ScenarioAddToProjectMenu + // + this.ScenarioAddToProjectMenu.Enabled = false; + this.ScenarioAddToProjectMenu.Name = "ScenarioAddToProjectMenu"; + this.ScenarioAddToProjectMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioAddToProjectMenu.Text = "Add to Project"; + this.ScenarioAddToProjectMenu.Click += new System.EventHandler(this.ScenarioAddToProjectMenu_Click); + // + // ScenarioRemoveFromProjectMenu + // + this.ScenarioRemoveFromProjectMenu.Enabled = false; + this.ScenarioRemoveFromProjectMenu.Name = "ScenarioRemoveFromProjectMenu"; + this.ScenarioRemoveFromProjectMenu.Size = new System.Drawing.Size(228, 22); + this.ScenarioRemoveFromProjectMenu.Text = "Remove from Project"; + this.ScenarioRemoveFromProjectMenu.Click += new System.EventHandler(this.ScenarioRemoveFromProjectMenu_Click); + // + // ProjectForm2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(813, 530); + this.Controls.Add(this.MainDockPanel); + this.Controls.Add(this.MainToolbar); + this.Controls.Add(this.MainMenu); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.IsMdiContainer = true; + this.MainMenuStrip = this.MainMenu; + this.Name = "ProjectForm2"; + this.Text = "Project - CodeWalker by dexyfex"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ProjectForm_FormClosing); + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ProjectForm_FormClosed); + this.MainMenu.ResumeLayout(false); + this.MainMenu.PerformLayout(); + this.MainToolbar.ResumeLayout(false); + this.MainToolbar.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip MainMenu; + private System.Windows.Forms.ToolStripMenuItem FileMenu; + private System.Windows.Forms.ToolStripMenuItem EditMenu; + private System.Windows.Forms.ToolStripMenuItem RenderMenu; + private System.Windows.Forms.ToolStripMenuItem RenderShowGtavMapMenu; + private System.Windows.Forms.ToolStripMenuItem RenderShowProjectItemsMenu; + private System.Windows.Forms.ToolStripMenuItem ToolsMenu; + private System.Windows.Forms.ToolStripMenuItem ToolsImportMenyooXmlMenu; + private WeifenLuo.WinFormsUI.Docking.DockPanel MainDockPanel; + private System.Windows.Forms.ToolStripMenuItem ViewMenu; + private System.Windows.Forms.ToolStripMenuItem ViewProjectExplorerMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem ViewThemeMenu; + private System.Windows.Forms.ToolStripMenuItem ViewThemeBlueMenu; + private System.Windows.Forms.ToolStripMenuItem ViewThemeLightMenu; + private System.Windows.Forms.ToolStripMenuItem ViewThemeDarkMenu; + private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender VSExtender; + private System.Windows.Forms.ToolStripMenuItem ToolsManifestGeneratorMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem FileNewMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewProjectMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenProjectMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem FileCloseProjectMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; + private System.Windows.Forms.ToolStripMenuItem FileSaveProjectMenu; + private System.Windows.Forms.ToolStripMenuItem FileSaveProjectAsMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewYmapMenu; + private System.Windows.Forms.ToolStripMenuItem FileSaveItemMenu; + private System.Windows.Forms.ToolStripMenuItem FileSaveItemAsMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewYndMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewYnvMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewTrainsMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewScenarioMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenYmapMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenYndMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenYnvMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenTrainsMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenScenarioMenu; + private System.Windows.Forms.ToolStripMenuItem FileNewYtypMenu; + private System.Windows.Forms.ToolStripMenuItem FileOpenYtypMenu; + private System.Windows.Forms.SaveFileDialog SaveFileDialog; + private System.Windows.Forms.OpenFileDialog OpenFileDialog; + private System.Windows.Forms.ToolStrip MainToolbar; + private WinForms.ToolStripSplitButtonFix ToolbarNewButton; + private System.Windows.Forms.ToolStripButton ToolbarSaveButton; + private System.Windows.Forms.ToolStripButton ToolbarSaveAllButton; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewProjectMenu; + private WinForms.ToolStripSplitButtonFix ToolbarOpenButton; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewYmapMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewYtypMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewYndMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewYnvMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewTrainsMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarNewScenarioMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenProjectMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenYmapMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenYtypMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenYndMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenYnvMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenTrainsMenu; + private System.Windows.Forms.ToolStripMenuItem ToolbarOpenScenarioMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; + private System.Windows.Forms.ToolStripMenuItem EditUndoMenu; + private System.Windows.Forms.ToolStripMenuItem EditRedoMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator10; + private System.Windows.Forms.ToolStripMenuItem EditCutMenu; + private System.Windows.Forms.ToolStripMenuItem EditCopyMenu; + private System.Windows.Forms.ToolStripMenuItem EditPasteMenu; + private System.Windows.Forms.ToolStripMenuItem EditCloneMenu; + private System.Windows.Forms.ToolStripMenuItem EditDeleteMenu; + private System.Windows.Forms.ToolStripMenuItem YmapMenu; + private System.Windows.Forms.ToolStripMenuItem YtypMenu; + private System.Windows.Forms.ToolStripMenuItem YndMenu; + private System.Windows.Forms.ToolStripMenuItem YnvMenu; + private System.Windows.Forms.ToolStripMenuItem TrainsMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioMenu; + private System.Windows.Forms.ToolStripMenuItem YmapNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator11; + private System.Windows.Forms.ToolStripMenuItem YmapNewEntityMenu; + private System.Windows.Forms.ToolStripMenuItem YmapNewCarGenMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator12; + private System.Windows.Forms.ToolStripMenuItem YmapAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YmapRemoveFromProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YtypNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator13; + private System.Windows.Forms.ToolStripMenuItem YtypNewArchetypeMenu; + private System.Windows.Forms.ToolStripMenuItem YndNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator14; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator15; + private System.Windows.Forms.ToolStripMenuItem YtypAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YtypRemoveFromProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YndNewNodeMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator16; + private System.Windows.Forms.ToolStripMenuItem YndAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YndRemoveFromProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YnvNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator17; + private System.Windows.Forms.ToolStripMenuItem YnvNewPolygonMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator18; + private System.Windows.Forms.ToolStripMenuItem YnvAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem YnvRemoveFromProjectMenu; + private System.Windows.Forms.ToolStripMenuItem TrainsNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator19; + private System.Windows.Forms.ToolStripMenuItem TrainsNewNodeMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator20; + private System.Windows.Forms.ToolStripMenuItem TrainsAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem TrainsRemoveFromProjectMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioNameMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator21; + private System.Windows.Forms.ToolStripMenuItem ScenarioNewPointMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioNewPointFromSelectedMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioNewEntityOverrideMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioNewChainMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioNewClusterMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioImportChainMenu; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator22; + private System.Windows.Forms.ToolStripMenuItem ScenarioAddToProjectMenu; + private System.Windows.Forms.ToolStripMenuItem ScenarioRemoveFromProjectMenu; + } +} \ No newline at end of file diff --git a/Project/ProjectForm2.cs b/Project/ProjectForm2.cs new file mode 100644 index 0000000..6ba0bab --- /dev/null +++ b/Project/ProjectForm2.cs @@ -0,0 +1,4772 @@ +using CodeWalker.GameFiles; +using CodeWalker.Project.Panels; +using CodeWalker.Properties; +using CodeWalker.World; +using SharpDX; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using WeifenLuo.WinFormsUI.Docking; + +namespace CodeWalker.Project +{ + public partial class ProjectForm2 : Form + { + public WorldForm WorldForm { get; private set; } + public ThemeBase Theme { get; private set; } + public ProjectExplorerPanel ProjectExplorer { get; set; } + public ProjectPanel PreviewPanel { get; set; } + + + public GameFileCache GameFileCache { get; private set; } + public RpfManager RpfMan { get; private set; } + + + public bool IsProjectLoaded + { + get { return CurrentProjectFile != null; } + } + public ProjectFile CurrentProjectFile; + + private YmapFile CurrentYmapFile; + private YmapEntityDef CurrentEntity; + private YmapCarGen CurrentCarGen; + private YmapGrassInstanceBatch CurrentGrassBatch; + + private YtypFile CurrentYtypFile; + //private Archetype CurrentArchetype; + + private YndFile CurrentYndFile; + private YndNode CurrentPathNode; + private YndLink CurrentPathLink; + + private YnvFile CurrentYnvFile; + private YnvPoly CurrentNavPoly; + + private TrainTrack CurrentTrainTrack; + private TrainTrackNode CurrentTrainNode; + + private YmtFile CurrentScenario; + private ScenarioNode CurrentScenarioNode; + private MCScenarioChainingEdge CurrentScenarioChainEdge; + + private bool renderitems = true; + private bool hidegtavmap = false; + + private object projectsyncroot = new object(); + public object ProjectSyncRoot { get { return projectsyncroot; } } + + private Dictionary visibleynds = new Dictionary(); + private Dictionary visibleynvs = new Dictionary(); + private Dictionary visibletrains = new Dictionary(); + private Dictionary visiblescenarios = new Dictionary(); + + private bool ShowProjectItemInProcess = false; + + + public ProjectForm2(WorldForm worldForm = null) + { + WorldForm = worldForm; + + InitializeComponent(); + + SetTheme(Settings.Default.ProjectWindowTheme, false); + ShowDefaultPanels(); + + + if ((WorldForm != null) && (WorldForm.GameFileCache != null)) + { + GameFileCache = WorldForm.GameFileCache; + RpfMan = GameFileCache.RpfMan; + } + else + { + GameFileCache = GameFileCacheFactory.Create(); + new Thread(new ThreadStart(() => { + GTA5Keys.LoadFromPath(GTAFolder.CurrentGTAFolder, Settings.Default.Key); + GameFileCache.Init(UpdateStatus, UpdateError); + RpfMan = GameFileCache.RpfMan; + })).Start(); + } + + } + + private void UpdateStatus(string text) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { UpdateStatus(text); })); + } + else + { + //TODO: status text + //StatusLabel.Text = text; + } + } + catch { } + } + private void UpdateError(string text) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { UpdateError(text); })); + } + else + { + //TODO: error text + //ErrorLabel.Text = text; + } + } + catch { } + } + + + private void SetTheme(string themestr, bool changing = true) + { + if (changing && (CurrentProjectFile != null)) + { + if (MessageBox.Show("Project will be closed before changing the theme. Are you sure you want to continue?", "Theme change", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + } + + + CloseProject(); + + //string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "DockPanel.temp.config"); + //MainDockPanel.SaveAsXml(configFile); + CloseAllContents(); + + ProjectExplorer = null; + PreviewPanel = null; + + + foreach (ToolStripMenuItem menu in ViewThemeMenu.DropDownItems) + { + menu.Checked = false; + } + + Theme = null; + + switch (themestr) + { + default: + case "Blue": + Theme = new VS2015BlueTheme(); + ViewThemeBlueMenu.Checked = true; + break; + case "Light": + Theme = new VS2015LightTheme(); + ViewThemeLightMenu.Checked = true; + break; + case "Dark": + Theme = new VS2015DarkTheme(); + ViewThemeDarkMenu.Checked = true; + break; + } + + Settings.Default.ProjectWindowTheme = themestr; + Settings.Default.Save(); + + + Theme.Extender.FloatWindowFactory = new ProjectFloatWindowFactory(); + + MainDockPanel.Theme = Theme; + + var version = VisualStudioToolStripExtender.VsVersion.Vs2015; + VSExtender.SetStyle(MainMenu, version, Theme); + VSExtender.SetStyle(MainToolbar, version, Theme); + //VSExtender.SetStyle(MainStatusBar, version, theme); + + + //if (File.Exists(configFile)) MainDockPanel.LoadFromXml(configFile, m_deserializeDockContent); + + + if (changing) + { + ShowDefaultPanels(); + } + + + } + + private T FindPanel(Func findFunc) where T : ProjectPanel + { + foreach (var pane in MainDockPanel.Panes) + { + foreach (var content in pane.Contents) + { + var test = content as T; + if ((test != null) && findFunc(test)) + { + return test; + } + } + } + return null; + } + private void ShowDefaultPanels() + { + ShowProjectExplorer(); + ShowWelcomePanel(); + } + private void ShowProjectExplorer() + { + if ((ProjectExplorer == null) || (ProjectExplorer.IsDisposed) || (ProjectExplorer.Disposing)) + { + ProjectExplorer = new ProjectExplorerPanel(this); + ProjectExplorer.OnItemSelected += ProjectExplorer_OnItemSelected; + ProjectExplorer.OnItemActivated += ProjectExplorer_OnItemActivated; + ProjectExplorer.SetTheme(Theme); + ProjectExplorer.Show(MainDockPanel, DockState.DockLeft); + } + else + { + ProjectExplorer.Show(); + } + } + private void ShowWelcomePanel() + { + ShowPreviewPanel(() => { return new WelcomePanel(); }); + } + private void ShowPreviewPanel(Func createFunc, Action updateAction = null) where T : ProjectPanel + { + if ((PreviewPanel != null) && (PreviewPanel is T)) + { + PreviewPanel.BringToFront();//.Show(); + updateAction?.Invoke(PreviewPanel as T); + } + else + { + var panel = createFunc(); + panel.HideOnClose = true; + panel.SetTheme(Theme); + panel.Show(MainDockPanel, DockState.Document); + updateAction?.Invoke(panel); + if (PreviewPanel != null) + { + PreviewPanel.Close(); + } + PreviewPanel = panel; + } + } + private void ShowPanel(bool promote, Func createFunc, Action updateAction, Func findFunc) where T : ProjectPanel + { + T found = FindPanel(findFunc); + if ((found != null) && (found != PreviewPanel)) + { + found.BringToFront();//.Show(); + updateAction?.Invoke(found); + } + else + { + if (promote) + { + PromoteIfPreviewPanel(PreviewPanel); + if (found != null) + { + found.BringToFront();//.Show(); + updateAction?.Invoke(found); + } + else + { + ShowPreviewPanel(createFunc, updateAction); + PreviewPanel = null; + } + } + else + { + ShowPreviewPanel(createFunc, updateAction); + } + } + } + private void ShowEditProjectPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditProjectPanel(this); }, //createFunc + (panel) => { panel.SetProject(CurrentProjectFile); }, //updateFunc + (panel) => { return true; }); //findFunc + } + private void ShowEditProjectManifestPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditProjectManifestPanel(this); }, //createFunc + (panel) => { panel.SetProject(CurrentProjectFile); }, //updateFunc + (panel) => { return true; }); //findFunc + } + private void ShowEditYmapPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYmapPanel(this); }, //createFunc + (panel) => { panel.SetYmap(CurrentYmapFile); }, //updateFunc + (panel) => { return panel.Ymap == CurrentYmapFile; }); //findFunc + } + private void ShowEditYmapEntityPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYmapEntityPanel(this); }, //createFunc + (panel) => { panel.SetEntity(CurrentEntity); }, //updateFunc + (panel) => { return panel.CurrentEntity == CurrentEntity; }); //findFunc + } + private void ShowEditYmapCarGenPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYmapCarGenPanel(this); }, //createFunc + (panel) => { panel.SetCarGen(CurrentCarGen); }, //updateFunc + (panel) => { return panel.CurrentCarGen == CurrentCarGen; }); //findFunc + } + private void ShowEditYmapGrassBatchPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYmapGrassPanel(this); }, //createFunc + (panel) => { panel.SetBatch(CurrentGrassBatch); }, //updateFunc + (panel) => { return panel.CurrentBatch == CurrentGrassBatch; }); //findFunc + } + private void ShowEditYtypPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYtypPanel(this); }, //createFunc + (panel) => { panel.SetYtyp(CurrentYtypFile); }, //updateFunc + (panel) => { return panel.Ytyp == CurrentYtypFile; }); //findFunc + } + private void ShowEditYndPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYndPanel(this); }, //createFunc + (panel) => { panel.SetYnd(CurrentYndFile); }, //updateFunc + (panel) => { return panel.Ynd == CurrentYndFile; }); //findFunc + } + private void ShowEditYndNodePanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYndNodePanel(this); }, //createFunc + (panel) => { panel.SetPathNode(CurrentPathNode); }, //updateFunc + (panel) => { return panel.CurrentPathNode == CurrentPathNode; }); //findFunc + } + private void ShowEditYnvPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYnvPanel(this); }, //createFunc + (panel) => { panel.SetYnv(CurrentYnvFile); }, //updateFunc + (panel) => { return panel.Ynv == CurrentYnvFile; }); //findFunc + } + private void ShowEditYnvPolyPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditYnvPolyPanel(this); }, //createFunc + (panel) => { panel.SetYnvPoly(CurrentNavPoly); }, //updateFunc + (panel) => { return panel.YnvPoly == CurrentNavPoly; }); //findFunc + } + private void ShowEditTrainTrackPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditTrainTrackPanel(this); }, //createFunc + (panel) => { panel.SetTrainTrack(CurrentTrainTrack); }, //updateFunc + (panel) => { return panel.Track == CurrentTrainTrack; }); //findFunc + } + private void ShowEditTrainNodePanel(bool promote) + { + ShowPanel(promote, + () => { return new EditTrainNodePanel(this); }, //createFunc + (panel) => { panel.SetTrainNode(CurrentTrainNode); }, //updateFunc + (panel) => { return panel.TrainNode == CurrentTrainNode; }); //findFunc + } + private void ShowEditScenarioYmtPanel(bool promote) + { + ShowPanel(promote, + () => { return new EditScenarioYmtPanel(this); }, //createFunc + (panel) => { panel.SetScenarioYmt(CurrentScenario); }, //updateFunc + (panel) => { return panel.CurrentScenario == CurrentScenario; }); //findFunc + } + private void ShowEditScenarioNodePanel(bool promote) + { + ShowPanel(promote, + () => { return new EditScenarioNodePanel(this); }, //createFunc + (panel) => { panel.SetScenarioNode(CurrentScenarioNode); }, //updateFunc + (panel) => { return panel.CurrentScenarioNode == CurrentScenarioNode; }); //findFunc + } + + private void ShowCurrentProjectItem(bool promote) + { + if (CurrentEntity != null) + { + ShowEditYmapEntityPanel(promote); + } + else if (CurrentCarGen != null) + { + ShowEditYmapCarGenPanel(promote); + } + else if (CurrentGrassBatch != null) + { + ShowEditYmapGrassBatchPanel(promote); + } + else if (CurrentYmapFile != null) + { + ShowEditYmapPanel(promote); + } + if (CurrentYtypFile != null) + { + ShowEditYtypPanel(promote); + } + if (CurrentPathNode != null) + { + ShowEditYndNodePanel(promote); + } + else if (CurrentYndFile != null) + { + ShowEditYndPanel(promote); + } + if (CurrentNavPoly != null) + { + ShowEditYnvPolyPanel(promote); + } + else if (CurrentYnvFile != null) + { + ShowEditYnvPanel(promote); + } + if (CurrentTrainNode != null) + { + ShowEditTrainNodePanel(promote); + } + else if (CurrentTrainTrack != null) + { + ShowEditTrainTrackPanel(promote); + } + if (CurrentScenarioNode != null) + { + ShowEditScenarioNodePanel(promote); + } + else if (CurrentScenario != null) + { + ShowEditScenarioYmtPanel(promote); + } + } + public void ShowProjectItem(object item, bool promote) + { + ShowProjectItemInProcess = true; + + SetProjectItem(item); + + if (item == CurrentProjectFile) + { + ShowEditProjectPanel(promote); + } + else + { + ShowCurrentProjectItem(promote); + } + + ShowProjectItemInProcess = false; + } + public void SetProjectItem(object item) + { + CurrentYmapFile = item as YmapFile; + CurrentEntity = item as YmapEntityDef; + CurrentCarGen = item as YmapCarGen; + CurrentGrassBatch = item as YmapGrassInstanceBatch; + CurrentYtypFile = item as YtypFile; + CurrentYndFile = item as YndFile; + CurrentPathNode = item as YndNode; + CurrentYnvFile = item as YnvFile; + CurrentNavPoly = item as YnvPoly; + CurrentTrainTrack = item as TrainTrack; + CurrentTrainNode = item as TrainTrackNode; + CurrentScenario = item as YmtFile; + CurrentScenarioNode = item as ScenarioNode; + CurrentScenarioChainEdge = item as MCScenarioChainingEdge; + + if (CurrentEntity != null) + { + CurrentYmapFile = CurrentEntity.Ymap; + } + else if (CurrentCarGen != null) + { + CurrentYmapFile = CurrentCarGen.Ymap; + } + else if (CurrentGrassBatch != null) + { + CurrentYmapFile = CurrentGrassBatch.Ymap; + } + if (CurrentPathNode != null) + { + CurrentYndFile = CurrentPathNode.Ynd; + } + if (CurrentNavPoly != null) + { + CurrentYnvFile = CurrentNavPoly.Ynv; + } + if (CurrentTrainNode != null) + { + CurrentTrainTrack = CurrentTrainNode.Track; + } + if ((CurrentScenario != null) && (CurrentScenario.ScenarioRegion == null)) + { + CurrentScenario = null;//incase other types of ymt files make it into the project... + } + if (CurrentScenarioNode != null) + { + CurrentScenario = CurrentScenarioNode.Ymt; + } + if (CurrentScenarioChainEdge != null) + { + CurrentScenario = CurrentScenarioChainEdge.Region?.Ymt; + } + + RefreshUI(); + + } + + private void ClosePanel(Func findFunc) where T : ProjectPanel + { + var panel = FindPanel(findFunc); + if (PreviewPanel == panel) + { + PreviewPanel = null; + } + panel?.Close(); + } + private void CloseAllDocuments() + { + if (MainDockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + foreach (Form form in MdiChildren) form.Close(); + } + else + { + foreach (IDockContent document in MainDockPanel.DocumentsToArray()) + { + // IMPORANT: dispose all panes. + document.DockHandler.DockPanel = null; + document.DockHandler.Close(); + } + } + } + private void CloseAllContents() + { + // we don't want to create another instance of tool window, set DockPanel to null + if (ProjectExplorer != null) ProjectExplorer.DockPanel = null; + if (PreviewPanel != null) PreviewPanel.DockPanel = null; + + // Close all other document windows + CloseAllDocuments(); + + // IMPORTANT: dispose all float windows. + foreach (var window in MainDockPanel.FloatWindows.ToList()) window.Dispose(); + + System.Diagnostics.Debug.Assert(MainDockPanel.Panes.Count == 0); + System.Diagnostics.Debug.Assert(MainDockPanel.Contents.Count == 0); + System.Diagnostics.Debug.Assert(MainDockPanel.FloatWindows.Count == 0); + } + private void CloseAllProjectItems() + { + foreach (var pane in MainDockPanel.Panes.ToArray()) + { + foreach (var content in pane.Contents.ToArray()) + { + var panel = content as ProjectPanel; + if (panel?.Tag != null) + { + panel.Close(); + } + } + } + } + + private void PromoteIfPreviewPanel(IDockContent panel) + { + if (panel == PreviewPanel) + { + if (PreviewPanel != null) + { + PreviewPanel.HideOnClose = false; + } + PreviewPanel = null; + } + } + private void PromoteIfPreviewPanelActive() + { + PromoteIfPreviewPanel(MainDockPanel.ActiveContent); + } + + + + //######## Public methods + + public void NewProject() + { + if (CurrentProjectFile != null) + { + ////unload current project first + CloseProject(); + } + + CurrentProjectFile = new ProjectFile(); + CurrentProjectFile.Name = "New CodeWalker Project"; + CurrentProjectFile.Version = 1; + CurrentProjectFile.HasChanged = true; + LoadProjectUI(); + } + public void OpenProject() + { + string file = ShowOpenDialog("CodeWalker Projects|*.cwproj", string.Empty); + if (string.IsNullOrEmpty(file)) + { + return; + } + + CloseProject(); + + CurrentProjectFile = new ProjectFile(); + CurrentProjectFile.Load(file); + + string cpath = new FileInfo(CurrentProjectFile.Filepath).Directory.FullName; + + foreach (var ymap in CurrentProjectFile.YmapFiles) + { + string filename = ymap.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadYmapFromFile(ymap, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + foreach (var ytyp in CurrentProjectFile.YtypFiles) + { + string filename = ytyp.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadYtypFromFile(ytyp, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + foreach (var ynd in CurrentProjectFile.YndFiles) + { + string filename = ynd.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadYndFromFile(ynd, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + foreach (var ynv in CurrentProjectFile.YnvFiles) + { + string filename = ynv.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadYnvFromFile(ynv, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + foreach (var track in CurrentProjectFile.TrainsFiles) + { + string filename = track.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadTrainTrackFromFile(track, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + foreach (var scenario in CurrentProjectFile.ScenarioFiles) + { + string filename = scenario.FilePath; + if (!File.Exists(filename)) + { + filename = cpath + "\\" + filename; + } + if (File.Exists(filename)) + { + LoadScenarioFromFile(scenario, filename); + } + else + { + MessageBox.Show("Couldn't find file: " + filename); + } + } + + + LoadProjectUI(); + } + public void CloseProject() + { + if (CurrentProjectFile == null) return; + + foreach (var ymap in CurrentProjectFile.YmapFiles) + { + if ((ymap != null) && (ymap.HasChanged)) + { + //save the current ymap first? + if (MessageBox.Show("Would you like to save " + ymap.Name + " before closing?", "Save .ymap before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentYmapFile = ymap; + SaveYmap(); + } + } + } + + foreach (var ytyp in CurrentProjectFile.YtypFiles) + { + if ((ytyp != null) && (ytyp.HasChanged)) + { + //save the current ytyp first? + if (MessageBox.Show("Would you like to save " + ytyp.Name + " before closing?", "Save .ytyp before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentYtypFile = ytyp; + SaveYtyp(); + } + } + } + + foreach (var ynd in CurrentProjectFile.YndFiles) + { + if ((ynd != null) && (ynd.HasChanged)) + { + //save the current ynd first? + if (MessageBox.Show("Would you like to save " + ynd.Name + " before closing?", "Save .ynd before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentYndFile = ynd; + SaveYnd(); + } + } + } + + foreach (var ynv in CurrentProjectFile.YnvFiles) + { + if ((ynv != null) && (ynv.HasChanged)) + { + //save the current ynv first? + if (MessageBox.Show("Would you like to save " + ynv.Name + " before closing?", "Save .ynv before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentYnvFile = ynv; + SaveYnv(); + } + } + } + + foreach (var trains in CurrentProjectFile.TrainsFiles) + { + if ((trains != null) && (trains.HasChanged)) + { + //save the current trains file first? + if (MessageBox.Show("Would you like to save " + trains.Name + " before closing?", "Save trains file before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentTrainTrack = trains; + SaveTrainTrack(); + } + } + } + + foreach (var scenario in CurrentProjectFile.ScenarioFiles) + { + if ((scenario != null) && (scenario.HasChanged)) + { + //save the current scenario file first? + if (MessageBox.Show("Would you like to save " + scenario.Name + " before closing?", "Save scenario file before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + CurrentScenario = scenario; + SaveScenario(); + } + } + } + + + if (CurrentProjectFile.HasChanged) + { + //save the current project first? + if (MessageBox.Show("Would you like to save the current project before closing?", "Save project before closing?", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + SaveProject(); + } + } + + CloseAllProjectItems(); + + CurrentProjectFile = null; + CurrentYmapFile = null; + CurrentYtypFile = null; + CurrentYndFile = null; + CurrentYnvFile = null; + CurrentTrainTrack = null; + CurrentScenario = null; + + LoadProjectUI(); + + + if (WorldForm != null) + { + WorldForm.SelectItem(null);//make sure current selected item isn't still selected... + } + } + public void SaveProject(bool saveas = false) + { + if (CurrentProjectFile == null) return; + if (string.IsNullOrEmpty(CurrentProjectFile.Filepath) || saveas) + { + string fileName = ShowSaveDialog("CodeWalker Projects|*.cwproj", CurrentProjectFile.Filepath); + if (string.IsNullOrEmpty(fileName)) + { return; } //user cancelled + + string oldpath = CurrentProjectFile.Filepath; + CurrentProjectFile.Filepath = fileName; + CurrentProjectFile.Filename = new FileInfo(fileName).Name; + CurrentProjectFile.UpdateFilenames(oldpath); + } + + CurrentProjectFile.Save(); + + SetProjectHasChanged(false); + } + + public void Save() + { + if (CurrentYmapFile != null) + { + SaveYmap(); + } + else if (CurrentYtypFile != null) + { + SaveYtyp(); + } + else if (CurrentYndFile != null) + { + SaveYnd(); + } + else if (CurrentYnvFile != null) + { + SaveYnv(); + } + else if (CurrentTrainTrack != null) + { + SaveTrainTrack(); + } + else if (CurrentScenario != null) + { + SaveScenario(); + } + else if (CurrentProjectFile != null) + { + SaveProject(); + } + } + public void SaveAll() + { + if (CurrentProjectFile != null) + { + if (CurrentProjectFile.YmapFiles != null) + { + var cymap = CurrentYmapFile; + foreach (var ymap in CurrentProjectFile.YmapFiles) + { + CurrentYmapFile = ymap; + SaveYmap(); + } + CurrentYmapFile = cymap; + //ShowEditYmapPanel(false); + } + + if (CurrentProjectFile.YtypFiles != null) + { + var cytyp = CurrentYtypFile; + foreach (var ytyp in CurrentProjectFile.YtypFiles) + { + CurrentYtypFile = ytyp; + SaveYtyp(); + } + CurrentYtypFile = cytyp; + //ShowEditYtypPanel(false); + } + + if (CurrentProjectFile.YndFiles != null) + { + var cynd = CurrentYndFile; + foreach (var ynd in CurrentProjectFile.YndFiles) + { + CurrentYndFile = ynd; + SaveYnd(); + } + CurrentYndFile = cynd; + //ShowEditYndPanel(false); + } + + if (CurrentProjectFile.YnvFiles != null) + { + var cynv = CurrentYnvFile; + foreach (var ynv in CurrentProjectFile.YnvFiles) + { + CurrentYnvFile = ynv; + SaveYnv(); + } + CurrentYnvFile = cynv; + //ShowEditYnvPanel(false); + } + + if (CurrentProjectFile.TrainsFiles != null) + { + var ctrack = CurrentTrainTrack; + foreach (var track in CurrentProjectFile.TrainsFiles) + { + CurrentTrainTrack = track; + SaveYnd(); + } + CurrentTrainTrack = ctrack; + //ShowEditTrainTrackPanel(false); + } + + if (CurrentProjectFile.ScenarioFiles != null) + { + var cscen = CurrentScenario; + foreach (var scen in CurrentProjectFile.ScenarioFiles) + { + CurrentScenario = scen; + SaveScenario(); + } + CurrentScenario = cscen; + //ShowEditScenarioPanel(false); + } + + + SaveProject(); + } + } + public void SaveCurrentItem(bool saveas = false) + { + if (CurrentYmapFile != null) + { + SaveYmap(saveas); + } + else if (CurrentYtypFile != null) + { + SaveYtyp(saveas); + } + else if (CurrentYndFile != null) + { + SaveYnd(saveas); + } + else if (CurrentYnvFile != null) + { + SaveYnv(saveas); + } + else if (CurrentTrainTrack != null) + { + SaveTrainTrack(saveas); + } + else if (CurrentScenario != null) + { + SaveScenario(saveas); + } + } + + + + public void NewYmap() + { + if (CurrentProjectFile == null) + { + NewProject(); + } + if (CurrentProjectFile == null) return; + + int testi = 1; + string fname = string.Empty; + bool filenameok = false; + while (!filenameok) + { + fname = "map" + testi.ToString() + ".ymap"; + filenameok = !CurrentProjectFile.ContainsYmap(fname); + testi++; + } + + lock (projectsyncroot) + { + YmapFile ymap = CurrentProjectFile.AddYmapFile(fname); + if (ymap != null) + { + ymap.Loaded = true; + ymap.HasChanged = true; //new ymap, flag as not saved + ymap._CMapData.contentFlags = 65; //stream flags value + } + } + + CurrentProjectFile.HasChanged = true; + + LoadProjectTree(); + } + public void OpenYmap() + { + string[] files = ShowOpenDialogMulti("Ymap files|*.ymap", string.Empty); + if (files == null) + { + return; + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + foreach (string file in files) + { + if (!File.Exists(file)) continue; + + var ymap = CurrentProjectFile.AddYmapFile(file); + + if (ymap != null) + { + SetProjectHasChanged(true); + + LoadYmapFromFile(ymap, file); + + LoadProjectTree(); + } + else + { + MessageBox.Show("Couldn't add\n" + file + "\n - the file already exists in the project."); + } + + } + } + public void SaveYmap(bool saveas = false) + { + if (CurrentYmapFile == null) return; + string ymapname = CurrentYmapFile.Name; + string filepath = CurrentYmapFile.FilePath; + if (string.IsNullOrEmpty(filepath)) + { + filepath = ymapname; + } + string origfile = filepath; + if (!File.Exists(filepath)) + { + saveas = true; + } + + + byte[] data; + lock (projectsyncroot) //need to sync writes to ymap objects... + { + saveas = saveas || string.IsNullOrEmpty(filepath); + if (saveas) + { + filepath = ShowSaveDialog("Ymap files|*.ymap", filepath); + if (string.IsNullOrEmpty(filepath)) + { return; } + + string newname = Path.GetFileNameWithoutExtension(filepath); + JenkIndex.Ensure(newname); + CurrentYmapFile.FilePath = filepath; + CurrentYmapFile.RpfFileEntry.Name = new FileInfo(filepath).Name; + CurrentYmapFile.Name = CurrentYmapFile.RpfFileEntry.Name; + CurrentYmapFile._CMapData.name = new MetaHash(JenkHash.GenHash(newname)); + } + + data = CurrentYmapFile.Save(); + } + + + if (data != null) + { + File.WriteAllBytes(filepath, data); + } + + SetYmapHasChanged(false); + + if (saveas) + { + //ShowEditYmapPanel(false); + if (CurrentProjectFile != null) + { + string origpath = CurrentProjectFile.GetRelativePath(origfile); + string newpath = CurrentProjectFile.GetRelativePath(CurrentYmapFile.FilePath); + + if (!CurrentProjectFile.RenameYmap(origpath, newpath)) + { //couldn't rename it in the project? + MessageBox.Show("Couldn't rename ymap in project! This shouldn't happen - check the project file XML."); + } + } + SetProjectHasChanged(true); + SetCurrentSaveItem(); + } + + if (CurrentYmapFile.SaveWarnings != null) + { + string w = string.Join("\n", CurrentYmapFile.SaveWarnings); + MessageBox.Show(CurrentYmapFile.SaveWarnings.Count.ToString() + " warnings were generated while saving the ymap:\n" + w); + CurrentYmapFile.SaveWarnings = null;//clear it out for next time.. + } + } + public void AddYmapToProject(YmapFile ymap) + { + if (ymap == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (YmapExistsInProject(ymap)) return; + if (CurrentProjectFile.AddYmapFile(ymap)) + { + ymap.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentYmapFile = ymap; + RefreshUI(); + if (CurrentEntity != null) + { + ProjectExplorer?.TrySelectEntityTreeNode(CurrentEntity); + } + else if (CurrentCarGen != null) + { + ProjectExplorer?.TrySelectCarGenTreeNode(CurrentCarGen); + } + } + public void RemoveYmapFromProject() + { + if (CurrentYmapFile == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveYmapFile(CurrentYmapFile); + CurrentYmapFile = null; + LoadProjectTree(); + RefreshUI(); + } + public bool YmapExistsInProject(YmapFile ymap) + { + if (ymap == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsYmap(ymap); + } + + public void NewEntity(YmapEntityDef copy = null, bool copyPosition = false) + { + if (CurrentYmapFile == null) return; + + float spawndist = 5.0f; //use archetype BSradius if starting with a copy... + if (copy != null) + { + spawndist = copy.BSRadius * 2.5f; + } + bool cp = copyPosition && (copy != null); + Vector3 pos = cp ? copy.Position : GetSpawnPos(spawndist); + + + CEntityDef cent = new CEntityDef(); + + if (copy != null) + { + cent = copy.CEntityDef; + //TODO: copy entity extensions! + } + else + { + cent.archetypeName = new MetaHash(JenkHash.GenHash("prop_alien_egg_01")); + cent.rotation = new Vector4(0, 0, 0, 1); + cent.scaleXY = 1.0f; + cent.scaleZ = 1.0f; + cent.flags = 1572872; + cent.parentIndex = -1; + cent.lodDist = 200.0f; + cent.lodLevel = Unk_1264241711.LODTYPES_DEPTH_ORPHANHD; + cent.priorityLevel = Unk_648413703.PRI_REQUIRED; + cent.ambientOcclusionMultiplier = 255; + cent.artificialAmbientOcclusion = 255; + } + + cent.position = pos; + + + YmapEntityDef ent = new YmapEntityDef(CurrentYmapFile, 0, ref cent); + + ent.SetArchetype(GameFileCache.GetArchetype(cent.archetypeName)); + + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + CurrentYmapFile.AddEntity(ent); + } + } + else + { + CurrentYmapFile.AddEntity(ent); + } + + + LoadProjectTree(); + + ProjectExplorer?.TrySelectEntityTreeNode(ent); + CurrentEntity = ent; + ShowEditYmapEntityPanel(false); + } + public void AddEntityToProject() + { + if (CurrentEntity == null) return; + + if (CurrentEntity.Ymap == null) + { + MessageBox.Show("Sorry, interior entities cannot currently be added to the project."); + return; + } + + CurrentYmapFile = CurrentEntity.Ymap; + if (!YmapExistsInProject(CurrentYmapFile)) + { + var ent = CurrentEntity; + CurrentYmapFile.HasChanged = true; + AddYmapToProject(CurrentYmapFile); + + CurrentEntity = ent; //bug fix for some reason the treeview selects the project node here. + CurrentYmapFile = ent.Ymap; + ProjectExplorer?.TrySelectEntityTreeNode(ent); + } + } + public bool DeleteEntity() + { + if (CurrentYmapFile == null) return false; + if (CurrentEntity == null) return false; + if (CurrentEntity.Ymap != CurrentYmapFile) return false; + if (CurrentYmapFile.AllEntities == null) return false; //nothing to delete.. + if (CurrentYmapFile.RootEntities == null) return false; //nothing to delete.. + + if (CurrentEntity._CEntityDef.numChildren != 0) + { + MessageBox.Show("This entity's numChildren is not 0 - deleting entities with children is not currently supported by CodeWalker."); + return true; + } + + int idx = CurrentEntity.Index; + for (int i = idx + 1; i < CurrentYmapFile.AllEntities.Length; i++) + { + var ent = CurrentYmapFile.AllEntities[i]; + if (ent._CEntityDef.numChildren != 0) + { + MessageBox.Show("There are other entities present in this .ymap that have children. Deleting this entity is not currently supported by CodeWalker."); + return true; + } + } + + if (MessageBox.Show("Are you sure you want to delete this entity?\n" + CurrentEntity._CEntityDef.archetypeName.ToString() + "\n" + CurrentEntity.Position.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return true; + } + + bool res = false; + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + res = CurrentYmapFile.RemoveEntity(CurrentEntity); + //WorldForm.SelectItem(null, null, null); + } + } + else + { + res = CurrentYmapFile.RemoveEntity(CurrentEntity); + } + if (!res) + { + MessageBox.Show("Entity.Index didn't match the index of the entity in the ymap. This shouldn't happen, check LOD linkages!"); + } + + var delent = CurrentEntity; + var delymap = CurrentYmapFile; + + ProjectExplorer?.RemoveEntityTreeNode(delent); + ProjectExplorer?.SetYmapHasChanged(delymap, true); + + ClosePanel((EditYmapEntityPanel p) => { return p.Tag == delent; }); + + CurrentEntity = null; + + return true; + } + public bool IsCurrentEntity(YmapEntityDef ent) + { + return CurrentEntity == ent; + } + + public void NewCarGen(YmapCarGen copy = null, bool copyPosition = false) + { + if (CurrentYmapFile == null) return; + + Vector3 pos = GetSpawnPos(10.0f); + + CCarGen ccg = new CCarGen(); + + if (copy != null) + { + ccg = copy.CCarGen; + } + else + { + ccg.flags = 3680; + ccg.orientX = 5.0f; + ccg.perpendicularLength = 2.6f; + //TODO: set default values for cargen + } + + if (!copyPosition || (copy == null)) + { + ccg.position = pos; + } + + + YmapCarGen cg = new YmapCarGen(CurrentYmapFile, ccg); + + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + CurrentYmapFile.AddCarGen(cg); + } + } + else + { + CurrentYmapFile.AddCarGen(cg); + } + + + LoadProjectTree(); + + ProjectExplorer?.TrySelectCarGenTreeNode(cg); + CurrentCarGen = cg; + ShowEditYmapCarGenPanel(false); + } + public void AddCarGenToProject() + { + if (CurrentCarGen == null) return; + + CurrentYmapFile = CurrentCarGen.Ymap; + if (!YmapExistsInProject(CurrentYmapFile)) + { + var cargen = CurrentCarGen; + CurrentYmapFile.HasChanged = true; + AddYmapToProject(CurrentYmapFile); + + CurrentCarGen = cargen; //bug fix for some reason the treeview selects the project node here. + CurrentYmapFile = cargen.Ymap; + ProjectExplorer?.TrySelectCarGenTreeNode(cargen); + } + } + public bool DeleteCarGen() + { + if (CurrentYmapFile == null) return false; + if (CurrentCarGen == null) return false; + if (CurrentCarGen.Ymap != CurrentYmapFile) return false; + if (CurrentYmapFile.CarGenerators == null) return false; //nothing to delete.. + + if (MessageBox.Show("Are you sure you want to delete this car generator?\n" + CurrentCarGen.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return true; + } + + bool res = false; + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + res = CurrentYmapFile.RemoveCarGen(CurrentCarGen); + //WorldForm.SelectItem(null, null, null); + } + } + else + { + res = CurrentYmapFile.RemoveCarGen(CurrentCarGen); + } + if (!res) + { + MessageBox.Show("Unable to delete the car generator. This shouldn't happen!"); + } + + var delgen = CurrentCarGen; + + ProjectExplorer?.RemoveCarGenTreeNode(CurrentCarGen); + ProjectExplorer?.SetYmapHasChanged(CurrentYmapFile, true); + + ClosePanel((EditYmapCarGenPanel p) => { return p.Tag == delgen; }); + + CurrentCarGen = null; + + return true; + } + public bool IsCurrentCarGen(YmapCarGen cargen) + { + return CurrentCarGen == cargen; + } + + + + public void NewYtyp() + { + if (CurrentProjectFile == null) + { + NewProject(); + } + if (CurrentProjectFile == null) return; + + int testi = 1; + string fname = string.Empty; + bool filenameok = false; + while (!filenameok) + { + fname = "types" + testi.ToString() + ".ytyp"; + filenameok = !CurrentProjectFile.ContainsYtyp(fname); + testi++; + } + + lock (projectsyncroot) + { + YtypFile ytyp = CurrentProjectFile.AddYtypFile(fname); + if (ytyp != null) + { + //ytyp.Loaded = true; + ytyp.HasChanged = true; //new ytyp, flag as not saved + } + } + + CurrentProjectFile.HasChanged = true; + + LoadProjectTree(); + } + public void OpenYtyp() + { + string[] files = ShowOpenDialogMulti("Ytyp files|*.ytyp", string.Empty); + if (files == null) + { + return; + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + foreach (string file in files) + { + if (!File.Exists(file)) continue; + + var ytyp = CurrentProjectFile.AddYtypFile(file); + + if (ytyp != null) + { + SetProjectHasChanged(true); + + LoadYtypFromFile(ytyp, file); + + LoadProjectTree(); + } + else + { + MessageBox.Show("Couldn't add\n" + file + "\n - the file already exists in the project."); + } + + } + } + public void SaveYtyp(bool saveas = false) //TODO! + { + } + public void AddYtypToProject(YtypFile ytyp) + { + if (ytyp == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (YtypExistsInProject(ytyp)) return; + if (CurrentProjectFile.AddYtypFile(ytyp)) + { + ytyp.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentYtypFile = ytyp; + RefreshUI(); + } + public void RemoveYtypFromProject() + { + if (CurrentYtypFile == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveYtypFile(CurrentYtypFile); + CurrentYtypFile = null; + LoadProjectTree(); + RefreshUI(); + } + public bool YtypExistsInProject(YtypFile ytyp) + { + if (ytyp == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsYtyp(ytyp); + } + + + public void NewYnd() + { + if (CurrentProjectFile == null) + { + NewProject(); + } + if (CurrentProjectFile == null) return; + + int testi = 1; + string fname = string.Empty; + bool filenameok = false; + while (!filenameok) + { + fname = "nodes" + testi.ToString() + ".ynd"; + filenameok = !CurrentProjectFile.ContainsYnd(fname); + testi++; + } + + lock (projectsyncroot) + { + YndFile ynd = CurrentProjectFile.AddYndFile(fname); + if (ynd != null) + { + ynd.Loaded = true; + ynd.HasChanged = true; //new ynd, flag as not saved + + //TODO: set new ynd default values... + ynd.NodeDictionary = new NodeDictionary(); + } + } + + CurrentProjectFile.HasChanged = true; + + LoadProjectTree(); + } + public void OpenYnd() + { + string[] files = ShowOpenDialogMulti("Ynd files|*.ynd", string.Empty); + if (files == null) + { + return; + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + foreach (string file in files) + { + if (!File.Exists(file)) continue; + + var ynd = CurrentProjectFile.AddYndFile(file); + + if (ynd != null) + { + SetProjectHasChanged(true); + + LoadYndFromFile(ynd, file); + + LoadProjectTree(); + } + else + { + MessageBox.Show("Couldn't add\n" + file + "\n - the file already exists in the project."); + } + + } + } + public void SaveYnd(bool saveas = false) + { + if ((CurrentYndFile == null) && (CurrentPathNode != null)) CurrentYndFile = CurrentPathNode.Ynd; + if (CurrentYndFile == null) return; + string yndname = CurrentYndFile.Name; + string filepath = CurrentYndFile.FilePath; + if (string.IsNullOrEmpty(filepath)) + { + filepath = yndname; + } + string origfile = filepath; + if (!File.Exists(filepath)) + { + saveas = true; + } + + + byte[] data; + lock (projectsyncroot) //need to sync writes to ynd objects... + { + saveas = saveas || string.IsNullOrEmpty(filepath); + if (saveas) + { + filepath = ShowSaveDialog("Ynd files|*.ynd", filepath); + if (string.IsNullOrEmpty(filepath)) + { return; } + + string newname = Path.GetFileNameWithoutExtension(filepath); + JenkIndex.Ensure(newname); + CurrentYndFile.FilePath = filepath; + CurrentYndFile.RpfFileEntry.Name = new FileInfo(filepath).Name; + CurrentYndFile.Name = CurrentYndFile.RpfFileEntry.Name; + } + + + data = CurrentYndFile.Save(); + } + + + if (data != null) + { + File.WriteAllBytes(filepath, data); + } + + SetYndHasChanged(false); + + if (saveas) + { + //ShowEditYndPanel(false); + if (CurrentProjectFile != null) + { + string origpath = CurrentProjectFile.GetRelativePath(origfile); + string newpath = CurrentProjectFile.GetRelativePath(CurrentYndFile.FilePath); + if (!CurrentProjectFile.RenameYnd(origpath, newpath)) + { //couldn't rename it in the project? happens when project not saved yet... + //MessageBox.Show("Couldn't rename ynd in project! This shouldn't happen - check the project file XML."); + } + } + SetProjectHasChanged(true); + SetCurrentSaveItem(); + } + + } + public void AddYndToProject(YndFile ynd) + { + if (ynd == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (YndExistsInProject(ynd)) return; + if (CurrentProjectFile.AddYndFile(ynd)) + { + ynd.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentYndFile = ynd; + RefreshUI(); + if (CurrentPathNode != null) + { + ProjectExplorer?.TrySelectPathNodeTreeNode(CurrentPathNode); + } + } + public void RemoveYndFromProject() + { + if (CurrentYndFile == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveYndFile(CurrentYndFile); + CurrentYndFile = null; + LoadProjectTree(); + RefreshUI(); + } + public bool YndExistsInProject(YndFile ynd) + { + if (ynd == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsYnd(ynd); + } + + public void NewPathNode(YndNode copy = null, bool copyPosition = false) + { + if (CurrentYndFile == null) return; + + var n = CurrentYndFile.AddNode(); + var areaid = n.AreaID; + var nodeid = n.NodeID; + if (copy == null) + { + copy = CurrentPathNode; + } + if (copy != null) + { + n.Init(CurrentYndFile, copy.RawData); + n.LinkCountUnk = copy.LinkCountUnk; + } + n.AreaID = areaid; + n.NodeID = nodeid; + + bool cp = copyPosition && (copy != null); + Vector3 pos = cp ? copy.Position : GetSpawnPos(10.0f); + n.SetPosition(pos); + + + if (copy != null) + { + var link1 = n.AddLink(copy); + var link2 = copy.AddLink(n); + if ((copy.Links != null) && (copy.Links.Length > 0)) + { + var clink = copy.Links[0]; + link1.CopyFlags(clink); + var clnode = clink.Node2; + if (clnode.Links != null) + { + for (int i = 0; i < clnode.Links.Length; i++) + { + var clnlink = clnode.Links[i]; + if (clnlink.Node2 == copy) + { + link2.CopyFlags(clnlink); + break; + } + } + } + } + } + + CurrentYndFile.UpdateAllNodePositions(); //for the graphics... + CurrentYndFile.BuildBVH(); + + + LoadProjectTree(); + + ProjectExplorer?.TrySelectPathNodeTreeNode(n); + CurrentPathNode = n; + //ShowEditYndPanel(false);; + ShowEditYndNodePanel(false); + + + if (WorldForm != null) + { + WorldForm.UpdatePathYndGraphics(CurrentYndFile, false); + } + } + public bool DeletePathNode() + { + if (CurrentYndFile == null) return false; + if (CurrentPathNode == null) return false; + if (CurrentPathNode.Ynd != CurrentYndFile) return false; + if (CurrentYndFile.Nodes == null) return false; //nothing to delete.. + + if (MessageBox.Show("Are you sure you want to delete this path node?\n" + CurrentPathNode.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return true; + } + + bool res = false; + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + res = CurrentYndFile.RemoveNode(CurrentPathNode); + + //WorldForm.SelectItem(null, null, null); + } + } + else + { + res = CurrentYndFile.RemoveNode(CurrentPathNode); + } + if (!res) + { + MessageBox.Show("Unable to delete the path node. This shouldn't happen!"); + } + + var delnode = CurrentPathNode; + + ProjectExplorer?.RemovePathNodeTreeNode(CurrentPathNode); + ProjectExplorer?.SetYndHasChanged(CurrentYndFile, true); + + ClosePanel((EditYndNodePanel p) => { return p.Tag == delnode; }); + + CurrentPathNode = null; + + if (WorldForm != null) + { + WorldForm.UpdatePathYndGraphics(CurrentYndFile, false); + } + + return true; + } + public bool IsCurrentPathNode(YndNode pathnode) + { + return CurrentPathNode == pathnode; + } + + + + public void NewYnv()//TODO! + { + } + public void OpenYnv()//TODO! + { + } + public void SaveYnv(bool saveas = false)//TODO! + { + } + public void AddYnvToProject(YnvFile ynv) + { + if (ynv == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (YnvExistsInProject(ynv)) return; + if (CurrentProjectFile.AddYnvFile(ynv)) + { + ynv.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentYnvFile = ynv; + RefreshUI(); + if (CurrentNavPoly != null) + { + ProjectExplorer?.TrySelectNavPolyTreeNode(CurrentNavPoly); + } + } + public void RemoveYnvFromProject() + { + if (CurrentYnvFile == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveYnvFile(CurrentYnvFile); + CurrentYnvFile = null; + LoadProjectTree(); + RefreshUI(); + } + public bool YnvExistsInProject(YnvFile ynv) + { + if (ynv == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsYnv(ynv); + } + + public void NewNavPoly(YnvPoly copy = null, bool copyposition = false)//TODO! + { + } + public bool DeleteNavPoly()//TODO! + { + return false; + } + public bool IsCurrentNavPoly(YnvPoly poly) + { + return false;// poly == CurrentNavPoly; + } + + + + public void NewTrainTrack() + { + if (CurrentProjectFile == null) + { + NewProject(); + } + if (CurrentProjectFile == null) return; + + int testi = 13; + string fname = string.Empty; + bool filenameok = false; + while (!filenameok) + { + fname = "trains" + testi.ToString() + ".dat"; + filenameok = !CurrentProjectFile.ContainsTrainTrack(fname); + testi++; + } + + lock (projectsyncroot) + { + TrainTrack track = CurrentProjectFile.AddTrainsFile(fname); + if (track != null) + { + track.Loaded = true; + track.HasChanged = true; //new track, flag as not saved + + //TODO: set new train track default values... + + } + } + + CurrentProjectFile.HasChanged = true; + + LoadProjectTree(); + } + public void OpenTrainTrack() + { + string[] files = ShowOpenDialogMulti("Dat files|*.dat", string.Empty); + if (files == null) + { + return; + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + foreach (string file in files) + { + if (!File.Exists(file)) continue; + + var track = CurrentProjectFile.AddTrainsFile(file); + + if (track != null) + { + SetProjectHasChanged(true); + + LoadTrainTrackFromFile(track, file); + + LoadProjectTree(); + } + else + { + MessageBox.Show("Couldn't add\n" + file + "\n - the file already exists in the project."); + } + + } + } + public void SaveTrainTrack(bool saveas = false) + { + if ((CurrentTrainTrack == null) && (CurrentTrainNode != null)) CurrentTrainTrack = CurrentTrainNode.Track; + if (CurrentTrainTrack == null) return; + string trackname = CurrentTrainTrack.Name; + string filepath = CurrentTrainTrack.FilePath; + if (string.IsNullOrEmpty(filepath)) + { + filepath = trackname; + } + string origfile = filepath; + if (!File.Exists(filepath)) + { + saveas = true; + } + + + byte[] data; + lock (projectsyncroot) //need to sync writes to objects... + { + saveas = saveas || string.IsNullOrEmpty(filepath); + if (saveas) + { + filepath = ShowSaveDialog("Dat files|*.dat", filepath); + if (string.IsNullOrEmpty(filepath)) + { return; } + + string newname = Path.GetFileNameWithoutExtension(filepath); + //////JenkIndex.Ensure(newname); + CurrentTrainTrack.FilePath = filepath; + CurrentTrainTrack.RpfFileEntry.Name = new FileInfo(filepath).Name; + CurrentTrainTrack.Name = CurrentTrainTrack.RpfFileEntry.Name; + } + + + data = CurrentTrainTrack.Save(); + } + + + if (data != null) + { + File.WriteAllBytes(filepath, data); + } + + SetTrainTrackHasChanged(false); + + if (saveas) + { + //ShowEditTrainTrackPanel(false); + if (CurrentProjectFile != null) + { + string origpath = CurrentProjectFile.GetRelativePath(origfile); + string newpath = CurrentProjectFile.GetRelativePath(CurrentTrainTrack.FilePath); + if (!CurrentProjectFile.RenameTrainTrack(origpath, newpath)) + { //couldn't rename it in the project? happens when project not saved yet... + //MessageBox.Show("Couldn't rename train track in project! This shouldn't happen - check the project file XML."); + } + } + SetProjectHasChanged(true); + SetCurrentSaveItem(); + } + + } + public void AddTrainTrackToProject(TrainTrack track) + { + if (track == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (TrainTrackExistsInProject(track)) return; + if (CurrentProjectFile.AddTrainsFile(track)) + { + track.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentTrainTrack = track; + RefreshUI(); + if (CurrentTrainNode != null) + { + ProjectExplorer?.TrySelectTrainNodeTreeNode(CurrentTrainNode); + } + } + public void RemoveTrainTrackFromProject() + { + if (CurrentTrainTrack == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveTrainsFile(CurrentTrainTrack); + CurrentTrainTrack = null; + LoadProjectTree(); + RefreshUI(); + } + public bool TrainTrackExistsInProject(TrainTrack track) + { + if (track == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsTrainTrack(track); + } + + public void NewTrainNode(TrainTrackNode copy = null, bool copyPosition = false) + { + if (CurrentTrainTrack == null) return; + + var afternode = copyPosition ? copy : null; + + var n = CurrentTrainTrack.AddNode(afternode); + if (copy == null) + { + copy = CurrentTrainNode; + } + if (copy != null) + { + n.NodeType = copy.NodeType; + } + + bool cp = copyPosition && (copy != null); + Vector3 pos = cp ? copy.Position : GetSpawnPos(10.0f); + n.SetPosition(pos); + + + //CurrentTrainTrack.BuildVertices(); //for the graphics... + CurrentTrainTrack.BuildBVH(); + + + LoadProjectTree(); + + ProjectExplorer?.TrySelectTrainNodeTreeNode(n); + CurrentTrainNode = n; + ShowEditTrainNodePanel(false); + + + if (WorldForm != null) + { + WorldForm.UpdateTrainTrackGraphics(CurrentTrainTrack, false); + } + } + public bool DeleteTrainNode() + { + if (CurrentTrainTrack == null) return false; + if (CurrentTrainNode == null) return false; + if (CurrentTrainNode.Track != CurrentTrainTrack) return false; + if (CurrentTrainTrack.Nodes == null) return false; //nothing to delete.. + + if (MessageBox.Show("Are you sure you want to delete this train track node?\n" + CurrentTrainNode.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return true; + } + + bool res = false; + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + res = CurrentTrainTrack.RemoveNode(CurrentTrainNode); + + //WorldForm.SelectItem(null, null, null); + } + } + else + { + res = CurrentTrainTrack.RemoveNode(CurrentTrainNode); + } + if (!res) + { + MessageBox.Show("Unable to delete the train track node. This shouldn't happen!"); + } + + var delnode = CurrentTrainNode; + + ProjectExplorer?.RemoveTrainNodeTreeNode(CurrentTrainNode); + ProjectExplorer?.SetTrainTrackHasChanged(CurrentTrainTrack, true); + + ClosePanel((EditTrainNodePanel p) => { return p.Tag == delnode; }); + + CurrentTrainNode = null; + + if (WorldForm != null) + { + WorldForm.UpdateTrainTrackGraphics(CurrentTrainTrack, false); + } + + return true; + } + public bool IsCurrentTrainNode(TrainTrackNode node) + { + return node == CurrentTrainNode; + } + + + + public void NewScenario() + { + if (CurrentProjectFile == null) + { + NewProject(); + } + if (CurrentProjectFile == null) return; + + int testi = 1; + string fname = string.Empty; + bool filenameok = false; + while (!filenameok) + { + fname = "scenario" + testi.ToString() + ".ymt"; + filenameok = !CurrentProjectFile.ContainsScenario(fname); + testi++; + } + + lock (projectsyncroot) + { + YmtFile ymt = CurrentProjectFile.AddScenarioFile(fname); + if (ymt != null) + { + ymt.CScenarioPointRegion = new MCScenarioPointRegion(); + ymt.CScenarioPointRegion.Ymt = ymt; + ymt.CScenarioPointRegion.Points = new MCScenarioPointContainer(ymt.CScenarioPointRegion); + ymt.CScenarioPointRegion.Paths = new MUnk_4023740759(ymt.CScenarioPointRegion); + ymt.CScenarioPointRegion.LookUps = new MCScenarioPointLookUps(ymt.CScenarioPointRegion); + + ymt.ScenarioRegion = new ScenarioRegion(); + ymt.ScenarioRegion.Region = ymt.CScenarioPointRegion; + ymt.ScenarioRegion.Ymt = ymt; + + ymt.ScenarioRegion.BuildNodes(); //should be empty + ymt.ScenarioRegion.BuildBVH(); //should be empty + ymt.ScenarioRegion.BuildVertices(); //should be empty + + ymt.HasChanged = true; //new ymt, flag as not saved + ymt.Loaded = true; + } + } + + CurrentProjectFile.HasChanged = true; + + LoadProjectTree(); + } + public void OpenScenario() + { + string[] files = ShowOpenDialogMulti("Ymt files|*.ymt", string.Empty); + if (files == null) + { + return; + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + foreach (string file in files) + { + if (!File.Exists(file)) continue; + + var ymt = CurrentProjectFile.AddScenarioFile(file); + + if (ymt != null) + { + SetProjectHasChanged(true); + + LoadScenarioFromFile(ymt, file); + + LoadProjectTree(); + } + else + { + MessageBox.Show("Couldn't add\n" + file + "\n - the file already exists in the project."); + } + + } + } + public void SaveScenario(bool saveas = false) + { + if ((CurrentScenario == null) && (CurrentScenarioNode != null)) CurrentScenario = CurrentScenarioNode.Ymt; + if (CurrentScenario == null) return; + string ymtname = CurrentScenario.Name; + string filepath = CurrentScenario.FilePath; + if (string.IsNullOrEmpty(filepath)) + { + filepath = ymtname; + } + string origfile = filepath; + if (!File.Exists(filepath)) + { + saveas = true; + } + + + byte[] data; + lock (projectsyncroot) //need to sync writes to scenario... + { + saveas = saveas || string.IsNullOrEmpty(filepath); + if (saveas) + { + filepath = ShowSaveDialog("Ymt files|*.ymt", filepath); + if (string.IsNullOrEmpty(filepath)) + { return; } + + string newname = Path.GetFileNameWithoutExtension(filepath); + JenkIndex.Ensure(newname); + CurrentScenario.FilePath = filepath; + CurrentScenario.RpfFileEntry.Name = new FileInfo(filepath).Name; + CurrentScenario.Name = CurrentScenario.RpfFileEntry.Name; + } + + + CurrentScenario.ContentType = YmtFileContentType.ScenarioPointRegion;//just to be sure.. + + data = CurrentScenario.Save(); + } + + + if (data != null) + { + File.WriteAllBytes(filepath, data); + } + + SetScenarioHasChanged(false); + + if (saveas) + { + //ShowEditScenarioPanel(false); + if (CurrentProjectFile != null) + { + string origpath = CurrentProjectFile.GetRelativePath(origfile); + string newpath = CurrentProjectFile.GetRelativePath(CurrentScenario.FilePath); + if (!CurrentProjectFile.RenameScenario(origpath, newpath)) + { //couldn't rename it in the project? happens when project not saved yet... + //MessageBox.Show("Couldn't rename scenario in project! This shouldn't happen - check the project file XML."); + } + } + SetProjectHasChanged(true); + SetCurrentSaveItem(); + } + } + public void AddScenarioToProject(YmtFile ymt) + { + if (ymt == null) return; + if (CurrentProjectFile == null) + { + NewProject(); + } + if (ScenarioExistsInProject(ymt)) return; + if (CurrentProjectFile.AddScenarioFile(ymt)) + { + ymt.HasChanged = true; + CurrentProjectFile.HasChanged = true; + LoadProjectTree(); + } + CurrentScenario = ymt; + RefreshUI(); + if (CurrentScenarioNode != null) + { + ProjectExplorer?.TrySelectScenarioNodeTreeNode(CurrentScenarioNode); + } + } + public void RemoveScenarioFromProject() + { + if (CurrentScenario == null) return; + if (CurrentProjectFile == null) return; + CurrentProjectFile.RemoveScenarioFile(CurrentScenario); + CurrentScenario = null; + LoadProjectTree(); + RefreshUI(); + } + public bool ScenarioExistsInProject(YmtFile ymt) + { + if (ymt == null) return false; + if (CurrentProjectFile == null) return false; + return CurrentProjectFile.ContainsScenario(ymt); + } + + public void NewScenarioNode(ScenarioNode copy = null, bool copyPosition = false) + { + if (CurrentScenario == null) return; + if (CurrentScenario.ScenarioRegion == null) return; + + if (copy == null) + { + copy = CurrentScenarioNode; + } + + var n = CurrentScenario.ScenarioRegion.AddNode(copy); + + bool cp = copyPosition && (copy != null); + Vector3 pos = cp ? copy.Position : GetSpawnPos(10.0f); + Quaternion ori = cp ? copy.Orientation : Quaternion.Identity; + n.SetPosition(pos); + n.SetOrientation(ori); + + + LoadProjectTree(); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(n); + CurrentScenarioNode = n; + //ShowEditScenarioPanel(false); + ShowEditScenarioNodePanel(false); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + public bool DeleteScenarioNode() + { + if (CurrentScenario == null) return false; + if (CurrentScenario.ScenarioRegion == null) return false; + if (CurrentScenarioNode == null) return false; + + + if (MessageBox.Show("Are you sure you want to delete this scenario node?\n" + CurrentScenarioNode.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return true; + } + + bool res = false; + if (WorldForm != null) + { + lock (WorldForm.RenderSyncRoot) //don't try to do this while rendering... + { + res = CurrentScenario.ScenarioRegion.RemoveNode(CurrentScenarioNode); + } + } + else + { + res = CurrentScenario.ScenarioRegion.RemoveNode(CurrentScenarioNode); + } + if (!res) + { + MessageBox.Show("Unable to delete the scenario node. This shouldn't happen!"); + } + + var delnode = CurrentScenarioNode; + + ProjectExplorer?.RemoveScenarioNodeTreeNode(CurrentScenarioNode); + ProjectExplorer?.SetScenarioHasChanged(CurrentScenario, true); + + ClosePanel((EditScenarioNodePanel p) => { return p.Tag == delnode; }); + + CurrentScenarioNode = null; + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + + + return true; + } + public bool IsCurrentScenarioNode(ScenarioNode node) + { + return node == CurrentScenarioNode; + } + + + public void SetScenarioChainEdge(MCScenarioChainingEdge e) + { + CurrentScenarioChainEdge = e; + } + + public void AddScenarioChain() + { + if (CurrentScenario.ScenarioRegion == null) return; + var paths = CurrentScenario?.CScenarioPointRegion?.Paths; + if (paths == null) return; + + var copy = CurrentScenarioNode?.ChainingNode?.Chain; + var copyn = CurrentScenarioNode?.ChainingNode; + var copyp = CurrentScenarioNode?.MyPoint; + var copye = CurrentScenarioChainEdge; + var copycl = CurrentScenarioNode?.Cluster; + + MCScenarioChain chain = new MCScenarioChain(); + chain.Unk1 = 1; //default value + if (copy != null) + { + chain.Data = copy.Data; + chain._Data.EdgeIds = new Array_ushort(); //start empty.. not really necessary + } + + paths.AddChain(chain); + + + //add 2 new nodes to the new chain. + var pos1 = GetSpawnPos(10.0f); + var pos2 = pos1 + Vector3.UnitX; + + ScenarioNode n1 = null;// CurrentScenario.ScenarioRegion.AddNode(); + + if (copycl != null) + { + ScenarioNode copyclnode = new ScenarioNode(CurrentScenario); + copyclnode.Cluster = copycl; + copyclnode.ClusterMyPoint = new MCScenarioPoint(CurrentScenario.CScenarioPointRegion); + copyclnode.ClusterMyPoint.InteriorName = 493038497; //JenkHash.GenHash("none"); + copyclnode.ClusterMyPoint.GroupName = 493038497; + copyclnode.ClusterMyPoint.IMapName = 493038497; + copyclnode.ClusterMyPoint.TimeStart = 0; + copyclnode.ClusterMyPoint.TimeEnd = 24; + n1 = CurrentScenario.ScenarioRegion.AddNode(copyclnode); + } + else + { + n1 = CurrentScenario.ScenarioRegion.AddNode(); + } + + ScenarioNode n2 = CurrentScenario.ScenarioRegion.AddNode(); + + if (copyp != null) + { + n1.MyPoint.CopyFrom(copyp); + n2.MyPoint.CopyFrom(copyp); + } + + n1.ChainingNode = new MCScenarioChainingNode(); + n2.ChainingNode = new MCScenarioChainingNode(); + + if (copyn != null) + { + n1.ChainingNode.CopyFrom(copyn); + n2.ChainingNode.CopyFrom(copyn); + } + + n1.ChainingNode.NotLast = true; + n2.ChainingNode.NotFirst = true; + + n1.ChainingNode.ScenarioNode = n1; + n2.ChainingNode.ScenarioNode = n2; + + paths.AddNode(n1.ChainingNode); + paths.AddNode(n2.ChainingNode); + + n1.ChainingNode.Chain = chain; + n2.ChainingNode.Chain = chain; + + var ed = new MCScenarioChainingEdge(); + + if (copye != null) + { + ed.Data = copye.Data; + } + + ed.NodeFrom = n1.ChainingNode; + ed.NodeTo = n2.ChainingNode; + ed.NodeIndexFrom = (ushort)n1.ChainingNode.NodeIndex; + ed.NodeIndexTo = (ushort)n2.ChainingNode.NodeIndex; + + paths.AddEdge(ed); + chain.AddEdge(ed); + + + + n1.SetPosition(pos1); + n2.SetPosition(pos2); + + + + + + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(n1); + + CurrentScenarioNode = n1; + CurrentScenarioChainEdge = ed; + //LoadScenarioChainTabPage(); + ////LoadScenarioTabPage(); + ////LoadScenarioNodeTabPages(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + public void AddScenarioCluster()//TODO: add defualt cluster points to new cluster + { + if (CurrentScenario == null) return; + + var sr = CurrentScenario.ScenarioRegion; + if (sr == null) return; + + var rgn = CurrentScenario.CScenarioPointRegion; + if (rgn == null) return; + + var copy = CurrentScenarioNode?.Cluster; + + + MCScenarioPointCluster cluster = new MCScenarioPointCluster(rgn, copy); + List clusterpoints = new List(); + + if (copy != null) + { + if (copy.Points?.MyPoints != null) + { + clusterpoints.AddRange(copy.Points.MyPoints); + } + } + + + + rgn.AddCluster(cluster); //add the base cluster to the region. + + + var pos1 = GetSpawnPos(10.0f); + + var ncopy = new ScenarioNode(CurrentScenario);//copy an empty node to start with, to avoid creating default MyPoint + var nc = sr.AddNode(ncopy); //add the base cluster's display node. + nc.Cluster = cluster; + + nc.SetPosition(pos1); + + if (cluster.Points != null) + { + foreach (var cpt in clusterpoints) + { + //TODO: copy cluster points.... + //or create some default points! + } + } + + + + + + + + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(nc); + + CurrentScenarioNode = nc; + //LoadScenarioClusterTabPage(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + + } + public void AddScenarioClusterPoint() + { + if (CurrentScenario == null) return; + + var sr = CurrentScenario.ScenarioRegion; + if (sr == null) return; + + var rgn = CurrentScenario.CScenarioPointRegion; + if (rgn == null) return; + + var cluster = CurrentScenarioNode?.Cluster; + if (cluster == null) return; + + if (cluster.Points == null) + { + cluster.Points = new MCScenarioPointContainer(rgn); + cluster.Points.Parent = cluster; + } + + var copy = CurrentScenarioNode?.ClusterMyPoint; + + var pos1 = GetSpawnPos(10.0f); + var ori1 = copy?.Orientation ?? Quaternion.Identity; + + var cn = new ScenarioNode(CurrentScenario);//copy a blank node + var n = sr.AddNode(cn); + + var np = new MCScenarioPoint(rgn, copy); + cluster.Points.AddMyPoint(np); + + n.ClusterMyPoint = np; + n.Cluster = cluster; + + n.SetPosition(pos1); + n.SetOrientation(ori1); + + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(n); + + CurrentScenarioNode = n; + //LoadScenarioClusterTabPage(); + //LoadScenarioClusterPointTabPage(); + ////LoadScenarioTabPage(); + ////LoadScenarioNodeTabPages(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + public void AddScenarioEntity()//TODO: add default entity point(s) to entity + { + if (CurrentScenario == null) return; + + var sr = CurrentScenario.ScenarioRegion; + if (sr == null) return; + + var rgn = CurrentScenario.CScenarioPointRegion; + if (rgn == null) return; + + var copy = CurrentScenarioNode?.Entity; + + + MCScenarioEntityOverride entity = new MCScenarioEntityOverride(rgn, copy); + List entpoints = new List(); + + if (copy != null) + { + if (copy.ScenarioPoints != null) + { + entpoints.AddRange(copy.ScenarioPoints); + } + } + + + + + + + rgn.AddEntity(entity); //add the base entity to the region. + + + var pos1 = GetSpawnPos(10.0f); + + var ncopy = new ScenarioNode(CurrentScenario);//copy an empty node to start with, to avoid creating default MyPoint + var ne = sr.AddNode(ncopy); //add the base entity's display node. + ne.Entity = entity; + + ne.SetPosition(pos1); + + if (entity.ScenarioPoints != null) + { + foreach (var cpt in entpoints) + { + //TODO: copy entity points.... + //or create some default points! + } + } + + + + + + + + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(ne); + + CurrentScenarioNode = ne; + //LoadScenarioEntityTabPage(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + + } + public void AddScenarioEntityPoint() + { + if (CurrentScenario == null) return; + + var sr = CurrentScenario.ScenarioRegion; + if (sr == null) return; + + var rgn = CurrentScenario.CScenarioPointRegion; + if (rgn == null) return; + + var entity = CurrentScenarioNode?.Entity; + if (entity == null) return; + + var copy = CurrentScenarioNode?.EntityPoint; + + var pos1 = GetSpawnPos(10.0f); + var ori1 = copy?.Orientation ?? Quaternion.Identity; + + var cn = new ScenarioNode(CurrentScenario);//copy a blank node + var n = sr.AddNode(cn); + + var np = new MCExtensionDefSpawnPoint(rgn, copy); + entity.AddScenarioPoint(np); + + n.EntityPoint = np; + n.Entity = entity; + + n.SetPosition(pos1); + n.SetOrientation(ori1); + + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioNodeTreeNode(n); + + CurrentScenarioNode = n; + //LoadScenarioEntityTabPage(); + //LoadScenarioEntityPointTabPage(); + ////LoadScenarioTabPage(); + ////LoadScenarioNodeTabPages(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + + public void DeleteScenarioChain() + { + if (CurrentScenario == null) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.ChainingNode == null) return; + if (CurrentScenarioNode.ChainingNode.Chain == null) return; + + var chain = CurrentScenarioNode.ChainingNode.Chain; + + var paths = CurrentScenario.CScenarioPointRegion?.Paths; + if (paths == null) return; + + var rgn = CurrentScenario.ScenarioRegion; + if (rgn == null) return; + + + if (MessageBox.Show("Are you sure you want to delete this scenario chain?\n" + chain.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + + bool delpoints = false; + if (MessageBox.Show("Delete all Scenario Points for this chain as well?", "Confirm delete points", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + delpoints = true; + } + + + + Dictionary ndict = new Dictionary(); + + var edges = chain.Edges; + if (edges != null) + { + foreach (var edge in edges) + { + //paths.RemoveEdge(edge); //removing nodes also removes edges! + paths.RemoveNode(edge.NodeFrom); + paths.RemoveNode(edge.NodeTo); + + ndict[edge.NodeFrom] = 1; + ndict[edge.NodeTo] = 1; + } + } + + paths.RemoveChain(chain); + + + + + List delnodes = new List(); + foreach (var node in rgn.Nodes) + { + if ((node.ChainingNode != null) && (ndict.ContainsKey(node.ChainingNode))) + { + delnodes.Add(node); + } + } + foreach (var delnode in delnodes) + { + delnode.ChainingNode = null;//this chaining node has been removed from the region. remove this association. + if (delpoints) + { + rgn.RemoveNode(delnode); + } + } + + + + var cn = CurrentScenarioNode; + var cs = CurrentScenario; + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + if (!delpoints && (cn != null)) + { + ProjectExplorer?.TrySelectScenarioNodeTreeNode(cn); + } + else + { + ProjectExplorer?.TrySelectScenarioTreeNode(cs); + } + + ClosePanel((EditScenarioNodePanel p) => { return p.Tag == cn; }); + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(cs, false); + if (delpoints) + { + WorldForm.SelectItem(null); + } + } + else if (cs?.ScenarioRegion != null) + { + cs.ScenarioRegion.BuildBVH(); + cs.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + public void DeleteScenarioCluster() + { + if (CurrentScenario == null) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Cluster == null) return; + + var cluster = CurrentScenarioNode.Cluster; + + var rgn = CurrentScenario.ScenarioRegion; + if (rgn == null) return; + + var crgn = CurrentScenario.CScenarioPointRegion; + if (crgn == null) return; + + + if (MessageBox.Show("Are you sure you want to delete this scenario cluster?\n" + cluster.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + + bool delpoints = false; + if (MessageBox.Show("Delete all Scenario Points for this cluster as well?", "Confirm delete points", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + delpoints = true; + } + + + crgn.RemoveCluster(cluster); + + + + + + Dictionary ndict = new Dictionary(); + if (cluster?.Points?.MyPoints != null) + { + foreach (var point in cluster.Points.MyPoints) + { + ndict[point] = 1; + } + } + List delnodes = new List(); + foreach (var node in rgn.Nodes) + { + if ((node.ClusterMyPoint != null) && (ndict.ContainsKey(node.ClusterMyPoint))) + { + delnodes.Add(node); + } + else if (node.Cluster == cluster) + { + delnodes.Add(node); + } + } + foreach (var delnode in delnodes) + { + if (!delpoints && (crgn.Points != null) && (delnode.ClusterMyPoint != null)) + { + var copypt = new MCScenarioPoint(crgn, delnode.ClusterMyPoint); + crgn.Points.AddMyPoint(copypt); + delnode.MyPoint = copypt; + } + bool iscl = false; + if ((delnode.Cluster != null) && (delnode.ClusterMyPoint == null) && (delnode.ClusterLoadSavePoint == null)) + { + iscl = true; + } + delnode.Cluster = null; + delnode.ClusterMyPoint = null;//this cluster point has been removed from the region. remove this association. + delnode.ClusterLoadSavePoint = null; + if (delpoints) + { + //if ((delnode.ChainingNode == null) && (delnode.EntityPoint == null)) + { + rgn.RemoveNode(delnode); + } + } + else if (iscl) + { + rgn.RemoveNode(delnode); //remove the cluster node itself. + } + } + + + + var cn = CurrentScenarioNode; + var cs = CurrentScenario; + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + if (!delpoints && (cn != null)) + { + ProjectExplorer?.TrySelectScenarioNodeTreeNode(cn); + } + else + { + ProjectExplorer?.TrySelectScenarioTreeNode(cs); + } + + ClosePanel((EditScenarioNodePanel p) => { return p.Tag == cn; }); + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(cs, false); + if (delpoints || ((cn != null) && (cn.MyPoint == null))) + { + WorldForm.SelectItem(null); + } + } + else if (cs?.ScenarioRegion != null) + { + cs.ScenarioRegion.BuildBVH(); + cs.ScenarioRegion.BuildVertices(); //for the graphics... + } + + } + public void DeleteScenarioEntity() + { + if (CurrentScenario == null) return; + if (CurrentScenarioNode == null) return; + if (CurrentScenarioNode.Entity == null) return; + + var entity = CurrentScenarioNode.Entity; + + var rgn = CurrentScenario.ScenarioRegion; + if (rgn == null) return; + + var crgn = CurrentScenario.CScenarioPointRegion; + if (crgn == null) return; + + + if (MessageBox.Show("Are you sure you want to delete this scenario entity override, and all its override points?\n" + entity.ToString() + "\n\nThis operation cannot be undone. Continue?", "Confirm delete", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + + //bool delpoints = false; + //if (MessageBox.Show("Delete all Scenario Points for this entity override as well?", "Confirm delete points", MessageBoxButtons.YesNo) == DialogResult.Yes) + //{ + // delpoints = true; + //} + + + crgn.RemoveEntity(entity); + + + + + + Dictionary ndict = new Dictionary(); + if (entity.ScenarioPoints != null) + { + foreach (var point in entity.ScenarioPoints) + { + ndict[point] = 1; + } + } + List delnodes = new List(); + foreach (var node in rgn.Nodes) + { + if ((node.EntityPoint != null) && (ndict.ContainsKey(node.EntityPoint))) + { + delnodes.Add(node); + } + else if (node.Entity == entity) + { + delnodes.Add(node); + } + } + foreach (var delnode in delnodes) + { + delnode.Entity = null; + delnode.EntityPoint = null;//this entity point has been removed from the region. remove this association. + rgn.RemoveNode(delnode); + } + + + + var cn = CurrentScenarioNode; + var cs = CurrentScenario; + + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + + ProjectExplorer?.TrySelectScenarioTreeNode(cs); + + ClosePanel((EditScenarioNodePanel p) => { return p.Tag == cn; }); + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(cs, false); + WorldForm.SelectItem(null); + } + else if (cs?.ScenarioRegion != null) + { + cs.ScenarioRegion.BuildBVH(); + cs.ScenarioRegion.BuildVertices(); //for the graphics... + } + } + + public void ImportScenarioChain() + { + var paths = CurrentScenario?.CScenarioPointRegion?.Paths; + if (paths == null) return; + var rgn = CurrentScenario.ScenarioRegion; + if (rgn == null) return; + + TextInputForm f = new TextInputForm(); + f.TitleText = "Import scenario chain points"; + f.PromptText = "Input chain points in CSV (or TSV) format. Direction is in radians. NavSpeed is from 0 to 15. NavMode can be either Direct, NavMesh, or Roads. ScenarioType is the name of the scenario type to use."; + f.MainText = "X, Y, Z, Direction, NavSpeed, NavMode, ScenarioType, ModelSet, Flags"; + if (f.ShowDialog() == DialogResult.Cancel) return; + + var stypes = Scenarios.ScenarioTypes; //these are loaded by Scenarios.Init + ScenarioType defaulttype = null; + if (stypes != null) + { + defaulttype = stypes.GetScenarioType(1194480618); //"drive"; + } + + AmbientModelSet defaultmodelset = null; + uint defaultflags = 0; + + ScenarioNode thisnode = null; + ScenarioNode lastnode = null; + MCScenarioChainingEdge lastedge = null; + + var str = f.MainText; + var lines = str.Split('\n'); + + + if (lines.Length < 2) + { + return;//need at least 2 lines (1 point) to work with... + } + + + + MCScenarioChain chain = new MCScenarioChain(); + + paths.AddChain(chain); + + + for (int i = 0; i < lines.Length; i++) + { + var line = lines[i]; + var delim = line.Contains(",") ? "," : " "; + var vals = line.Split(new[] { delim }, StringSplitOptions.RemoveEmptyEntries); + if (vals.Length < 3) continue; + if (vals[0].StartsWith("X")) continue; + Vector3 pos = Vector3.Zero; + float dir = 0; + var action = Unk_3609807418.Move; + var navMode = Unk_3971773454.Direct; + var navSpeed = Unk_941086046.Unk_00_3279574318; + var stype = defaulttype; + var modelset = defaultmodelset; + var flags = defaultflags; + var ok = true; + ok = ok && FloatUtil.TryParse(vals[0].Trim(), out pos.X); + ok = ok && FloatUtil.TryParse(vals[1].Trim(), out pos.Y); + ok = ok && FloatUtil.TryParse(vals[2].Trim(), out pos.Z); + if (vals.Length > 3) + { + ok = ok && FloatUtil.TryParse(vals[3].Trim(), out dir); + while (dir > Math.PI) dir -= 2.0f * (float)Math.PI; + while (dir < -Math.PI) dir += 2.0f * (float)Math.PI; + } + if (vals.Length > 4) + { + byte nsb = 0; + byte.TryParse(vals[4].Trim(), out nsb); + if (nsb > 15) nsb = 15; + navSpeed = (Unk_941086046)nsb; + } + if (vals.Length > 5) + { + switch (vals[5].Trim()) + { + case "Direct": navMode = Unk_3971773454.Direct; break; + case "NavMesh": navMode = Unk_3971773454.NavMesh; break; + case "Roads": navMode = Unk_3971773454.Roads; break; + } + } + if (vals.Length > 6) + { + var sthash = JenkHash.GenHash(vals[6].Trim().ToLowerInvariant()); + stype = stypes?.GetScenarioType(sthash) ?? defaulttype; + } + if (vals.Length > 7) + { + var mshash = JenkHash.GenHash(vals[7].Trim().ToLowerInvariant()); + modelset = stypes?.GetPedModelSet(mshash) ?? null; + if (modelset == null) modelset = stypes?.GetVehicleModelSet(mshash) ?? null; + } + if (vals.Length > 8) + { + if (!uint.TryParse(vals[8].Trim(), out flags)) flags = defaultflags; + } + + if (!ok) continue; + + + + thisnode = rgn.AddNode(); + + thisnode.MyPoint.Direction = dir; + thisnode.MyPoint.Type = stype; + thisnode.MyPoint.ModelSet = modelset; + thisnode.MyPoint.Flags = (Unk_700327466)flags; + + thisnode.ChainingNode = new MCScenarioChainingNode(); + thisnode.ChainingNode.ScenarioNode = thisnode; + thisnode.ChainingNode.Chain = chain; + thisnode.ChainingNode.Type = stype; + thisnode.ChainingNode.TypeHash = stype?.NameHash ?? 0; + thisnode.ChainingNode.NotLast = (i < (lines.Length - 1)); + thisnode.ChainingNode.NotFirst = (lastnode != null); + + thisnode.SetPosition(pos); + thisnode.Orientation = thisnode.MyPoint.Orientation; + + paths.AddNode(thisnode.ChainingNode); + + + if (lastnode != null) + { + var edge = new MCScenarioChainingEdge(); + + edge.NodeFrom = lastnode.ChainingNode; + edge.NodeTo = thisnode.ChainingNode; + edge.NodeIndexFrom = (ushort)lastnode.ChainingNode.NodeIndex; + edge.NodeIndexTo = (ushort)thisnode.ChainingNode.NodeIndex; + + edge.Action = action; + edge.NavMode = navMode; + edge.NavSpeed = navSpeed; + + paths.AddEdge(edge); + chain.AddEdge(edge); + + lastedge = edge; + } + + + lastnode = thisnode; + } + + + + + + + LoadProjectTree(); + + if (lastnode != null) + { + ProjectExplorer?.TrySelectScenarioNodeTreeNode(lastnode); + CurrentScenarioNode = lastnode; + } + + //CurrentScenarioChainEdge = lastedge; + //LoadScenarioChainTabPage(); + //LoadScenarioTabPage(); + //LoadScenarioNodeTabPages(); + + + if (WorldForm != null) + { + WorldForm.UpdateScenarioGraphics(CurrentScenario, false); + } + else + { + CurrentScenario.ScenarioRegion.BuildBVH(); + CurrentScenario.ScenarioRegion.BuildVertices(); //for the graphics... + } + + + } + + + + + + + public void GetVisibleYmaps(Camera camera, Dictionary ymaps) + { + if (hidegtavmap) + { + ymaps.Clear(); //remove all the gtav ymaps. + } + + if (renderitems && (CurrentProjectFile != null)) + { + lock (projectsyncroot) + { + for (int i = 0; i < CurrentProjectFile.YmapFiles.Count; i++) + { + var ymap = CurrentProjectFile.YmapFiles[i]; + if (ymap.Loaded) + { + ymaps[ymap._CMapData.name] = ymap; + } + } + } + } + } + public void GetVisibleCollisionMeshes(Camera camera, List items) + { + if (hidegtavmap) + { + items.Clear(); + } + } + public void GetVisibleWaterQuads(Camera camera, List quads) + { + if (hidegtavmap) + { + quads.Clear(); + } + } + public void GetVisibleYnds(Camera camera, List ynds) + { + if (hidegtavmap) + { + ynds.Clear(); + } + + if (CurrentProjectFile == null) return; + + lock (projectsyncroot) + { + visibleynds.Clear(); + for (int i = 0; i < ynds.Count; i++) + { + var ynd = ynds[i]; + visibleynds[ynd.AreaID] = ynd; + } + + for (int i = 0; i < CurrentProjectFile.YndFiles.Count; i++) + { + var ynd = CurrentProjectFile.YndFiles[i]; + if (ynd.Loaded) + { + visibleynds[ynd.AreaID] = ynd; + } + } + + ynds.Clear(); + foreach (var ynd in visibleynds.Values) + { + ynds.Add(ynd); + } + } + + } + public void GetVisibleYnvs(Camera camera, List ynvs) + { + if (hidegtavmap) + { + ynvs.Clear(); + } + + if (CurrentProjectFile == null) return; + + lock (projectsyncroot) + { + visibleynvs.Clear(); + for (int i = 0; i < ynvs.Count; i++) + { + var ynv = ynvs[i]; + visibleynvs[ynv.AreaID] = ynv; + } + + for (int i = 0; i < CurrentProjectFile.YnvFiles.Count; i++) + { + var ynv = CurrentProjectFile.YnvFiles[i]; + if (ynv.Loaded) + { + visibleynvs[ynv.AreaID] = ynv; + } + } + + ynvs.Clear(); + foreach (var ynv in visibleynvs.Values) + { + ynvs.Add(ynv); + } + } + + } + public void GetVisibleTrainTracks(Camera camera, List tracks) + { + if (hidegtavmap) + { + tracks.Clear(); + } + + + if (CurrentProjectFile == null) return; + + lock (projectsyncroot) + { + visibletrains.Clear(); + for (int i = 0; i < tracks.Count; i++) + { + var track = tracks[i]; + visibletrains[track.Name] = track; + } + + for (int i = 0; i < CurrentProjectFile.TrainsFiles.Count; i++) + { + var track = CurrentProjectFile.TrainsFiles[i]; + if (track.Loaded) + { + visibletrains[track.Name] = track; + } + } + + tracks.Clear(); + foreach (var track in visibletrains.Values) + { + tracks.Add(track); + } + } + + } + public void GetVisibleScenarios(Camera camera, List ymts) + { + if (hidegtavmap) + { + ymts.Clear(); + } + + + if (CurrentProjectFile == null) return; + + lock (projectsyncroot) + { + visiblescenarios.Clear(); + for (int i = 0; i < ymts.Count; i++) + { + var ymt = ymts[i]; + visiblescenarios[ymt.Name] = ymt; + } + + for (int i = 0; i < CurrentProjectFile.ScenarioFiles.Count; i++) + { + var scenario = CurrentProjectFile.ScenarioFiles[i]; + if (scenario.Loaded) + { + visiblescenarios[scenario.Name] = scenario; + } + } + + ymts.Clear(); + foreach (var ymt in visiblescenarios.Values) + { + ymts.Add(ymt); + } + } + + } + + + public void OnWorldSelectionChanged(MapSelection sel) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldSelectionChanged(sel); })); + } + else + { + var ent = sel.EntityDef; + var cargen = sel.CarGenerator; + var grassbatch = sel.GrassBatch; + var pathnode = sel.PathNode; + var pathlink = sel.PathLink; + var navpoly = sel.NavPoly; + var trainnode = sel.TrainTrackNode; + var scenariond = sel.ScenarioNode; + var scenarioedge = sel.ScenarioEdge; + YmapFile ymap = ent?.Ymap ?? cargen?.Ymap ?? grassbatch?.Ymap; + YndFile ynd = pathnode?.Ynd; + YnvFile ynv = navpoly?.Ynv; + TrainTrack traintrack = trainnode?.Track; + YmtFile scenario = scenariond?.Ymt ?? scenarioedge?.Region?.Ymt; + bool showcurrent = false; + + if (YmapExistsInProject(ymap)) + { + if (ent != CurrentEntity) + { + ProjectExplorer?.TrySelectEntityTreeNode(ent); + } + if (cargen != CurrentCarGen) + { + ProjectExplorer?.TrySelectCarGenTreeNode(cargen); + } + } + else if (YndExistsInProject(ynd)) + { + if (pathnode != CurrentPathNode) + { + ProjectExplorer?.TrySelectPathNodeTreeNode(pathnode); + } + } + else if (YnvExistsInProject(ynv)) + { + if (navpoly != CurrentNavPoly) + { + ProjectExplorer?.TrySelectNavPolyTreeNode(navpoly); + } + } + else if (TrainTrackExistsInProject(traintrack)) + { + if (trainnode != CurrentTrainNode) + { + ProjectExplorer?.TrySelectTrainNodeTreeNode(trainnode); + } + } + else if (ScenarioExistsInProject(scenario)) + { + if ((scenariond != null) && (scenariond != CurrentScenarioNode)) + { + ProjectExplorer?.TrySelectScenarioNodeTreeNode(scenariond); + } + } + else + { + ProjectExplorer?.DeselectNode(); + + showcurrent = true; + } + + CurrentYmapFile = ymap; + CurrentYtypFile = null;//TODO: interiors! + CurrentEntity = ent; + CurrentCarGen = cargen; + CurrentGrassBatch = grassbatch; + CurrentYndFile = ynd; + CurrentPathNode = pathnode; + CurrentPathLink = pathlink; + CurrentYnvFile = ynv; + CurrentNavPoly = navpoly; + CurrentTrainTrack = traintrack; + CurrentTrainNode = trainnode; + CurrentScenario = scenario; + CurrentScenarioNode = scenariond; + CurrentScenarioChainEdge = scenarioedge; + RefreshUI(); + if (showcurrent) + { + ShowProjectItemInProcess = true; + ShowCurrentProjectItem(false); + ShowProjectItemInProcess = false; + } + } + } + catch { } + } + public void OnWorldSelectionModified(MapSelection sel, List items) + { + if (sel.MultipleSelection) + { + //TODO!! + } + else if (sel.EntityDef != null) + { + OnWorldEntityModified(sel.EntityDef); + } + else if (sel.CarGenerator != null) + { + OnWorldCarGenModified(sel.CarGenerator); + } + else if (sel.PathNode != null) + { + OnWorldPathNodeModified(sel.PathNode, sel.PathLink); + } + else if (sel.NavPoly != null) + { + OnWorldNavPolyModified(sel.NavPoly); + } + else if (sel.TrainTrackNode != null) + { + OnWorldTrainNodeModified(sel.TrainTrackNode); + } + else if (sel.ScenarioNode != null) + { + OnWorldScenarioNodeModified(sel.ScenarioNode); + } + } + + private void OnWorldEntityModified(YmapEntityDef ent) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldEntityModified(ent); })); + } + else + { + if ((ent.Ymap == null) || (ent.MloParent != null)) + { + return;//TODO: properly handle interior entities! + } + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!YmapExistsInProject(ent.Ymap)) + { + ent.Ymap.HasChanged = true; + AddYmapToProject(ent.Ymap); + ProjectExplorer?.TrySelectEntityTreeNode(ent); + } + + if (ent != CurrentEntity) + { + CurrentEntity = ent; + ProjectExplorer?.TrySelectEntityTreeNode(ent); + } + + if (ent == CurrentEntity) + { + ShowEditYmapEntityPanel(false); + + if (ent.Ymap != null) + { + SetYmapHasChanged(true); + } + } + } + } + catch { } + } + private void OnWorldCarGenModified(YmapCarGen cargen) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldCarGenModified(cargen); })); + } + else + { + if (cargen?.Ymap == null) return; + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!YmapExistsInProject(cargen.Ymap)) + { + cargen.Ymap.HasChanged = true; + AddYmapToProject(cargen.Ymap); + ProjectExplorer?.TrySelectCarGenTreeNode(cargen); + } + + if (cargen != CurrentCarGen) + { + CurrentCarGen = cargen; + ProjectExplorer?.TrySelectCarGenTreeNode(cargen); + } + + if (cargen == CurrentCarGen) + { + ShowEditYmapCarGenPanel(false); + + ProjectExplorer?.UpdateCarGenTreeNode(cargen); + + if (cargen.Ymap != null) + { + SetYmapHasChanged(true); + } + } + + } + } + catch { } + } + private void OnWorldPathNodeModified(YndNode node, YndLink link) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldPathNodeModified(node, link); })); + } + else + { + if (node?.Ynd == null) return; + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!YndExistsInProject(node.Ynd)) + { + node.Ynd.HasChanged = true; + AddYndToProject(node.Ynd); + ProjectExplorer?.TrySelectPathNodeTreeNode(node); + } + + if (node != CurrentPathNode) + { + CurrentPathNode = node; + ProjectExplorer?.TrySelectPathNodeTreeNode(node); + } + + //////if (link != CurrentPathLink) + //////{ + ////// CurrentPathLink = link; + ////// ShowEditYndLinkPanel(false); + //////} + + if (node == CurrentPathNode) + { + //////ShowEditYndPanel(false); + ShowEditYndNodePanel(false); + + //////UpdatePathNodeTreeNode(node); + + if (node.Ynd != null) + { + SetYndHasChanged(true); + } + } + + } + } + catch { } + } + private void OnWorldNavPolyModified(YnvPoly poly) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldNavPolyModified(poly); })); + } + else + { + if (poly?.Ynv == null) return; + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!YnvExistsInProject(poly.Ynv)) + { + poly.Ynv.HasChanged = true; + AddYnvToProject(poly.Ynv); + ProjectExplorer?.TrySelectNavPolyTreeNode(poly); + } + + if (poly != CurrentNavPoly) + { + CurrentNavPoly = poly; + ProjectExplorer?.TrySelectNavPolyTreeNode(poly); + } + + if (poly == CurrentNavPoly) + { + ShowEditYnvPolyPanel(false); + + //////UpdateNavPolyTreeNode(poly); + + if (poly.Ynv != null) + { + SetYnvHasChanged(true); + } + } + + } + } + catch { } + } + private void OnWorldTrainNodeModified(TrainTrackNode node) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldTrainNodeModified(node); })); + } + else + { + if (node?.Track == null) return; + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!TrainTrackExistsInProject(node.Track)) + { + node.Track.HasChanged = true; + AddTrainTrackToProject(node.Track); + ProjectExplorer?.TrySelectTrainNodeTreeNode(node); + } + + if (node != CurrentTrainNode) + { + CurrentTrainNode = node; + ProjectExplorer?.TrySelectTrainNodeTreeNode(node); + } + + if (node == CurrentTrainNode) + { + ShowEditTrainNodePanel(false); + + if (node.Track != null) + { + SetTrainTrackHasChanged(true); + } + } + } + } + catch { } + } + private void OnWorldScenarioNodeModified(ScenarioNode node) + { + try + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => { OnWorldScenarioNodeModified(node); })); + } + else + { + if (node?.Ymt == null) return; + + if (CurrentProjectFile == null) + { + NewProject(); + } + + if (!ScenarioExistsInProject(node.Ymt)) + { + node.Ymt.HasChanged = true; + AddScenarioToProject(node.Ymt); + ProjectExplorer?.TrySelectScenarioNodeTreeNode(node); + } + + if (node != CurrentScenarioNode) + { + CurrentScenarioNode = node; + ProjectExplorer?.TrySelectScenarioNodeTreeNode(node); + } + + if (node == CurrentScenarioNode) + { + //ShowEditScenarioPanel(false); + ShowEditScenarioNodePanel(false); + + if (node?.Ymt != null) + { + SetScenarioHasChanged(true); + } + } + } + } + catch { } + } + + + + + + + public Vector3 GetSpawnPos(float dist) + { + Vector3 pos = Vector3.Zero; + if (WorldForm != null) + { + Vector3 campos = WorldForm.GetCameraPosition(); + Vector3 camdir = WorldForm.GetCameraViewDir(); + pos = campos + camdir * dist; + } + return pos; + } + + + + public void SetProjectHasChanged(bool changed) + { + if (CurrentProjectFile == null) return; + + CurrentProjectFile.HasChanged = changed; + + ProjectExplorer?.SetProjectHasChanged(changed); + + UpdateFormTitleText(); + } + public void SetYmapHasChanged(bool changed) + { + if (CurrentYmapFile == null) return; + + bool changechange = changed != CurrentYmapFile.HasChanged; + if (!changechange) return; + + CurrentYmapFile.HasChanged = changed; + + ProjectExplorer?.SetYmapHasChanged(CurrentYmapFile, changed); + + PromoteIfPreviewPanelActive(); + } + public void SetYtypHasChanged(bool changed) + { + if (CurrentYtypFile == null) return; + + bool changechange = changed != CurrentYtypFile.HasChanged; + if (!changechange) return; + + CurrentYtypFile.HasChanged = changed; + + ProjectExplorer?.SetYtypHasChanged(CurrentYtypFile, changed); + + PromoteIfPreviewPanelActive(); + } + public void SetYndHasChanged(bool changed) + { + if (CurrentYndFile == null) return; + + bool changechange = changed != CurrentYndFile.HasChanged; + if (!changechange) return; + + CurrentYndFile.HasChanged = changed; + + ProjectExplorer?.SetYndHasChanged(CurrentYndFile, changed); + + PromoteIfPreviewPanelActive(); + } + public void SetYnvHasChanged(bool changed) + { + if (CurrentYnvFile == null) return; + + bool changechange = changed != CurrentYnvFile.HasChanged; + if (!changechange) return; + + CurrentYnvFile.HasChanged = changed; + + ProjectExplorer?.SetYnvHasChanged(CurrentYnvFile, changed); + + PromoteIfPreviewPanelActive(); + } + public void SetTrainTrackHasChanged(bool changed) + { + if (CurrentTrainTrack == null) return; + + bool changechange = changed != CurrentTrainTrack.HasChanged; + if (!changechange) return; + + CurrentTrainTrack.HasChanged = changed; + + ProjectExplorer?.SetTrainTrackHasChanged(CurrentTrainTrack, changed); + + PromoteIfPreviewPanelActive(); + } + public void SetScenarioHasChanged(bool changed) + { + if (CurrentScenario == null) return; + + bool changechange = changed != CurrentScenario.HasChanged; + if (!changechange) return; + + CurrentScenario.HasChanged = changed; + + ProjectExplorer?.SetScenarioHasChanged(CurrentScenario, changed); + + PromoteIfPreviewPanelActive(); + } + + + public RpfFileEntry FindParentYmapEntry(uint hash) + { + if (CurrentProjectFile != null) + { + foreach (var ymap in CurrentProjectFile.YmapFiles) + { + if ((ymap._CMapData.name.Hash == hash) || (JenkHash.GenHash(Path.GetFileNameWithoutExtension(ymap.Name)) == hash)) + { + return ymap.RpfFileEntry; + } + } + } + + if ((GameFileCache != null) && (GameFileCache.IsInited)) + { + return GameFileCache.GetYmapEntry(hash); + } + + return null; + } + + + + + + + + + + //######## Private methods + + private void LoadYmapFromFile(YmapFile ymap, string filename) + { + byte[] data = File.ReadAllBytes(filename); + + ymap.Load(data); + + GameFileCache.InitYmapEntityArchetypes(ymap); //this needs to be done after calling YmapFile.Load() + } + private void LoadYtypFromFile(YtypFile ytyp, string filename) + { + byte[] data = File.ReadAllBytes(filename); + + ytyp.Load(data); + } + private void LoadYndFromFile(YndFile ynd, string filename) + { + byte[] data = File.ReadAllBytes(filename); + + ynd.Load(data); + + if (WorldForm != null) + { + WorldForm.UpdatePathYndGraphics(ynd, true); //links don't get drawn until something changes otherwise + //note: this is actually necessary to properly populate junctions data........ + } + } + private void LoadYnvFromFile(YnvFile ynv, string filename)//TODO! + { + } + private void LoadTrainTrackFromFile(TrainTrack track, string filename) + { + byte[] data = File.ReadAllBytes(filename); + + string fname = new FileInfo(filename).Name; + + track.Load(data); + track.Name = fname; + track.FilePath = filename; + track.RpfFileEntry.Name = fname; + track.RpfFileEntry.NameLower = fname.ToLowerInvariant(); + + if (WorldForm != null) + { + WorldForm.UpdateTrainTrackGraphics(track, true); //links don't get drawn until something changes otherwise + } + } + private void LoadScenarioFromFile(YmtFile ymt, string filename) + { + byte[] data = File.ReadAllBytes(filename); + + ymt.LoadRSC(data); + } + + + + private void LoadProjectUI() + { + RefreshProjectUI(); + UpdateFormTitleText(); + LoadProjectTree(); + RefreshUI(); + } + private void LoadProjectTree() + { + ProjectExplorer?.LoadProjectTree(CurrentProjectFile); + } + + + private void UpdateFormTitleText() + { + if (CurrentProjectFile == null) + { + Text = "Project - CodeWalker by dexyfex"; + } + else + { + Text = CurrentProjectFile.Name + " - CodeWalker by dexyfex"; + } + } + + private void RefreshProjectUI() + { + bool enable = (CurrentProjectFile != null); + FileCloseProjectMenu.Enabled = enable; + FileSaveProjectMenu.Enabled = enable; + FileSaveProjectAsMenu.Enabled = enable; + } + private void RefreshUI() + { + RefreshYmapUI(); + RefreshEntityUI(); + RefreshCarGenUI(); + RefreshYtypUI(); + RefreshYndUI(); + RefreshYnvUI(); + RefreshTrainTrackUI(); + RefreshScenarioUI(); + SetCurrentSaveItem(); + //ShowEditYmapPanel(false); + //ShowEditYmapEntityPanel(false); + //ShowEditYmapCarGenPanel(false); + //ShowEditYtypPanel(false); + //ShowEditYndPanel(false); + //ShowEditYnvPanel(false); + //ShowEditYndNodePanel(false); + //ShowEditTrainTrackPanel(false); + //ShowEditTrainNodePanel(false); + //ShowEditScenarioPanel(false); + //ShowEditScenarioNodePanel(false); + } + private void RefreshYmapUI() + { + bool enable = (CurrentYmapFile != null); + bool inproj = YmapExistsInProject(CurrentYmapFile); + + YmapNewEntityMenu.Enabled = enable && inproj; + YmapNewCarGenMenu.Enabled = enable && inproj; + + if (CurrentYmapFile != null) + { + YmapNameMenu.Text = "(" + CurrentYmapFile.Name + ")"; + } + else + { + YmapNameMenu.Text = "(No .ymap file selected)"; + } + + YmapAddToProjectMenu.Enabled = enable && !inproj; + YmapRemoveFromProjectMenu.Enabled = inproj; + YmapMenu.Visible = enable; + + if (WorldForm != null) + { + WorldForm.EnableYmapUI(enable, CurrentYmapFile?.Name ?? ""); + } + } + private void RefreshEntityUI() + { + //bool enable = (CurrentEntity != null); + //bool isinproj = false; + + //if (CurrentEntity != null) + //{ + // isinproj = YmapExistsInProject(CurrentEntity.Ymap); + //} + + //EntityAddToProjectButton.Enabled = !isinproj; + //EntityDeleteButton.Enabled = isinproj; + } + private void RefreshCarGenUI() + { + //bool enable = (CurrentCarGen != null); + //bool isinproj = false; + + //if (CurrentCarGen != null) + //{ + // isinproj = YmapExistsInProject(CurrentCarGen.Ymap); + //} + + //CarAddToProjectButton.Enabled = !isinproj; + //CarDeleteButton.Enabled = isinproj; + } + private void RefreshYtypUI() + { + bool enable = (CurrentYtypFile != null); + bool inproj = YtypExistsInProject(CurrentYtypFile); + + YtypNewArchetypeMenu.Enabled = enable && inproj; + + if (CurrentYtypFile != null) + { + YtypNameMenu.Text = "(" + CurrentYtypFile.Name + ")"; + } + else + { + YtypNameMenu.Text = "(No .ytyp file selected)"; + } + + YtypAddToProjectMenu.Enabled = enable && !inproj; + YtypRemoveFromProjectMenu.Enabled = inproj; + YtypMenu.Visible = enable; + + if (WorldForm != null) + { + //WorldForm.EnableYtypUI(enable, CurrentYtypFile?.Name ?? ""); + } + } + private void RefreshYndUI() + { + bool enable = (CurrentYndFile != null); + bool inproj = YndExistsInProject(CurrentYndFile); + + YndNewNodeMenu.Enabled = enable && inproj; + + if (CurrentYndFile != null) + { + YndNameMenu.Text = "(" + CurrentYndFile.Name + ")"; + } + else + { + YndNameMenu.Text = "(No .ynd file selected)"; + } + + YndAddToProjectMenu.Enabled = enable && !inproj; + YndRemoveFromProjectMenu.Enabled = inproj; + YndMenu.Visible = enable; + + if (WorldForm != null) + { + WorldForm.EnableYndUI(enable, CurrentYndFile?.Name ?? ""); + } + } + private void RefreshYnvUI() + { + bool enable = (CurrentYnvFile != null); + bool inproj = YnvExistsInProject(CurrentYnvFile); + + YnvNewPolygonMenu.Enabled = enable && inproj; + + if (CurrentYnvFile != null) + { + YnvNameMenu.Text = "(" + CurrentYnvFile.Name + ")"; + } + else + { + YnvNameMenu.Text = "(No .ynv file selected)"; + } + + YnvAddToProjectMenu.Enabled = enable && !inproj; + YnvRemoveFromProjectMenu.Enabled = inproj; + YnvMenu.Visible = enable; + + if (WorldForm != null) + { + WorldForm.EnableYnvUI(enable, CurrentYnvFile?.Name ?? ""); + } + } + private void RefreshTrainTrackUI() + { + bool enable = (CurrentTrainTrack != null); + bool inproj = TrainTrackExistsInProject(CurrentTrainTrack); + + TrainsNewNodeMenu.Enabled = enable && inproj; + + if (CurrentTrainTrack != null) + { + TrainsNameMenu.Text = "(" + CurrentTrainTrack.Name + ")"; + } + else + { + TrainsNameMenu.Text = "(No train track selected)"; + } + + TrainsAddToProjectMenu.Enabled = enable && !inproj; + TrainsRemoveFromProjectMenu.Enabled = inproj; + TrainsMenu.Visible = enable; + + if (WorldForm != null) + { + WorldForm.EnableTrainsUI(enable, CurrentTrainTrack?.Name ?? ""); + } + } + private void RefreshScenarioUI() + { + bool enable = (CurrentScenario != null); + bool inproj = ScenarioExistsInProject(CurrentScenario); + + ScenarioNewPointMenu.Enabled = enable && inproj; + ScenarioNewPointFromSelectedMenu.Enabled = enable && inproj && (CurrentScenarioNode != null); + ScenarioNewEntityOverrideMenu.Enabled = enable && inproj; + ScenarioNewChainMenu.Enabled = enable && inproj; + ScenarioNewClusterMenu.Enabled = enable && inproj; + ScenarioImportChainMenu.Enabled = enable && inproj; + + if (CurrentScenario != null) + { + ScenarioNameMenu.Text = "(" + CurrentScenario.Name + ")"; + } + else + { + ScenarioNameMenu.Text = "(No scenario region selected)"; + } + + ScenarioAddToProjectMenu.Enabled = enable && !inproj; + ScenarioRemoveFromProjectMenu.Enabled = inproj; + ScenarioMenu.Visible = enable; + + if (WorldForm != null) + { + WorldForm.EnableScenarioUI(enable, CurrentScenario?.Name ?? ""); + } + } + + + private void SetCurrentSaveItem() + { + string filename = null; + if (CurrentYmapFile != null) + { + filename = CurrentYmapFile.RpfFileEntry?.Name; + } + else if (CurrentYtypFile != null) + { + filename = CurrentYtypFile.RpfFileEntry?.Name; + } + else if (CurrentYndFile != null) + { + filename = CurrentYndFile.RpfFileEntry?.Name; + } + else if (CurrentYnvFile != null) + { + filename = CurrentYnvFile.RpfFileEntry?.Name; + } + else if (CurrentTrainTrack != null) + { + filename = CurrentTrainTrack.RpfFileEntry?.Name; + } + else if (CurrentScenario != null) + { + filename = CurrentScenario.RpfFileEntry?.Name; + } + + bool enable = !string.IsNullOrEmpty(filename); + + if (enable) + { + FileSaveItemMenu.Text = "Save " + filename; + FileSaveItemAsMenu.Text = "Save " + filename + " As..."; + ToolbarSaveButton.Text = "Save " + filename; + } + else + { + FileSaveItemMenu.Text = "Save"; + FileSaveItemAsMenu.Text = "Save As..."; + ToolbarSaveButton.Text = "Save"; + } + + FileSaveItemMenu.Tag = filename; + FileSaveItemAsMenu.Tag = filename; + + FileSaveItemMenu.Enabled = enable; + FileSaveItemMenu.Visible = enable; + FileSaveItemAsMenu.Enabled = enable; + FileSaveItemAsMenu.Visible = enable; + ToolbarSaveButton.Enabled = enable; + + if (WorldForm != null) + { + WorldForm.SetCurrentSaveItem(filename); + } + } + + + + + + + + + private string ShowSaveDialog(string filter, string filename) + { + SaveFileDialog.FileName = filename; + SaveFileDialog.Filter = filter; + if (SaveFileDialog.ShowDialog(this) != DialogResult.OK) + { + return string.Empty; + } + return SaveFileDialog.FileName; + } + private string ShowOpenDialog(string filter, string filename) + { + OpenFileDialog.FileName = filename; + OpenFileDialog.Filter = filter; + OpenFileDialog.Multiselect = false; + if (OpenFileDialog.ShowDialog(this) != DialogResult.OK) + { + return string.Empty; + } + return OpenFileDialog.FileName; + } + private string[] ShowOpenDialogMulti(string filter, string filename) + { + OpenFileDialog.FileName = filename; + OpenFileDialog.Filter = filter; + OpenFileDialog.Multiselect = true; + if (OpenFileDialog.ShowDialog(this) != DialogResult.OK) + { + return null; + } + return OpenFileDialog.FileNames; + } + + + + + + + + //######## events + + private void ProjectForm_FormClosing(object sender, FormClosingEventArgs e) + { + CloseProject(); + } + private void ProjectForm_FormClosed(object sender, FormClosedEventArgs e) + { + if (WorldForm != null) + { + WorldForm.OnProjectFormClosed(); + } + } + + private void ProjectExplorer_OnItemSelected(object item) + { + ShowProjectItem(item, false); + } + private void ProjectExplorer_OnItemActivated(object item) + { + //promote from preview panel to full panel... + ShowProjectItem(item, true); + } + + private void MainDockPanel_ActiveContentChanged(object sender, EventArgs e) + { + if (!ShowProjectItemInProcess) + { + var panel = MainDockPanel.ActiveContent as ProjectPanel; + if (panel != null) + { + MainDockPanel.DefaultFloatWindowSize = panel.Size; + } + if (panel?.Tag != null) + { + SetProjectItem(panel.Tag); + RefreshUI(); + } + } + } + private void MainDockPanel_DocumentDragged(object sender, EventArgs e) + { + PromoteIfPreviewPanel(MainDockPanel.ActiveContent); + } + + private void FileNewProjectMenu_Click(object sender, EventArgs e) + { + NewProject(); + } + private void FileNewYmapMenu_Click(object sender, EventArgs e) + { + NewYmap(); + } + private void FileNewYtypMenu_Click(object sender, EventArgs e) + { + NewYtyp(); + } + private void FileNewYndMenu_Click(object sender, EventArgs e) + { + NewYnd(); + } + private void FileNewYnvMenu_Click(object sender, EventArgs e) + { + NewYnv(); + } + private void FileNewTrainsMenu_Click(object sender, EventArgs e) + { + NewTrainTrack(); + } + private void FileNewScenarioMenu_Click(object sender, EventArgs e) + { + NewScenario(); + } + private void FileOpenProjectMenu_Click(object sender, EventArgs e) + { + OpenProject(); + } + private void FileOpenYmapMenu_Click(object sender, EventArgs e) + { + OpenYmap(); + } + private void FileOpenYtypMenu_Click(object sender, EventArgs e) + { + OpenYtyp(); + } + private void FileOpenYndMenu_Click(object sender, EventArgs e) + { + OpenYnd(); + } + private void FileOpenYnvMenu_Click(object sender, EventArgs e) + { + OpenYnv(); + } + private void FileOpenTrainsMenu_Click(object sender, EventArgs e) + { + OpenTrainTrack(); + } + private void FileOpenScenarioMenu_Click(object sender, EventArgs e) + { + OpenScenario(); + } + private void FileCloseProjectMenu_Click(object sender, EventArgs e) + { + CloseProject(); + } + private void FileSaveProjectMenu_Click(object sender, EventArgs e) + { + SaveProject(); + } + private void FileSaveProjectAsMenu_Click(object sender, EventArgs e) + { + SaveProject(true); + } + private void FileSaveItemMenu_Click(object sender, EventArgs e) + { + SaveCurrentItem(); + } + private void FileSaveItemAsMenu_Click(object sender, EventArgs e) + { + SaveCurrentItem(true); + } + + private void ViewProjectExplorerMenu_Click(object sender, EventArgs e) + { + ShowProjectExplorer(); + } + private void ViewThemeBlueMenu_Click(object sender, EventArgs e) + { + SetTheme("Blue"); + } + private void ViewThemeLightMenu_Click(object sender, EventArgs e) + { + SetTheme("Light"); + } + private void ViewThemeDarkMenu_Click(object sender, EventArgs e) + { + SetTheme("Dark"); + } + + private void ToolsManifestGeneratorMenu_Click(object sender, EventArgs e) + { + ShowEditProjectManifestPanel(false); + } + private void ToolsImportMenyooXmlMenu_Click(object sender, EventArgs e) + { + MessageBox.Show("TODO: rebuild this!"); + } + + private void RenderShowGtavMapMenu_Click(object sender, EventArgs e) + { + RenderShowGtavMapMenu.Checked = !RenderShowGtavMapMenu.Checked; + hidegtavmap = !RenderShowGtavMapMenu.Checked; + } + private void RenderShowProjectItemsMenu_Click(object sender, EventArgs e) + { + RenderShowProjectItemsMenu.Checked = !RenderShowProjectItemsMenu.Checked; + renderitems = RenderShowProjectItemsMenu.Checked; + } + + private void ToolbarNewButton_ButtonClick(object sender, EventArgs e) + { + if (CurrentProjectFile == null) + { + NewProject(); + } + else + { + NewYmap(); + } + } + private void ToolbarNewProjectMenu_Click(object sender, EventArgs e) + { + NewProject(); + } + private void ToolbarNewYmapMenu_Click(object sender, EventArgs e) + { + NewYmap(); + } + private void ToolbarNewYtypMenu_Click(object sender, EventArgs e) + { + NewYtyp(); + } + private void ToolbarNewYndMenu_Click(object sender, EventArgs e) + { + NewYnd(); + } + private void ToolbarNewYnvMenu_Click(object sender, EventArgs e) + { + NewYnv(); + } + private void ToolbarNewTrainsMenu_Click(object sender, EventArgs e) + { + NewTrainTrack(); + } + private void ToolbarNewScenarioMenu_Click(object sender, EventArgs e) + { + NewScenario(); + } + private void ToolbarOpenButton_ButtonClick(object sender, EventArgs e) + { + if (CurrentProjectFile == null) + { + OpenProject(); + } + else + { + OpenYmap(); + } + } + private void ToolbarOpenProjectMenu_Click(object sender, EventArgs e) + { + OpenProject(); + } + private void ToolbarOpenYmapMenu_Click(object sender, EventArgs e) + { + OpenYmap(); + } + private void ToolbarOpenYtypMenu_Click(object sender, EventArgs e) + { + OpenYtyp(); + } + private void ToolbarOpenYndMenu_Click(object sender, EventArgs e) + { + OpenYnd(); + } + private void ToolbarOpenYnvMenu_Click(object sender, EventArgs e) + { + OpenYnv(); + } + private void ToolbarOpenTrainsMenu_Click(object sender, EventArgs e) + { + OpenTrainTrack(); + } + private void ToolbarOpenScenarioMenu_Click(object sender, EventArgs e) + { + OpenScenario(); + } + private void ToolbarSaveButton_Click(object sender, EventArgs e) + { + Save(); + } + private void ToolbarSaveAllButton_Click(object sender, EventArgs e) + { + SaveAll(); + } + + private void YmapNewEntityMenu_Click(object sender, EventArgs e) + { + NewEntity(); + } + private void YmapNewCarGenMenu_Click(object sender, EventArgs e) + { + NewCarGen(); + } + private void YmapAddToProjectMenu_Click(object sender, EventArgs e) + { + AddYmapToProject(CurrentYmapFile); + } + private void YmapRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveYmapFromProject(); + } + + private void YtypNewArchetypeMenu_Click(object sender, EventArgs e) + { + //NewArchetype(); + } + private void YtypAddToProjectMenu_Click(object sender, EventArgs e) + { + AddYtypToProject(CurrentYtypFile); + } + private void YtypRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveYtypFromProject(); + } + + private void YndNewNodeMenu_Click(object sender, EventArgs e) + { + NewPathNode(); + } + private void YndAddToProjectMenu_Click(object sender, EventArgs e) + { + AddYndToProject(CurrentYndFile); + } + private void YndRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveYndFromProject(); + } + + private void YnvNewPolygonMenu_Click(object sender, EventArgs e) + { + NewNavPoly(); + } + private void YnvAddToProjectMenu_Click(object sender, EventArgs e) + { + AddYnvToProject(CurrentYnvFile); + } + private void YnvRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveYnvFromProject(); + } + + private void TrainsNewNodeMenu_Click(object sender, EventArgs e) + { + NewTrainNode(); + } + private void TrainsAddToProjectMenu_Click(object sender, EventArgs e) + { + AddTrainTrackToProject(CurrentTrainTrack); + } + private void TrainsRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveTrainTrackFromProject(); + } + + private void ScenarioNewPointMenu_Click(object sender, EventArgs e) + { + CurrentScenarioNode = null; + NewScenarioNode(); + } + private void ScenarioNewPointFromSelectedMenu_Click(object sender, EventArgs e) + { + NewScenarioNode(); + } + private void ScenarioNewEntityOverrideMenu_Click(object sender, EventArgs e) + { + AddScenarioEntity(); + } + private void ScenarioNewChainMenu_Click(object sender, EventArgs e) + { + AddScenarioChain(); + } + private void ScenarioNewClusterMenu_Click(object sender, EventArgs e) + { + AddScenarioCluster(); + } + private void ScenarioImportChainMenu_Click(object sender, EventArgs e) + { + ImportScenarioChain(); + } + private void ScenarioAddToProjectMenu_Click(object sender, EventArgs e) + { + AddScenarioToProject(CurrentScenario); + } + private void ScenarioRemoveFromProjectMenu_Click(object sender, EventArgs e) + { + RemoveScenarioFromProject(); + } + } +} diff --git a/Project/ProjectForm2.resx b/Project/ProjectForm2.resx new file mode 100644 index 0000000..d228030 --- /dev/null +++ b/Project/ProjectForm2.resx @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 20, 22 + + + 513, 21 + + + 247, 21 + + + 378, 21 + + + 130, 20 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACMSURBVDhP7Y3BCYAwFEM7h1M4Q/fy2rUEp3AFT1UovSrR + /22orQpeDTxqNS8aToxxVeTVu7A4dM35DKRyHxbzUyr1oASmsd8lBXf9JtVyUGCxdCd8CKEV9QgXaqK1 + dsc5h3t5RKX8nP1yUh1BUcn/ng/wiOgpLKLIMoNv6Ih2zT+QBu54HHiD1L/EmA2wn/hWQ4oVCwAAAABJ + RU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVDhPlZC7CsIwFIZ9A30S8RF8B1d9B3F0000XdRcK + bg7iVrCggy5d1MFBEG1thyoqpqW3MfaEpjQm9RL4aHM4/3eS5GB5nlcKggBF4BQI6qThl0UlxcYE5ypD + XO0vfpdEjb14Kr48bPyXBMLj1QHnayMSeqc73dIrCQEBCcO0vXknRfiHMJwE9ke5KSQRQPNsfWbC8fEJ + NnI4GMH7CdKIwkBa0IPp9A2+BSmJIH7IJEgRhdIwVwBOSkvYmAUj0JQ2KXwCBjyvJi/wfV+yNmMuIMJU + JV4QhmHZuelccxZ3Y8cKYLmuqxvLAdcsQp93eEF0jfpDU7nmLKydTL6JACFUgM3/BPgFb2b9wUqYs/wA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABRSURBVDhPY6AK+Pbt239S8NevX+dDtUIASJAheA4cf3j/ + EY6RxUB0zIR9mIaQYgAIwwyBaifdABAm2gBkjKyGtgYQg0cNGJQGkIOh2ikBDAwAR/4LjdUkCHIAAAAA + SUVORK5CYII= + + + + + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///+vv/fL1/v///wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4+Vx7/F5v///wAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///4CHtrS62////////////////////wAAAAAAAAAAAP////H0/vf6/v// + /////////4yTwrrB4f///+zw+7rA6P39/////wAAAAAAAAAAAP///56l2BkcguXr/P///////42Uw8jO + 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 + 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 + 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/ProjectForm.cs b/ProjectForm.cs index 91d5de9..0f5d8c7 100644 --- a/ProjectForm.cs +++ b/ProjectForm.cs @@ -951,10 +951,10 @@ namespace CodeWalker var ytyp = ent.Archetype?.Ytyp; if (ytyp != null) { - var ytypname = ytyp.FileEntry?.NameLower; + var ytypname = ytyp.RpfFileEntry?.NameLower; if (string.IsNullOrEmpty(ytypname)) { - ytypname = ytyp.FileEntry?.Name?.ToLowerInvariant(); + ytypname = ytyp.RpfFileEntry?.Name?.ToLowerInvariant(); if (ytypname == null) ytypname = ""; } if (ytypname.EndsWith(".ytyp")) diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs index 76621d0..1872fc0 100644 --- a/Properties/Settings.Designer.cs +++ b/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace CodeWalker.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -710,5 +710,17 @@ namespace CodeWalker.Properties { this["RememberGTAFolder"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Blue")] + public string ProjectWindowTheme { + get { + return ((string)(this["ProjectWindowTheme"])); + } + set { + this["ProjectWindowTheme"] = value; + } + } } } diff --git a/Properties/Settings.settings b/Properties/Settings.settings index f2aa187..d8b1065 100644 --- a/Properties/Settings.settings +++ b/Properties/Settings.settings @@ -186,5 +186,8 @@ True + + Blue + \ No newline at end of file diff --git a/Shaders/BasicPS.cso b/Shaders/BasicPS.cso index c9d9284507cb585fbcd16e9966a18ba3adbfd1e9..150d78b08d9daa77d448928509a41bcd25ca8456 100644 GIT binary patch literal 131628 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 HB=G+LT`*1> literal 10240 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 diff --git a/Shaders/BasicVS_Box.cso b/Shaders/BasicVS_Box.cso index e71feed1d24a67cdd8d25a6bf441d36cb2947cea..598388db88cd2f4ae9086468db399bbebf3f36ca 100644 GIT binary patch literal 126356 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 delta 1494 zcmZ`(O=}ZT6umQTl9@?AW}38-)|%L8QCyitC=r`9me9Qzbm7jG;3f;fg=8#lx>3TD zx)RYvT^C)dQ0Na(C@6GS(7iL5{%u6Pvy)g6cyXStKci+d0{mgE;x_Y~LYfnd&iFJVK$_b2foedb7d44on4b8lt8w_2OI}INSYSeU4dm=K>$rPcJ zDaORDxM;ta+R5g+hI%sn)@(ohsoCjsTK2;emO{GKM^Ow^)26N%>RXv;-RP5J)@iVI zylW$f1T|+p?&Idu!A@-=p2B#xfWAkQG08Zdgdut#h_~!+pZmn>!y!b?4h?!{hcWW$flc)K}fHx VE*Gu@+{UD2U#{#~dG%>N_aD$Zn;rlF diff --git a/Shaders/BasicVS_Capsule.cso b/Shaders/BasicVS_Capsule.cso index aff28b39705738952d721c8b99a4bb5e163b1948..b977722d7125d26556a219e3455ca8e0c7d75b21 100644 GIT binary patch literal 129680 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 literal 5208 zcmbtWU1%It6u!Gjnlwpm`h!$aSc8NLrKG8ZHj15OlWi6@-8H+e5ruZhPLi#gnJ_!C zRYB5FioU21rSw6eh}J@Us37V?!6HR`$b*QFf-XKcXLqtr>feDo_uTK? z^K;KRcV@>+1fV+vg5H-GAqigi>l|uTtAEAHlFXmAZ`4zFn#HJxYC# zF+Dz!QN$o$$Kd=BhHC%gu7ZJeD8GYc2L|oX=AfC$b9{giMel!NZ3VeSI{u%HCG58JOgTQ++7|$)NN#9|95_79x^wqReQ+dDY zxPcv1Jy%WI_2P?8%?ZGx7JD|;0>YASyY)HGU#zQA)eQ>ho*;0tZpAsv+#XW8p&I>U zk_X?}de*H6wma)o)Ndv(#>zNv@MR8qbfV@gA{15dVEYh!vlp5+rtL~~8O_+*BhuTU z6{T{HJ0C2lv{&<%eZN~c-?HdUSVy}CCSr1nogmYU2Jb18l;96y!z7MH3uFvABAA3QodIC${T z@ZlqmBi?NB_=y7SFgN@b@OvpF+1R;LsZj%R4{wYfcog!*Y$=;Rp^D{`lJ)GkTFb+3 z1@ax(OC5^}AWjXt;ByA2j5wE_P$;(GjIRv|BQ7HDC*BK&IC&CrJX~ z89Vdv9;c-~y`OjGB*NI}V^=D53bNhcd48U69_x)%C?n=zuaC9xL*Qwb_?Ho$IL}6$ z`t&P&M}%j71ZPf!r*GkTCgGVw@{ECbTR~CHt{Dc2tb+F!g$f|oj&$3 z_B%Vny_wzNO#LCqc$TPs3hVn#u7pR9?B$EKstWPGRZKfGDmF^qkowZcenT(fnUlZ^U5gJB%Y7?p?&fBX>S;p z_>mlTV9!8LQ%0NgBl#WJ9{TwTu`n;t*M6ucHlz*`E7!2mD>mqpSkl6SE#DlC^8?d4 z!L0MeS@htii?#&geCd2j*O)#b>DrAaeF#pT`XtdOw$1FztcLo;K#hJ9pEAQjqgSFj zQJ!aQ^wUby?nsnZVczIZ>O-FO;mkaf#IM9GJwn;Q8%^7=(IYvDo|(Nyf*oBa>WeLd zb5eKS+GI=DDk@J}T>Z6Hj1{Eo5sgjqLE$i7&CCbo35&?ev0bcD%EWe`>3O{CgedRd zLQbEQk8L66U8j6?3pslPIcW43b4+aDfiNEAQujL`T?fkKeIj|JENX*w)B8-1!BVI6 zpx751qQ`T{yFmI7(3ZW|+9!Cpmzp5RyyW|}b?Hk5Sl3rn~^6rq@n%e*4 zc)5S8zK-VZzw|ZrC04MFyZ(Rrnl+T%NIqm9H$6>XeCLv+uH+lJGI``3;J1xA5F5a{ z_zh*hCM`UaIu;$24?)heB`rLfa=pMq-#f9X@84?pzrYRRliySNq@0+%n-Ug)$X(R> zxQp7J`R|}_#_==apgd{e(L!>U`3=al=o6E>94F^DUhZ<7oc|7Tm*eF8pLhm!>R09) zZ)ToNWMeThR*ZVg1@qq>(c6bLa?rg2Oy>e;k{aEGEIP`_XLKL;qYt`SSDsDsk+hUL zx3cm?bTF^n$1_q6iqwDQn8G3cKC>c z|6upp2bunc&>nnu@cl}iu#c2_3T!cx9n|pxClyPhr2z932J=DUzw%Mdh5xOzcQ0ZO MMv47Q`a8Wp0q3XfC;$Ke diff --git a/Shaders/BasicVS_Cylinder.cso b/Shaders/BasicVS_Cylinder.cso index fafd522a4ef2ec0e7ea1c3b3de98ee78e02aa9e9..98e5a7f76524f1f4a51a98dffde114cb504e4cb3 100644 GIT binary patch literal 129728 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 literal 5256 zcmbtWPiz!b7=OEM*;0yBAVv*`l{6I-LrNiyR0BhIyL5HSZo2DQ6BF2Ur|sZ&rvU!1E{-81u*1-&X4$LhZ0pVf=2SFbWAwy0QyyB)0n%$2_9 zu+c&b);V-zeGRx3!nt?m@hb|zeUs?!cRB&}VUX=KF?M4nW*NNS;D<0XUORpS_n2b`BI=B?_19F%Ub1UN=XJZq zO(}#L8f3ngO?fTEV7tow_z*ZTsgv9Tmbc)!r`1b%1(fY+-}O|DFC(K%AEMg;PJ50p z{wDAw^)N^mjr|qO{aCl-p99|)fqx79=?Huk_#p6J492~UHR&hJ&tY!&kG`6;Ybx(K zcHOV|j$2pbl}7PZyJq{~aTdGQodtv?uTpQ!xZZq2m7Ka?K==5*oyA*miM2hTbVD`! z4UKLn+sM`%ex*KbSJi!!7jtEvt6Ku4{;`@pk5p8_h3^B1&0c8vn5xglN zeDIk=$TwR&eqsTBxO09B3K&9CjU79bdRais#CdBH_=cXsOrk9@);I>HkS}IS+58E0 zB0o8CET@X)lX588G~(tFw+g-O#@3=Sh*L8z_?*EhYsN*eVjIr59VjSq5mBFbFBszF zNyPOq`s7KR*|*rP)|Vb8&RP?HMVx~tjm>f^lSF;|o-}d#BoXhy z5PkY25#NT9U>(XQ+e=*JA)PsLWSL=JdFV;XFGt?<94t z7+cn0bq!?A+*yZ@I4$&Pecq*$NMo&!T^sNoc<%oc^mc-$9rrqm^;$B}quhp_hqdrS z;HgXeyAV&D`y@_#<{*4mh-a+?XMKccY~i^-;aN}e%z-tWLtD_tr#ON&73A4t@{d^% zfHH3c`Qm>v;X#MF-`f%BW_AWM?S~-aUc&ZCtRGnjY=)q-V(do{gY>wu;Y`1h2lpQK zLv6_ee1d*R=VC#f&ULKMk@dRN8OS78KstZQGV!3MGKYN1l`O@1-ea4IlN%u}X8AEXLv?qx@u`Na~vl7@7 z12y|eV#*8;&0Y!Hgn90@*-y(YzawE@1$ARQIUn*oAI_{ZN#aV*(j$}&Txj`*k8M(u z@SfRgB>2(iM0@dNa8BypyX$=EvkJ@O7FT~gE9MH)=Mm0L>OtW!Uel}xsH?*?+lqj9XBkuseZLER#0M^ZKDEl>T;i1&g@SuDMa_%i|;n9-o1s?j|iBEn1R)T*ADo9Lz zPZ^VPV)AZ^SpY(JQQPA#YJcV*gt3{&&&Y%FxP?a>$zA3*Ak$_~Ozv`&oZoo4%TaRv zJIGy*lJkG!MV!-KWxnxd=H5g$8X@C}(T=rX{d+=ok7A7)^sE8XwZNX_j2=K19%a-s ztVezHK@ZQBdy{&^Ev4RCUVb(_SXb(CkCcN#=f8YZ2C=AA$Awvue1sJNU0-Wi<#`8&KEeTSUOhnF;8Hy Z9wgTOu;zk)So+(H*n?qWKa>8>?oY!+?V|ty diff --git a/Shaders/BasicVS_PNCCT.cso b/Shaders/BasicVS_PNCCT.cso index c047c7e092ad963c46b73d867b4e95c57860d1d4..7e0f7f904ad6d98559d226a1160a208f0399906e 100644 GIT binary patch literal 146056 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�W?;3*q--coHP~aN74>qToJZ+r1Lmi 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 H2MPRNG@z}J literal 9960 zcmdU#U2I&%701VG$1x@$)KH2d1gi>#4xX&c?pB7uLJh z?mC2)R!f9XTf|5E5Tz=uLRE#R=7APO`;Zods01oVJn%rPN|jJmAs7x; z&(}9OciU#?&R(Ih@T#84k^RN%g!hU5XD#Sgf1MuJ^WTr1=I>uFUiIBz9S!+B^ZLlC z-=L>Q&&O)&JWboVhUn1H1O6-Zz|WZHVLmdN(I3yC8;$a$E%SMlFf z(&K444S;I9aOJp=!P@HaE?;qsEt@rim< zuItugo^sA;)0OA}rR-|A=shX=SY=_c<%xbYQfX*ObGAGejnB_FqZWB?GA+J=p`zFJqi+v~kXk`cx;{3Cy2el7RtLCuqEWxkeXUZPn~r8%^@e*l$mrz#i*T?` z`~%^6;TGBdg!O$o8*U6Zdm4U?@S8LEZxVi627a6H?ZWlS^1AQRoHnBV9`)>-man{; zjH+(DQHg4;a;s9Wxr60q>HbKEu*QnTRqJ9Q;#8wtYtGjjOU?9oJzATKPT|`f&L>oo zPfGOAMw8=w&MgML3ZkWbp9t6bzXzU9o&PNy%y6r74rTp)(zgQfhw+0=9EnsXE~b$HJ`2WAMvX>gE}AGe%JRqRY5@h*+Dc#Snh5g+dz1Os z(ORut>$#-|7Ynt{xaEbL?$FKFTZE%~C;#2Txu0Mw&G<)z=QZ!l$FB+}Ur-Z$k84g_ zR?nR%sGr~u3NHxnl=Fn}i46Rw!jA`BT~bTW3t!f}Q~!&?9}?cF|L=vjg?H}zN8wKi z@6`VT;b$}Cd?fto41AN`spo{F56$Z4dg0G$Zu(g6oQ!6N%B|VOedQA;IJ7FdP$>Dg zyEI`Ws2rzXXeZIM|1whbXbL{JYDcbI9aYOM5e$_w?N(wMKw-Zy9*_lU!d%C z3x2z)sM)e%eOTKy$_r6k*$ZR!xuVn}rQ;nIjx?j;`qJ`BE8=bzHO5z3nhdSX&r91W z`H*I@dpFE)++X!ZIQiq~v6+<}yFYo}h;%QM8SH{-kCWHxjmZN;GhQ2zef1gneka3k zNcLioe=3ZL-D6=)p8OvaTkOis?0X(&H8*RfAi!m`GaGnv3zV%9{VcQ zsFB}&`_9|%+`WDK?K^hw+_OtHKUz9)_;pF(C`UedXU$H(EjqKFF;G3YjtI9=_=OIf zEa(=)FFSD7Y}pdytfhgWJ@~Hy)X)LCw@rhI@zUtj==foGczp8EzA-no|LE}e_~eKi z9v>T@bfxJTJDf&GWX|fi?3vR#zMCMc5H_P@Kbp34V*zIl&UB*|lsa&4kDLu|B>2HM zX#j4S5AL79&zMHslHr|jL zW1r!~$Hwe!WBhAle8CtUh~c8#$GRI_PtRTLyw`<&?{MylK^N=&(UW<v|uF*P&OgppTCBtVA}n4!`sV|8*5&reY)ZkwUc*o$yyN@WO+Z(AXE+ z^kuOeXyk%qZX62yTLTZYkKt9i4G8Pj_}0J!_FlkxuZU&tNy)e?(2&t?x9=WQiI`rG z23k(EhuiKR9*OoXSD2jH^!5(PvKe_ayi}W{LbM{MV9$S~@y>HjC-+dO(`ORfum%9%v2 z?PdLl{MxxEdYIlHZHawt{ApTm*w1Kbd!eC2uAq;kwee%x-u}TL@k=ZwEA6Z$0a=!(yG@-`4L)`N1%&De2a4akd!d3fd^C+t{}{ z=aM`&pRDI+4Q)Mt+J}#Jr}M#L7Wd{qYIlI>_EAa0E@uMw$<6S!`I)3i$iepP|v6tBdt#~?)H<)zUoTh{23aT{M zzQZ0t$r{F;=e^0Mr$#LP%q< z2JCP0D~(vtc84>W+O~DrF(7)kFpD=nhX?*w!&>e@VDO_K{M&>Pw=)}K`Oty z*nIt}_xqT?kfY|$ACH}m<3bMP3i@yggPynE9Q!g8wRN!sklwyNSdR{;`Hb--=FseZ z!x;b5^iE37gj@lH^K$L6dJ)0L4i2sL`!Tk213UKQ<1-N4RNgjmzF5k`Y0S!9)FfVq{*$2AiSSOu*^sY?q_Ps%0 zau<1Lu8!^Nta;>~c_g+8K5-@QE5qSI4!x~sKRc5-GrXO`)ROxfYrw6S?4-`qYtm!I zEji!sYOl#%H%{HriL?3M^r8MtXZAOpyJOdjid^`2pm-iP!0#1wTy1%p^R*#IX z!umT5821($YZ;pi^PAma;I%sp_0nBuvXK&@6zt1sV_dPb11JKm`ImN)%TKvI2 zFV(Gfn0FQUjB95gA8J&!L8Er8`P#Syoqc`nU4o8pp`X449eeY^&l+Z)0n`n(&0d@V zzCXQI+t8`)EIJr;YCDULe(Bmy&br`xYTIOx3$%0|o1fFUmdKEf$Y;IUXVxxE7B8=B zYCXAc`>(6l_SzolcSJg`OrQU!+Lfm-`A!`PcMAMv?=<<}`xn2Ny%w9!--VvlxkkPa zoAf=J-*tMIV_b5Q{kgaJI2PjHTlk%ZeDdp4G}c2K%Ak=slIic0tV@3{)^*bVj-$@E zY1xN<)P~syb|PThF_9sg`}qxweX$k(TtUBsJ<`709zpRPEbw)SPR$QU9sI&wg0qU2 zPt{=>XN`3Cbz*)qy>1QPo9L0F^QG5(!~5K1AJlt*-vGU?vIG5#--+wVe$$L~i|+-J z(`Wp-f|yhHBgUL%JRRE`T+J;Tx-G!!8e)I_&DhF8r4(=wr=Sexi$fSE)F<9sgr9tu(c7s-^xVJ?Kf} a{}+8r5Bj2~;TmQ(_DeU`vj?&NwDvzk0k69N diff --git a/Shaders/BasicVS_PNCCTT.cso b/Shaders/BasicVS_PNCCTT.cso index 2956bf79cbfe0269baaa67f7724526d2be234457..629acb6ddd1847788e0e53e842112f2fa71eddec 100644 GIT binary patch literal 146080 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 literal 9984 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 diff --git a/Shaders/BasicVS_PNCCTTTX.cso b/Shaders/BasicVS_PNCCTTTX.cso index 7e635403e5d4974caad2e8d17aa268ab922bce2d..aa7cfa183ea5a1f3fc4304f5599884da34e4e738 100644 GIT binary patch literal 149068 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 literal 10556 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 z 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 M;D!W#dr9E`0c>)~p#T5? literal 10532 zcmeI1?~7d38OP5~HoNPZ7#ppmL3Ah~MiEIiA*L~HCcB$WmTt1!oy|50Et|>C-QCgI znPp}+#v(EaBCX;N`XX3rC6p3F;|pn}^o3LrOO+~E@P(B^sg$;0p&*j>Rqgk4?s@Ls z9dGm>=wa`ibH2}Wp5N!3JF~;b2Zv67aPpI9ZhL-qXz-DJV?CE9x}0-c?sTq4{T@Bv zS?64Ny>sv0;M}v@oV%=Na`@oLt-||6|C1K;CVjPV;|UuXXCzfORzF^UUcZ zr+%%TZatr>sq-|ca}CjVcmz&pAFan$e%kpc{?;#~Jjr{L2}1{4p6XXVCG( z=&xqb@yF=zWYEo5NK?_-)^Z~%7Tr{()|x0)qgE?&hZ?13bF|iMm1?t5(@htPvr#RY zE;X92xKJwBA6zUg`Pp>wV69bYJrpKK>gA{!#)qQ%Vi+RnP_=%#R7DoEvHC2ND_4l$ zO|s)T1?AmTB8fY3dQZ+wsJBKusfSH+qF|tU;;272(YqQae#E0CJg?pwaf5%GgtZxj zM!Ys^d`kFB2CAn{VB4pfqef_$TP7K5RyRvw-c}D*(1Rb(1pK1^@^!`{M_BC+=w|zi(CmQwp-M1^X@^m!YsyE#GK}IL(&*{~(x=rsHm;oCC!?+|`>27b5j?ZS0sdE0ksP8(LgPd$3m@>N%p zQPqt%Dp9RfYE|krcevCnJ`m{;)>yf?X;m&noNAP6&AEDGv6()vM{DKiEV13;d_g7k zq(TpEG&#=8ZXwuJ5G@`1M7Y-fGw^iU{BPl4hTA^pP}bjPV=It&7{A5#CgE8*I#?^6 zu14HN-oX>os@~D&aHM_WVj2bDt6=<0)M!-7(L||HQar9)DPVwFTjh&i6Jb7YH<`bV zR`%K^&n-K6u~6>VA-?4&8jcQ#iJF^4}+%_Y-`j8UL{Gyyl(t_$}eo3ua>PDa~n1 z>Uk#$<|p_=!VAJX1!aMc;QTQ{$ zJMI5S__G;ut_puH17D{*^`da>q1nE|)LXQJ7`QfqeMKe51KxYBGLTb!ya zMh&-oq<$t^)Q%0SXXZ)|L}mZRbW|Htbvo}i;bf^cADIC=-8^+W7}Ypw?OiCr`~p>{ zoA>IbqGrp6^&zQil;)#&XU~t-%Of(2l8!aZA8STK^~I&-R>Zqm)EHlGX)?GxHz#YS z6hoTj?)@;|aRNC-4kI$+fOxoo{e-yUW6lRAw9XW__-e-!^$?{_t3FEFXK6$G=K7 zYUFp{v-6&>?cToqo*lb)?%Ab1KUzF=R6=|WBL7W2*6j4#pfl?a2C4_w64xvI{SKTe zSR)2-cxdqZM<0LjNc;hY^&2+Cc$y#I!2cez`cL?|a=`x;aBTLr&}%R;UL2ho9Y5-h zj!zyrFy^KX9v>PXpB#2W<74BKZtB3%LkEvex#IMU9crV)3d5Cg#i6YAe5XNXAs9o4 zUYgXpv4ArNXWFX;#SYxZK}iBP68zxnGyu091MZ)|&zMH<8FC#NEckh%q*h+XaP{ zb+^0j?!E22w*|fTI(Nf>i|xMpbl&S1>_)_cPGsf^`siq^dp%=a&!h1=?8+7N(a~Oz z$cEMtm;MmHu0qT-(uiZE6!u~h@fr!d@L(l0^g^4yE|vq08j;N2!N9*c@Id<%UX|fS zVQVzLEAW7Q7_gojVwrnVGWG@*+(zA>&P?XOZ{=5D`=85;-mcLVj6Kb zf6P{T){B;okN2M%raqw`(OPoL-l1Qs-ejm|61k?!`eDVjQzv$q-B&lnu{QoRttaR+ zTH0S|*pMseBWZ2onD)1SAjr6|HXWas&z4E ziywP>bGUP`@q-O-73Aaf*ocpp9*^rCxtE@Z$KYm@_CSyEx_9F`gRZuczZ+L-Bo&7~ za>QODH{Oo0w^%Rx`UV2MC)n4sn(p@tyu`(N%h-cr4Dc zb)ESn8&>(0w!{3;(&SDu%zWFGq8S$FB|hIRpCcQ&`Qmewm{^>xhKcF4&JZ8_^Z6cn z_{?_d=oj(>+|H(v@2~c6q%W=k{4>3r+i98Un2m&*mL7kOdAmZ+as~d+5I<7s8+Yxb z=)}3FE6y#og)Z|6+Q|7h-(a$3eVPuID`=;=_PzE9O4cy$Jnv05J$uCR&)o7MJxSgT z3whXYJv?7UdTQO~FpqiK`{j?nhv4ZCG~t=Aip}p|^xr0M% zy*|cvZs5nBe0&Cin|wPzJUwNb(Yp$8JD*eXhHdNzdhSSi%PC{d2b$5S7t6O{mo|s} z6nqrBe;4-aln>vZUpZ5V^+s*wykbi&pa;8s4m8F_FzTTpI=Gz`R#RZHFYWzblANRt z!uu}Y*@yuRI(nFobkNZQ-D<3pjvn2W$-6zZ%^GSKc^7Vu{p;NG@LYH__6a_5CHIx# zCWqeEqtDJ{&J6FTFtz0U4c*|@OLnr)(`(XWASdlFm$v#W_e4#s$w9$1 zaF+C(%j=Ub(JT6(TO6T7LkH{G*NpZ4(mto&(+aEKVX&R|78-QMCd1-p?=bM%I}GD= zjIEx`7J786_Wb)C<5k~dQ#Alh&7V^YY^~)V?8|b?_73x|0-y2T*_aP|RC|NQ-m&KQ z#x>~Z^?UCcbYctr{59yrARpqaVdfdYzF}{pi!;FY=U4VNboO=@9Sk~qJByBe>Ajtt zbs_fbZIfZOkgj8kbGp_n=N5a`tNnlPS`I>Na|OcU__Qb4hsv3MM<72IW9x@?Cy;Mw zyi?FC{yx4w$3Z^lG&HLpFH7~qJ0-cH_Gnf=S#--i^^-*hv-)A2t{>*q5BktS{m?q= z2R^GGY)WLvMri5!fleIKy`3Sp7JklY)*7$L=Uf7VmUT{pr|sjM4s!fC&3cn%^69hA z=`=l85R-F!+LPF(sH}Q_O0Of=7B_o;v0THK#47mI`5WL1y2GdyVw3*P#BX>#OR;Z? zSE8SKg14&>|F*_&a^&8xPtjNpZ7_pImL=1FcVHdAfzam)u}pn^NZNF$W#Vf7ft{9I zFuqT)RzCOhdnbCyAGBOSzj;2|zRw;(@%wh*>k^&weWT1FF1$Cgj+Rf=V;X0TZ1**7 zaWlK_3g40Gc?Z{B(qpmV-OXel)}7Dqz1~*&f&C+o#Im{ae< zjJdaXMDX{Um!}xe*vAlPlH+RydMtnCZu8&ubhr7ny4zR-W_Mc_oqcO}TNa(~-FCNS z(eWQTcPp{sy)vzzvDGqTdndBJt9|Y7eWOwDsrRq+ds8p9!SCX>->=>tpF6~4Ks3Ln zls9@X`<=c==M(bD!H2=lTtPrbV+}d-XXkCPKZX&95n;ptjJuxS*7r&u{9xDzW@nG_ zVRKhOA8N)&Zs4Og?D~MI1M9;l?9LVRq3<%`@e_S%>ne_nZYTcuODj$tm};s2ogVC^ csixfHddLm78LnYwLtnbxtO@Jz`}5lW012qn5&!@I diff --git a/Shaders/BasicVS_PNCCTX.cso b/Shaders/BasicVS_PNCCTX.cso index 8f93137f55ce82530412ffd491f73fd61605f2cf..7aa9079863010cee100d036cb20133be534b1f07 100644 GIT binary patch literal 149020 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%0A^(aFGXn&xKuSXjxFOkK=W-` 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 z z+4SrY%Rh6=k@O^aH!S2~pY`y39_gudTf;o&Y44Li{yhZGK%f~9w84P=RdJ<}3)=2* zCbPF~9e!*Py<3>&o0!7`|0`iFcOWqMu@C-j!pPhCzF0oAp-x%hy(>1qf7N?E7BA$e z`SZtPD{)?^fm}g9PHE8d<{RT*W}>z(mjJTc?+?~v!wSDKp5z>w-ESBZf12J&$(fKV zfN)-}J+@y&@VSFSYrQ_kc5dLuo_u@;f}4ChKRi8Uo6)-pa66w<@`i2f2YTL-^p;b` zoDVdkQ7@Kn!!B+O`3yda-QR`%I_1OnD{E&8vEHJsoL6kA1@vII&w<9+2u3|LLSMt6x+~m;Pdi2?u%$ec+6sDHk-_Q+iy<{i*JiR78R^F2H{hs!k+;!vB z9i2Q|?9CqbpV^Flv)RX0HbL9==$dTFNcLIU=kq;@9ADS0H(4g1p1<47f9%JeG(A@k zlXLvqlf=a2vA$RD8FciX&Fhyxkk|AUzFh7Q)VuNmw9(mtym8C`|-cNj44Ei~3L zHW?N-yTib1cNoU$7+XD=E%fMC?fLs0<8^<>rfLA1nm?x)*jmd!*r#Q>?H%U$;dJi! zy^#-lRC|NQ-m&KQ#ue!3g+6ozI~n15g= z1I8T_8S;66Z(!)fSNL-UeFr<&zSkZ>@f|Gib&1ZN-y(B}3wH_5Dq23Z57RhnWIK<) zx1rnYx+DDEq;sX$V#0geWFFG_&$mBsqwHtx=(pp2WZy4io8tR`ry@)Yq z7>@}4tn>2ZJB_^qfhIZrTL5(P+0HqC?@!$USOaF~To#?bL+qT(qVqSHopV`q{5So? zCVj_1f43f=&k!TqtGR**x~rw0_-_Zrl<%M)$0wS9w-N*5F{m{@Udma(`t5sdt{|qh z=Jk<_ceMt4a|Qi$G-Q%1Vl#SkTz{+qBObYee%9IE-e>gGx7U zIN6>y?COB2!^eJnB$l~?e%5sRi7xY9#nG|t=i5o@S}k8A$}yeg~e diff --git a/Shaders/BasicVS_PNCTTTX.cso b/Shaders/BasicVS_PNCTTTX.cso index d0d01cfae1e3e83ce41b25744c7fb8f693aec48e..a3e9d3e836240c012b6332e7a3fd5e5f9ec2a4b4 100644 GIT binary patch literal 149064 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 z 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%0DEVYCIgs@1S(?Kt4^~YN3r@UHMMV2Ae7^ z)tw|PtBsE_(g(F6_MFjpWCjoFz}32rjB*>bc*v}K>_ zHCLm}UllFhyicXgVR7@V33?S%K9Z8BVNpn671bV4b(I(+u=>qj6yn^>0n+Fa<-u{4 zID9RL`9VDADX(s@B-Y&T2jTu!J{(IDYq}2rQCAk80N#!TVomFQ5P7)}3}b;B?2$6|bFT9Ux(&4r=oW>$yd&56a?h>VSJI{}EkaBA*`W{vJx zvb_=1h2xri9(%FkGSdJd*RDnnH)_7saBGdSvEhx_`opENzI~_xS&m=hGAQreyenjDYHxnAMTef{n(8KqqKkFIZ@N#_*v@-Feqa@(AWuS}SK< z=Rm%gg`09^ACYCzF}MZ$2V2AO!ul$hX2?al>J?7qSJb|A!zE+~Ubt&TJR^Xpds`+} zYhb;hp~N+dw0?f?NmJjc@SL@w|!Np=bm-ohIhyo zY}=}+#PkbRZ53BHH#~8q54gN%P~Lgt7!NE}J2khqfjc#~wt+h}x3+;hHMh2bJ2khq zfjc#~Hi4@?bK?&=neDJ$^EgzJ_>9K)9Vc_nHaF`|nZea}+XK#=!!49dYJiw^M9$4e z=<&Q$$>)mn#M`~fB6Fmeb!&h+ny#F8=CzlIlUlEwOc&Ppa&rQYW}B`lYN^l*hPQ4s z>}Z07F@6#Cw(GqPTq3Z-HHA?Q5cT(KEneKUf+0Qg_a;j3f$#rX!F2Fat`!W;1-13M z%GBJ@APv2OYX#H63%6D<9lTy^1=GRHv{o=3ygF+I)4_`}z>vd`aUZI83-)|gY-SkS zV~A?Vo&wClLVk4$K3ZvfcvnaA!@!CU&K{YYN-cm#-eYNAf-%`SzE*ux%mMTQQ9f&~ zH(2fYnk}`dUNy32tGDjd?A6L*auFZ3WHW`u3|tM_QJSwk(ZB zgNn=gu4GX!mbhRVkcKtb@PCg}#bXgtTW6IL-BiNeXXj@c?xqqR9(I1F(QYcmw2jI) z=!>frryyUuITvCPWy~Z;Lt(sCVWL%G5`{|62GHSF^+r$#M}R8xTIRGV6D&?yYW@o^ia zL8rbK^=M{q53%lrAAsg%yM|@ZF?(=T&927jBp2DKq;$1fUvD}q+Wd-IZce4o`3q=y ztg+?F)@7gTmMcR=%V8O^<-~%P)8<#ya&szu&R;;w$d7LD`_>nxa5e+;^i$|IUc;uD@g0M*1D&&v>QEpXf z4awuzY;sNkQEnC6B_yvRjrBx*#FB^}cVBP0@{xKO#;cUQ4tWuYam!L8S5yj%j#K(% z;^-<;*bCCsj5sw+rQS5BCJ801S}%-b7fFlh>>@mzbo-SMmq>P+aE8q^7mbYRT@XiO z$@n;%=4{?*B<`^$<741vtXeG7BWRJDd%QUKJE1M*l$&6u00W8F;@M6S6%Zcu93F8%M{g9s5l^v{uA%K}i zm1Oa%YITu7UJc+tMi`<>cOw(W*4zyY!frB&vx<0GnfH)q9>P*RjRWGLJA)@Me z#iN=sqkpv$NGgUvT?(9YFA?OaaZsOoRsR;FHxueAZI|Ni;8D&*6FWMmvJPV{#fP{z8-b#-Gtu3oZ^|c@MCTe+o zPa^d7=3GrxWmZKko2LiVP(m22m)0Lv(f1S%y znr<#?!Hlt}xmEQLVsdr0T&m^qcF8TQJ7aP9#;Q-J=-a4Dp;WCnLSeeT zH9&o39x2-opV=pY=c2x^@yHpaD{n341VGPm)blABjLLkhCrQBX&XKD*zWMmi;CJWa z)f}HbCiI#_`eEU=_=|Ax;HjYJz~T7azdQ`M_u&)9L?djlCzlV_?-1sLC69ZL1Zky< zNieV_t?eS#TpPna{O-KRn&Xf7@Vj#?YmPt4@!^7F-Y<6Ma~6aTuxs)?WBmpw0u2ooFcfM%N@y9tnw9}oNS`a>j?ao~-2uvy?=AZDo^JHs| z@1O7pzjG(I=J?ix2W5BX|EA3O+PvQEA<><$8^h?@!z~!Yb2Flmr4pY~6SiMlFox$` zWDxAx-sjC`V|3@k)&!%mF}y8F+jFf6Mq^_v4BKCgVRY@K7Hq@U?yW|hAulHa-OJi> zR%5LT#PHN@X^3AkIAd4C@YHQ#*p6xHlfLWwN;Q=3m!W~5|M=%Wra&&c9>KqZ`_3H7 zR}Zh9J97}PE+0)7&b#F^DsX4zjJ!mw%%x<603kB_&gAmdW$MDK}M%>X6R8yk1~3a(GdgJ;~!&miX&-o_A@%g6*Tk-MxS8x zDMp`S^uvsPn9*k$eU{PZ7=4b>7Z`nk(N8h@Sw=s@=vhWT%jnCDo@Mj`qc1c1Dx((| zo#Ou*{j4%Ng;p~3Dx*Ka=ru;)VDu*#{YggOVD!t3{v@M+n$a&a`csVlX-2=o=ua{F zGmL(P(Vt`VXBhp9jQ+=r{yd{U$LL=IeIMq5oBQ!Q0b)PR3kYE*<1Snvzf{CmZkb58 zo0`lCMBl>BwFO9qe=DPJW%M14z610JAsfZU+A7F`S|`G$Xq$9S(pwK&M2Rpav z8$~9G`g>0N>k~cSef|%YKlF)ze&otO{wD&HpOW;MKN`6Auf(<=eB#;rE^kjihk&E6 zflgSI=(i3iUOA;*$b;BFi|s=~Z0N0cQXlKB)L#VUq(^M!Z*|b|i~9ImYP+Gg;uU?Y zw_*#VOUeoB;vdHrQk8sWz^Q5rSJG;S`7(wI3W8Lx=aI33?FZn~3xt6;N~8#_o}6kZ4% z#P9F99bGQyI;B_ax|8aXJ>M#}_S2koH}-GRWpo}YBfhP2Uu?Qn+%4;D-t-eF=e1X< zte5d^=X^L%FDYE}^)bF%H6N7*CEow452%0a{tv1b(%u>xXzTL_??G46DTQ&%)H6S* zB8*$6R1wB4GbRznE$a>AmeFjlP@_}Q;8Zdn+&%tZNsTS|P`@B%Ql-aY?%N+hRU7vahergUgSmo+rXB)%+N0gOcp2J&apM(HuN) zr25ajdQM0vR0({Z^Klrr3_ooX#w`ml4BI`-8lH0c2;-J1r5&5p!wMU|kHau-nWvgc zr-7tQoD7M;^~(22$DIa}Y8$xIKvHc2hjGh1qi_&NTqZAs8^zyi6(+CEU|mkNQ*&z@ zxKnd$8@N+*YZEw(TNcJG(?1$tA9s2$j9b<`G+Y?BER0)L4~(mV66(-|4IvA?D7ZX! zVHmfpG3Hqqw+wfih>#Y>Ei*yQWDpBPE(i=GCd1$~E2MBhP3nbl%UG~7wrip;Sy6hz zxMeEHg^cV$(Jrv##q>ZJj4mU#nV2dpj)<~#1Q_w+a)oir!nkEJCX|WgBexWnC5&69 z!tI1{%jzK|Daw%y)f2`oLkuTGLkr`U(RyV7smnuR{JQx&_;D}EIGok zSe8zcVOXrPijarj!1Zj0TTJqo78Z-X^QCX62a!!onlI_kKj|A^ifOYwp$XXBQs2Gq z_ofn4sl!wA-govv0z2xn`=Fwb_9oZB>qz%(8+sLeEbhQJg}-JVsp*O zxn_hn2;dhjIKIul9@0b?LhL}DUC0k~Q8%n|{b=BJ@opJ+>oP>@(c!r67a!QU4Yo<~ zJ|++gf)d5EmS6OMwj1R;P=1Rn6Y{?akgR?pR|vwm4LmpN`oy)Meu6cXx_+8}!%Na? z3Zj0ewc&JXzg37&-6sCxn`9HS$PO}H^DZNsbQgBsW)Ae0>QbUu zO^)wcaTB82oYFDOlS@36Mw_mHODeD!Y#UUx~ze zzVp+kA0yFUetqKW`<+itfAw?E)?WI`?l1fz2EM;rJ9{0@Hmi#c!p!tUrOC596590P+-u7tIef zWE!-zu2amld1U(O7viBVh$6?3DP9`gCQ~djx}O+99z~|}jU(?vei)fzMp8IpisAQO z$EkTK5*grJk*uBiRD zBmWvQ#Yv<49h&3rM&5-?bKO12_aaj)&bK4qkNgf~2l<`IWMc0^rfcDMBmX+`Zy-O2 pOmh$Eh@KIUnI1(xhI}0P1ITm8Z)93{BTpWlJJdj^fj3kG{|}>qDN_Id delta 238 zcmbR8ndy$GkxPV=bL$J{leq^MsNG7w#!-7!Z#p9b1H&CI1_o9jZ34s+91IK|oD2*# zK%Bre(M*n$0jOjZJ5XeDBDeVD0B)9z6+E1rcYtagfY^L;FK2$eTb%%q4Fm~Lnt_2s zhylWuVi0I>gvc^5I)E4r_7(~Z>`e*~c`m3rD**upCZMbt0|Q$TRL-qQ0i=O}1&Hk! k7#M>?979TgY>;a~E(ZZ-2B0>k$(r2OK*xzpe!wjP00WUDz5oCK diff --git a/Shaders/CloudsVS.cso b/Shaders/CloudsVS.cso index db4431fb46a86464bb6fe95595d78fba2d2df8ef..c678f6eda4d8f72e52d87901718efed17d728b9b 100644 GIT binary patch literal 72752 zcmeHw3vgY>dENm;NhD0#luX%*tvJUv?E)YO+!sKAHXTp^K{6phnxGyD>3|m(7vQxn z?gj6Ic$jfmTb-(@(<)Qdqf9)l+PbM`j@9q`clVrs&pj7_h-7NnJmkTi{rBH*|NZyh$31&?clyakr+)Ky=KucB?c2-; zANZB`{OyPS*Qa}eAjmw@6Wj-P9QU4mLGUHqU+)WoFFX_k{qG2ZOVg)j{^i~vxCh~% z$4&PU+`*pjzJ4zNejZ`B=uf$b&--V$2xItXQ^I>ebMZ^ndV8@sU#*vl)n@Sc++3+# zD?eUr@cC4&RcURA=OxN9g!>z~Uu9%_F@56w=lg@;wx!Wwy39`odB~7pul@I$hyB+7 zu=V%DC2fzTXDodZ?m^I!{Fgzeu9Ey$Ko3*+mp~s%;a>rr@+I*<0s4ni_&){uWD5Uh zKtGql|JOjjn8N=zLBE>9|4X1>OX2?#=+zYdUj=|QgFTi`ZrVfzYO~SP2vCNptEu$^Yt5`?*~1Zum1r0LC`})V?Fpf$aiO{C?Em2#t0sV$$YEMIS3tgn?D^K-36xwhQ8 zK0jM;tQ4z}_ww~h>8V<|*%aVvdAhQ+)NYn%D%GkL+hlbd8fg?)1rf;e=jTqIyi{H? zffK>~V+}J%c5B2G3l5sdcf~XjMwp@}**J8F@TayLrC2da}BDy=clny2o?H zjdFvT6k0Y&A?DJEdC0q;6&lwhZc6>I_4mUijW;hxk2UhrOZOyn!mzWoo58xpU>ibA z*M|QL=%gj-e;M>Jg$@;8Dp!LG4VraP>VwJk`AVr#Z$dp`|D}QO%(=O9;oSA&V!08* z8dfV+Jd6$JhbP7|nc?hMe!LL8baw9a?2AZ)-3i6JjoV$W2EPq;{x3NqT+&&K?+5+a z1fBW12MoWEpfk?f-WmjdGeKv~dK>PG7v|1hK6_y{n7wf6{K<2{h$x9s9Dv(b7-Gk1DbUyPUo!yGVv0aSNp}L69XI|uIo*X})d6AAGXmCFW#OE_F z(lIO*{<+8JBNaxvd+DW@=FUuCdKpZU$n_VI!JmNGGk+yStRVPd+|Ey(Fh9;uT@ZgB zPU9dgGkzv7={eBJ$LHV0Gx?VR^X<^^ldp_0`t>v8I6C9FXQt2R9Qf~5bn4CVP*?7m z`r&f}{M3n~QzzF^w6qb7;rBKIBhP0KS@-EsO)PfBPg{KI8K6NFW}=oV+Yk z=7pD&7mrb1oV;|&tK%`Byqqpv7->!~bge$`Q{^Etk`I@p#RnZnr^PVJ=JHHG(n_@j z1Wl?NkLmc-fh%`1xwP>Z*`TA%e9G7g`HsM@oDK9$n)c}d#CZ^U75Uz3bi#T|KQD&A zuS+<282)INaLUPWrkRFMJ?VU~-jHv*IzZgCIzT$}?exQR`Rwe**&#?$?v9^+SN@cV zw!tuGQ?9%iMtr)xllYS;FJdrFUM@}Ny0jgJOPen1Hsdi2{9<2x#^vFWKs<&ydD)hA zs{<}A=aN^)({+GyxG+3MHl_6WhU$P$i+I$f%QO8*YgcuEd2%`>US#hmA70bS)~PdI zI)AQgT|C<1KL8(P{OunyIwmb=^*v+zAYknKHA}k>?K>~nc<@WMuX{J1!Lyg~sDl~H z`+Gkd!WRTTB!7eZ9mX%A&M`0d!RE-1Yi~!GP3K_*GJS{bFq!_$?GS&_Z{ueA#2_AV z1>a)4i%hVq2%|5S)1~jiC_8B`9i9HYpu035R6H(yVu;-(@~_j^;Y^E|xVp+t-LXu* z4PMut&_%npmo&!joy4ES#W)Rw^U~%0DNB17T$Vd=$j5O&?tF5)l_!}}6(7{7NC ze-f9A!*JRmUDA?eOj-`%)VI^S<0FlBLf7S$WN&HD%E{`0?^iJYW z;&Smhw&|V3pTtF(+_-B7GEx7I=E{WS;AqS*`FJ^+lsjnDqoYZ_L38?H8VqM#hB-dw zn>4zP#=Me7*U>0HX>>_*V>gyR^G;e0X;9YRLmi+@A3>KmclqSy7M`!+ehY4194CW6 zx|q*5a{Y*9rhHpna~G!{4esj+;-6PjBU49?gy-jG!ehgk%z?glP0tYkN}`@Vjk~}H zT({-#-9O(C8hH8jyVno02GDuK2l_%>OVxU@ zRS3=G4WcWWn#u74<~SLaOzM1nv0UZX9bQWLWJ-|ra-&#lE@8&eKpf~h(AR7=+NBl* zo0jy|I`$A~$Z|2^^^MIn>kaA0 zh3w+5loDJrcx6=2glo+p$e#~_k)a^?i`gJJdoBpxgZrPpJqW(`34E^r+SmGn;Ah%F z@X0)W1AY|W`P72ozb*yA>+3-C}~aZTNb%S*^V9Kwlj2(RLB_zJ?l<5-8s$G@}6Be9XDex4b%?O{vpv zqS>obciW{OdkTTB!6T#Ylj>R3fM>l1l&rk6xOGEHe~3=O z!zF`^9nbgikna1(!ULEF02<6ZXp%7Ah-f1f9OxaP3U)2;f|)_ zjsivNm;Myognq{q?pP}BSOS;+6x`4+w_^(TSSs$Z1TOt4xLV$PSRYroeo=}*I5vttjAKQM4I1CMZ}SgG~9aa35Tt+rcna~-qQ+bx91 z*hP&e@?mqe-V9Hec*AbkH4JgW!BB>Md>+gUXGV2PpAQ#Iyp?wK=8b-W425d=IN&qa z4YL_@3iuHL&|HPE6hZczL25ta4Taf(AsO!SOD_U@^0#UjS4J5yqe2Y}Ni7GRVzsha z?l(e9Oke5*dLg`7ilFUiQDf)ARvaD;IDH9ObJsV3(jR?lb|v#M=m7dn`4B8S5FQEp z0XrDRADam=ik|gFsE?+=V^o<6pG$)mVg#Q{!UM~bKHFXTd>XtEBlx_i#}uKl$;j%E z3{AkMZv!#jJrTNrxua!4vnC>?JA{H7UUNq0xN-;w|c%W}&M2xFB zU#wMD_$l7-(t2tB@i{a0d%WD>m!W%8+hoo`jAMl&cLyyy!3FlC?<#DV)tSvA&b~QL2##ljPgjd@5 zBDlQxu^oW1Ws;^n5-6J+*I?Z-?CAyeI~J=B&wg1}@S}ctw!Jb_Z>$v?iy~Ds2I^2oUX?>wNPs!X z1m&WAZ*j7=h%arY@%ClzM&ru($3El`P6zV1u&n9>q8g7(0p4y1%YI&K$)mLbLl)6ln%2U1tNJ? zV5S;*Xc}yEEUxWcz|dSsfy@@sU>4m+>=`Sa1{)iXOCwB|EFBC#M $CS>t0XvB= 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 diff --git a/Shaders/DistantLightsPS.cso b/Shaders/DistantLightsPS.cso index 422b6e9b5faaecd5522bcd0bebc3bcf83b682a4f..764a2ddfdd933808e274afeb55816d3d35ff2965 100644 GIT binary patch literal 14508 zcmeHNU2IfE6h6CcX}hpxTluMgn;IO#H};vG1C0o!s_e_~7ktLa~95YQFS|$Y;AnmVtuEZ@?p9z5}fD zi(CTs#9P}gfv*89*}zQc^mG~I@<{dqOURo6)K44)vR)am6gUk4vCD#>$@FP!tdLG5 zq%$)#Y>lKw&#mQmNU)!5&e=rj_;seyFCh~-B{Gg%~>!aKvyHASQ0`lg+` z8)af*q9f6MFbjROr2^OuB+v$J-%6xuuLkn%awO842}(X~UWp2c!+qUdiH>AP*Fj0P z9*K2z^~5FC)!Ee}6J2O?2jr-OZ5lug?lz$#xv!_aH3>r#`{O+qAk+ff0zAs*j)jnd z|7+o*QI$S)NaT1(N*Y2TTR+oNNYgIZS~6uQxnY>f_FF|Nr$q7EoH}iO z+NvDcjY{WUbR&`6m$aZu`vu8=rI}}2bHRLNbJfxOM0fl}X%g4q$0D)q+l>Q>HsjfF zG#U)7izg@y2ha!Wf#;Y9tX0JOUj!cbmJ@^rOV$IJqn2#ny^dpDfjP_o?s4Wa`h-cY zQ&{G~;`V@EH!bd7dcB*=0~f;ez8iNwIBKsYFTeJ=asFDzyMK26_5RP}*L5A1&0K5l zJKr#qrNuqEkUYRmBH%}kW~{llJ!9=3JKh`152Rm7Wly9Fy=pIL_Qo@&mC9N6w$bcP zgom>xHh}%jy+avm7*+aF<&>&o+S^C7cR*Fia;IsInyLyLWMeyljX;7o3n@Q5`u|g= zNQ9f}6CyvH5xKEXH7%;8E zSifZ)PV{vhN_HPg1_Nh;0Rx~KF}m|+#>(V#sOt*(poyYP0~_ei=L-Xn(V?KITcQyG zs%(C&fGW*~9V24#Szs{WG&7RQ7@6GYn6*{4sX|0WyCRW78j-P_V_;qVjwpWh z>@`ht3bkv($`f@(AM8-N!`kMp#x{qeY@}hqz{4KB2iJG^=G~i|jUV0o?>%v6)Fbt1 zp15-78R6%azyL7^-1+pb|266xNA{DB4V$iB`QFE(djZNbK1izTQgt1Wx-YK1ax#Yk zmbt(9$a?TU@Bmk1FUg+jkUfCQxDsm_-=gWg9}P6g3)Ma@4coG*AycBKcL{UJRADG> z$*9@a*cY`qtvRdks&Ia`y|7I})l7`?VFJVzvFS3bH@cDc$;Y;QSoT(zfLAH@eC|lj zP1ZOxW5A%xht6cn5E|S z@@M+WkI2#=u%H&mM=s=h`qQ5-zH#>Y@BZzlj2n@jw8#|r$AAPMeiu~Ij!7kvrq6Ix zH11HboV-KjJtyx_SkVeQb~!X|Q}XUWj^j<>I1*L?8|~E6_*;Ih-pBJuuIYoo3JgjB zAz}KZWSj-cAM^>|0Uak?BkNbUAWylFsMVI-o|@ErzQz@b-$4FeDX9sr#_WPNFoMqN zPbSIpffwS*q`lfxJj&IIT061+Mk!-$@!R#OgWs6q$__UBYWO^HUI<9-YS!noQzaE4 zz6)!SE(NWUwRTyFKLmAClawuYWSOq8)8e<~pf6z0M@lZ>l3VV`(T;@-?(tV+BeHzP z_%G!CdA85*f%wiikI0L2>}=A;KhyDS#U5_~dw}OX>nbCY{2qre*V)TJq;~Y>0>haziO82Bt9!1EDjIU$QFCwbq?L}Ioq*~@^W=0);Hz$)c|!t zKnK3qYnHD-`7-C~040inu*Kn)CDRKG31q*A3_e0;Vk}t0E z-exDz05YD?0@Sbui6?c&pHCEI#bmRu}63L}T(xybrLVsj9&HKT}v-$oLiZO_5!e-?D4ug5sh#ubPIFR2X z4)Z1;Lk>JOp$tJ^N%F2AD1SWgKj(h~_%*NvqtFht<3Y%m;k_CMW&FMtZ>)~}F!s0` zWtJ>ZgVCFp6b~BT<6t~W<~}Eh6PLv46H!f1c)C1aR^Yb1Bg{7 bn#yxB02%o}!I;VV{Nj^8Xt8Xp&|v}q3_KO5 diff --git a/Shaders/DistantLightsVS.cso b/Shaders/DistantLightsVS.cso index df0188b5979748a65a2c7ae46a5741a5ddd4f45f..c181624f80c40c678415e3fb1067963d99f88dd2 100644 GIT binary patch literal 32500 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 gw|D3x9>lQoL2PuZ%`FYIG|uAVE;tArQLAL_~)m z2)fo!2!i?<9fI&yA>E2*bPEy(K8AVoX6L=x?w9r!&6PJw%a7g5_FRueH40ct!Fs0#c^EDE^W~>Me9p>#+XjQK}jNk@vKImQd=~*|% zg9Dc_U=6Uw;4&R3kY@VM^j|e+`U|DsinD}P1Z>VZz&sl0G3?YrUJzkERSlm`%xyB% ztTs0lWj!7bC;^X4n^N!}@Y#4vVeOzL88yA+~|Wk|%ppp_XXRq7@(g2Q&wPt3lx2 s^3z$Kk(-Ml$-R3rCW69ci?n4=da_=ApM)s$sAXs9)OJnr0czVbKTsM-YybcN diff --git a/Shaders/MarkerPS.cso b/Shaders/MarkerPS.cso index 71e1845d4dc7799d33d2a9a03be92335455aefa9..9c56e53c5eb074c50f5ba584495309d576fd5838 100644 GIT binary patch literal 12384 zcmeHNT}&KR6h6EB6c!d2gtoTYOqw*IE!|yyN)fRFyHGGtR%WT#tbr{ou<5e9*%@q2 zt>M9kMqf11zUV_u`k-k{O#Dk4|6<=XF7&9U+EiA2NZQCKAFfVq0DSHnF7)3Z}val8VvdyTbtWj-x53h* zT?J@Ep9-AqGO4DdOf?sDwWY8_Gt(36Fk`o-!y6_b@B}d0=We8RcWgS^^FZd{2J*N+q8sv=l!Oy^?5HFOyhpLSFCv6>)F`z z==Q?x1wP2%=3l5ib}Xs)&7F#cGLwmC7+gb z-3jQPF?BT~)u+W~4c)9}>N<1mp6A#$j1EVL>C8hw8%8an*k-J^-2Ge7HIGWs?>qNi z`|u|h8(9xfpZP(%WLT5Wo~(9ph3HMir!@(lJuJM6#&gpNU9#F(%UICh^rZFNi^A30h`<5yRg>^>G66V$ z2rNsn-(Y^iC6^3+zZ|VD0uqM!^dlg^Eznd@Q-^~~D zSNh^c=I2lJ0NX+1p7pu@T4=cFZo9ECcI!uvzyI@nB1@3_^eA{JPC|bi$OVm|78R!zHM|F@7pjRy+Dq=2XFc~9!2wJ z%Nz$H?*Wb}VY}?E>qJRCpO||w`D1C(=JPf#Gx<&AACRINZyi<_-WXzU{$!Cn7kECt zO*A%pvbaY|>R8`x=u)5aF~7${|6Da(uDAwxWM>_1avoMmnUD9?4$#FYt7L~ED{{Y% zhL;wpyUo%iU1reYHuPZ6W2`-iuN8wpuAelbhpPtG{ARV7gXcEwJ6M>loKj}P`%1oR# z8B_SOQwyvkC(LsrzcFEm+kpf=h&aAXsZ&PaHz<37JbMzH_s(V<{;hwm{|fM9U;_r@ zDWHA7e+POVeCBU2;U2Tk{`KIs;hJkh6v&&o7RYac9|j`VgS*}wM~+(sko!iCEytDX X3)`&$8k-N44m_9$@SNws){Vg5+6{1G delta 64 zcmaEmaD~OlCBn(sVeS0Ia~0*Ec1W|I*=6mpkdc9bA%uy6ffY!b0PzDLwg3v|0PzjR NiDq()3>!n4nE-FT4~YN( diff --git a/Shaders/MarkerVS.cso b/Shaders/MarkerVS.cso index d9cc5781917c485155013bd02d8c655ddb78daf7..064837386fd626cb424d1336d0520b5fef21934c 100644 GIT binary patch literal 27684 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 diff --git a/Shaders/PPBloomFilterBPHCS.cso b/Shaders/PPBloomFilterBPHCS.cso index 70bcf86feaf6476f56cbeb1ac6a66d3c3200f45c..81bec7e5a3f4d8408f934affe730f61cfbec36d8 100644 GIT binary patch literal 28088 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 literal 3268 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 literal 2568 zcmb7FO=}ZT6upzgG>KYkL69Ok*eY72)V79NL}S~;R;rbzV7m&nP18u)gnS4U7ongi z6mj8B5D`J4F5M~q1Q)syH@b19i_(?f@tm3W;xHt&xp4Dl?#H?Jo%`};cxrHH>SeU_ z;`8#mkB7f}{cwKzxgjEfkjOTyeb8ebkyFqy=xR`8VmKOGN01l3dr+?XpyG=U3GA<+ zH}J}QKa_YaPzs-^H=*>^^RL2JOPEU;UCNb;gQa@_GvzW^yFDKKfg*Y<_ia^=dtk(U_1+Q9Bo~uQMLXZd zSLsqO=R$fmpDkqPi{_Duqvpt1e9Vk5%*-Y8=1_Jqm(JiJ+|}E4GThzWbv)eL-v{u~ z__>SRJB91G>peaao$7BAiD2??(A(937}GcvvAZTyEbbrUU2^sm`1_FWpLSRM32rUo z5w1Ng9$CQ3bM%PEY5iYZ8MX(=b5_j<1wm#}wTOUGaoG7h`$UE7yoN4;v_1FBzLA2|V?qxak9 z=zFu=1LE^)9KAQ5)sU)D-P?veOK>0DfX|Bss`4@3m@ehGpT_z#=D&Vllo}Uz}H? zSQa0uFU`5ttK$3*c&6|i(yn=69db^a5y1~6re^2n!Rl9W&i|~tclya`qgd8=LiO&h z$$s@5n`+dgpWJVyrV}er2aDV{iiJ;Rl?%hv!M5G**B@7@86iZ zPh%@4vPGJqx4ibf(2jem6&MuqNC}lqYvs3`cX=2i%X(6d|R20X0Zes*oa71Zw$;1ch%Dl^DpUQ1kok&Nyew zPFj>yjdM?W_vXEM^XAQ)ncexbmpXrJ1=rQ`I|Q*B9a;q*#bHU z^dWeg!UmBWjUsOX2b)ADQ=?-^$RU>bFk3zgDosmEn;^f7

lda5Io5+JFS6i8(TB zfXSb!bG~lzAG6hG_V+ zrbhpL&3}HhXfN0$U#?%j9+AcsWlk4zuH!j*U-eGzRwqtnPN~eiHEX+S#91g8ibx!a zABcbPP%;_sKXl;mK^Pg&96ytWZTi#xaO_0| zF0Atv@KR<}!dT8KY1-cw^7P4u+lwmXF%B9iJA`iU(7h2Ef85>na`vD-9TTGcfri`XgSgzmLGk##)F8ga_KNV@|P+_}_Ot(cg z>v&M7XAK>Ws#=|6Yv{0#YIUApL#MSy=P0@(Gd7-NIgTAdCOe$j) z_|^2@3|N_C>R2hg$7Rx~W9;aAb6_MfvUjgKof%VKh$oY=Xm=_@br_Zy`esF>7%<7%i_x|ylzYgF0``g1Y>z$vQGR#}O4jumf{?#I*UZ;;y1h7FL%oiQY zKX_Dy`*k&-TzjtI`L^4u{G{4_Bo>WDJ>RY5e08>B&7R9lPgMMJ#g9e58H*}FXh5YM z4~1)XxJQ_I4{DV6tE_z$%4Q3kL?zz}D#~duayT_u;mQnLS+22CDES9zS)T{6CSyT+ zvtSiUy(=A7<0ZJQc86Yu`{-qpiG<2JDrXgQm7?X_%AdDQM4Wuyv;96*@KwQ6CCjh4 zR#Ewms(7KEmve2qq`b0~vsKP<+}Q%OY_BhDGE4_G#~C45py~CBC?_A}mkU?zqMES_ zr8#xQE%-j{ht^yh^_R47Usb)!rsG%DK9!6=yIbw8m0mN_JtkUE{MwNg#48rP;)x`1 z@bIfMI1_qK#nXBfka~8 zBY{{HgMJKWXag!$Stw^6%y$f1J3e3Zip&fYvX}^%=6T1(tSMc#U7y2!B%_?*0b}ML zW}2n^&_Ew2-K;8AMLWn1eny<~HMcM~ zj}yP#ZdG&k;kaeTwfurpimTybQ3XmK9)zClUbbiBEd5C0v@aIT1dmq4X7*TcU|N43 z2QQT;^Lf19JbhI14?pUp#C zy=0_{u0L76+w<0qcOxHnQBQrI4;zZ4902wLY5VmbHU8-(j4kHx*Lfgy_>@F|_Xj6s zu)U2P6xqx>tfA^IL+`yIKk5zHA^B2!gzxyVqBZA9^6IlfE^E1Swl8IG`rvdjkc^gm z_nL5#9z+87J?%`iaWDbS(;rPYW4)P1IwC&~^y6~0y%Dk&36{Qr-u-^IOS(N0oMts? zJE3(WZ^9K>X#aeK@i6k{8aeN6jJ&l*&O06>Z>y2Ry=8f4jl2``0r%fk%Bz~!6j6Fkx@6Z1x>t?_yrFyKM8F%` zsrgpSE|z}~rOqAr-UK9YToE{4l0oXx{A~Sge zFz3YEWoOqAc4p^PVGRt33Qw62=clchEVC^ZR&2( zx=c3*X=&&{J1Vdjwj(%J2<%2{bhm0<`m@oXw*SMv5!t$`|2JBj>+PwD06!EWaB*gU z3ph@)Ss*7y9X4zPQU_8Q9Gon_!`Eu461ljRye@nEBf$IK?v})DuJ^e1#&K^j^*Q~C zU7CX27q~Wf5U2+!)bk%+1oS@Y;Ta4qab3!>QiqKZfezUf?7Lq;b0T^>-YsX_Td?Nc zf^{Ij2H~&%mKXc0v+b?O3+Fp?mX^#nxf>%QPgX0?mFoigmhXmj73vv}eFWIYS6cdm zb60PK-)25xZCee&{~Bn8ejB}JZQsa9c_t9n_WxXKh?skkz#rojE2Qxd zT5HnGc`V_6-~W6aElQj!lrD{z@{S}*)`IOx!gF(pd7FQem?=8BOQ9f-n_e&Rv2TO8 zxitSS8PM_L>xi4usLrF9Un2GZ%__70^%0};Fo4g01$+b8hjD%!7@P-!--Yg}g7W_6 zHJ~~B>xJwv<{Y05d`@sO?*MKC^7+8$hv_}q-wI^UwE$az{J#Txm_6MAd>Y7o2G2U{ W@X1D?zLx)F<6W<<9)V9&1pWsR(d?Z7 delta 220 zcmX?7(!g%!65-^m@gX@ac+%0BI}*;nFE74e#>l|H(7?>Vzy_o(fVcoCZ~}<`0Pzza?GxB`^$~yqD4G?E}Ocr8t3k9;cj2Hxf6a#~s0EA|80Pz_1Lot{W z2DHHms*bBc0W1b0j2IX=g`nb6P+Dv9PbPK7Pm>jy#hKjdCNE=F5(K#p=pZlvI*Ng5 R@=a##$xoOiCd+Cm002)RBnJQh diff --git a/Shaders/PPFinalPassPS.cso b/Shaders/PPFinalPassPS.cso index 743bd5c81ca561d308c8d0e9e274362ed25262a9..785c5b091c7c948cbf4bebbc12bd60efd1babda5 100644 GIT binary patch literal 17532 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 bi2(n5R)uN=su8G0pc;W{1ga6ZvLf(r2YL|_ delta 514 zcmeyG8+JV}6Vb3=Df%85r1rv;`20FflOX0PzAK zHUNq{uuim+V`SJE>CeR10Tgops#yfYSss(OF;&$sXJFtIVh{idFfcGWfGIf5Rv^Ft zG9G9w2TTnYR4rG70z@&8G+|(1N0$egb@q&poiPqM1_lL3pjIw~#>tf|(gGlDZvrjs zVb)BJU{-Me+Rt7DwU-S_yD>rBX2ih250V496C?%#Ob!eTt5<2+!|-GSRtZj+Axx74 zS%q1E+IS{UV3n9`!m1()3>COuS73O20+~12mPNWAq^w8*Vk*o=km<8#O4`FPP%~V& z83O}r6I4AUG#l*gfB_rq=4rqIR0pyN1cE~xLrQ=&$Yf@a01$xWxWOz40rb&ic{bh2 M2h2DoZ!k~*04Pa9U;qFB diff --git a/Shaders/PPFinalPassVS.cso b/Shaders/PPFinalPassVS.cso index d595a8210e680d72acbe22d1a0be183b852e21a4..48bc563817b6addd3cecd878f583b4b64c18f561 100644 GIT binary patch literal 12452 zcmeHNZ)j6j6hG-7ZPQlM+E!OP_pA!FYLZs1u2xq~TJ5N&G{wp2=weO(V49R9)rtsV zI1u(_ZeuX;gJWZi`C&5HWHPof{WK;BI&fe1VH*s#53Y5{7{%`QyYJmLRt=UZw)UNH z-nsYObIv{Y-1lDYJ@@$!?DBnj<-$jw|CHTa`9~#tLXqJ9?n!f<%?EseK!=}pgM0iP6l@bX(x=fI@DS2hb#1@ULt@mmw)=O9JN-WLd3@{E8GC~*#um5NTjZ?p2WbF~(YK|*ldJ>EO=4f4f(U#&VZ(fm zz*b4k=i$%$vFG9)W&j(lcNqi1BG)Huv*GEE0M{Ef%-;yS%8v5-Jaw=o%X8rNR&tjwDP4`)*6WC-1%67FxGd zEodF^ATWKI^|0AJ%gjTN<-d3xDaZv1R<62q{+c7bw}((y-Z4K&J*`X6tAVur>mQA; zKZgdk=~1C*!z_sa@2D50vDl?1Z~^nrO{q1S&is_2UbYuI_;P58g!&TV9oa0bb%x@7 z;iMc%bZ_eRDo%4W89yfcKTwgV5mzw_Kk#M(TsDcK3$PC1xr0N_D)}1OQOvbTzTj1F z$vudaOM9_HWioOs8>VH=&q21`w0&9S-8DZijnA_Z%`Z&j<9I_F;7cxiIVFws&9I*7 zBcaG}7|W`RK$}_c&6Q@8OD@eXP2-oQ@p(d^eP#z*{(fVj{rioD{OMzHV=OsvAWzJH zTH4M8?AOc^W4_FCf8zpWgSBp#B?>adnEM zEUNq|K%IVp^8AT3Wl`l9d`;0m`h3=;DT^xqu$)fOPf)pP(v(G2pKNE}Z2!kxAEk#?dlw`!)u$u!UXv%WI_q7g=m4RIdJcFWBCMGD8ox%lB zX(8uoH5q_%SzguzN;#L9i$%FLHtG~diTWRaEiJ=GI?t4;qfC`#mlT!ZO#>O6HsTo` z8)ZEUb(dfrhdM@9M!jq$LpjdtE-T}`$~jylc`iPKOIb^kH?{0*rU<0Zzd0Yg zzwe&^O!{`)+>QYA{T2D1Q9j#wc;M7B;1LbUctmz=Gj;^*2t1w$l*k&j?mh+cj;ZCi z>P){I9#7A<)!7h%Ov@#E{%6AsJzgI;$4B#PRo(~tk2e;{g-iGZQ0;pR(DlGZpay>X z^^C4qRIT?>9tRrJ&Wf_IOTTLE=~qLLvZb+@g7fqn4g*+jKq2ln~Yw3ahmYVG#$*%BR@1@j2nOi{u^ohgztX?_$BZ<(1*ED`2dtZLpcS?{OvfNSiSeJ2G77V$9DtsE_|3t wnZH;9Tmnw@Df8vHv+W-In delta 213 zcmZ3IxPZmTCBn(MX!Bl&RdPntozAz{IfVc;U4*;7*>OUz60L2&>+~gp%5d#Ci5l{?dpql_hjL8AW zVPLQa;{9M2kYI8E5)d(vI2hP5Ffay(IEIt}dCX8T5Cvj`%!2_ad$Ko^=42Np4FGRr B8#Dj_ diff --git a/Shaders/PPLumBlendCS.cso b/Shaders/PPLumBlendCS.cso index 4f217d3d7c636cfbc3badf8765250f82baff1115..2ff96495edc48f0387dd04ea103433c2c5fdedd7 100644 GIT binary patch literal 12916 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 W6$?}>P_aP80u>8XEbwKtz<&TEIX#g8 literal 2236 zcmd5+OKTHR6h4#0G?`V62qM;8LGXcuN=tkoGMXl~P%UP%s34SB(}yHYNT)j&#g%SE z7p?@Ax=_e35JVUH3&e#>7yf|a%B9~oxrYv+N!*#!e!cge*L>&P(>t?xy>R#2=TmR9 zA11!+yuSVX#Dxh*L_VfO4q%-IzC!UG_yu^-muHHl$JobVdj@bl21vp$2=o=;A&!hs z0ys(npm0w-0%+@Je*)WnqVaPZt*t=Hwau-1Aj|g(zH~Z_q5TIi9tkEF>QnfmJjj_G zsK3&q--V9C95LVz50KTRR<&JiAm$LDnM4eeK&YYrIeR`?tk)W~jR4d-?2>~Ym3}cd z*O%MP&E`sAPM6P^*?E87_-obswYDiV8?E&^Hu>CC?oxhoGIu^db#WTW=lmPDa4n&5 zUFbRcv&F><8tvgmUVy@blsI=lxAfG6F=Vwv`mJu)SjQ`#e;y3&JTI{{FBYzual1mb z20eTEhS$Bj=f4fzOXT3n{KSIDSjOIri&%HtK--n9B;u~My~9;S{T#3BleGLYNSDX= z)JN@yp?}X<%fkgbEqf2OscEQ_tEo zzkV-iIcP1M3ysBA)Q)YWCwsZ*Kdctk%X-N5sI6x|t_HbAiR;+`T-pCo;(B=iSI&uY z#dhcngmV&^$$m4Sx#<6|Gr*Z{Tdq3O`W`V4W!Oy9U+Wq5ndbk;C~+M$)9j^k#rD6= zNfvK4-=HWLeXn%YnGEO7zW*-Xd$sF3$G7Jy;8(6y0@PFj;w%orbM K?>(!&cl`@`;+R|j diff --git a/Shaders/PPReduceTo1DCS.cso b/Shaders/PPReduceTo1DCS.cso index 274c130ffd35c9f63d37385b42c13d038a354300..315c94ca3fd12268b265b696e044596a439bb53e 100644 GIT binary patch literal 22640 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 HhzI@y_um-& delta 153 zcmZ3J(86Nm65-@L?c1a;D-M^}F3K|Aqq5=AUq%K71{Nj;238<#0>nK)%m5TL0pbqE ziDq()3=>12oB9An9e`LEh?4{un2Q7iK&lv085o#9DF^^r3=C#KQ;MK$HzA<>Htna95Da@ diff --git a/Shaders/PathBoxVS.cso b/Shaders/PathBoxVS.cso index 17aef3cd38218b38d51b2efc338330edbf6afebe..5f4e17a402189c0135ac6f5d3ac52560d0b0bc6c 100644 GIT binary patch literal 17436 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 A&j0`b delta 345 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 E0AUY=p8x;= delta 584 zcmZ`$Jxjw-6g`P;(gX~tlU+1)ad0o9U}G!ARZ(ieUm&=+2}07$;s*i$fFhZ?y_W^Kb#MIvP z=Q-wIO52<&mP^x4K%oQ$^Bj!pSq~qFJL;&S%rIxDFHRCwmB4$Y^ zVLvwkR|-z&ciCAN?#p^b<&kq|LB20JGtB#`r(FNE%{TO|R+BP7a>z8cot|0i>Eem+ L=p-}JskQnCF(N;` diff --git a/Shaders/PathPS.cso b/Shaders/PathPS.cso index c3c9eb46b733c49c38cf859a5b28558d45209aff..ba5147d277cb8f1cdb590018281ab8f7f11f87b3 100644 GIT binary patch literal 12336 zcmeHNU2IfE6h60qvQDanIO#F%RPFe}Rv7T?{4%{}h(1fP6y=Qao znK^Uj%$YNH?mctvhE5&|T3`9DOuhZ`_~p!jS1(;`{LdhwK!B)>X*=Tu#;c6A-0(4D zeG$<>sH;27JSXfxrKC_OWf_!@rsBD*nH{x6{Xl~_+!yH+kz{NnkrTn}_(Uqrg*IP{ z@5#16z}MW?(%wo_Q@xR%V}0D0hoEvsj1PcK#j-@SiD}3#gMg3rP23PUF%<5P^hSI8 zk5RC{uYZ7b_Os4CwhVL%Mh#A#+&6k~prg>CaY$O~yL_X)52K~XNCUG>542N$El+>V&mHd`!MN9cmcbz?B33|~3#;1$I$m1cvvg-S zp9kLcH5)(Qc<))nncv=Q`e%R7kDVWVb}I4AA6F1sOF-M)IP~Df$L6wZX_u@d4}@Am zI2sYoM)QFndVan(m%p+-aK_|Zz;i^uo+Uc+5YZbMqOo&4Cv{9+*^_gvzpDo-J*JhL zj9cPFWT^jmG<-Z-={Z~J5e%d0Y|LsE;jEdmQrV0U9m0`~d1{tWFq_U!=FqD{$TUrW z+s`rLXDb?yr84!mh7qaE#H7`rl&Un%+>zsApOW$^^-^6$E@4gPGPZT~abIq1c#kk+ z%#2wHuE!c0Ft!@{uJd2(0ynSSyoMKfD=xu~!Jd?Lcyf3!m>o$x9ZR21f#%=@OHP)35@T_dB0s9k7cTB4Z` zDBb>dz{s<0=N@@~=cP}6F%}!tK_2-*O}R*zcReF?zxMm7sXw`_eS|g_9vlzg{yai^ ztGrksqYSzC&irmo7oYKOqkUBdo)O*Y*qBLy7au3oqOsgq!lDUtsC6hHIb9hm_Y&cq zAf3@j-YOKnw-eYSl1l_y%CQLUCxbqe@;=&Mg*18v$#;k?IX~G#;VMIBGfHedO1tKl z@Ge#QN92Ch{Bj2$hat`1;NWj?@VyQ`!Y3`i*}>oJ;MY3%wGRFc2Or;EI(WV%tnhW( zi}?%t4fsMVJ(=L|2nzyiD4J*P;NNNP;NNNP;Ln|VBin{pv7F)y+JQ#cqOwXQGT&rS zSoYC;*n&J1__!}MAGT<|UI*xbEsDQ`%Xkiz(RHTqC2nW0VI2GIySm`@*2`ZcLpQEA z|3Eau{0oc#gMa$m`MWka#n$|oosaOuObyQj--yKpG^3Z=PLS#FPYOEvn zx`%3Opc8Ahk;=W;4_moh?C2{MxR*tFz`6cv&2azEUjIcYbcI)x2axaIR^gw<-Y)0O zi2Vk8b-lv}1O@UypUGwtTz&LQ-}J(|iU|2OXo1}*VNAp=0L=r%IYCD<_ny`y()mzn zhc-qlhvGtEgB(be(Xygpq3^#ZcxL{-ROWPVW;9FwOl&-1lHbh5{mBIW_Bou+#!oB8 zDF6G@^xtz<7^g=3!vqelV+7zegw@^2h-efia>xMmKT+JT&dMM6?~3QYVEmL3`||)V ziQexcT+TBO`P&b8#|ox^dPc!}4$lVUv#^;#ksskthn-D~g9RmYnaEN0_2~ZC+SSN&Fnw%&mJlR7*XA+YJ0HNU@J^%m! diff --git a/Shaders/PathVS.cso b/Shaders/PathVS.cso index 0508de71b6f752f77e2c0212f632360ed09567b9..dfde9816b3845ee318e43575673e2794062b38a7 100644 GIT binary patch literal 14944 zcmeHOYi!$B6+izZZ5=0W9`v=eD|hWCr7t@nStwaM+$Kwtk~X1E!v>L3Cvy^0*N$wb z4^~hZU#c;|fNq-j1Y$##Dx_(eczr;d#)km^w` z%1Bxt>-gMz?)jg4&bg2Oec0WP9`2fZyXjXy9erxgYn#rl+xeV~cp`GDQ)DgZex|{A z30PGj@=m45qg5g&x*zFL;8C_0NV*LuRo55RAoEuw4=}$7P?k6xi;XAJiQ#xQr)8m9 zPFV!eaK+LnD5{rNZ2s4vQD8lg{5OGwKL7`TrTpP!;@n_1^JTeu^=hS5N)K$?&vdl3gj+k>_P0Y{U+lBrdz zMxi=e&xo4zJkqRh5_0p(@R?6Qj(Mi1U?S`75LuJets&CWXk^Ko2aj?++YJS89p&g( z&y#BQ5GcX6k}hMur^4tUrR*N)deZ9mq9$$)2z8^=wcg5Gf2f1yJC-P?O)NjWL^tY{A3lFMI`JMyOql z8=*5Zsb>9Hdov%~t6F#MRc=eai}IP7JnI?ErAG-eF;9D!YM0z|yW< zJbPFr&G?bcJeL!B_e&yuIJ7wW36Zy-5E&1NeD0V?8}OZrh)!DMdkEE2pnr^@DzoMN z$aR(_+i7&)crxV!`bA+B78I0$rhGXHWR4#>A zMCZt4GCu{$aY&vsk~w|Yo*S8l%s%CqY@N@1?7nt{~4|NC|Sd=>&M=W2^(Wmq{8;7a$X9B8O#19@wC4-uVxz|rFE zz|G#Mb;!X6k8?y%Dn6N$mh%q^b3^g$WFjwTbEEB}Et>O4I-k8De1YmyEoPOS1xfs$Q$6qYA)U#M@$uEs9+qw$A2gEF* zmUY(FYfdh!^hG&uOqGvMdw79P{{22a?Qwk0U9_KiXpiIX_3;@`_99PvU6f}$9pCjO z>R~(`-}NQ(8P8|5o~XW`-wl7)X@9XjMt#eHvyri%f}khZ!~q-3X#I=<`cF20Vx4SI_H^B`eqJ6PhkZmf$=rT{gnYUEvFY}fP{bb%!?cXPn?*$)J zk0*sZ#}%j^7xy90@d2vG!%pNmE`p?6fwLH?*;|B6|@O-C%X3z z9}Q#PV?GT2zGdhZlx+s?LtonqdJmAix@GYiY-WEWaBL7Z0Na6Vla&NDziIXM(;yfc z0&YMogR-zd`zvQzVC<&t0pI~L0Gnj%#waM|>ct!k$lvDYc1vYrXd_k;+HtqDl{v?& z7qfMz>~>kRQLi0ckf2N9S4ZYhK<0wtHNqU>yM9SovlEBSTQ>4N!SS$O0`+`fZbrHi z)Y%HFFrS;_O;i82f)BxTJj0misP&sG-bxPK1oubJd@D-Lr}sd;5|B3{Ng%+z;g&yvR16X4*aq`)8+o0vR9sd zmRm6m`an0GNhgro_sj4c%L$9?s<6L}_w=mdlCFedQt znq1_jZw0yA<}XYcV4f%u_!{EB7j^*o<_Q8RL$Do4%D*}@@wk28oc|T@Wne#=#2&VHJ~>jsZ=LmtS%%(WnOZ3eO>UF+2#&DN|2a?OZ22In*Q?-Y=& g-3Y|bj`aB$=N9fe%JA_;pmZ+(_-ZcKv=SolA8V(>asU7T delta 281 zcmaD*a)RB+CBn(M8GcXH*5$kQm3&IF2Dp3WBKWFeYL zCNeUdm~4|%>0~}v$W0Zk#*rrL#6WDoicKdbQ+ca5H#3{gAkYzN3w^aC5(%|*v>j@P z?US+o!C}~BIp`zXi@@C2CWNPeQ5CWuvD0UUhhit=Cx-?l-Z$1eG&B;0*(*b^ z+pP6y*8&=F+C}|l#141Q2CXD-lAp8rcpHd+JV=kPPd|`+qP$+$cE?FGJgqN4bMtth2i&!R4;0s z<2s*?3w9pHC+4xokq6CK$iwhlH2NWi}{8e<|j zK|gi@FEI}If=%4#V^9O{vh%p`#MS`5d;fc43-1Mq?tH87RQC5r9VOd_3aJRLhTG#Vcsja%vL>|C+Q>a>=ZsR94RfZqb7r>w?R3w7)8 zVXLLd7HS>pX~RkDFjnDummw5O%*urFC>A#!z{ndc(imlNuyTcw?>80H(x;mk&!wiga7tu|{ghpo{J#-dJZ zaA@RI&wy4?;#O9G8nhrbJAjeZCfapnDigg!14ARXD8yNOLZ_t^T384mf7)4hY`)vE z`Tn}X6Pfzvr#C<4r)wV<0==E%{psR~xry=K++^yTiOjiFe%#(lFDROuAC85lGlh&u zvUB`wx;PEpBy{I(-GbV7FN~As=4T7Gt~PYF%`;U6+zy7rq7 zJ@-1Pr@q;zCM9qh)Ci>Q$?gBmT!(;qoH9}7!lP3IoUVRdx@v=LAkSu=HFTHu8M<;h zaJMIG9dfwV!x7?mCULePk@E+Iv3MeXHdU0_!kP9n5yk1t7V{T`-!@elIOnNlAg*7c z*Y%4?x*7A#INg(t*J_ny? zd4^x(;MX|#K?k2xW20a1;MarS3I8`i;T7p(c`(aTAGmKNGIJ@M3#|*Z>Ag)^$X}~0 z>mCbAuK6WzYls|^=|v~K!dGQJ-x z_!;WjETQWWCXluR<^>ZP9v6gKZF%7sCO~2W!KEv;FP15!q7K{u{P%uH$#CfoNNl*N>LJ zziTD1L|$5p@A5W&4e-2oXLWd?5k=u$MUJb)QBBR=q=Pz+tzRVvxo@!U+ron|aAz-W z(YS^2ApE$44K~Un2sQAD^ZdQQ$Rp^V>(cr)P$&D;x|{1Lk6w=NmT%NnV{TKWZdTg& zE0@pkphtNP5-Y~%Ur7Papi5c%O&`Rz5{dmjK=z-FLYAA%CL0n6|InorXW1gx^T zq8F?GF}1G3+ELFhrhjU2*{DEm=w)-+6k^Z+E`;WxV+#MWD1`6fOo%T4?-;U*v5%#IA0oEz9w5IRejs%S z<}RXp@5ru?2leFmZvn3Yqi78NXUFvSQS6$Oz~}kRRWw)>VFK3*!{BjjxD13E_FU}$ z%W!<4P1AN;5N2Ce136d37=wKoyPetIb-<^ATxZk+UHE)!fOB^j+!}Ce;K{6k{{x-{ B!5jbp delta 360 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 I-ewy3e}j@0xc~qF delta 922 zcmY*YF-#Oe6n%T_Ew_6s>>X!_r^sHwi`sE9KrD1YIV(vF6qHoNRziung^(y{qGXb* zY>dPZH6#|cCN?A#Ce}9E+f!Ni{?2`GZ<0Urci#K&|35SP`>1eSYu#U4yw_ZM{9*ZH z@ay2q#-Ed~8xI@+*8`x)^%kw>0!OsJv`_xw>{TD6yc+`Em`XT)_`39Y`?>2M6HbWS zG#84`8blETr79wNKs}8m3I&>z&`iT0yTK34GSeGyJs_tzC_5FC%)Osc|L0Q+Pi%oDZ`3O zjK<1Jwy)axn4I513ka2TJM9Y(_=wU4sfL4mUlVFUO}|%IuK+DNJCt4{&HcVMHOis^ zObvG3b^i-x2}K|~tLXgIKzL}<(sV}~mVDYnJ&MvDh7Hl=l75b!C7MqT<^7A8Gr%{H z`5BMC_VN($v_Jf?7a?)^p1f)#`W<*XF(E6KC+K|(t_ku7r-ds|RvB|ZU=M}`v15sq zk>}eTc@^d~s88sllx-)G**?l@Oi5EIUvV>MMx96MJSktEX%Um=+L3*qcc`(ly0E&% ay#`J5%MW&m=9uqK=gfNIItBAKocae$Lt(D~ diff --git a/Shaders/SkyMoonPS.cso b/Shaders/SkyMoonPS.cso index 6bdfcaa7a9e3ec1c497db64942108172520abfa9..cb0d99a4eada32c5e6e8cc13cc1fdc31781f31c2 100644 GIT binary patch literal 14628 zcmeHNU1%KF6+XN2&uZ;eR*q$>wh2==E|RRQReZd1ZOhqOt!n2hbLFBVS(~-Gow{B4f<$nfD26TO> z%jD69KkE8mtz4@+aw`JMBg!hj;cThk)ZE&XXSI#BTc^(0XDoXrf4S&bgSEyLrbmjv2l{PGma88S7Hui8j5!&+|m8@`OuiMhud-ETPR zw++8;aX1CNxC~y`?fqKUahPW3PUJjD@cQ6b1g@7UvmPw79)#7}R^tWxn6jPCyeu&6 z?%EG_4IVyhowbLp=Tqr)BEBzUQy2!(rv1PhtONG?B>de39{42#QwUG22N1iS*tv%j z$9@Je%mN7BN|q51=?3yZ-AOsqlN}ZQc3PEGzWvLI_}3HhL|nG( zX*?I04vtdlQb>XF*y7F9CnpNE%f&1C@@&zWaMiidop5KbRd7Ax2!~s8eTT+ z9!4HG;jzONSELJv=6|<}d~{vpcPB)?RTX*Xph#P{$Uk;t!BPKS2hNIhkw1J<BnUeQ`kas}mFC6|c1o>MP))_MEl=y)zWo?B@~ zw&s?+Qmu-M(iRsb<#{cjt!xgbE zud@ArNk`_f^ylQgFT8*I_mPL))KQ+74yozOr+XWax{Gi8VwCxHws8l*wh-2j2e^ql zEytRZY5})#S2i$z$k4ml;Rk&)&?_%CN4V!3F6XCRNnibvu$Id^(?w6_+>1vqrWI$X z>N(ehH-&OWha{U>c#9VkV8SPgZbM2vhk8VAD*2QgZ*BmuQB_dp)@3vpW z7$RjL*A+gW*Hp>wL7ja-$ZUnA50pm#; zm}O<1!;ar{NBU?ZjBnxu5C`H&33E;j^Y{U{W6NQHHq11@?>Sek?Zz<)AyR;*c-5BOtd^%h9II z0KxV5*G6Q=iuK=pHTdhEy#+0&R{;Mgif_qEu#9|d#Q!{>x$}^k`Wz!MD1H+T0iGPt)x5; z`n#BiOKY2axU$0-W0X?y($Y>H+E`}GhKBpS|HpT<(sia(ogJx8)ugMMuM}PBa-Blg zOp%`lPnK(iS)Vb5uY}#Mhj}Hy!~s7tqL2A;Dd8ZH4;?;{`1Uytqzu7)j1+!&;QQkd z{WAVrz@Gy9uof=?&Hero?yGt5nZLh;J9YqNLK`rHHpYfIAa7=#4-h|8?yCv35y++E v5^_m*0J&%6vNFDKTrTs|z+J!)9*+kY&qD}35PBf=KPQzzU>IfH(puumOml0P!5A ciDq(~3_#WkpiIqVMQ-uQ513dsRxDux0EvMVPyhe` diff --git a/Shaders/SkyMoonVS.cso b/Shaders/SkyMoonVS.cso index ec98e70e07672237b5f4c8b53d9d5e3b12f69cf0..14003477c70f74626f2659fc713381cc4ed2d348 100644 GIT binary patch literal 27492 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 PF?lVkG9%OEg{^w-p^Scb9=$gI(#iW~E*3Z3O}* zeI%L~jenkb@NLr=VxloILGgiTd@{yphz|yz3DfLB66)`F|BSM*$%0I_-P4?V&Ue1^ z{X3`k`*Xe4Iz<@pnHH-5HtW|z;}SP6(U2? z-o9^BP-6qyfT~R-j-_-pk~=6WJLD$C0L^G zZ55nVPfDb6R<%af3DY{fqeH!YP}PQehV$S#RtMORa#)xy&$}Ier~2ApbiV}3Z5Rng zcJ5RUYJKWcfl$cn*&5Z@06NG1Jp?QQ35^zUpKHJZ7fLRyXAA5R_aCsH{l5Wom8utUtb75^;z}e%h?NPd;Tg(FQ2U?Y%=01Fx`^IlB_w`(#`Q!QX^)ue?wjaK7 z$}n%?zOv`twuK@`-KDF@0@3y;k2B_3X0dLo)=_P-Y*)UDEpWmRc{3|=X%o)>ehkDq zwyxq4xm{n51-zc*Xkly&p_2IsjoPK^sqwUtPw6eAp&ee&X|G2GjAe3(d zWmvlZ!+-1njAl2`3GH!oNBFSeW)RVltW&z}_mEP=*k>;N_UOe=e^i#csiQvQgAN62 z8omXTbzeCYx}w|pbOxQ`!u?|bz6j6BUcZkHR5l{QF5zOcLzf?6@04!8!Wp73lNdK7 zbn;1IYB-^fr}8po9PKz7G9|s)ynaf!YM91&LVVnP$e{fPH18LXCau7pjn&FrVqQ;V3Ms_ZmxL`c=&vv%8&!6lR!fe&3ik_ETieZ>21j09Cg(kY zBd;x!*Fs)_$jM)zO+XICr@Y!d{`bhaSGJ$|y6N!gxq~s0S;#?5P@omIdHRBJ7`E>b zDcaPOG0i+sw6XaXoP&&I3G5r8!6N_q-1J?m!h0X?`>KFpupTLuSYKrk4*NK+$~Ij%aX_R&wgJ7AoFc}&ADoHAUv4=hmbf78k6)20Rf zzYn_UcHtgbfbrg~HNk6q$9dOlE(73s$7fH)cipmj*EP5mth@zo^*+}&7uKEy>ZRG- zcb&!16ni_iRbKR0VnVR?5}YAQCHotUwP%2JJ|fQhivj)4wPCS*SHAi!Kp&r|X*JLN zUXi!z`3`PL>SrHNd diff --git a/Shaders/SkySunVS.cso b/Shaders/SkySunVS.cso index 7f5b4bfd808077b2182c744b33583368bea7931d..1846ed0d422e65123081efa0422076c02b673034 100644 GIT binary patch literal 27432 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 delta 464 zcmZ2+jqwhLkxPV=bJUYPCAX(}+*8}ke0$9+WphRb28I|G1_o9jZ34tgfC4vw*no+F z;Q{kRGdWHMAkP?xZ6;r25#LyHgpqRvkmmpt&YJAV%r=v=5qiAL2hb-$TKiHfRr`Z3xeFF0Cfu=l?979Tg^1MI{G6w`e>NzKG440Uk%c?wC HgI5CpH!m^{ diff --git a/Shaders/SkydomePS.cso b/Shaders/SkydomePS.cso index 514108fe4f2c3a6f39812441d3ddebf9f9b31020..507522745bf8c94b408a8e5ed62467f3d8026616 100644 GIT binary patch literal 55004 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 delta 1036 zcmZWoJ#Q015S=>{+jkc^hogvm2(uwo(jZyLAt1#z0XLCoNDu`Lf`%3$ks{I^>0BTZ zU4-}p6e&`qpp29v1wx^vq6t62MQYyL-3bS*G#>BHn|W_`_I@5#_OG`eJiWiRIWv6r z<@DRVweG9W!ygBa0ukA7h>XGChHckHUPdCHVAGAgPAib3&GjhSx+2m;yj2`TZ?mf+ zwWg%liws(+geAX@Vj7D*1_ZU&if=l6)$dUyQv4wFHFr$jx79_);oERGJsvedSDcSe zX0y4mpu|Bg%P6h-phsBVy(LoBGP9EA?|6)L2l7hi_RQs+bZ5}czcIE0$(aQz2@2Xh ziq$niV@qYBMiT88@ykBT7!}+x|C6)+FU$2pX@rw^Gt~XU4 zMg=)KjE}WHP3(}Qc%DopU;F4dcKh>qY9a65_03YCJx2{a!!xQki}_?OdWg}EfDDVp zcrI%jnV|51e35$uVGkR(dT`c4{$hPUJ3Ch6gs54yvIe!%vtP!_XVu&wf+q~~xh=sH zmWv73AYU4btsq$&y_PLQu+o%~%+w5EVx=PuX=#kBXJsra*?t@Pu04j=HiBfX0Y*ej zhts4KZuBlmHZl(Q7nx6DGS@0JJl^PUyutr@7(Zt&3ZE|Cr#Fh-)C85{C|&ps{(51t diff --git a/Shaders/SkydomeVS.cso b/Shaders/SkydomeVS.cso index 779704b227a4d2266260e072994ea41115f25c2b..d43260ea88b802758b5f0e1d2240ac3f3eeb5ede 100644 GIT binary patch literal 86396 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 literal 13296 zcmeI2Z)}}a9mh{^N7r@8W(BO1KMxZpBAH#c45(=D`fpq4*3vtgAx3t$-m%86x7@aF zDj}DlAihvS)HjBN7+6TA2|-LGF=7@aM14VKAigk$7Y0e>g;@wuV#M#~Jm>e^)5m88 zM576u?78Qh-~WH-_ndpX;r)X{-5YLtt>>ckmp1?O;cLHg&F20#=iFbmI(MGtZF-tr z&b_kMx#WE376qRi9vK}LtX;V0O3tmWw#?nAZt+iQwS#1KB*A3h;)5Z;SBy z=WSS}`3((Cp7(v4Zz#YUKlqUXJo2CcKT&{3uib-I2`e111k8JSz0S^SdUoWkc1$cG*k!gEpa5-V~$p#(NH+aLxy5^k3g z*K0t{FH$HPoD0S)VgGl{z{&tM&PS-mC7LHRm)U3-e3Rf0XrGt!Nx>h6P{Ec7uB<&{ z0(eLO@B;xp4;%nEjb?y909<}z9_WVy{Bg~X1UU2t|C!*A70~}$@E;VwUl9E92>!D6 zjK6ArvH-qD@%>2w`~ty$S^(cD_|FUAeS-g@0Dgnu&lbRU3jUh_$3C-jsCv{F&P07d zp=;L@5-A$PP0iGfxl^Z3wF|#0!jH||eq_-j{c3ooA(n+h)#=*!;lm5H#RV~$Ov`T| zs2r-!)>gp#1GNHvsJ=9}h)ra*&64hI_6AJNEG$)L-Nex7SiL@9S*$h|Z8I`A?FQ?O z=~`o=Iz2rzcl(~1IVU;z9*ReDmQz%ZyTO_2f*YJ&Y7EvEkJV~(!I1@X*;}-G?u$-c zp*CBY`Esqb+V7;QuNQltRUR1gdZ@>jSF=;SXa;6=+DW6-=+V5WIS>Dc;KvK#TLr(f z0KRj!ey}?0^F&xfUQ`fac+9TpMjF%Qv9Ro>t<7aQUB;{I?>Kreka&*0RdvVete`i~ zyBuV=erzsb^n)5z!XnBc(j@OuTP1oH6j2=4tBj{31Wc|>qxkf;BV;1?Fa ze<^rR0sMKvx##5NyeN250ROY#R|dGI%$|P;epN(o{iahd@M{X_(|CtBYHtXC*lt$mszZr-we>vh{W zPrEBS_fD&|a3>?D<;$gUdMv=T^l-MTRg0AzoV>3S18_qjhi6@&hlT-+Tmrwv zhy$FOZx;b@LqQMxd=(k+SPsX}=#j~QUZUMP(LxU|1312#-f(n1T&0o0;blP2-OlLY zWdP?+2VG_Awu$k|?tQz*_qx5~lY4fIxuNl~@kzIDWdG3k_~fvHJ+4?&U-*NJM2`(* zF^IKf?b|WAb7Y@*D!Ya!$3CXK2>x3ccT1;RHTuoO%lNclw_I<#&N# ziAtd1yPI?0y)VgXvQ$pz5*Q&gYrX$E5y&&Z&mBr}X zKx-xbH@pNv3_!yj}tV+$;*{b>`P^RZ?*wjU7?oB`WG=0=po}ZfWHmX*9o+JBX9Cby_dw$WH{m^(D1@rNb_|F9T zjx}k&Gk*4Fe?}vpkR98PY-(pT=rjB8ZBJ>{OWG`V$&IgWvh|~P_kP>fulIdxULrbA zNEUhQU!UfbK19yRCvofxw!U_G+N1335l6#~1{trd3+F5FNXXjLVcoGRm5(o_vOcnr z){f=O>H<3~E|xRHQ8U!D<;-G!R=Rx5L(Sy*4TtKO-(qh37Eh}u(;wFizM6jHZ%Dtl zG1N?~KgL-v^872*OrGD{FM8_{#vkhkmf0^_aM+LjxMni@MFUS9{{>N4)ukO8n zlhE(gNkMPP;v8`AwmNxeY3(%Kf`*1-3!rgXTxahY(pQP z&G>AC<1U{++rW+AeDiS?t(|SoruSbk?uD8C+5?aIGy4NBf40$=*&k>WgSHRqNpz0U z#hCi4b{h8G6g>=^FL$fjy8^8^R(FT>Xm_wR%)|N_&~Qc{+lwy@??bc z=y#ax`^7R?cj`l@>D$muJR?4|mHqwKtz@^?DZ829j@{7zH|?e#V!IQaUGwqk0w4AJ zlkex)701`tmHeaTL#)=GRjkSB3-?K?hUJ^ugAN|f5i%bPx#D{jJRKLN?=NQRI;Nq< zpgDP2sQL5LJjXQH=H&#O$w}nj#(?W;Cf*K-@;QWlM7Cfz_B|79;D{fE;FY9FcU9ycZ-I&1l@@pf!@a` z$i7H!*`td6kM&RK%4A&~eBGd#L67==SnIbMZ)>Rx#*ebiC0n`X(_N+n{`E<#uaC-3#^{N}&wTI>Ag7EiQQW%pyB=||_ndRD4?}Bt zPh#3;;&t_lo*1K7vGDJG*2Ih6k6!j0qBU_8%zuvo7yHP5W2DDq(@VjjFSg0fH~t$f zu!j6=7mPT=Cs-$S#n~&B^^qI!kOz|kx>q8xWiZ5wIDn6BN#w@~!O_9J1o_y(5Nx&a zTDqsydwV}O}2#0~iuYqA`&Cx`gcox)elBfT(* zVv^6vrIF9X0r}{4`VISrh|gkVzQ<<<+bpiei*53$%VMV9=6ewGsagJ3V(U%Hi+j#F zqct5ie?s!}IAGmTyojOtgulP}nhZG0vwYz^cEN*Q;^60C2Y6ucYOKK@@D`KUe)5ga zra$%B!+cLghUhc@I5$^>+5>0#jboty_2ugyJiehnrZwBiJ2u5S%y#UxT!1%!1nVGv zF%LP2?Lsc`hNj3a@Mc#`i(MPVXLd2$xxg-b#jc&|g+@osL)S5%;`o~zG!|EAZXoqx$mi0%{<7hi2~r^DTZC7|ePEb{Wii zL=3Z76!i%7#(0w>@EY=koU1kaT8(;~^$4p6iv?%V`o>B<0zJsIIFYAw^$4T=cX|Z2 zvMv;Gh}k!0Vi!7(HwJO9dy zf1d!i`Zqt&g%119!rZNgK8B5qw04>UZ-(QZjE#)Q4!_@?q<2979ZUBIW?s4M$+?Bo9}-zF#cKU@rcBmbcu e)wBQo0f~mwa@pYC%)mw)S7_0rhwnTqjei2nUrA8_ diff --git a/Shaders/TerrainVS_PNCCT.cso b/Shaders/TerrainVS_PNCCT.cso index e20d72820b0857c6a1e9b0540d94ab18cafe0341..62ef52b47532b9dc070f17c26fe78fe58dabd052 100644 GIT binary patch literal 69236 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 Sj;pU<*EMim1HX70`2PX%ZA+5? literal 4908 zcmai$OK4nG7{^a0Y0}hcV|<_@IuwysLP^tF+v4LkkFmkDGi2h>y3w(7+l(eN;m+;D zCn1X9M!O0wTy!C&5Em|7SP&6$(S@M6a8(eB;6fKtP(eif|L#5CWIEi`56+x({@?pM z-#K?CkBv{fb@_>_x4&`i%QM^S-(I};?yq~Cb0c>+w@LF}jrjrRhBiC*`k-^43_CYF zIaL@D2EQa>E#3VZuJ50Jo%VnAJNLJ?yEc~+!{0rgK%BwrG^SyvCGw^G|zs|sa6@DcH|5G?;peZ4CgGg%D)sQJTU%S}6~C{8KT|(7A1BOYHCd0O(mGMCg~gL6TVdRilG(KL^#bJ+ z>i(PXC&Q(9{wDm1=IKUEOmtt59lA2}_AB+)>FRg0IY#27Yqn3G0BARZTak}Nea8*87IQADHd-f}(PFFfZJch@!gJJaw@VtP-A`&{PZXA#E%}%N;hlAD z8%hLz(OtXu?b*NAO_!fOdO?0@2jW=P zFtQ44(}(n312u!w#RJ06cj44!+qM+9PDh>rzS<>Ee!XIrisk9K>Ecm$v^aa@(2ScX z&J<_e+|;p&VsUoTtrZn#O$PY}6KCL!GhrK&c{gKDwFYN9Acb-lp2R60xUrCDU!`t?cq_Q z=YU_}h0%Y3d!(|IuAhC@x#z`;hSI&Q(P4dEI6iERZPsJLv3*MJujf-;bV6)tZ)zv@_nQ-71E=C-EJwx&L|<}6r8(xv|MY6bk{b*#fKjq|?cd=e9J z^#o~s_Njd$@rk=IoXUZ%cnmq`mY=#^cE*LFTe!{3>zv37f{&jpKDOa+-++(KV`{T& z;zRv552p4iKCb<;VKNoP0997foQOk65(EBL-%jylJ&?+xZ@J5&k4UX#W1#mijy6^D_SyGc{WEc|82?x^3CG zrCpPbST1_m{=w8A`dRh+5~ok)GX=44fxoCzp??pSA2S8T))_&-;-H&g9pKw~^}!();(I>+3Z;^s1fvBmV6d)^BIc+sS(h9oC(@o=?961;xRc6y8j0 zW8WHlK*Mq+JDW{D7l1B5)j94;!)d=wl~7N2j9-K8u(7<}$BvfciBh3RazaQ4JwJ(vr$aZdTS2k+pmk?imdyP2GL?YEQj zqNYim9!O`y@Ldqb3^pb?>QV6DZqCELx4A%!bxPube@!~%l?(LKMey;>_cs^lXFV76 z)3XwveA2T@F><69*3ZNS#`oIJ9NWap`Q!rqtlLgDPs(I@?$BJU-Gqkqr25S5)Sw;^ RGrl&WZl2Dvt-Fy9_mR-I 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 N@VW-BYoLn;{y!z}R>}YX literal 4932 zcmai&O=w(I6vuBSY0}hcYgAAX9g0YmP-0qR717sxj18upArptzjgFnyW;B@zZ(eQv zKtd3~jk?g_!i9oJAtEkZD2RxN6m%gj+$ab|aG?t+s34;LfA8Hhc^zKrfjjr!|2g-3 z-}^$Qk4;Y1Zdu#;%Ih1yeD&ocqc^O7Khfu$o4&@mZJG~gEDkxhce``14Lf&!#JTzD znbN2*_!S9j>2A_+1ONQ%wEt_+xxcmT2kRkpGY0ij(2R}&jekX&65f@XM-a*(JAZQy z-+0WUIehGy%sn}L{5Aee4j(^_zYv~{Pe)<3>K2-unqX*JwrJ8Fbc zrQT>XTc?gRTTXh2-8YZ)Tq;pN>n5A^j+UC!i&PKas#@n(6yRx z)eMdv!}kc^>v2t8e82F~9Q>g0G2uHk&=Y76RW#qHx!11xWx!n1kp zDwfa>UZyu6KMMyl-0sG2!g(uu}-#rs!WBcx$*njYVo2@>0^ds59ZTxsc z!^kqQOCQp=4b%)y7Y_+P*MpOnUAt1;Ivsfi`1?Kb#Mdt-cvhbF1h15Y&@H&vc1&%1@0V^ihw{IuIB%m0QB@@>Zdz$;?d8c7~%kN#h(H>!uH=SO8AP(%;O`Qr+|^l~wY54*P4GRceWiIbRY zk6niC;gO?9fFI-K(ccKy>&QyFe)wVM9u+Uzo$hVT8P*qtW5d?yW<4$(-L@uwr{v1T zVycJpA$qm9H9T~IvqqP#(ZzaP_%^@(JhKL;7A8;rZB5Q?O|EQBU06ptODz`F7T77O z#3L^C^TyR;;uC)L1!=A()Jl=~_+1)F<-pcFhMaS&4_qxhlfpP#y2{I|X2b=-$4(v} z-SGEp!RO4~YPk#ILxVOCr}}E%uY=NIGBx=C)z;FO@Iy%A1NPQmNbzJnl*)46V#P)h zvp>&TG-Uiz!Snqr4Z~|WXG)p#zn06JZF6bzb^nu`)H(?)`LER$K5wd`eX|}IZOI*3qHEwuWiBa7oQ%P)GxZ|_heSy z;6d=|<2*hX{5@Onu}>dUQ^@+*YPo)Gsuvw=UMAb8$U#PdQ-^QO!6GxzqC=`ve|04c|>jjnI9Fl4zgd7G#GyQFjO zUY|eNPjUg)&6Uq%F_Y&VtHtCEN3JhO@82zMpx^Y+t5)|r{C7aupw*hUllK%ltUGtH zn0^yV@`IX`o=X z**6)PZ5no$^7wpT>@MZ;`R3SN%HxB<=Po1LYrkKZYO{mdF{H a$p2Dq*B}QFGq$#(UY_dLJ-gKz@c#hVFw(OC diff --git a/Shaders/TerrainVS_PNCCTTTX.cso b/Shaders/TerrainVS_PNCCTTTX.cso index 3601f02466cb8ac6c6e233e3a643def9a5c20c91..b8ff6b83a50ca6e12f1588546419b528b0667b81 100644 GIT binary patch literal 74296 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 diff --git a/Shaders/TerrainVS_PNCCTTX.cso b/Shaders/TerrainVS_PNCCTTX.cso index fe731543906b21240509a34747e1e0c6d782c956..ec3884ed3125220a85961ab620f6a81cbcb1dc1c 100644 GIT binary patch literal 72224 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 KdP%NP1OGoEZ?7%@ literal 5480 zcmb`LUx-}Q9mmi9$!<1AlddU95gmevl@QiVnkJ#GH~VL@3!9x`XB-k=beg%zPP;p^ z+_^Dn{lgMO(1+Hi;DZl7ND;OVKKP&@BBc}`1f>tfheAt``k;ahG=h}c@8{g}o7|n= zwUqjUGrx1bzu)=&JHLDGW#-P#%-;R?AAf%0(HH)D^5fQ5Pj78~KIEKR{jPJn#E&u` zcWz;~b8k#I_t^pGR_5l*hlC-oN?B8Pw}u=2*Vj(#ug0AFrZW z3;a^72p)(Wbu8|_0i4{>KdWMT0zgorFM=I{c?B%s`w31|0w<7wPX#;z*WR#n)i8Nn{M7=yBmA`j z{7K>D7Pj~8JSX7w9R5;Jcuo9`0{kuEZx-P12&YzIyE8j~6!2~VeqH$Q3-Hf`zgK{N zDV#G9^JMmCo9n*)s@h=1Bf|*V(s+uNAknFk~m)1FtQ5llkhDA#lh*~apCWZ8-Y`oefu)pIvtz={s(a*F!CGG z1U#=#dxC!;ZiK$d;_Xx`wZ-~kW!WuPR?eJSa1<+|Id zD8H5r^X?|UC^&&(4^mie$((Br&T?EEY6G~>Pcm>5q0hh$I64p*`GKD^<$(MAbim*y zLLYpuCg6EHW8m7-)2>dn;Ux&tH|E1(x zTeXF`l__nAl+pVN{+!Y;|ElEk!>_G1^>wi|d6JW@@yoC^GHUcF@Z;P}`i8hmTQ;)! zBab-um}JTRY;AM)Fux%jA2!D}^J(GOwmJ1P9cp$_VcjTYHnA1sLu;EO!!9^;?Ajc= z%%_F#3iIFP=HU1+ea^z>)ZgaR&E}jD^F(_&msPdMF7c9%d(vfbes8nnVr<%$oVbJ)*ZG;Z?paF7Qs3lmoh z_LOt`r}cQ6&dJSN{@Wzgg@y|n7^C*GJj8myv)DFOpUIEJnnz~mTlR%tzVN| zEWZi5V-uM__7~Of=C8Ne+S|7k;uwy!F{4P#583qbYwhcqkIm{KnX^7ZJ`{mueKc9h z&VxQe#yw!<`(y_>HS>MAgB)APukIipk(?fx(J!{>ch6NfWDs)txJV9${NN69{O{Dq z?4^&*hWYrm`}BY5DRTaQdW!wuc2B9k^ED)Wwr+I53^qbY+4)@ZeY*M!e!~0*@7-tQ} zdy;&i1>LVVO4+wSImpY;WbxSd20oxkxssjTrav5kZa$nJ`iqM4`Fj&z9pP#3V9_h!!#HKDG)R`+DwF!aj8;9%3zqbB9>4F_i5 zS7UlEkqO&*EDLk+=_fLWiK9x)F^`VpBP=V^DBVSJm}nG4%Z ztk@oo^y8d*#Sg#uiA>h&r|PLzbq(T%^miup_O)Q0yDM1!2U%a4Kz-_KW$T^zzX3*~ B__qK6 diff --git a/Shaders/TerrainVS_PNCCTX.cso b/Shaders/TerrainVS_PNCCTX.cso index df8b4bd88b99169a199c4d2d969c5fc815fb1653..ce79f78545460e4887d6f1e1c46c3ecb96170419 100644 GIT binary patch literal 72200 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

;~CFl!= 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 literal 5456 zcmb`LUx-{+9mmhkZg#V2G;tfDh_pi}rIrx3n;6p|&CULqWMQ*2>`aHm2b(c-lO5fi zS?QG+Z&1YfjIOCS2sf=FORd?-{wq=*lF=!1y(R1ku+4=R*^DX3V#pL5S|_U`p= zMeGmGoO8av-}(K&=U!(1%Iw_hZ~XPn_PL8+y>{pM%{NQ`cy7cwSNp7U2Q;77Sen8rsU zO`i8D%~J>!kez?LfNwnJ69s(inT!uIryqZfzff=`z0|wDjRQW{%t0C zf)cD9ADq6EWNoel&x>9BhG+qgTWJCz`>cfd4Y!?`W{IV)BK|Xyes@( z0sd{_#1@VZ^?Xmj&ocNcLExU|Hwy4y2>*Ej{wv|+DjavF=XV0$D!}gx|4jk@7vXOg z;2#R72AVvX{<+q=Z@*fvuhfldn1pl2Yj)yWZf9p_RQ$0Ff2nhGb>NwPHQz~eq<_8D zj;l9r^y5KahfJr{Hwe_PtNTBOKOb)lRzHS6*W2t4@QLmlv7#%opugGaZ?@K4ZLYG^ z>uuBrtz=-Eg>Ku;_L6p-)LQL!r+f2qr|YDL*hBM3&t8evZ8zI#_1)~+W-=QOZpCpo z80wov@6lrSC8wu6UaNP$74NRDIGLK6#^1-dyhM=(?P|{lX{;r^uOsuPAVbcOv1j7X z!ol+Rhr-Lkt#V^}R-t2>pVSPF9>b3de>&irhWIJrCkpVh!l#8F)<93BJyg^DWzBiJ z>YJ5#%~g|5+#R$AonF^nYW3^ih;`v?vm^mPL@gVV(m!tdp9@^a)zid&~6&j9~vPM-Ki z#e6e|)1JuJs`bUjVs+UqS641ySaNgKrRs`nEL@qZR#)a-&Rq7;%7KHQ|60$EXSkZY<=%4{HIQ z)k7Uj-fE9L-!i73vk*A38qQe=T%SZkoU;)4Aq|t~ECl|DhR;Lu#s8A>ot^rn`ITuM zh!oK~a{j8qul%6w!K>AjAOh-1-^$RaJ_o8^o z(R6QX&ai$U92>SqH|rVU=r)}E-IOa2%BddC$LQ7G*6`2;&Kg~|Mi=WD;RnL{*O@gq zwJ>?|Z)cTqFS!%JWwm6`${I-^!f#K-T-R4NB{ zH(@qPH5`I1`hzWC6%&6BCVX7KB*beK$2 zK0wX8X-xPb#QT7~?eC_zUr(g6oVQr9;bRWxS&Jr&UnvECn5ALzZo!#K=KPEvNs~FZ zwQGOR+8y1xAVb)b{G{1?cqFy=Qi#j!o6qEEJH+wS_jh$m$0Ng>WPJH?kR6{)?Qy;+ ze-D4SN7vz@uHZ*0(!rD>O@2tH_g{OT&#Z5j5AmG!5&V$|B<-WAa#|1i2p-SAk?)gz z_~gv@;XZtH!N0o?e^h*WWLCfEqTl_jyupLu)5k@8F!;y!;bVWlKISZaY&y)wC*7z2 zOHUE=|I<^P|D=0L`JEW%CiJlRIInxjc!xp_WPc*xv-WJ~Yt4N~f9_Z7EZ^#st#y`f zwN8Q`c4yghyL~LZ+pV8ude5C?a`t@V(@=+eL_a=={G9}!Guhc{4QBVpQ{mY(S<}xu z$86^B4~t<>FOG$0pp@PpoHt$gWxDeBhv_nYDUxuwH^MxO!)lFy$=htThDWU-YHj+5 zxeE7lIXt(>9oj1U_ciO0D9z&&Zfw-_a4$_sCwY4&yz_;PQ)@8Zlf(;M(*63NoWB1n zfnWJf>W_V6U;~wI?T?HRf_Z@zrygF p=cTgVxX>7A*U-QRi2v1;d!HBfnR|one~|TWLG9D$XnNd=nl-A?aXfv!`CFNSXGTM|}tIT+JR1?pXE9;%n%qrRZk=^lR zRkhxVt72;%TRW?=_xC&ZocHc~-3f!c1_uO;NJ@?#mKi+-sPMtY2S@}2r z^jm-R2gQH=Yyb1(zx}08{qNuEan6n3-s5gWcmQ|h9nKx!;@pc{oqPWM&JFHz?$p!+ zM+X7F0qN7ofS(Rv=QjV~hc_VppOEq{vj>|lGcat79w@H zEdL!H(k+eQV25<_Gn{)mq*Go?f1pD;<+SwK(rU9+FU`!j*>bfxU8t0r&60a$W~NxG zmL4h88*b)eVZOGqSXh$SBQpVkZ! ztOtx8*@%Az^)R8h3|J-=+GdlksfR{SJ{}S-8 zc7T5i@UL}%e;;tx0Rp*<{$ycM%x}8Zfa*5kHVo%1?U8b6#eMOMU)+TB%|ZI{@`Z~{ zNt9nxo$%TbRso6j#qiOZ42s1@k|2pYYrKRS@beGe!`EvEb!{w?29hO~<2XxXHg;jT? zTxhr>l~(;osku@rRh3c0IEq9MRhJ!Fd8sl}UMnTP&N#5jk5Jy*=)7=E;HJ4+`=A=9 z>$Oi3=T*g_&WK}e;;#TFEDQfW;1S?fbDQaiaqUF78zJGOWAHlx&nX;13?Bo0umk)6 z;3I%<$4xpDi1V68co1QhFYM-2sp3x7%cW|w&@9)g?pUEQ^LPmk55J-7cc*lX#MyeG z+E}R77aO5(e5g8KTBYtrofu4PPcUS?s95T3NoASJ^$N6ucd$?Sz*BZ5jW|TYCA00bBb3CHE zFV&;T+Tv2Vf*<>b#)j_MKQb~jx_|7zxO-^k!4rQDKI|(g$Md-DG7Y>7iGO53goM+I z-vRhb2<;-AdU@Boocq@XL`b;Y_(!<40K!I5F$KcoOBC2SfJVEZ>AOXFz(q zAg()ZLg6>zjJ^XIW-@RoAJPc7B;xZX9m2zMuzZAn!jSQsxKch;FyWSD@a_0Pcu0rk z-lX_u6U1k|8GX{^ML5f9aOUMjIEG6xoOyW>z74nGGcPZ~Z^A8lc;wu5RQ|;;&K#RM z_3fLXW0dF$g!}}m_vmj$QagZ8|&(kwu3~?K>EcxH3 zPdj%GY4sgGZoip_zh48KJor10-=uB7N!xx?e}+$;U4U4xMV=;UmB<5e`^_}cC7i!W z*M5^Of9CKMp6!zWe@UvM(J1{ROyx@fHD2(JCz6OmF4BdbkgjU zPTowvvr9Vj+zqod*>40M^BnE<^gg%Q^TU{bi{UVh*XN$}a#M~r9ViZTaN}!A^RD0Y z_@r<8GF}E_+4=ik4Z-OhrjNU}Cb9vA^N@E?CYFJ6GT-;!70bKL(yT1K6F_i||LqnU zM&Ec^XuL_EG%~W@$b3u#{?)?>`5RX(FX`}N$TX9e`eIplnY{QJm&N2|NZc@=)raZA z(nyQ=7E)H~KBzO1Q4o}u;aV8-B8;+GnHdK!(J6l$uigp99RJ&mpS~>oVR#Iw1FQEi z4ZquL>*!~^tq`wMo^JNmsr_`yZ*4}(7qltz<7I88Q#xTxKZ1Jgl+JQ8o%Ycwoq9I; zjmCiDQr0&M`$MC@-Sg>|_cg;qIVq3vw)Sz?`;z>WnODz5;;#&5_8j^vV2f{InP{6V zJL`^dUQB0sI;B$zk_LI2Js1s!gt46b z&2ln?Y;jv=doz5}v3AFPhUI3O$!G0^X_SRw?*#rOZA4_=I)us)5hg;PPlYjz%%&va$FGaCx!=>!XHQ_6#}0mmI?Zxpy^ z;?1`;wiT-A~cj0Qt1 zJAYHx48yvijt!r*tscw%`mY(s(mux!!79V?A42 zF?j)!wie1uxruA#K8SCj$;dXPFllT2jZ1hLu7x2l!YG@SnQ_yp;WO-= zz`u-65${N!Wee*wl$W%o)@f@@H(i+yXfHwe%--5yW}DVV26WzmF~Jtvrr8GDLU@}! z0_=Jwy0^t`S0m9A@jl=-Z!$lT9dj_9c4KXk{U!Cw>lmhVCd*OCBzpfew8iVZ4~_1v z5QVbE_~^e`hE6amd!3rcMV;#zlJJJVTq=dRvwVtC+VF9&O<-HNAHNNSSLr zI|6+tak$coV!1`g-#xFb3S@h=g_46 zFBNv<&ZNx5<6M<^W-pYLy0f;(y!2~?-3vVG(0t5I_-*~1wLwecnpk!m09rE7U>fL) z|KV?3;vYzld@W>}(K8ss?|s0_u}5VijQZh4d0&IPED!6z%EfsYvS3u!S5q4^>2BlP63N;4S7kMvY1U$7O6A9$lvlx{Q$-? z5>^ME*cbFF$U&r@BMKiO9XPdzLr?|Nu!D}b(Y21{J7ishEc4gBh zfk=5-#`Uh5>8T^`2QFCooE)CqvnP6Z=4f>H(8x&Nw%ey>NC1Umx&8~>Bm9Bu(>{3n z|IdL2UgCq=x36DV4Zxp=*VSKGMf`#moPB15o6ib)Q4I{)S26AF>*reo94owi{o-oi znW531Kl|S29_2Xldw2Z7-G8&YG4Xr-U;bAwUHhR8K|78?5C6k_cIf$wtHht-lFyub z=*0Bt*}iR0^lgi9EmUfS=6HlHM`dmfiSCW;@%2Xngt6!Z_Jb5E$Z&7ucM^ojZP8ShGH#Y#` zQ@H!KJu-9dmkIW2R ztTZa+JJ~`S&3dcYjI3qEP2z1YG5ZVUC1?w9q1HPz;ZP5$kLQ*;b$9CYhvxb}5)BU* zr3;9fNXJIbsJsxBWDnkahFFC=RU1o%VhO%4bdpg+c3jVMyD8Yk`>$uXC0jP3=IAa5 zqZ9>mh2B>W$?jL56*N+q%1aSF4qdr7?p(lqFd7-eA4z*XXr5{7B@c-|PZRVzEr9}( zlrx>G{pTU?-qUH;c^>jMHl*=RNTZ3oBSZTJ?Hl{0$L8I=w=b@F1z(>l&V#gil;||S6PIF7A*dGmK$)Kh(lxUwI0+ZDO z)JxdtUyZzYfPJcuYr4OvSK|NU_7(g8B<*9ZLbFt_Vn7%tvMChjS_=!<8ymbPfst6f zbfMe;dTwqc8ASO;wK^WzW@@kbghKK zvlM*VioW_G+nd8o-02)L9gAkTPd>7*8mO z=*j-(P{@cS;$G*BnB$rFKF^bN8g}}Abi7WlKa=ck4cY#P(*v76j3(2ElZ79UW4->o5z@P)i%Q(C_$peSpY>cFG)~>v_FlMIK>d@?ht8An+Lm{ z5a|Gr{GO&K2iYJ{ZEG}XDJKoZ0mN;wkFG+=X4eb}b@d(ke z>~u(>Wpsmy-72sNARKfq^`=2|=ukA;AKf1*iGBY^($r5v#bqri(;C!(E&_c_9BPsE&5XWuq27^tTwamqpFa@oe?xoV00 z@Fni7m7GouS#lA}Jf_LS^r1DVOvXS*Th(IDgW^t9r6x2G)LLciXuM*_(1&7%*3&uU38ZVq=CVvFRPY{7&g;KPK)M2~v|1L)=?fF<-H(gt3%mqT zb2U?narXNtgSih3LUW0y^hV~};S)Y!`}0|XzF^2Vg5#y-QY9C+fkEGP^SS0KEK>a} zj58j9z(7b&3*ZMJfclz*CD6G_zF&;UT)N?-V3cqHtBlf;S68J4EfKEwiyYUw@fOg(Oxif zDOYvs5j8l~h-9Uz5&CO%*OrH^Gc@vXq>0OKOYmU4iI+kLp+@jp-eaTtf2Cu(j5Zow zlSL^$SxX?ImoAqgnOk}3*=;I6c_&Ue1z`VjUH}hY(`yIgg}qSPDE(?)xw=kbVKtqI zclgqP_V@Wx>0vqWZeJ=5*5%*x>kK`U0`oOBu08txkquNFamNX#y7r>HMF(>k4p3n3y-C$OUyG(RYn()6RdsJysXnlE#_SM#q52N@crd9LKJMjyw7uvCc} z5Ib5a)l1Prd9^f;`eUbO{8o$=Dw?m57OKS(7%bIm%ZsRY#YRd5y*Hy(NS$&xfE+Xk zeND7y5Bqqsc)|z#8Rx&;mj7~F{>z#_Lqq8B;fFWXqI5bX(92kXv?U_jg`ysgmP_@^ zPzA@zQKMFA$+Hu*fW-9Y;NK#Y8*ia5HlSH)Bd8G|wa{V;SdkEIt4adur>iJmvsFcn zR4xx9Lk%9Gcv11ABC=LWg?Un%E@9ricd1aVa>-4Xuo_XdRH%z6a|N&h@7mlaOIX*P zFE3DeT|D!=ha%1CYJQ21(*o> z@n*SDsX$ky%7XT?Fsc4bsl{7Z73@6}@daQPrPuLXuz2nZM!D-`k5yemt>gvXsKSyb)`XC z(wF3ONh2@@46`=7ik>Ey^P}YcRj!+fQ=-c`)1ML0=wxYJ4ryFY(dZu@?m`6P;jo&l z%Q7AoLZ|BKI+tg7SO(TZ_2|A7JxmbMUt)9zSN9PZZI;{cFz1ozQSTqUmk0@U9h_?r zR?0BuqN3dXg}^f>9q3QA^NjnXsIbV-D6mn(W1!2N^Pe_|nkzN5L>V$RyxWFh&#_Zo zxkxW8*lhhPp1A4k6+I`c|oS3(flGXU)F z;Hls%x%BC+$2UCsPApLuOS83;@PRtE%SSm_+d{P0T41J#LzpVAk8s(V$in(12ggM` zv(`r1flZf`gue83*Wtp|eX>avmW43wpV)YH#K65o1z;jaXt?eT;?57sbE%>>`GzUabGdhW~)(P7&>=RJqP# zVYJXW3+e%i%1)TQxAi&3b%-Y`D7s*#AQ={L;E=8f|J2y~>cHQ|Rh02`Xx+4K9UE%n z=;i5ZG;lW*C&_4_3}wW3Wi0HOXq8touS)HP2Mz1h>qq^4&rGUf&|btn+u?^ zy2JK-6yv1%KtGap0^^FXy(67#z+NJl`YgJ5AeQP_bjbGeQL|LMSS?>_apjLok0s7* zFnQq^{RX+_`G(LXMi8)(*zaL|zM&ZKrBm!C>Wb4W{w z$stE0GG)haPN=G-VyV$6V6KV5UNz($0i#tdBLf!JFAM*9I1r8tyOxt#Fv3w0p_PY7 z5>S)^g$ny#FKn`Kz=09wvzU4oxHL>5A8##@m7nt#YZ$g+hN+qv(r#AjM(Jj%hvpr$ zfo=_+tEw~HED~!@d`p~}EBs1X9B!92{?0A}G&?6GTnEgZ>w4^nt=0zqH|wL|gjFQ{ z_S$1{E}eh0Nqrxmem&v!LCQ1)Ss_VzZOA+Fk#xs~<&ISG@472a*M=f__UuU!3a0-7 z({+lpaYd#0g-Tn8OS|IQs3a;P9qREd4vR6f%r0K1X_G#*xmZ|zE2D1IOPYMa*0D&J zS4Qy!l{+_;loDY1L=7)XH_vEKzYIr>j#2%Iz>}c@GudG;(UmJ*8phDteTVowg|vbK z#Jj(O4s?{m*)bWy@z*{ZyECgkBg5#9&tEt&!y*+HYc7;N=xM8*m;;vDnE8>^x+B02 zdK~OhBJ5qmMSXZij4gK?9dsSpcdEJ2=mQ0HCXQ-N_`@}yDq)=ty^ZdhhKu%#*X(1& zJFp+BqSv!7$XqVv*A6dChO5T+`=r;PFQD|X1Z4EK>EN_ZuhmJMdxJk23yZZ2KU0<6e)XmZQ z;-~G-ghwrYyo6rC`#c&1-JLA?b#!)7rEs}aAM~SQF_3lqm@%P||2WK+^kBN}%3=aa zvLS2vhQPnXusrkt|pTVuOy~ zqOK(yTIC|v02XO@g@ax)DayNzaH*oKOWQrUov!xBwgL|XrFvnfAas&c(7^#M1rD#qvTk zRT80gg+#Bgxci6l2gXJZ>`NCn?~7})uC1}~R%XUHt}#Yw(J|2MtPE_WB3Eu~Ezad1 z8_kOjsCnUr(lHqqY5Q)23+vdjowous@P;yW&l;I3#?L<2<+WAAStK8=E+I&UvG$iy z%Mc+(t}Pd({uPPrJ@(oP1R{1oT54l-2&&k-zO_g;&>5i`Suk>4O^awapodGCl9xvg zn5y|9jYyz~OX}jWd!Rr->c)SK1#{B_vrOynLH<X#LvfjMi1 zPvA$`g)2EBh7!U^L^eo)D#@cSM?V~2!^7ek*d%>JfUHK04u3GptLG1YkrglOIrMxP zLHoB}BK0#y4$LYa&3U;*sIFyIF(G8DB1QHs(zjvX>eXqf>Y#FzwsEQ6l!4MHN-HyQ zwk>FagC^2MjiJQAOeLCHhKJ{u^5RsyYgwafVFvsN@}jUHPq<}_#TA!`1n&|N1RZEV zA(oRwR5YOhD?$-egey$F5-1PGNPDA2qDG-e3?NY?t;kjNh+au_C{T*kZKy4fVUwjT zD;fHSrne4Nxfrn&-n--FeJ~^IRkSfQ$3TT`#Zy@$k$fnSutyohMK6yD1)&L1)%$D1 zC6$7__0}8CX3n~CZ{~2OXRS@Z?H}%CJB8B z_IT7iFE2yxUNUTT*Gv5AB4mIbkEmX;vShpF$)nnUI~Qh z?VVdNYgXCG+-FL}NM}p3sFGN;ft=^HN2CXV{sAwv3KUNTRUiHFu1n<`tXy{G;YYGn$@*oSkpP;6pRAzU2w zqH&9$U$Dqx#{4*Xx?l{8T>C8Tb;w9*!YZF3^mDL#d4ZrTNk^etEtAQr9 zwjelcybiAs8$6Cjm)gvoYfP8e*QG3)FF9TsvgHBue;kIiF#7KwXboVzwZLWJTw|c2 z!xtpA`uRS|GU5I+FCM+&(M{VwJzD$uk>m$|{e!>ehaCTpWB50D@7V{-&10>(vy)gx z`goy&cl^%!Md8NTS^GZNx#<&=v$L~jgtpNWqUu)1~@J1qH8 zvE|0OrE0O+Y_9rDZ;p}w*36q^pvdb|W>Mq_-#0^tFVI|6h*ujKBf>$<^Q9{m0M$uRR<6s4Kq_&F^P1-y@p&JNS)HMmo|S`u-2D zEZv3kkP+X9n`zEa4|BolWgv2^v#ARA|9Sd;Jf8rY#mhnAHp50Acru{r${K)S|-NBo8u$(zZSqhAHbgr;Lir|F9h&w0h~U~Q+W6~Lbf;7+1{CogE zAHdDVSnr{YO$Yd)jhPJ-e>R|VCcr-vz|RKou#HRv@UV?c1@N$q91GxK8#x}p2Lrw% z0emEYj|cFujUNc$VH-afz;^|7q5vKR@ZAA?cL2`?@LT{N4B$Hg_>KU+Gl1_5;I{?v z+XA=?-~h+=usMKl4&Yk?_?7^^J%DcqoPE$cAlMd%M_m{c0<`YMcFGeq*p7C+i+$NE zz2}j`;A}?*H#;Og+mXR92KZM4cqM?dy&M$!FZ7!IkPh36!OeaMXL~WY*$?4tkJCcu zTJJs|~aN5t)LTA1=3h2{*48A*n(|!z|3*fZ#YeHwbcPW6=&JE7WH#v6)@YMjG3*hFL zC@0(33qt>3@6!SPAmFbEd{^()0M7Pn@FxTKcmRJYfFB3^n?h$x?`H$}bO3)QfX@Q{ zhTwm<=ko#lOaOm2fS&~%$I!u^ztM9ofS(WG&js)&0pBh7U+)_(;$50siL$_zMC2*#Q1x0KW$KD?(>i&sPHYLBPK$@GU*l z0em8W&j#?R0DdNb9}D1T0Uv-r=>c8%6FjyCV4cfs&4I?No2mQla(tY@HwSPe$F{j8 zfU~WTCmITP@=KBHFbrsrXLKWZzI+q1#B^)I7OzOSPr=y9)a9zhm^ldr); zJ0@R)(~c9}k;VzbeTUn6L*ML;y_;_9`vCr5{d(UX1X15F-PpT5`pm&CZtKpz z5BL1qQ#UPb9qK!{X?*KI-?2?Qx4ye?X4Cn;JAk^oZ-5!LZr}8oT;DF{+IbZ6vQc2Z zkvO`#Jw^=j~J`!@I%;G0juJb6Ry`ze`|e!Y#S!LvLK9`fAc_~~6C z(e+>0W@gdb_qZsinX42NaK4R|dd+(-QeY-a8+InZ-?oGL^xxNwp#{I#*eX#QF_;qjJ z6mX7is`ULG#J2Yx-@Yp+b7{40c}BDmleT(h`Ja{Yx7)M9v*kBc>_Ow5zA7(6SB!6^%QP6)T_7UP>Anvm$n{0|fAwnL4w!Ln0#28>TD<4{ew{4IbL?7I$4&70b=??2z*B=)o{2hO=&W3;Yd06F6ltcvcpJ zr)AmLm~%>a{zY3|%nST0a&B^{^Ct!Vtmxd}EYouWzv5U&cfuYksKl?p9yggi()M;f zd3=lO`Sq`C-|6myUEPATtM1?wKVi$yt#8DlJa6A7UKZYo9k2~-b!#i4$aVgi{M7wd zgho!vm2FqApio>Fmww?C+RBq(>pQ>}^&pA6k>DSPOu?Auglu1nKk>d1EhKirGOWsYeW!~+-^xb&G5GEP zPFps34saWiU8(Z3 zUJV|WpY6fmEWi1vjreHNep+m1zRhL~9`dA&1~;A?_0g2u)7aTN0lBTcCbW0XoRvDJS&UADa%{+(O&MHW8dO=_TU$ueTXdI z>S1}zcQ5EXaS4s+2J_wT#sKvnTj7@U5`@F~xP(n);A zjqba^VFRI8+0pYmzjyy1zW&eu>wo;K_f^0D??#^(@Ouh(^!(;)&wT&?d+d)-e)`dW zd)E#B-M4Xe^;ZS|?|%Ki`9fdo%YXICfB%1O`;Y(PKm4ZO|F@&(cQ5t+rx(BRgW9+5 z{nG~*U;X`;{T{*{J?@+RTR;8Z9{QvI`)i;6(?2}4>mNJ!8t7bwjqvKh-?wEqn{&Sk zftrAG-xfeuHFQmlYv{O!&U6jkvl`dXeMRFMx|cPsq5HPRHFP_AJv|NGh{iRP^>gx@ z^>A79W}Iu>2pylkGp?a~TH_kZ`XBlu)Ls!wbhVE&NYv{hDaSh$qHLjto zy^ucFT1fx9ny#VSf;lDAHI%tAU^RU(mRQ?yDNt z(0xPW8oJjtuA#$dNBC*zMl`OW!vdzHYv?X&TtoMy#x-=$YFtD2qQ*6JuV`FD_lCwb zl(iF!1HFQmlYbfJ#;&Yr!e2$qJ*HFf} zjB~up^p`bVL-#F>Yv^{~F8oC`AyE0uv8Ot)xu_*DUG+jeCuW=3ClEyW3PikC4_pHV>bYIiBhVJVc z*HFgvT$Wemu4js+3QScq|si5TY?h;a?wd5vo*V?3r`Rs3t3 zuAz+SnEsNce?!wXlzkga=l%_ZvX|m^#JQ&eq3lU~KjOO(M<{y;8RuR?#<_R!mk`%b z_WIp{IQRS^ls$eQK%9I15X#=W2yyPgLnwReK8QH?*ddfXa*T7Y9OK*rcPHW+${x25 zAypp3Xe0Wtuc^iW1d@F+KyM1_7Lw7*q8oJ{e z*U+8UxQ4E&aSh#58rRT0t8oq8^BULCeO2Qcx;R8wu>He z(8n)BAAft{cHuV)KRN=wZ-?7O5Bs5yebC3-;dar(UX05Jp^qPbxLxQTM*lGZ`aiz# zCZWf+bQkUs^ryoT-XP)o@%wh%yKvj@_u==4aNmi05AX*hyg@>vlMU&+#&BDB4E@w7 z;_HQzl75?e5aD}p--`Q|zt#JD=qp~p-GiI!Mz%*29l5v%fjEb8GtV*H z+zY`F{i|GjenuR^h;yD{hR&P8;aV=~oW#wGYkwmMjn4sr%D4|&ckT@CRotJ)%`&}$ z`*qwqA;dWDS=?Mdc?S2}*IUzoyyWg)`%d4jo5Wt8bhA8m1M9>I>=}0iUs3W<;<4_Z zbMafy7|-2sD~7L9pC-lg?va^uCr{5#pPqHw+-q^`Kb7@LSyD}98cV=*@w;z z9PiS!W78#p8k;Tvzgdz~P(xbNh1d|h*N)_by9`PmaeVnIDVDtG(pIXmY^k7_Sfnfo ze(1T4!gxYKM1P=Kz(t;{RmDsKD$7e_Z zgqzBtvBpgR0DR}KAIDGQWg4G*Jm)`cK8ml-#(4ew!Wx9pPySMSN|kRq(fKhLNHtYO z;A=@h@E>#|_F(8m%$2Ik^gc(J?TMI^>eMf>!wBTN&aqHdTE3{7Debs?{5kFrh=BwD zjG3>Hh#UXCWI0JUk7;O3AL55@;|=#Y4~n}I`wSlt13|4-wh1ab#WRwkUbv4NT-K== z$!LckjjfLL$E11cx1^?xQ#vouBx(PpSFeBJm979Qt(HY{`ohF|Pc|ial}AmU8Tmxu z3G9Pi*06cdP2wrL9HoN}6CwtE!H{nR$4kqlN-k~#`rXicu8B{;nxBPn#@#Rsga)Yv z@ZGRD*`U)6zl$cF>hN&fKo9feSl>$T^L35$`NEdh6w4VNPPI`n3Ls`0si4NB*CD6G zAQ(;tC^vBOwlw|q$R_<=JcelNuXqS%x@OR(WYjPXBgOZN@%@>GcapMk#vdi#2_6MSOwJ&YKcop8vrSG z`yqs>3}HDQsxGI}U|pq(oYNlE8v6_nJ(EJlAS5rJrv=pic>!Vz659|3n?EhuXXOU@ z`FtHzN3!j!&A7ydU|DF$zD9F#?r2YJMnIrXmorz*-v~WqW5;7u1{32lG;P&stk69B zhxqBwcu>VNarXX1E>ez8H%hb)p32fFEG|__a)R4D-^jwZGR7PdK*aCnw!``+BmoAYnF>HB7z+y)9XKa#~-hBE~UQ zsx%92NOEf5x)|Z6Nik~T9tX6H7jS3^Bg#ylZX$FR!fzrQC=%W zE2TP4A;+QX!3pKUZ^d$=qUFHzY7wWoFD}(<%RB=|59x`I%;tB_Qw}Fu#o=#(uZi~T zvBQ|3@Vb(LR!xuG=9l!-`7gKSzYKLT6R&^@ ztx1bX`qBbS1pRmur+MMj`$h=|-FYfF)3`rV>Qoi%#V4|p&LL5I3JG7F?udl>9Y+t| z2{my}b%SOImj1k2UpJ|Ws#BK>_1dCn41OXb8%|ORS{e9G(X|mT9Ge+%W=7kt$-RE& z$;BlZ+dW#U*K%EHke1kLK9|_CF<_Xr*;Vv3xt#C4`d7JRlk|oC83Bz>mIlvch-q9- z(ZI=!U5H>1Dk|3IWL=i=un;;`PuICT!^1L~9jfE#_mCcDWjs*fUb;FSfR^PpJj}`4 z&`AINqxTXap{^rh4Z=zpwzD7m7Xr_mbf7=E?g<5m`=rQ!PM?k1AAV{lefxt_Wysj@ zZW}I!M=bM1UD&x`v-Pi(E0w5L#QDr6Sny9y>Mot?5uO$9kH$P&t3QmBZmi?P$Nc@! z3P6}4r}3HoHR$KoKR>*^Ulg_-k0?)iN!4?qRY4y|53L%e64@0Ig!T-r^1O9;D)>tH zbM*th;n8u|@kc71xu(M;W|9VO^+oO$#? z86LrZBobXuoQUTYx9S<=;_?E$j}EY56wPuGBc}KWL700yRjJhKjfY`&<)uowRL8+z z)QAp3q(a7NK>KjO1;=jopB7_Y+OT|jh}#{@ov=bG*TV{NJJX`vObP#Ylb%@J zIpTa1q>rgS?q)<-+WKMOdDzRhn%<9;IZ{d%@aT6q!7Xbo$Z|R#eZ*cSc1SkH>xWfn zt>DNU8#F{`{7QiM2)NZcCoV-ldsp9(?K5$1=AqPtn-f*IpT%;b=t+<^%h9|k$`dZZ{_z!6A6j3>( zIM-P$j21d)K|MfG{PWJl7s>m4pCfe`vz>0!khK-*#yN0E*F;g42z+5KQ7TPM1eS71PX0X2SzgQyp24uonS;8l9w#m4$U6>S| zwxixjE-Yj+`E1H4@#7^PRMd{uMkrx?eR3&WFP}7|U|0l>$?Oc>UTX5CSweI)hjI{4 z%Mc`huGw4wjny5t=cBb2`t3wNl6C^)im<&SoeQsCA~e8Rbn!qe)v@T1?dPLrsd%wk zzSJtAz02f*GaF1^Fu$$*azp2Hg$wvjb)zXM3-wl`*;+)Jx&!o&%Vi!|+Xx2@>F!MG z4RQs|AuS;$ha8Q_lpVi0p{kaOrADKGxh4jCm|#LG<;|(29*R`J^osoF;XpW~=~_-^ z!3al1gjOCRNkCBw5DxoZFKl`p0P|T)JquhKrjU=fmdMJ_d5bl;N6au)x*_dmrEZjN zrg~`JK^y4Sin*#f!v)P)bFz~p&dguo1zX1=U0xZ*6IAZpR8mTSH}8O+?4ZU;At#LNRnb7)gBo!hsnU zsW9%kQ2L;kOXVz88u}z7(3T%|tUChiphp~XLXF?a<|bz*O7gvnhT9S zP*7*$sMdr(T=S_C*6GmO=*~H~=t{9w!CV7xC6R4fLvjvq57H1Z#Z*^(Yiw_RCG zKuI=a(9Dy)-kQ_!`t9O6;>0!w5~l?7uEdSBS8m`#k{ZpHfbjqk9=cMhO zWXK2o(yb$v>SH5J$=7AVh9^Xonmk?PQI8@v==hDtS~46yj@rlB$a2_pIOrvl!dye2 zhf3yt49N35lX`eK|M+6kcArRoQaojwTE~j{2HPpMG|a-QEt?L8byciC6pr{_@m@E+ zG`flw)W~4CQXuPf2GKRMKn69|*icb>Sb2%L0Mi#!bUKC|LM0xD%^Jq9fp$DK@&_xm zxk6&S-fX=ch;8y@=FlK`daTk0OOeL;#-JN}S=LfLAdB_T!Xma>J&}@66rI^P<@doH zo3C@m;F-!wN40^y+d*#KjfLEPkDh8tN}i;}XDD|_KH-l#2FmHBb(486aR-FM@uAS& zNTe{7%BMgn`GY}Wgx;!R<>PU7ZNADIQK?z%+r~ydj%@-=9A7<XO@rFR@zFrwjzGO zEIdAloN%sWj|`2%D!r2!9T2yGq|5!{uYB88dAsDuCFs6>e5T-uPqcs?6>xHJFY$zy zhwE~e2p0vhPFgLM=D8c^!dkRa$1V#l=GCxTR=A+cix})q&kPO4YjYv_Ne~C+QCj|| zM@JU1PlG!=%4;$}^0vXoD(}7O^z|l!T=vw zk4H7=r;bHe>^6Z5^LA-#~fMcTgG;7TrD7s^`!8s%yc z+ck|$6$3V(>+;&F;VhDmR+kVY!&v*vsAY%{BiEMkA$rumB9XnvUR!}c#12SHZHx{< z6?@mW7Rd%WBUB>`My{)A5e*0Qa0yfL^2h;GH9w>g2^4WjT|9OV6bNWs7GLlf(U%34 zhKJdLXgtz6L=I0H73)p=u~C|~=P1gFvrq-KAd5#LlhIM1g=RTC+>o~&k zmZKU8Lbc-vs1l#1t$1M+z6MPh>RLmWpbeQ-hFH286Q~YLGDl0acg@ZnQR?BBq+u-8 z8a5R1cnvm;`vd04Uxx+{MI4R_PXB;4j*!n-w7|U=CK}s9n`i{?@dT4GP}-P<2<$nx zkZhG;;TQ4)P{N+@WfgUp3*lojh3P9Tf!9<;o{)DZuz+g)admOo<`;9V#U*r0tZT&% z<}!GtL*75slsUY!o^<5svMD2Iu~@o?*f$?o5S=5c6#F2hnFG?uM^Www*y;NMv6JyN zHn+G0YFxGtL}LGsKLew_YOkGe!=~Dj&^xxkRY0WmPdDWUC@Y z_AS!4Vc+W2X{qYa@KD;urFv5aN~0+4Jg0taTlmL86KSHxP-0-F5=||`!}CjdaVp-m ztkJbF1AYW~QCN^C+%m@Eic3U-cZmps4m6+;%Sj?Cn$Un1p$IC%6{cPZlm}y^z0o33 zqfjIUkSLN?8DDUmGr|6e?H;&NatuFfMhqqIK28^B5+nmgbkn zs3f(DPW=Q^k(YHf?CpXOCEzWgaVen@dvvyGjK2>tX>CBL?1k?f+ZWfhDjZl+7OGez zspR$&Pnw6XG;GPCikf3WCng}=&9GHR+UZGG5_gQAlk^ba(liCKPUfLgN_IW5M4~^WycH!s1*C5-oAso_J1WlZ)|&>KEo< zKLIU527ES?MePogQ@*(@a@gQESeO!%guVoOJZdeaBpFB3U%{}6>m1et_?5LpI`t`B zNTOk`VLG@E!r_0q=W8u-Q^ui~g^1jcNqDowk@McU1+!+Aoy>ivM2vK{B#SDEMH|R@ zUVB7(5a=K9LaRWq+7h;>R&{ba)*o;4Q@+8F;s1Yjd87dp)v(zZ2UM{C^oUE5U$2~(YPmVpZg_6KkVX=@3k@ok_SGTWsgo0VH5Vej9<2(5phHGpBx0+;`Cje&-a8j#fL=X(Rog!?Z^c=U!x zw?fKSD@XYWD_nJaPUjkKyY9g6{fH2BOyU0q;a3s=jv*m@ML(PM&&EA)AA*PQh0K41 z@RJ@S|9^HqoDzQjhu>&=5%Rw)^Zg%u9!Abf&>nuq)NMze^vm$>JGW@s zJCTOIbNLd!J7f6#{$}QVa(qk3(|R}3rtFZlAP;$*kWokc{&k$^R;2kR&R3M(ckWPH z?;#&~G=t~!$-9;+{o8?QU}|h?=GfG!_|^OFmxK zB`pn(($P3}gBQ`q;Scyxw*TB0+faN(@vqbmsHW33Aq}uo%1;m$WoT#PndG+|#pk=_ z+mP&EMsOd*&CVL1BXj3*S8%W5eiHX*aX*Xu?dwO^z%A~>_;NGP&1GX*#P)N3pZjAs zzZdNVXP^Q~5Ankv+N=LqrpNa>KX&u&n!Y2G&J9MSM;eARtvE7dSA-;;*q#TI_~|S{ zZjWW4AMojr0bj-nK>U>)8g)EV8m&n(P@rqAReSJsi|B~X2D30vDMp_~pzhda~ zCnFD^?&)ui)03~R`1Cu3Hcz+F{1~0^LsiHi^goF7cSxG&5PXhB(sv{MM$JnMeW!6| zh6H|$7ua;YC^`Fvt_W`@{LE{Bb-c25w1+Jnj^H2M;{Jy}=BFQzU*d79wQ32`z5i_JJ3a1yW22Mt zXe6}GGAdUuP7mX^Iq9h=H-C}m79A=Wj3K@*i&WnH4ybbl+`omJ^P9cm;UYou{@mJij-ReT+8`o!ey?Ccr&T;Q9`<3BC9K5{%Oc{9k^6uF3( zgfCVamGb&zv!5_TIe+liKlp3bjnt3)LxdL<_xT-mTzBFo{NLfmDLeS| zGrM|!(P6=(iJSW!gp!78*pA-?+&INZuEYN@&l>yDubm(f;r{0!_Xa%gP4K1PRaTjpU;V$By z$6dm`fcpaOi@3|UIhcGLcLnz%?kesY?j_upaMy8<;AVwTxl}kSg$n04%~^Tx!p(6K zD+Xtn$@x~)8|Sp_58sRXHr(tNZ^zB^Z+79v`8OEL`SWcegdfDs%Ks2<>g~h0p;DaE z;dR)LZ~*rn+|=b>+@rYjxW{m_AKQm}KkmD6qYB(TxM^1(!F>?-A>8-jz907l?!&l` z;GV=ih5G^AM{z%h`xtIivHK|Qzk~ZY?uT)ss@*j1ChivQW!$T{Wnho+?d#`916NR# PPyPH9=k1bgPy_!zV+h29 literal 5480 zcmb`LUx-{+9mmhkZg#tAG}~>2Akq$@lvYCAZemQUn4A4G*@ex{urnPJU)nKqlO5fi zS?}C5@ei^D5q#135=DIIgGgb0=tCbYh?XMKhk)Wk>4PAI(mt4n5-D-+|&aEvhR*nioUX!v|_c;wW_MZ=&*8duJ?%!IDf(;S28RPmXX~xEw z#s?xzUiK-?(u)eUcVT3<7O-AyZU;o-MhNk+VZPreX*N%(r<^wxn4Wo2>jW&x9M4OdRRW*(EOKN z@u&rUDOSWBh#Yk+?y(`9+|WO-bBKa26FHH?_k>U7@EgGw7&ZE3SpP;dSQPNz1^kxg zS^@s1@EgL}1DTz_3x5%SphWKlI|TD0Siq+UPE-abkbutwJObC=uynP+Jg@mz1$bBZ zO9l9Mg_B#@KCtsc0Wat9p9h7PG`~`SzbgE<1^DlUQ>(DunVr81c&z}xE&PuK_#NSI z6yWa*=L|G?GW+wbP2YaCUSFjf)i4d`OxEngSKZFe&Zy*LIr&QG@_Oopo?GZ7+S0$+ zYRA<}m-=zq*Cw-R=NlC27uEeABVUNO()Ev#&-bo$Q(~g~M(og)S+L*i^slrwTy4Ix z((7&2(^it&VzJwHbG@V;C$(0)-RWLF*XcUhA@|Tcva?&Gbd2XNdPOmzOBgpk3|xpp3Po_YHL34m#8f9eXDJ zAslQNe_wc6xSiaXo>l0O=EpRHW5@6#!k-AZrU8Cj_|XFVl<*nh2Q;t~X${phe?{}K zU-iveyy2=zC+?=LwA1UlrB=WG%~%(nc-8vhUA305k+iz~OTA>XpT8TIyY2WIwR_6> zh8gse8aWV!rDj_prbu|ct^>nT`diQ$uE)E=!3?)&<2~WrmBab{Q#iF4#uvM-uW!WM z?LLVMO**jEKEcly-MP-iq}T6VO3P2IJy~8_sjrl|?&G99-`m{kY=}8|?D(;#PtMF7 zd+OxzQzzVV{p{*n^2585I9}E;vI-oO@KpmfgVV(m!e7&D1WsKJ9(3+c25JWPLqFj5 z1b~s>Xu#PEfzzJge+CEyuCjRhwQ7C2v0PnstJSr0XI9*Nb)~xI8jI)WtJSpy*Eq9! zc5$`gcB;y+Er-0j$uA1dnXm^bT(@FDi3evnp$+vR+~+45xQWnbUQ!n#||Y+@_Mht|d;!!9^H zc8$j_{H*YOfqy;6gX6>WISb>dzwy+~c+Lnu(O%AFT`jUtb6Lkd?XoyOyIuA%5!XnR z)$OF(Es>nKE7O@C*!6&+=iK(`hh%3?7<((94*EJj@`8}#r$~-%9XH)#fQ&1?1vXkn7mR7@-WN7 zORWaf|kMfJP)lU=qB3~YrsN|82Z6lwB9HhuhB`+DYMvwBG8tdEe7L?Bro zO_#ItppTGo4;cAA*+Wjvd>`&1#}@MId&oy6r$^@Wi!J)y&#D_T2swRRBnLx&WDhz1 z_v&Nz(#K}Qe0Nx7p4b8D|Y~)@FZDt8hP;!*h$?{_V2=W`G}wvN}HM#zxH!_tLa%Qn$~C_rI`l z&KivOB>6&1x?k^>r~JASs2lAQ-kzZ8LPpUw~cMMe4iy@@aK<*eyT z1d!dE$TQpb?@iwS+?#%H_}Kez+^Y())YaGOk!-eFqgRUblx*ov2$B`~5v#vr%Ha= E0ZiBTP5=M^ diff --git a/Shaders/TerrainVS_PNCTTX.cso b/Shaders/TerrainVS_PNCTTX.cso index 0c2ff0cf65836224f584c7b79ca8c993c532eb62..9ae7bd0c09179a8f06232c168e022d54df17eecb 100644 GIT binary patch literal 72220 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 diff --git a/Shaders/TreesLodPS.cso b/Shaders/TreesLodPS.cso index d8645ac0d83bf42f7d137289709bd3fb38b71dbd..7f68da8b9b7d7f5db6fec5647ceab42bc09a7a03 100644 GIT binary patch literal 35600 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 E7vm*PVgLXD diff --git a/Shaders/TreesLodVS.cso b/Shaders/TreesLodVS.cso index 709737440f7fbc20736b5803408416e8e6a6d098..0e34f0eaedf86ba890f24e726b9171e45fbff989 100644 GIT binary patch literal 37916 zcmeHQeTZh&e;mHUA;Hw_?d_en?CqX+ z_des0BTXr3Y1681gj7^TP1Hnn)TR+>NJ}e6=^trDRPt33DT-)CRU$=6pizV>g!}u= z%=7NNd+XzzCKZ^S)7Q)v%mwbUW6yy1g}=UabXo0{4V02 zVz`MTfBMfY5y$v1HHmKnPSSt1Nj$^`@yCaTa`{sJc(zhi$A|7J)e5ya7dTuV%@@t{ za3!Cw9x9Ixoyv~pE60cK&X*_hwTdM?caC|WygvNv0~ANy*TB~r@YI>~pNFD-fa1Q2 z2bfPi5B#7Y0q-Xga2LTOFP#!G9EiXcPM10lv2h{t4g{z<0pYoh384&j9WLY?ON-J8>*u zROcedS0sp4>S(2qFV(WOLb;?4W~)OF=ZpCoo|U==bj~mcA#S*mEmgDgX%vQ3n!{I`% zQm&TAYC3wXTOT|$bV%Detq+tZCJV)UMemHIW4G^2Bx1>(>0KFh&(PgRUWP8L$Mj!^ z7Y8+syZQ>Hz9~pR;#m?vs~6zK5zlTxz9XWdJ@cu(;_^$g896frhUmZAl=;$$Z?kMv61n4N2 z`8@?sM_wYId}>5GM?B-NK!Ohm5|DV4UsU>!HQ*UXK10V(zL`qrh7R^0>jLjSNLdMn zAAouTf1nLV>M3E-QNl*H7f+eA+exTa>9Vzv&nY~UR-Q>G&*abNS3yJDjzjjV+NPzv zJb583&nY~U7xAPcFW9h+e0D;7McK3i>n$X1J#b7P>9cm!FumZ`y145Xw4ovIZAkM` z$4AnvLz+8*WBkBXP6lkmFdgH`vspZ4Gk(iO;+f_)rP@XJ)u3aVfi}zUlPl|a5gNwP z?M9YD`F42VR=?`_-17T2Z{#Vo!e4OAFQ0ci2<}&i4Q^?#>qD6skFTH})SJ37-OsPK z`XFwt#EJfGeIQVZ|HT^~!e3+x6xrlY9u2y#W;(`!eqlc#pWy<1$%l@RaiTBl3iCoI z`rsVi;om6OrY5I9*vE6|rk9CedCGb}dcv&d@eV@UD8 zcs$y?@ImMZX#**DKMv1pJUtnu20m)*3ZJDM4BpEl!~I?x5qpbGsJqx#?2R}hi@Jyn zZ~3@3c6RwU@se-CPkyW(FE(}Y#-@CRGv()}lRP)-@6#+-fAV5F%1^oaG|&~QcWVQ@ zi*M^g0;S&Tya_P>jdTMGHh=89XuC!6=o2Nb0^Yv<>?3GPIFo-q_+?I7u{ocQud?(k zU)q}-H?Lo`?Cbqrvv}g9Uu_o8{4rkoCcob$f965@zdN0MdK{## z%fvNptBrMs^2EMN)g97F-4}Z5@fdccERu~ZwEe8;*Z++6J}J5g>CoisVgowpV5)vZtDiG{zUu=ow|-9RhORK> zb%h+PINmjoq&=D7!zo~w8^%!l{qly@*tZsTDTPQ_k;L?TCP1Wt(wa=3w(SK&D%4~7#%5i{C03-^Ne&ef$~lvH)<;*T>}>O* z<*v8c2AqxxPfzo(iiz#W$s)ab6JiQfU@PpGTzdk(OVyu%Xn8d#AYWb`%Ag&x-MCuM zM6C6GbD9Kmrf1XL!7$#DVq2q;7H*D`Ggt15Q*LLL*<9{G_huQ| z9<5Ls*R}Ety0WV2*>c&5d?g!;#l#S{bBqnjG=Hx#uhZ2<9x)oiNJeltPTEyqLP5xD znB!r`q=3o|QS6>vS%=#|s#hmW$%DYg*c8IGlCMowN;>G;Km5*|AYbOWW+e^gBz7;^ z-No`qws@#8eyV0W(C`auTAQf;Ld8{6Q@bqk;An--W882+t*Yfqc(^1(vj|Z*F7?R~?S+1;T+vgd z$!zXnw*Q=&4pw!(mg`*0w~vgz&qQWscSX(H$aH<$! znH`DScZI^qF?JqPx<@DDsU16v8n(XJBCmJ;CY;jqGmCOLKZ6lJ9%nK;iaY7VgE3|l zNsQanB#}t=M6)B+D5B=NgIP&DzH|zY-0Eh<yZ)UQRZ(pGSCP~H;aY&3pyPgBE0mfjhg*pyr)Y+@Yizj91h|O3^5XR%8 z{Y(M+QPl}-tVK=4+^^2X@t~Y0e7buE4!9OVfj$KX_h_oeq~8wRdi=yx&47;dQr-wPRB5Z?C7YjK&FvAN3pk4>J0f?7muHu zDOZZ4gT?GzzJl6uGSKA|-n52J6~=0zoEUCr$n*@eyEB&Bl}_&35zcPPW><8bpJ(PJ z&kV8FiJ-9Ry;|_$tW0EWR_2WLQV%3k#s;*!k%rt+DLC@B!vWT8S zE|Vcln*pFnY@BJiX+4%iUxTI$bIoH&a1EJ7hETW}6Y2UM+w)*UJysTM@;N(@up6E< z4FfZFnTlAtDjUXoJ>h!tR0S5?t2yo%n(iKH9KIYVnF5ul#jOCkU=|Q~Fo~0$&|5)?ONv9wHOo4&3S2&S+FNw5(es;E)fy7O9b!+P>(~PCz)VA=hB;= z0$Fe>oMG%4&v`-77DO=xKV8bTMy6o7nf2i5o z;Y@D2Ig@$Y9Z&B-HIh-qH4}W_v`cB0%RHH+e1(j7CaZ!J9H+pBbTF9AqT)f)3_bANi@j7f@ z^ISif(bbg|0#23$&e-)H2oP&oA{AJ5@aXJQzcJ3*QboR>OGIw!5vTz|HC8S)Z}!w2qF<- zRIZwr@LHZT=j|h7Qk$Lb6mApM)d(l6Cviq%)_S5=);6O(7`F#Ih^MOgfo!gZMFrEELuA=t!J?5ekjL56xCqSYp1nF;iG9su zrb=P?=76gnO(RkLB)%AAC8x2RAFh~q;bONILseYNr@j_*-{jKqTx9{LCI+eJ>e6I~ z7IB)350O|6E@Ep@!qq<(qt|c9G;I0st+S{oI=fno4jW&qTtFs|8GU+Db>|w>X^wTF zs>%-wr(?1_Agz_tkSWamyL+a3Fy9*MMmH0!_Eg>U1yNJo-56e{iMQXXEP2(Ei?!c6 zR=a#OdE+N<{Dd3%PP_;I4(vX0ccFH0YUIQLEF--?TYNZQIbj!tt0#u>a>qmT$A`=| z5T$avPmE*j3DjJ4nz7VXbHu)Sf}h~3#q#KM)lx6X+TVJzG~1lFNo8qu8+WZN&G&S} z9v4;L{^Bcl`R$9j;Xe|Q7f|%y`^Rr={n{749l6v^o!mdnz2Z!FGd$f7;IU;)k@sKy z_CFl?Jf6P*&vQ+T^Bs;L1+))+;KlK2>@7P19BCQnyEp>E_vMer{&w41E0?s4Yq?9e z0MDJhPwiRP#R811<{7rWg_{Ll`h5dC)!uax?jai}X2+{4F}p)CG@PxB=WA-ZdNOk| zVKCV8Rhd)VUt*NTxk4O8RO<1oOi&H-z&{)zj})KBb3}d0(8tuibv&}&uFQ8!k}c`3 zRfFpy<}|}f$H#IPJn!8&4-OGXqdf$_#>21i@Esn$!^875>3M|7hg%@gM6CR4dR>CN#dK; zN#dK;N#c1z^*sKwZUY2*HfuYiZ`O8*Z)`hk%WN!bl-+1R-b*>!$DT}Dsfy4fqCR7` z84I5J2wvJ6=_yz6+?p)()N{e``9tKrj;Gzu8a!)89Z$OnUiu31r`-fEeFgC>ug@7i zr%*<9J}fW6OIs#A>(8@>e%RbCBYLv_2wvJU=~;gSFZG9b)*r#M{`A1k5o2dA9|N(3 z6PYaY?|?3%o-@>fr;P>g+kmzdJZ(^y$!%0i2t<_6`%@T;BI5<&`!WUJC{yrZnb=CWw8&7ooiH-{LhY3K7yJhB@^ukB+avo2TW{?)!Z#5c@FD+A z=(Zy2$&g&uUBUZuXE`Be$zfBaxpk!EXhgZG(!fQEys&0T1?J zdNuR3CL;3=wsqz;WAHEFIV@A~jpZtMDOaltH}M%37yT#sq0C_;^H~;8pd;;DGx(<> zjrKij@Mj{lukc}>o;LUs5%$Yod2?OqqIyV#@S#5Un||{d6D4@+Blt!e2%a{WSBKX< z4tO4S-_aIVsP~Hmd>p!qV3Vn1fSt=?A);;)82un-JSiQ8CX&5{B?vnIuCVhikf-H zm5|AK2iIRNW#S?EWd6Tz`V(5cZeQkK@QwKwywm{}WV@O+>6iK^GRgZT({I{a)&$SC zBzRvYbrihFq^;Z4>7~S(xW&9X%#AsMuk-F`^Xpw*$BwqfdS`X%Xk)#rk5xG6^d?SZ zGM}%R{J$1z1Jp(Ejk*Y)x=?1Hk@Y5x4m4IKho_aQ1HE?ymZaWo>d3k+uI_#e?@m<2 z)ZH#r*A0(#tWlB2p6l3v`$qPy(c9)mH(n?uN%yKiFsf_w5$0Ula(d@ ziQSlo=M0ai;lVt#snzOdNP7^TQo15P{K{W`>&zqn`ofPN{QJI}zC8ATT^Hzz{MqTY z|9R%cH_AWS{oT7KUiypY?b-s~UtjKSf8^79zw*PcKl0r#?%njKO1%m`YtSdq@oquh z!A5r${&mPd54aa5anQ_NFwbB34)C1szii=xgXnb)e!)St$%P$MdtBH-b;5-mRA*e+ zK{Ic`B}NOM0-l!{aZb^Pu!HIu7j{rR=fVz}wnTc?V?a~q7-k(~nDvBV2UXOC9aQ}; z?4T;Tu!HJx7k1Fx^+@4^n6evkav&jFhG(|&|Gj{;Pj+Z>=i7OGwsc2M=Xu!Cm4(hqvh zPXN^!3l|(zPr0yz>S-5tP(AO$4x0N``@xU*t^%5&oM8^>40Aqm7s3vzj0-!cPPnjx z>Wm9Js5svkKzaw&(=P0wdLH4s5$~Y-sS7)(I?zV$MZAM%?!mCOcr)iXhHwU9Kra2W6FH-}(M?J?mV^q7oqgxA1Q ztJHN!e=XoP+^*X5wtyW*&#ln+Cg^*kTCa2yxKF*uq@( zM?iNN_)V%)-C*D<1EUDvif|O3u&z&s(d%aD$?~}v)aoi|%GH@hxXR#fRhvz@-iq?Q z#mERl>T*52Kt8`4p0unFTi|bmU%xE>bJWSL@DX^w6Dz&DIbI0rO+zGf@ zZ8C8y5l;^k2Uzpf7#BF0w75#oq$Qtq=2^AznZ)GD=W9GXXWfF|=V~Pbnb|Zn0 z2Yc`__!RMfu2!t?+z4vOMla*e$f;L|W1rNej$j!eTO=)UtecyZoPbLx!EFt2$pF_I z;8FoD6X4PYN4a~H-RhE1Rt9m094-mmX0>V~^S%OjaVK!wyuHpty&~;~-=vQHpYmh# zP5E1$eCC_-SstrB`5DT$hqO&w;u^ZNRer-@Tg8>6XuFa1v^i}_zHE1V7TW82Ad8bX z#<$!%&H{@rJ!svFFjdjKYA3kXp?>r)XmZ%U-nti|buR*clL33+TK6K@pXvC;Z`BCy z0chQe5Wei9buR)ZfBLO`FM{1e>uz~#ouN1T%NOmf<|bbF`d{k|J(&|i z)){(pqd||o5}kK_FxU$FXWrpPrN3_n+3}we(7iEWhu#iWad@QZ{efsIJ6Wv?y=~=KmXk77l8YL zqu6z&{pS7{!hgNlAsxVx*I%mhzyI^wdM~(lHhll*w{P+CnRva5TuVjpbBoGY9^c8Y zbvXW1ZLqEdJn35Qt!aV&bU%NdI@lZCOiQiQL#^^}W|_A?j=%SIeS7?sK4fJpHj1!s zqTk`*MhCy=;AscHr!9-8asqT@EV@)15d$=X&#yyj{7|9v z@I9rmvWl1R!zNV~uU2yLQ~B&@zA{oQ=N`6*u|hFljbGA@V205$(uJ=4T5h66_j&Q0 z3*Vh-?jOU`v7X!dWKYra%vU=+=}5l?o@3xA;N`vha{JxW^~jrs&%iKGp&fl1Q1zm*?U%eUr7I@Z;Zur~b*(==vkMqK2E(>s3 UxW3CG7p+XREYPyRFJgiJ1;j5=EC2ui delta 1005 zcmZ`%J!=$E6uqK~t%BItSOiPYee+&+QtX8{Z@A~&bHCpH+fr{Vxp8Ot`uB4m zAAY*@?(Tv5sXyP`xaSd3FC_AD&*1zUBKln>dI`r$xH~(p2$U^&_qm&0=su5p-2=7+ z_hXN@{SR$m6ceeMd|_$UkQj4{{|Qm#I18OVr}(ca?zD^wQG=-3w3_EFza+X#x%Moo z-lRCm6V>wM;>-}_St3#A+6aV};gjI>6fiyvCOnV71ru%IrP~dI2|kBLe%PdIey$m) zJa*0IfVV1*NbKJ0ej|I8oIej7g&91scX1F1t5}?;L&Yn)%#U=rjRC1*9C-8$^@^pX zT+eAstuEixn|=+@2t`AzSlci3AO;;XV2O8H)_+EBI@&oQ7V)H-^i6hts$OucN0rOr z@gFs&jum+~s`CSVr4E%aK@Dc!vB}3@^zGyRB#rAw=3{v1PYl}H)h{!X$0bL0QRKNj zON=}Sx93{J_UYz^-CA2Gc?it`1X-qeCi<>zKS+)t+rO5;Qum?U}6fV$=%^a&*#?JI)5D= F{SPeDXU_lt diff --git a/Shaders/WaterPS.cso b/Shaders/WaterPS.cso index d287c4c5d40cb29e97f1c8cf519a9f9bd4338b65..a2c3cc69f6f76c9237a5a149268c62a60f586f69 100644 GIT binary patch literal 155488 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 literal 10084 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 SOW-qj{qNGC+i!0m3H<+taY9%C literal 4596 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 b4fitKe+zf>NlW0V9vpqp=RA_@HeK)`KA literal 4600 zcmai2O>9(E6uwMb+CrhVU<4#OA*4ZKNExsoAu!Ce15Ku#X5KJXV*=04D}6ehH@r1#ZB&U}IuTbU{)VMon}>KYreRG{s>fRGdb$}nlxYemtsY|JaZlx{& zFAk67E(2?aY&VqGgYU#p?GGL*tjmzy#?1g!!>0L_UIQg-JgXTz=!lg5-?aSGGZ4JT;8NPNoq8U<_0t~zVThn;#bvxYqD&D8?N#O_-s z&4A2||FYYdv#V+%o6CD%-3n|!ki|%?qB5Rear_CpQgLhN#@w2MALeeF3Vv2=*b6G- z+6|Sd&iNT9n0K6-*{C5q>WD^bZz6D)5rQ!J2pgd@=^V0Q}V$oX0oed#|gP?7;EM&Q##}N}o=p~mxFsQE|A+SEYE6;;V*KOnD1VZl>ovJGM zu2T!_!1ZcjRIFjxQ)p&GcmZ{ceDR`ZsPH`?F&2`<*aMuH)KvC-3i#F-d>8O-1_x83 zzZW>aKdrH+fF}(eJ+ouLcSrQ)EOWs3#Ngw=qqPxzeN+>+Z_hT=NX>q&>hN2kKMamP z=2aYp&j2d2-|&KO(#T}CP$&+oY$0DLs-*(r*$L+xpwD>j89&^w z84u>|1PnFffx*TWT*rfkB`zZB>v+J4i(hi~0m9U{^aOEU72;dP3FgGv>Y{J1lg3e+ zCT^~S#+j4oQ-?%9{62R=XqC_WUx}8iQ^UpkFis<*hluB8gq^#R)cMhmtTEN`$y(PU zBImvwuaKP$Z`kBEl%O8YPoGxm3}k*^xRyCfz-Z{+;o4TiFD3Q9+#5*OMUfkv z@#PYsuGka1+Z$rJi=jO+P$&J1O_W2sTYN`tqVp7lA5;OCYJOC5#e679dNAE{_@x|@M*WIhDeD#PgktfpBR{WKr zZ5bO#p9klnFZG~s2-l1CpnP4L$l`JQsnFG*G_h?qwMLH%QNHUja{8e>^B6gEr2OJz z0&2Q9 zxF>z+8sn~!lcYB&Z|#i^U^(=Lwl(h`G3kvsIo}fLjW{{q7wL^SIo}-0*_(W?TK8w~ zB-vXg_Z^E#{l+mL#!rrVbhEb@_XfyG+>3MC6KCGLj82$0K-4j1u$*x71|NdYRMMQS zyjd+e*mnc(E&a>;kw{~q)bYsRd$WmeDsx>+53=T)@vLfZm-w0EDZDq!E&J!*3Gb79 zYa}o1*V~#`A`K@>@s~qWB2BjVT{t*bsvjjqt-8cMkw%igeR}lj&3}$kPI@xb>ByLP zc9?I~qrDZ@eHpp)9PZ$4G-uKE2QZ#@B8{IGq959@w{p*fwv34w`zeve&#D?P9@l$A z&KgS{h_UXhpWG+G_SM)@}|DCjAB8&3> E0KehE3;+NC diff --git a/Shaders/WaterVS_PNCTX.cso b/Shaders/WaterVS_PNCTX.cso index 8bb643c1cf6b13ff4b7596b46e916156d0673745..d9694f59ac1864c3739051fa22b2167018e97501 100644 GIT binary patch literal 98492 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 Jj0Nq|{tto>+|d94 diff --git a/Shaders/WaterVS_PT.cso b/Shaders/WaterVS_PT.cso index 32f23ace3f3a60932403e8140639618d5683c099..3cbf35947ecbe06acf96de14e0855d7311cf3f59 100644 GIT binary patch literal 92892 zcmeIbeUMz&bszW!04V~*P#^_~lmyF9G)46c2h-C%0}y}!2*7|t(#DrCLl73h9rpCR z0b14Qb94n4uD-O5pBwoe4Yj1IPUAF%4W|bWk8vk=UL1L947 zkp)2xfqeKWqqz%yOy5QOzJfPl#|*w^@aOP8*8~1Bz@G=4VfZ*YzYh4P2%uo_{I1b? ziEzRU{yBqxfp8~ic>gDZf0J-Hrj5@|`>_Y_PxpY20{&tT_=A9x2MZq4IRU`$dGI+y zSj7AHd%!z@|3MGZoxmzG7f z&edBG=~g(05d_ZfLM2)ae&=_7XDj@-dH$y=m#?(NQ+}PSG!dj#E-gl9mzG*lyM;iG zrpsSLm@Sv8(E$IGQKNljfd6#8Q)`naYTuAk2BggBU#PS?rD||)dgfHU-k5Ednr-*- zP;D_dQEx6r&2y#2#Y*k+=}IjC9j4us3UtyKrM2KhrPK;eR6ETRQF}FtY8Fw;#V8y- zT3ZQFf}`qem;;sp6UMZ<&V7#!8rm5;{&C(Oyom4g!C=KyD}5Z~on74SKO z;}yf(fM4tZzYh4N9&l#gxn}(X!Q-WN)VvUt+x2E3xwAM|S&s0t2Hq#^U9fjC_%i76 zA;09y@%tYECoBv9uYiYu?}Q`17$LlN!LE$q?X>P58Yeu^z4K8uINPj5wRWjpsn?V% z%20I*%4`oTpzuhG=jUO7`hX94;p2GR2{>U+rY_FA0Y^2{1-}>Ydkl_O;P6KQXZ@4q zy$E<{a6iwE0)C%|@A7g6@LUi08NhwnIDE;fbERf!xfMKAD=kzb))i7QM9tIn#V9~E z0ErarT@21w8mLER8&R}qut|GQ*?V7bx>9b|TlJ-Om^(ibK5}aIRLH6(YKGJGcMV!K1SepE(7-nMPFAQg7oWkIS7mA`QnK5O2a+%C_RixwEs6 z&OLheOfdJ*#p$zW&!0r*o(0W4K-d8s()OQEEXblf+73V-ff zWa0TUUb^@5^^}&9i}yeT4gLMtV?i(vzveFe=I`QzL-t1OZy=1%{o57K(FRX% zAWw|{oM4WdaUnG5ZnA~6k+(Z9+`}i{q{ZI7qXFBOmK6=rooE`s;#;D0C?y2C>{$q!^C@+O~Kj^U3z^yB0F$>)}1_=Cs!@wemM(=CGe2wmEzINy4AA0%I2D*Ic~W>m3E5{%Kdhxm-5^J96po-e^W-}f#vRA!_mA2 z5OyHu1%ASl;oJo_$XC|?&3)j&z3uB3cFVCK_!po1+!5a~ex{N9xHLK$5k?vD?d&D< zo;H-c)28}JN_R5Ez)QE^55;yJiY&eO53%8oZcY3@XCDOatwd$pR*P#BQ%+ANAp(XrO^}}rJqZW)3>`!W-QP2 zryRdzzb}{^d&yQ{p{Cz2uddDJ^1$KwcE-W7wuND(tRP;NIfuvJq_@?BiM|2GH}TlU zqnw;ga4@EcFg}D8fyX?6>?E$E5XtP^@wql&SK)4l-9K1=a;u1 zcQ``1JD1cubY2= z2qf@F98kXb{K!fGbwc;^%^z8D{KzGobzum1*tCEG;7`_v^t<`|a7%z~o14#%t^{5f zFAV*~-+cW2Y)9_>r@!{E|M6cQ{Hc%K_^WTv{F~;lI;qev+s-`xE5$6xq2GM}07;-d z6=Ev2!U?M|JQTXI{Pzs+2=Odc>!o%v#1vt#roRAoI zERL_OUmNj*O@(C*Hd}6Dk~0ZMYAMXgaG?f*h(QuHnVT33@xL(go_sz$1D}!?YX&7t zs9maE_6ZfnCI*oyNK6wWBku|G`C2_>aLf{h?Rwa0MIj{LzEWw0D^ar@t%dFNMl?P? zPPxWeFcnrgcin1~$`KOgOCW5?`iezPK!c}vwS~-*%d~WkvKUKKa4D*ZxDQFG64SFJg`#Nwy@lB(=T_;Az~rFXEF)i&-s%hGhc zTJJO`Ko~0uGGxu9$LU+3k(cU4&A2gsqT-ByjLB6Dt(@Tt$0LwPMjA6%FoAd-$NbDP z>qXX#uqLk-#3vaO>+6T?( za-{`AxrK?O=GRPLn+o0X9h08ILvJmQ?-9;&)s?L4$$({zPY;;O6`_mZ#47?10!X+` z79ghBEoRvbRm=Qnrb2IlkMA+5yc(!eLG5m;2M0g2W+YbY#(5vW=W-?O~OI7hPQacCpl^DG4gmQ)Kw+E zfByz)oT{miMTDOu;o7Vz^_a4@QY(d$O7B$Y8@Pl{N&r(>Z=`mCQOTMYwv8FHsrQ^2 z2cH$n%R@=*LK4eqSvW1B>=lF$gbYb}7{AEhOrOAFkgh>iEj3obn6d^lx(2B{vYrMw%L!Y~ zmN_)~k6%NorPV#tsg-jIT6Gx4HK87(PTiBvi<2xnEZw5DZcK%5pTnewL!VL=OFDBZ z#x?W7Mcr1qPa>8I`Da<9NC_Himy(^XAGy0;!n+)1z ztTki4$6WDT@seO6mXM43Gq+M6 zM?KEY;`l^S{!TjCF}=xp#_ps#Vk@9FgSf5GjqCeVv=UWwaoHP#D7^$TwM*mISm`gV zK*1rIVz@VS7EHa@;7k52;R;*_&>0{?^7)pm%Ac=>%?TEj)v<7;h#zZfh?74EX(4UZ z9MUL{rA31;mlnhNKJYRo1lHEpeN+*N1R4vA7CiZdrc6TBN8MY9apRxqSnDf{6+EsK z#@7@5$>*2VN4c;trXQwUOAv^ufUnELJMyE$J674unTKm)tYWENS{`3oE6-n;oxx9H z=ks(>np)HZ>SDOC9&Tc->A~^h!SRFpisO@oLcviHN+-0LbTV41)MTKgbtrTQp=*{j zOP8bhU6@TIDq>B=pOR~Mz!G7_{4$HU zu5!-ONE0dSPZELO8M$^-D`v_0A_*rwk@Tk~&B^1-3tXMf=1Mc6nW8r3<rKekfeVA;P zB$N9yS)A~6208BQbGlH<*ZHW0PINg6PgH8$&C)s)m)SF=<;XI=|7#AzqhUD17EU|H zI$2rP-?9yWltZ-2vE@dh+&l0I6JPh!z3JosPCkWh%4WyB_&=N#64;sJiI@L7L?uvA zuYyzzVajMFfxKUvCOqX6c9ItEALZbD*s5HvmDu{MBeVX)M{U9|jOIZbrgOy#AcPiw%GG@H<3r@ytVbi51102tr1C zk;KS6Su&av{m9H6KlAWIXXY|A@R=o36qLSXYy(Lb9VL^1Cwr3#HBr*pOpudb#*KA= z!%(##!wt|^DI4d)voiAb{jU-nHgKbZNt*F1n{0mLfePWTrxKFvcvL`e{6AST{ZwKD zG7RP`=&Mu-2J^}EQ3=y?H`L*$M}9MyPo}3z#KomA83qGZtXcbnct*2`pjx%knxC4- zV#398b-rA$wJ`eGwqe8R6NM)V#V5zY%JOowSV2=;Yz(bOPwc5D3Vo4fmM~nA?u`aF zNP*p(6ht~aDaa&nQh=#(a8Dj|0Cm1qL080eozQoeM!b&^)+L@)sIczEq=dpcqcV0J zXsR28UXKWnEVQHLMk_>z0zG-J|28qcj%SQD#}fyiG<Lixr*b z711a87L|}5EpnJ~kTp>X0L9ZHb}2&N_Zm>e7a^dhDJi07450Wb+TK`%i;YRj1@Rjw z{xQ6x*}9teL2D(cqKJaDipRqiCaIH%hrCia=xA#dbiC1M*4HX%j78P;uvoyHzm5QN zK|!lpZ?`zdjWW%Dqo`}r|B?=Qvw|+4*Bw{9*U)|xpD0ZBH6UHKY4VAw2RDyB^~C+?VyAkQiz zQEtUn8Q#Js5)u|m>RJMRhyu&cRbAS?Mb zF@BKGKFrA_BWhBPTs2~pkYt*GqK>W=##!`~F=w%~QiFBUSu z(*QITvrjUePzlcpgE^O&Z*U8V>W~+61Bb9czodRwtwRvh4)ZN^pj9|x)*0R2%igGt zq?ZMgQFNp-%p}u8);Tc4?q5Gl4Xhtt$FaNAFa@-&d)O@=LlIrXAAc+*#P~@(INCjy z(oOB=AYRnwaCCYQPrBxb@V(Ktn`3t=eJgyg$L`{Z3LTp&*O!;;wfSlt_NC9Ty4n5{ z9UR6{i(0L8c}f)~f4Tx=75)gKE1G^ylBUGsnWpB=TZC@%Lwo;L9dTL7Mnt?p&3-K5 ze3Ehp<`p$TR70ag4DB8_ZKt=;)HQ7k;!xvNt{G+jH15T(_~~xMiKm4;w^HpnZldjm)OU z)i)Tn-0Zk|&tXe4o6?AzBiWjNukA>7Jm}j;C3MiY|G2u2WG9-{M9CmhO7?>}5b)H~XMB*N?nT z>qlmiHKB1Wl>VVBH=7FdJ01RS__nl0cFp;X3Ac60cRchGM_a_o8Sla7PkF2Za&yJY z56+60@2sDI6~{Wk_kGn*aE<(%OI56lem^$wlf@x@8u%Oa6Rd$BcQ<0EHXjJ@vji_uc4Q^iU}F865K>PW2n(EU7%q3&21leUxpcLa;~ zHPFD-FDaDQf6|zllq{vOX{rpYd%a8FiR0IAy$ff?WZp0Sky-D;dD{$*&XZ{Xoeq3e zldzc1mC!Q1>}G81H{TiBz3=jj>$=V=O3R~!0Uzl_!qb-)mLV0;7%@; z;jXm`RxZk+I$?{q7=?275oWn#^`FB2I~RtdjD8uQpRAne@=!2_y;A5P)bg&Nd7`lY z$)5f)%GK)YEwWZ`OM$Q+tw*7p8l>FwTmp+vw#QgZ9#}7;@!|F1^#HH}ql(%rheV)2z%G_B=|-tY2Afd%-4z zF&?tv77taqUA;@WM2CP1(C+|p)@?*N?S}g-6{$f<$NkyjS@Cz8Ox=x5n(GB zl(JfBhb!DkgmbU*`PY)Cgx2tmm3n0{$=2yomCHBU5x704e4MJZajc5V&lR;HP^M{~ zem3UHkot#9=Q$lOswSoHWK?aJx{w}gY=pr}n$BZ)IQH6hg*GKOc&uyTQo``?4o~G0 zF!Tm3ZSI7o*s6evGA5bQwlTqYKSqdUD7+TS3xK8E zA-26UN1w)FF;Nw}g|0>6YSfIvrOH~gi2U>8TXj((qj{cNsfL|@m1V3MUs*=J8#a7G z$h{qMLwm~L0CLztXlud;9#}(i8O1aD;?Fod_r9mYuXlxCx9}MnLWjrQsj6bh0xF#d z^fFo?Wr@h{foPBO?6!4?g16s=t$MX1=jovYB&xpv`xYYIxcz9k1<6VoL5|oVa3vhq zBhogJc+?-mF7;-+gKc_PVvjBR^*Ss<`HJC(WdyB8=&6Cyxd{8(_cltk8V2#v#*$jB z71p9sQ&?HR7H7s?U-$s_o`#E+R;kgTrzaD}Om#stD3xs_NEu5-Wc6dIjOsCG$rivwXDWwUKwy|^;I|W)%b;)X3sMJU%)nYAN7VJHOy`pjDkO(G)^gtgZ zxeSU?Gbh^aSV2VDfVNi6ETuB4Nm(v6>&p@Z7AwPBKJOL25b;XkC!V%f^jrrAoSn6@ z>-ZiVczU@Z;ol!M>$$!(NK5LHVlF8JE&{%@I=jY}bxzy$BWrAHi&3Jb5)WXjuS7o_4+#51AOV>L+`8)_sjEpzKqbYjfd%3_Ktvi@H?wroX zme2DLlJSX=_ZAKjA)$`ikdfQV&y@TT8*&?2@+@;wfqwU@CnO-Qlfu$6_b;;+b;t5;}+1)HURwNk~J?Q$7=d!fPKJ+Avyswc?xaY@8X zy?MIS=&o1+gc@@5ai)It>bdDovx$o097}6UXr4e?Phs6DO>B3)s3_?x50#6gmNYqY z)K%?*$V`REs)VKj>Zf!4MwhTIOagpRG1o=g%s zXg3&P-4&6g!6`?K%Q$Mae>8o368citZ4gV*qDdu|iAVzyq8l-t6hLynLF^cQ7)-Ai z3#)&&BLzKf!3^Ii%_G>4grkkv3G=-ujhOYZ1~!zUT`8l*gl%wfJ2LL7;NXqcX{cSL zQLRMHCk{Lr9?AAap+NhVWV|%~OO0_>TDuS-PwIickJ}$harX(`URXYrjj(*&-n5jj z^xuBm6RUrW82X0)q{-t!en^xMHOz6UInObIPFw9rg)OC4a+(&JAZ%M!EEi;#F?Jo- zVkOL)E;&|k4*lTiSn*N9<)Xoruh%woqQ1QOgJa`_U>vYb8#^UzN^9oiepWz3&NfaIxlR4yt`$6hSFsm9|jvwpQUD})$T0AudFRI)Q>Bb z7K(MtZ#1NrClj04rvb2Ib>@@y6pJP4pl9}>0qrA`kH9$@!0SQ+l778$slOq7>kg~qjnNGQUSt#-K)$d0|#svp+AeRXNg0@Wb)}wgHdUp zw_HcF4LwYg%(zvvk~c;-lRZ>#Pr+lGoM}OEJZqN6pvRIE+Y$%nnS4fBMmYPNLfF@u z^!7+%9d+j1#$zYkXf2Co@4)OM8cSz&Km~^kfMJHP{zn(rM{#sw&k>H4)fTN!S8N#W zNG1RN`(uAAD6}LPMoAI!y8q88V`Pp`pCrY@B7L(bE2va_F8LZq-&nc@*F`1GE#>$s zo5ko^W(Tj+w8<-^iT%Q_rqzvnNs}+RaV#f;jNl2b^e!qXA($dLDjH0!kh6^bp^@}A zrSpCQqKTyd9r;9G!t2-jD8l%)qepri@|n+TJq`tpD^T8oFpe`a(1hc!eXi|JHf%f? zUYvhn!wiE|7_7M*y;J!zmV2K6sV%92Ex;af#C)U%%xEw!X~08yB-y{xuXV5zm$gjG zzE{rqO797%H*sWZ5f4pcNcc+EOSstMKwHPm{p3UVfwsj&*r_lBwF zfnHVx2!#cVLpM2c;D#EOOAS|lkxHdUrOLt<%Yfq*IHD9Sx*qbz=#fnPC8@GD)4;A9 z+xwn|TM#4PXHWo2XTg%VG^>%Icz{KsO^r|V)`tx{p+M-L1Z^P>;sY(FWYE5kWkD3Z zntK3uweN(RWIiEoMfJ!Lpe8XVOl*(&VVvJZHOA|M*dn;c5Hb+-M z^exM#;_OkeW(zlIc1hQ|cmr*1mQX)KtI1F6ons!k_;`d`L2Vutg62+!{CXO@uv%J= znq%5376ln#$6O?@mD-XXRJU7L^gv2pkwP;}_USfWn=u+H-#(@z_Utksv5(j98jHx#jW92r>i;-NL z4#R=Y%o8;vB^jc&K9EnzYb6ovea5XN!ma7zB_%F6z!Ov!qn$6a7*@TmG>SruggAVZ#iO3|M@lOjYGHaw^|wH=ZfEr)|_; zRa?~q(akEf*jETH^dm)$Qn>kkT?hB0%9q+EyR>B%>eR!g#Dn3cE~59Db!@sU>5)Zj z#;_U(24iS`f6(ZnUPP9Dh;-qD+;bw|#qio{S1PZq zidl9BC!e?23FpKDZqkC0P@7#C6)O#|^%1E)$n8cUatXTTjt253;KC&=a6z2|Yafp< z@b(8T+Tj>2`mD7mTIAxW%h$ryCKkPLY_*QT%hF{V?M2_?+^pQn*iC*K#6cP7!{_rK zDoiY6*$fxlRIW*TRb|fpemo->&M*l2sCmSg19zj-+B60fLy=2v<9 z$2sZtVCm?5%*z!F-OpaBEMY&HmlC0Ny@}U#CU^gM@xWx^z`k^H5gB*-I9_pJpnPeX z`NfD`L}}L1(CjS?ETv+sT-aJ(zzM88gcA=WFR^j!5xnt`wpJS)Sm%+2E&(mvP>I#E zj!X^hXALC>6Ivn}k7bt-l;aqk^m&9PSa1ZfEv78_Z%D?F1P4QQ;HJa2T~ZK*oUPkm zTV#(FIKu&#asVT@f#Gp<>?lbQ1z6<!keOxpN*7}S&0uL2)S$jwa4t|Y3*V4}0Y+R?MDbcI z81MBW4;xpSP@N+odk2CuGU^J49}k%1QW(b?%R(1x1U{eylQvLVnS}`SIk%LoTw&su zilY$11O9bsW-yohSxbZ2rD~qlG(nz`$v=!|tFbJGwPm-3CtT2D_;|>-VS8Om+}DP& z_Sk0umsBPdIVxcC2wF^*E$LRpg$CJqt*M)&!Z62E|7`n4Y-BXY7M2^J##t1PCD#8K z9flg=dZ+k6RzqmP;PWtAps>T{Wgk)qB@y1BSjZB+B8%Fn52?xV;BirRhvKTePcEwR ze=#aPSaYcH@&o1H)e@;Ep1?5Ya>YLVt$qtG;^xrSTTI$Vcndnf=k=oYPW?LFc z1+-kafeJzxqa@g9B2DBNOa?Ghp5i6Gi;bcf6*Vo_c#b>+;D;9$i3NGWUBH-KF^TX{ zlZcmBfqE2TK1sw_6B^JWB*9p?PT%XE@Su#;H)l;}zM7Y$n@LnFJM<6{W(92HQADC)O;D9%+#C z_~SjMNEKK$QdV$Dr6kw#wc|VFB(HeO8}q6?iE;!llhU9g+=&v0WnSe~FAy)T8x#VH zkvZyJ!?8@G{e6UaaBY-fkk^=<+vkOpk^?M}56lL!nALlUC&fcE4J)K5qV}ZFi3v#T zB4w#;JSl?^gcetfDoJxAr6`(qXEkD|mu<_ky6!(Bt%F@S;hv@A7 zb?xTG!)2xAg%l)gaHJ!#oEA+k#v5;5UV#2oxuQoy5;Cg6951GK=$!JhF5$y9e!X!* zQAuaar@~Gn#mN-ZX%)>T4m%mUwxBrS&TIh?d=I}RN^K}|rBXcB(QZ zSKH(1tjmn9dbOSnsHz+|boEMxRx@&(49gHvEET54b+?VTB_fo4(S}&3$YaY-0vYRY zW^mD#EIETnQ)pZws7H=xG2{5ydb;c)EOV?ct;E{07QwXQQQB!!kDi`TKj&YKlY%=t zkA!K(#85RwIu2Frrjv}tJk}WO&rudo>LHLMRj(}W)F4jp=u;@lK_6K=CQSdBjh@{| zx~`l3_5Cy2_^q#g>#IXxr*a*CrVm|uxYB;4vv6q|!w8R;s@UUoNe2a6m*mj43$yd* z=46j>5R?yHx{R?0U~|x6Rk1mCjA4~aa-uA5?`X6Ydo!eU@A0PS8tOo**$d4F6TX_c z{(P`7D3tmt))Q=oXUfD!9>_K3R^x5hgE_|H!~`?h$8GtfjNMC(Os?d9^vpTlqwq}9 z+>$H5)Ffz{V5Ovfl3l~-L76E+hYky@-Bb&Z#H>yEQz}^1GlqYztXK$)PRIghTE8xG z*rj?tssaVRyp}l~*%@gs!OPuF%qqsnVyU*wicG-!;ixT%cCZ$rwI2rdCeT>AOXdpsV-|LeD|H|`IDJB$bV`A;4nj_&XO-_N}1KWx?X zkS_gxn4fJ(+)oCF@7zV14BZ+a>Bnxo%e^;o@A3Ze$?=2xF|=OTKY3s(*dH9ZbLdL7 zRh_ApF1Lb-wS57<=1R@WQ9ID9vr=MD`49LDd&PW=+9e%b9W8})KsKa=qPmu-{!$74+p=^gWu-CcY5%h z9(@1!;NKqxn1nIQVlO`~?sG zQ4jtJ58n3RH$3>72Y=RsU-#h8dGH$^{G%Rx(StWU_!SS{_TW_yzUILj9-K`Tm)>19^WXW1;K5B*1DuU=pmm0=ul6d zx|QbT_qI7bA)I>R;7(5nr=B>t(-Xp}Cl2oPgmCJ^4Wa-1Hm47SQy(1M=>y@^2M2fh zKsfd71)+0&+c6}}@lScaDDW%Wko*`cL%p5l;R2ywEweE%fM6e;oWi4^I7Y@SF#y-u~_zm|u%qpYq_;TL)kC z;B$a~PVi4|ZFumD9=z?rFM04a5B`(~zwW^sfPYcwPi%GNi|Jhi{I3PRXX}KAf5n5l z@=N@x2S4E9w*h|&f`ooqOKkaJ{LUi z!E+w`1rI*v!9U@_Cp`Ek0Ut$qyafu0@`(Nc00SOhmtT@L+#DpA=o)p|!MAyE>av3) zX%Z(C4RNx^LJIvKKhAG}=umLatq2{;uY*%x z_anV3`&2JUjn=czK-D?1lpUIRe18< z|Bt4f4eM>eDWUb*ZO8C+J~(|R%hZ>tC~$8Gw%;;*_pMvD-ZT8;_`7@f0sIYzf9%#R zJHrnjzAf0kbNDSoKYP#ZjqPt5eup585@Gw!tsl+}?;+OiUMjG%fcy%^9B4(r_;f+aXNT9&V^0KNm)H7`56j- zJ}(aL$4QwxIODtqoo(NaJ~{Gq$m#5xp@!Fo?-G?f4L$tX&+is(-97ZP*Ka?!{r2HI z>9u`$n25WF@7}s+c+b{7+wUE|Z)Q~26B zd}`;Ooc5PYw=to#g1d`#8elUWCYMg8zuiZl9Xy+U2lr*ZJy;R>4f^Baq&{Dld|vFz zX9xG=B##d6;-r1p9$Xz1o%p#pnQuyC=N1Hw?QcSR=N6V|hoA7cb4#`!a&%Y^CG~Je z;v4kG(Izj?OZvY-m5JjdFAkpN#lgu7<2)u2ZBVdc+7$D);L{T4mxsvrmf#Hf%V+L< zzuDZwh>(I2oBK|v<%eG$eivT3;Shgs+!)>kJ4*lHAFuFUT!fzVBk1D+V z4zbWTZfw70>zJZ~9&PU%K@+xjR+hlLO5^L~#x#5$iZO&yDPL~PD+l-G#=6SEnPx|a z^8d2X*&R4}s!e`nZK;=~+}xMaVe;bOz78`^2lsXOwqQe374yyXd`05iHN-xdOAqDp zO@V(C&;(9i96Za5gQt0UW$n5>BEv6q<;7uvzl6SP!VA-XN#LIpnLFN@rt1Q~9x#vY zg+6`-nR@_%IhG~*NZs50b1&Q$3_bh8&fURL=+#~DyAd2d$>S5b)b^FzJ}nb3O5BMa zut07PuB}pzgC55}W&eWE$Vs|fx%x>fS08-~FkCv`i?Z_UIVo3D!y{~<+_-@f^^V~K zLmxSZiecyQQ8ZtMtxWA4zF$#(GD&YdcrD}9lKNMYa+e>P_WPvmwHtk6ZO3UDh)>}h zlzj2?WpGZ~wqHrXsecX*5ykpSU2t&fAKTPw&*fxKp)u%>AMd9n-WM=FkkDtmpA~pJ znDgLL?gc&5yvZtmLJ?sU;X+$8Z*7aBtU_eG|TPx7PiKgD=Rf=_-N{1Fe% zGV!d@;TQ#Vs%iT4mAlcKb^3G<^ywpC*}i@Fz^&W19z$dK769h(eb?=a`n7W#TOQko z?;iU3uiW~^t!z-=gEqyU;mO-iZGZFdgIn+0z6<7CL+;6hr2T#~;)4C|no4>lTK6^^ z3!;3kYhNC}b_Y)(ZO)G}^8FU!$9hi7W4nycfsdoZIKHBNir@wOehQ(SALH=-7zbth z^CsI*VT_%fRIxeiYy85ehTnwOBaq8cNcaG|9$Sy0e%rS7#`7Yy9caD{-+te=9HhK! zcy#EwPu==fNSRgREfRJLQa-}4@Md-$Lrd>4=)DoJxipF31k!8urIWYJi@kzoU0lW} zhdnaxkV}m_PzDnM-wpYsbX$m{5?P9%S3cZ;FpB9!)Lkuiovt8a&RXrrU$%i z*f@5y8Rt{mDXUAtr@_91Go1>5F?bPht!HkPxy3bn)1vPh$}iq}`(M59|9Gx)>`&?+ z`>D_WH=PIEHFW!~r(gQ&?EmtsSI*x4XIC%1T+z8i%x!&TWc!DH>&PGe`#=5ApMU1a zo?q9wz+FQ>_qpGEak%q8|HqgAr+>TSFaOW~=NEOJa@WvrT;1~D{@{z>s{f}$fBx|D zmw)^7LGX3N`+LwQK12Ao3w}m-_72#; z*k>B8T&&KzQHj-yk$)8P59>69NxiUec!ORv}@?k_6_}6zw_JP zQm^xy^*jAPZT|L_b_@MKYyMw0e|raPr_kTt0o!o=wzrJU@tb3Gc+2=2n$kBo&W5+l zp}ZO2oJ+x5=0f<*IT3zy4g^is8}^nt3p6=yaP9(cnX9-5-<-3+Tjmhnif_&(;2pfI z?;G}(`j-Bzcj^C4^S5`f2kim++dIhFx4nZ?_HFOrDf_m!v>6zlZ3oi7VgB|GUa)U_ z2cNKSd&`^#s{I?B+u#&C=Q7@oZ+pw!1HZqhaG7&JKjjAJ9@t;mg?fPB_72AE+up%R z`?j~tH4y(Ph0C15kKwzGZ@hywec!Nm@KO7=x73%!XT3>$)?56xckr@(+gs`>`m{{uy1<@FW9%egBR`F z-oZ=uZSUao_HFOr%l2*W;2ZXB?_ekDL-J>D%tY-&xt#i;eD9QW<&eI2BYm&md#A+r z6R>ahBHnl69pZf)_TboS`o3N0F>Uw5O~6j(<$a61-;UpJgWCh=e!msJ55Z0z{I0xj z5xR`y9=Q9#&%5M(i@f&-KOPkD-T!?Lbn%v868Tm9zI@*zeBA}!UVHa9uoc(g(A<-X zopsqh`<~z%l|A36uH@m^C~*$MG0anN9G~L*UN}A+=XnHg_sxDf!4!7$!Cf_vUfIQu^IWB=WS-GQ*oD(VvPj`6qQar}~acjC=(`kl~Z z7>CO-m;_h(p}*rtrNdW>1mu(O~Oc!*2$0#DNlSi^7Ai5ym{;6~wEx(T=#~%?wXljC7h z`bN9t;sa%@J(Bn)8Q(u25Fd4XSD>rQiR*aSBxCYX|Xi@_;nS-?KryHeTd`=9bu1Cy(bTkF$@>VLiX-DA%mH za>TWzEJw7{PFAEzedXKXQQv>#eL?Ur8tQL79|Rv-$9TyZ^aqQu$?r!@@W1)|a7!S4 zH6C|YKa*?@Y4b8WoMj!;@mx<`XBWz`$cuB8<;ceexQ1)i()-#J z<~CpmUBfHtUWa720v3x`+Us36`4zM5;_PE?DDk773ePsVkx~w0@jWJ$R|Cl*J&4A* z#7>JOcAiAi758LU+#(V^$|Fsbr?1h9_)r>)sL7=|J`^#50VfjSNkNndx1Xq#&Q}_^ zXlk~BQ)^Oi#pSNn1Xp2GJz(7DDLYD%{XuF_GCB}CYaQaMi`fhF=g!VPI``<=Gd{`5 z&^GHJ;zQw?v*%AAKjr%udEt<4*f|tm*`3mdsgN=v<0Rp3^>(t5giqP|ldTj=D!o&B z5S7|uk4{PexV=&KKJxbTL*ewE=XhxTD$4u1BwPgd7dFUOO7B+LUrr_xwM3L8I zm|hF!_7QVQRz`iX>mERCO|sJ^mlHE#PsuqW@$M^Pcsr*|T{zFLoaMyd*)qoy{l|HxLOj2o zQxNvhYawzwK7r^l>eM}6=;0W}ts>3k45tt+p@>C%jj)rQdGV!Z1E?4!NLr2=mfWT| zDZ>87Q=we!u`A9z+U0~no{X57qCRIYnhe_5{;N7s%q3o8XH|)bq&h zn4$>-xRwmdIDcMHWm^o}*lTRwD_#-|#C`1gGq+M6$6+RN%J@W)XN^z9$1O0u56N+u zGcY!g16h1VU;OEat$-Ratk9*dc8kj%4r>5Qae^g0ZYw7vD^PGqM$aSh$jhM%z%O?cjLv;P}CP#qr5Pq2QI9I9r~xP}2v zhl}QyOYLR_mvTrjD3amel)d^YJU@UP{i;)FNnL)Nhjt|=WPoM85aJLeH4*X-Ao;m} zO2`c$LPMs6QbhKnhD?ZrPjqU$;N!{7P?IJeGBIJPP(0vM8$g8I;ASE0`{o@+X(9)U zK9LklLJ^ssk*nsmo+i*OSCMAXWQkJ_q6@Q$L{;PbM5N>z9 zDeO-Yf!`Uqc2mOvG3h5oZPF7-e`?a4w8IwIT*1kj?nzOb@^WbdYB+UMud*vuJ&Gx6 zz6SNDmYDy9DPt~0?SQA${i&TTM?a}UQ!5k(=0dOH zdp=sSs{o}SyT$|$$&AZ!rqJ|NmHK5FGnhXaEp#ql#z8Z2!c)}z($g)#K1?=ok_e7W z?9XIz!qXY#xUbLYLMdP8qZZDQDMx7X))v8P>rh-~&y<#sOcn-B0(XkN-RQ6uK#!9rNPMC;v>rXNr=BSEMV6x* z?66f0ZV)+?F9neUWK$3x5|;u@je~pgpu4u`TNQLgT-OPGcWK1?7t0Ms zD6GqQbZIP}Vv2(q{eW_Cpb=|F%Z*lu4n=bM9s6(Yh``h-uF0veiqh-+R!s)T=~0%< zDIwSM@>3&mrE_m&r?YR+a)s2Q)b%QahY>oTrQgNMBih6%Ovhd5b*1 zlfN()ApKVy&5N{(KFPP8Uc4e|i9-toC`th|@gxutYfl}(!uT~w8c%P=FZjk8C%yzq zSVfa#g(cO4&U^Nb`ea9qq67i5%p1F&TwpKyM8;xdtt%Al_gqtFZ z1q@5+2r$n=Z&mAUy%tit;iKqUr~f4#@@55HKCe5jc(0-Tz=6?|eGN#LZJK;y>cP!p zPd%}J^T>sXS7*u6MvB^^X2VQfmu>lu>{iB>k$Boj^|M=wrDhAqZYRpDc1BM&)xitb z=Ycptp5`-AZpBs`k-=7T0R$V)>JFy%A`?tahaW7q0j`XTG0X&0GeX`vD3(%i6B-;d z!wHLK2a;bC;|KZdlM4#P*I5KtjTj}6rFAN*nbDKH)i}8`Ozi}5oOmc*uqU!+4a~qu z&@hlcA+M5Ib*B?=>floqA{ap_2Nh6F&P>J8W3(%%rKBQ&<_V5s!WblRgUh5hPc&~d zSCa}l2nX5_h)|q*Z}i1mboGCX*PE%Q7)VJSI{)zRA&$oSXyqK1Y;E zZ$yZj$zBt&DG!-JP}4`%3yCT@=JC;5+Xhq+L0tVnV_jsuP@z9SWvp_>yael=26%xI znfFMh6B^edAXZPzH@JmFb;ygk!SnCOwMeMeAg~;dLClOAS*%+q#F{;xQD_Mf~x{QgFG-%|X1pC%2^7 z50+bc5Kp?DiSWJAwwq&jDSaz^ugC5%My1_09h=hQLg%Y>*q1)T>Sp_Sct5VNX|>XN zkt$67bVZmRL3AqS*Cc65ES_m<-n>QVCO@?IZ`Bc)mbnE6O`bFnZ&0%zOIR~e?!dgF zCWz!}Dxa|wHGg<`BWg3HYPG(!GPsBr|mS}m<@%v;eLR?kqA;u+7W$k)x` zTPn=p;oId(t2}R0PKkQ?zg%Gwm`}|A&2eEJGYV~7xXQEMF=pPM_@)W#D3T-m-5PMV zk?fSU@a2Hto8uVc95$GzqR`PLYcKq0jbv|n(6{HXWr%Azq#(yF>r8&wAZh~bGi+&O zHa)Js!La3K$JKidTaww7M%*09*8F>IN3!EV-##j#gTDR8)paC0(X2iyv5|tlwjE=Qbe;Gh#f*8{8HSe6BZB8}sGIQc$%X$;JxsarU zt3$nIDc`$=B$i9AlP#-JGJ^-UA|=&q_7$gl!Gfdq>bjo&1^{mML2s@f!OE1^WBtfX zvL-aHh0;G-rDd$mZz|C58~DHB+tM1@HRm@b+}7pd@z6^gZ4oK=9$b4Sk99z9u6X&u zS@H6n^%Jn-`1`P*;2Qbi%?7@f%kReqezG{EPXm9Weu6ddX+ldHpAinMwZI7MZ5Xz`EDF^qn|<{nop1=1u1P;vbCL-BFAgG0xj&aCDwb1L)k{ ztD1zxbgqORGzp8jKf$rNQ{x9KO*CXOQ_2~;cn+CKh$oO`E|qhL%BoDiW|qKkVi7A) zNR%^|MD;JR<#HE3$-m<(LoBhL?sRd_PCMO!tmj}BA1}ID-4z38$Ei{^G@b9;1XYi!#@D4ZV5$L!^d_yM0wQ|*MR&$p_PlZ5fU+;RnRbmPtX4Ne>`r#K2gi)U34XwT;Opdx&*ADq`>2MqJ299$QmO%W~)~ z*30smVcZYZlKTTgIixj|O|+Q5V`D-xg?qGJ7>=L#8Ad-@6VTZ-P{?dQ%?=7-cZ%YAhn+v1$D3ogjmHP^|&RTr3@ZVzcz!xg5PRZ@&Cj8v= z%&B_40nspQtyn#~K@|xoP2arRFCkOna8r(w>zPw|mAi4o_4&%@a|3 zHHvD+a@yZd2X;cG!a}>EDz|0zhF(m8!EKRS0dt>C_0S$D%Jwq1<*(p@(3wAUQ{6EKx3pW;P*><>*oi zN5*MVysduue6pM4wfrS5O>AwT(uD0gF6U*(JZxWy!bP5@jXUTYVF|+q#&RiaMA+m4 zEyE?wq1-JnP8zQzPYJEz9V_+9qU~n~C)1@WC#KsGxIL$QoT{{OH>AtY71aPJ({vqr zJ?6@g`iD#BIngMpCZ+FWRBe~KkREGngh53=kA1ID*RIf}{+LZ4Vw{eUvAc`)o5`{GNo;!9q~%@5EJaJ2y0W50NAz? zVnZ);6c^RjqAK=5T#Lfhs2PPzm9=OQ`RB*C>Y_qMFL5_g4SSj@%UBJ&vW$E;Z1{wb zdpqR)=qZB($YBSetqC7^U=7J-6wm03KjZM+)te5#-W7h`!e?j*9hOg3RZPaB(uqJX zqXklyi0mGS_IQX@x$6*xsC%nk?Qk;~OF*Lf3$Sk?(v5>DmRpc4`3#XGK*EMmWPnNA zMB-6@4Et}J?G82|Vev3FK-cTA2<0n=AC?ic8leFNO6MZ%*xlPG)oL)mXb?y()(UG; zsVS^1VDl#9t}lE5yAs32N~_dp(9@F%W2U+w8kEX5%CD+HDk7^NOJ&qCIU|R(T!Hvn zS0vAC^)^*3sY@wMh_qe7iVMgpsxDbA3zZtlq*|2+Pwb#fR8-`+(XmT!&WEgaG zvNYCx8tW+TwxjJ&sShzJRF)P{`QUVf(JkJw=g~Ik~9VJnkj4d_WQ0xU(s;gIMg$0|Xf3;FYKdoHGc_+}|?;h8ED%BI@`nV)w zrrtbVYIIku074CUAWNox_3F9lPP2)M;v7qBOK6@zT2Em`9ZhU^y{IVZW}|YE)RHD= zjwfm3L}aEyWK}{_f$|Iht2o$m`Xwjq+%S5CB3DJ$1P6{Bo-yn9JJu;YH zF&0+;Y)1-u^d!P}O7jTzBjIQxcEWrwN+V`{tbq-sXjjT;F=2yG+>VU9DmYT0bsB0{ zX;dpw^N9mbhDXw)08><;eM>Sx6#u2hI4iAPh%m>t9d#+e?T@9n`vkWamQQ6PEFZTw zE#)iyw;%V!>L25Ta6D;ge2__%C|y_0vplTjJ8iWi6}FUG$vHu2g0O8_v0RY-lh{vL zi>=I*E3L3bVu?ne71q4W=i^30cu_|Jq`6sEyW~u<*@kSLxfYHdNp-l{QHA+go?p_w z1s0&8wh_tAPU}G&OEidnCm=)X*yO>EpB0$4@>qKYa$fK3JP|M~~)7F4jKO zCy0O4LZ^t1kgHs8w$NJW9R&FRL1jD4YHc;dlr`~W1jUXLGLSS2*l(8^`x2(@lx{QO7VB_ht)ah~l9lzP3szo^Ws8vE=6OBD|Fq631mF(0i?A(;ly<+@} zXuPmp*f*UFf)<`!ypv~ zYc5CcRNBU8&yx+cB{i@G*h7w(Jkx-g(mEnriYSjnuq*vq2P<(|%e3r!<(#kdo`8B2 zN46&M!!)0dFiwZs#*TD_iPphu)-h5|ur8>f)^k;mGr1J6Rd~KPO!Z>4Cbb4TxvXdw zFb>`1$blPbSS~eO{Y5I39+fH!TPy>PSL_Xu&%IKQ(Ic7oOHySGnSot5w)Z^^w;+Da z)IBHwrL$m3T$RAH3VXveqD_NbbMOhyusqjj=!%nppdgKYrU-x{TN0M}&5ly8cm#ufD zgS2RotX9x4(FTt;<2mAmhD*W|3E=roi;7ZtjY^CW>tku+=5=qy8&H*I3!-mXHWg=& zinSNbF6r9j*+5&HCDhN*YVy;1=a@$>J|3Y~P@6}Ept+MFzn;b}td`cJ=9spMML`DG zF&7Ezy4ON&Ne`;qEi8HvxUCW~4iFJsXnb zXf_4>_7GvAv0l58^FVR5i7^yYhC$@aA^;oB^=bt_HppA7u}EFV%59bxBe^ymhNEhk zCu&GaGDK~CAfJ-gN+Q_%j9W{DThql$N?dgVPf)cnA$8YeIMbE596D=eLoX#!h*++8vvT6}v zT8XMKq}v%spfKrB!8DtdS9HwQp~F?eU_A!cWciV@rW<%Qx^a17feTkMj3g!7kB}4n zQa@Y%u@I*C>(gPw43P|2du)S_tmz!Ll#Q=(5Ni~}Gkp9;FC!@}v}`_9(ma9&c@bzB zfhsNFN-)b#aEj+1$;(Ia%?eX_oqTJU61Cnww>mYyV17)IrTl1VBpPT#SG z-l<{a<7rlHn&qu9YL|z1u#iuMkBR5h+JT%D`jw;vTkZ*3ZY4Z=G%QY`R_2ewe*19% z?~(BSaAIv{M)S%f6q9}I%uE+$!{N$Br`j=oZiNdI3rke%4hEbH`QpBPp81rBbf$f#Q!8s^#qb)>lYb@^%e7Up15U&9d5fKJj$}`a z7oe4DBnqQq7T~o$BKC^hZWJPyplj}EAaBMeT*8V97&(}ixI@c>)VWH8gM#QJ)o_mp zSL0m17Opn2%7TM=b&QskF5B=T8oTFa$H(KbIiLJAh=VeYTF&P`RG3)CIt{Mys9ci< zl1hUe%ymt2ku6vwL9ioEjU98kFawDB{)7fbbM7Y(I?L59rtXD3#(kg z15I3vtnK5`U_3qOjEv4qn^F+j$KaI^x#FnsfKKGdsPE}kSh`xkIAtu%4NHzs+;Tld zk*J8>Q!C9tQLagxWnW)@9Nps6bxz2*x|x@A#MQA_IaB&opsvJK^;B4ge3}?^#TpmX z!>X4qFRD003Tv-*)izg$BQN9unyL?0?-35OD| zNKz0I<%NSh$WKSscwn+{U|%}9JggC`(jBijd`rGG&HQ4-E}}H+Xxa1@ z2G;H{R<5MPxgb0`)s6-O6tN+7^u|NlT5WJ7m#2TZ1hgu(GVU;OWNK)zX(&14%M!_W zEW3oD9Qoy>&z%Hd!4bp?^Rnc>A?b>F4GxBE-+{xn4F?c~98=j}TVz{>sFWp)vGUkS zk41;0XXXJJS{NUh=BG#14}ORjTQl?k!qh$zkE#$+L`@4359slPE)Hxw@InY58bZ%l zV~9d>Mxj!4K`4Ukt`R8>@y-$@-6}V+I#_O{!I+^7EerZd5TfNa1&T!dte`IyU~5p6 zA+Bqv609II%kY&h#sr$d(kiGyeYfCT5oH#>Aq4}b!Zk${uf>A#UN7>nais~>ITErt zDmWvfu5kGAOomHbd*N7PS?FSozz39I(gsQ^vk-wk=a!PC5={J3aTG#$z`uFO4CazQ zO=d8=pQyVpb4F&HFo5dn^p?VU7oA*?xi8$Y_o&EH^-n!}cCatp70_2{pnUD)HHdhR}k+*9|A(*aM`tb+y@+hEf477w$ZP5XLA8HkwEi zIffJiGvz5>;=9-=icHkBTwA9Vrij+DeKrn@DiP!fcL8H|#U#Q*O(I@i1?o|V`6Llz zO=v)ikOX7lI(@Hu!h8wuQ3w(ZNKp&P$ThQwYUpTCAQYFkzO+DwMV7j3WN07S zdLah%f+80)CyCe7gI8ozpP6hcChbX3VOdcsytAu~Gbv)t(&&)}JSYy_$mPz!ytZnj ztl*MLsftAnxpsUVlgOJFCNZztlUPp-FO$-s(~yZ0hh<*nRWBe-+}tGu6eDwLvW7!Q zq#dyW{n{wQAg?hUw9gCaPWu%3P{ek?>R#eW@z6}ek{pVtJt=fz0usAO*;RT7k4Fem zMlQ5U(w!XJb^=UJa+T>RDP!qh0&<0Pljp^1@-08wld$pKW)xTIRLas5jmLzh(5A<- z5AEi~<1?k@g%l)gu-l$kPKzcNtJr z^Qo}YNO3X+by`KUiQ^o`uB~8AxHFr=fg~#CHFO8}fjRt5*LJe32-N?yrWUPg|SVHqNdrNY#>?zZu^M1-<0+7JulFn(7(31lq% zn8BSjvc?G_O`&m3+ES&Ah5A{{I6k(XF1rZJ99&8(v9_#5ms;_#;IyenPfw_y^RLE9 z!S#1X!n9&yY?LA$hbnf{NycIxYYg`1C<`d{5J-}$R~C0_5T|$aDHP?PkE|UNrhm*v z&u(b9^_Bb$-iAAMUp}rE>wXch&*)G2iwn4eJlqxh_!!(vaCgAH2QK^kqg!yj_LU&` z1$d0ZU4r}B6KSlQcNnMTk@@oP|K=Uie+2(G2I>31aXoZE$NRtUgX8nIVCXG;??jmN zC8NRD?lQkS;D4_RZgPe`s%96))fa#ol)s{!iQYuh{pS z?fa^I|G9m?&%W{5=K(VVpIyN*^AG#rA&TUI4G7{83HZD6i-xk#lky7tAoT;M0{27e z4Nu9UH%d=vn1ZIiQeNNT$4-R52afg21l(b`N8sk*o`S2wt-(DD_dMJu;chRKOB#=6EP3xBPdG3|CYe0_;H{smFM*myghrJn=58IHTnrr#ypDn>~@FM$rcwT}(dThb2QwO#R z0Dr{d)ao@9onY_(HvYAtU`G5BT9+IuXl+5c;WK2VN8`NBnhHz{efb`em>3)A!d-;> zdANTDH+|^R!$w%=Tg`I* z3XY|SnhUr~=4k~iRjN@dUp{o{GS*|DU~wVFsurx4)Q+u7a$yB72W+&pUiW0}Zb*LhQ~<3LzWncfe7qpLsj};Gv1#iTC^Aw!`g!yA_TP?bN++ z49Dget=#_w$4>e4aKzTAA$RMI1VK~2luz&{x;m-f%_=jFT(v2+%Lm1M}7tF zV{rdH+zW931Kh{qeiiN$aK8rkcj0~=?vrqT5AG-7ZiCwn#~fwu?t~kLqqe*ej_omO zz+G?<-EjB7vHoS1O2yg(_hWGHfctT{5bm9D_rm=I+xPx$q;NAlVwFr*D9ff-@+%dT0 za3|oV;ZDLm1UCcsFx*eUoq{_JcLwe(+&Q@S!JUVjg`0zW4DJHl<8T+@ej4uma8JNp yf_oC~zk_=NTnX;)!+i?wAHe+<+;76&d^VQAKLW~&8>8LCxG8~~68IsM!2b`~3pbPi delta 1203 zcmZ`&J!lkB5T3W$yX;;zw|f`E8PwboBxwT5B2nZpn^P7W1u+pD!A83j2{uB=Er(4I zJ>)?S>_o6r5W!XrwkgFXm4#p>1aegb=X-D8{VY20-p-qE-ZwLEW)Hp`jusz2J-74n!}7;Bf{2cNq5^*}@cKGVbkZSexJ0S{Vrf>;`?cRrsZk_~Nl-_~ zn{ID?j9o7gIhz!)Mznh(`#uTD;xiUooVLL;JHjQF_BHom>-pN2wDo=1SjNFGoO$PIBmI-HxEV3+{sw9*8{LX-!NhbQw zFjVHQ-6v83ExA#u1-;J5O;2ulXA7Vea^G8+G1-e4DW=O6e#2_WMDoVuXRBMT+a}Fo=)kU$wvk_&s#C!wobCJ6mg@J0A z>1y7mPPSc2LqdG;Ugstr=6I5A)xZ|feceeDoICF4gIh7P5dR{2K_@HbjnYqgK_{wm zJTAyF_pO+y^!;_Cvv<@04w=q;_EbXW4Uq;h70~c1hg>Bp_{pP&DnR@rl<)jAMF&_> z{t0S$KXpR0te7_?ngwhIN3X1yw=4oQ2=Gm2Lj)`4tuKR2fMW*D4|0V|xV^fv`iN+j k78yXA5RcakFOWgTWM#VE4etr3`*}?iFe6^~%N?=s7wh(WF8}}l diff --git a/Shaders/WidgetPS.cso b/Shaders/WidgetPS.cso index be3765234d5a891625f442451c167d9cf94cbc87..c90b77cda01eb601495558934add71113e15e1f8 100644 GIT binary patch literal 12360 zcmeHNU2IfU5T4r~XqPT*D}@RKjzmZ+u-!_nwN@8k0PsF4?m}oS?U`X)ES4}kPlO!4w6D%q(Ce-h{KjqT28=F9C>7C8& z%$+lL&N*{_?%X*y)O#pce&u@j*Uh~j#edwEyZ*~>gPMqR21M3?HUr-TmO$7H{0i7s zB+?UV?}$L|gl)VinVl_#4*8?0fm~M44&_yCPo3)Qj&`f)NMbOVQ^D-mcq$F1$-m$K zR8t_}Z)n=z+$hu2UD3nG(zv%6SO&D~fJs9JA{&5lG8RymfFx(yPkyv|gFdXg)$#fWX?xh}(bt<3@v_W88bsDsi7E3~dRm*v@6R`XxkE~dJyw|) zJms^1YBaA&q|~<6vE8ie0OZlw!B`%4IbO6+V7qOe*W{holof*isvC`j4vF76*1`JV zo;~Vlv_n1V4+OlPEuknYf-~rk%|QB%u*oFu{{!HGtDK}RtXdB=%hamvyW4R*^Rb61 zV5_y4(I;g2Ok$Y}54H#FIO)OerQ5s3Jn*)^LHq93J1;P9e0`*0rgHbS=PrNo#?J1` z@AlgFuxx%@dGM{r=ZkE0m#!cWg!YH{N;DVSFVu7;a%v&DD_i*mQI2fP(|0Kav+3+a4jM*|Cg3bo!HIPGL?S(rM6sQ`p~hJte^xzXiBzU`t`#bk z8K214nRS}ko4JOihE%Ol?7w5WRqaDEs<}=Lru2bCZV|8SOrA`nN0Yg@nflY?CsTvN$$TX0A4%)T^bNGc zhg10x=ng=4($v+BG@%}!G<3&xQ+IXFv9;DjVuo@qlmbsj?*o zUDrPThAG!20ri<5v?*_9?`naxz5CL1+27zI*)nD{Em^l~x* z?DGTCQp6&SpqgAX^!;+6vIw$rF`fccF9@3?QmGl)j1tR^Y2B8WU@e;VBgU$<;dM{8sJ5+9-LgUf5lVy18@w9 zTmuS7*d$x4+d!%36ElR9KX1+)z!93a8oLN=VHI1kqs-VcpO}Fdbt!9umXf(RPPR)a z?-tFt9}M78nF|ZiHmyp7jO*VcHPx(#b7#Gj`M4G~gD-a6YZ!3<7WII0{LL{FSvPO| z7rognSn(cUzJE)3{S4Q38J@jdTf}<->RuReZMYtAJ#gPVP$j#JxcfY6(C&oeMt%0) zaNjC-4KKR~3WZAU_%HkL-1i1>j3>(*jJyxtl`gE8&#&>Dxo)5W?gbj}2cQIg`}MHF z-TAZQg>w+8d1pmMc*BZY@AN;RoVuslI~d{{V7$<0vY8~V_FeYR6t-0)W>!r@glc}L zz&aVX5NsJK-wEtUW+`b+J0EJa!)}aioQ7v-D~yUvo+T?93Z4J~feLGmd&5Q`7c(jL55W;4 p-o=@lGsltRwhmYUDj>F05h?{0j!e9^n80 delta 119 zcmX?+u!hCRCBn%$q9=fV`^iH4a^0j;&u04FV`N}p&|zX=Uew3_w8>Al|?@ z(M*n!VPfcW&Jv)g0}#tjc4hSD;bmZ9=3)>4@);N=uVGYRWSM-HQGW6S4VK9YObU~j LI41XKaDbQqsjeBR diff --git a/Shaders/WidgetVS.cso b/Shaders/WidgetVS.cso index b2ffd27b8005c65b943b0a4a9cfefa3327956770..8d67974bec87a68209aed908d1bceaeae0f358c4 100644 GIT binary patch literal 20416 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 a`S9s`0Dns*AMzf^dm!(DyayJb2mTB8V9CS) delta 831 zcmY*XyGjE=6up~dA4w!^l5UA+5Nxa@;43J`2aAoJ2Ga<(HbM%;#$5w~T1aHXRtv$x z${!GaLC6n8EUZ&oc<#(>Oa^A}>)dnC%);v%h5eDVj1`u|10kUx(E#$%d z7c|7Bbgp@+@hm9mwc(?x1hJ6NU=xd4cG?IDJF?~mQ7s9LMVB{nj(8mjrV32GFkaWS zSO7u9QUvPBh~%DFmetTai;&O(7cX!I!wcgf3?hoxUI1##3%eX~9JVzauE)2)NIsFW z=GJ(`0-lnoN0~4#H!$OzSOBGEh6T;Zmhs$M5 UndoSteps = new Stack(); Stack RedoSteps = new Stack(); @@ -3761,7 +3761,7 @@ namespace CodeWalker { if (ProjectForm == null) { - ProjectForm = new ProjectForm(this); + ProjectForm = new ProjectForm2(this); ProjectForm.Show(this); } else diff --git a/WorldSearchForm.cs b/WorldSearchForm.cs index d76d6e3..3ee7ec1 100644 --- a/WorldSearchForm.cs +++ b/WorldSearchForm.cs @@ -201,7 +201,7 @@ namespace CodeWalker sb.AppendLine("Name, AssetName, YtypFile"); foreach (var arch in ArchetypeResults) { - sb.AppendLine(string.Format("{0}, {1}, {2}", arch.Name, arch.AssetName, arch.Ytyp?.FileEntry?.Path ?? "")); + sb.AppendLine(string.Format("{0}, {1}, {2}", arch.Name, arch.AssetName, arch.Ytyp?.RpfFileEntry?.Path ?? "")); } File.WriteAllText(fname, sb.ToString()); @@ -212,7 +212,7 @@ namespace CodeWalker if (e.ItemIndex < ArchetypeResults.Count) { var arch = ArchetypeResults[e.ItemIndex]; - var li = new ListViewItem(new[] { arch.Name, arch.Ytyp?.FileEntry?.Path ?? "" }); + var li = new ListViewItem(new[] { arch.Name, arch.Ytyp?.RpfFileEntry?.Path ?? "" }); li.Tag = arch; e.Item = li; } @@ -239,7 +239,7 @@ namespace CodeWalker var arch = ArchetypeResults[li]; ArchetypeResultPanel.Enabled = true; ArchetypeResultNameTextBox.Text = arch.Name; - ArchetypeResultYtypTextBox.Text = arch.Ytyp?.FileEntry?.Path ?? ""; + ArchetypeResultYtypTextBox.Text = arch.Ytyp?.RpfFileEntry?.Path ?? ""; ArchetypeResultPropertyGrid.SelectedObject = arch; } } diff --git a/packages.config b/packages.config index c1709b5..51f22e4 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,7 @@  + +

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 literal 10500 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
`USy}+H)1E_ zYiwe60o?c&B@l`IKW2wvM%-3-K^h7U>F_ew@XX31Q9!~6wxIe@LKun21}RV_1_Cz5&SJ6V(C6z(gM$Wx+n6{d*Myf#glbvVM94)nci6vg zk-iQ4R*wzFq*B$P<)gGb^ic*%Lny60iL-4%6C5;=8Z`!&0m@XQsf8aVFNjm|t_4TA z#5X}&bctY3MwXDQaV4K@_bw5s1D6`6-_zVxs^zJnXx#=g)wTGb=n&(5;Y1% zVgM;-;r*waaYkQ3r;VM8s8VjHq#L(Svl|;WS=zF)p?|1*>wsNQ<<UBiIClNU zWf)x8Ry-Ge7`$Ex1(NJh2655c^BOyJoEGWJr45%{N)@az$=8Q%FfMh)@1?V@>UcfI zDAkhe7L_w`preFsEMc6Mb!DHB2fZ=?7f{rmWF>mbiaP<|QFi2ts7qTIkGjU&Ir~;S zQwGPdfJjUPTq-=+XV?z*p`chHMHSVDg->WKs%4Sgr}v$nFN{|W$DPc{A5qQXYe|zs zkmPNlHdp&#yey3qoHkN_^x6$bElaJB`fyV>y0=uDnUp8dc!~~td$*vRQ?+bYmv&APfS=8?Ea5{qly~xpIo={BEoOv-?Tu4b$ggKp` zOQCc@aUz}M6HRblkA`^(kAvGF9DdV1-{Jz-$n1`@5Rv1VK$zaviD|QDm7SUUM2Q&b zWJwZL66cb((hWiI<>-u1yHFKUQNf{POb-EBXCPpXO_s;a~jwzxekZ zi2V=$96$SZo_u7cesFQ(!vO`TWczzA&*cH(9^n6D%hKp`2M3Yb9;V^%wBk5IfblexEYm zfbo-A>bAV8n)&lsRj?e^R7*(QmNVY4#+$L*s{%_D6Ut;ax7L;y>~7ko&herK4;>kM z94m&u#_q6$sY?GHc;DRleRnK0!(!@wj~MKqK(C559WzrHSH$a9>Y(GyCtj`i*Ee$P z1IGj6Pqo98t;haxC63Cx!ijYl?6RFl5)3ui8CI}u(Zv9b1OxdIa8OF7fo9g!g(q9*7S({b4AA}?|V z5$!b`W116k7|iY%ldx&}=HwjiE`waFRfYJu?+ zU$VLnXUAH%%DK^{&l-GmhR1QtPuHXT(an*3C65iNT$OE=_=0CO+TK6hfB$w& ztq*O-cO%_)xBIpZI$HUVkQ=?RNHZMA!AtdVE;x^pIo0EGa z=yu(kz^)C>JrDUh+zUeA?;gBuHE>-{nuRB9^LvLIyRE~~QdcV<&)x8=13dL%_;mq( zU4ZWn@ZAA^Lx6{PF`u3Q-xJ_B2KbEuzBj-}0X_=wn*#i%06!Su^8vmX;QIpnNPr&< z@Vf$hF~E-o_>lm=Kfvz_@CO6@Xn;Qq{1(*XB4CF@=K|R7@^wNZP3mwAp`GBd4$6Mo z?UM7TbcBY7hsE-P?HD4CJUd|*F9tkc4)E6k{3`+er2tR=V|<T8B9pIk}@XrMJs{#Jm0RMb|uLt<00DmFCUkUJ+1N_qgeks5| z6X2%;{6c^~8{q2!z7pUs1o(vje>uR92l&$g{zQPMotZvQ2Kci9{&aw^1o-^{ek{Nr z4DjOt{&0Xl5#YxH{K){{tew$5o3%6Io3%6IM+5$BXI9?606!Su!**W`@Vx4_E@aqEnx&YrD;Jblm zKXVfVTj%`P52&^m_3WU3+R3}0rC)ou^E6Tzo_1n*vqRF;P7H5$NIdPt@Med^(;m7p zp6PJk?c5*mr#%?{V1TDR7~brGd}wcx@Oia!G@z$Gi-Lc#6X;le>eKM1Px7HY4R87+ zp87OA^=W!|5%`0`|Jlwcz+VgSn*#hx0X`q#X+I~0&*e_DALdK@F}&Fi@w6YqoBa?^ zJLmYY!=3G12>8>^4POuNn}B~-=nr;Y2=Ms;Z+?mV`+$F0=<}UR0X^HD;jaYvao}GU z`ku~b1N?~q|6G7S8Q`x5_|pO2{5<7Z0RBzk?>b)!=%;{xPw;Pdyb$2e2KW~Pd?mnN z3-EQ|yD@%)eRhlm_zMAkJiuQL@FxQNQh+xVV+L%sdVpdc!kM!;c4e=4tp70lquH zv+Zn;?I1N-f|&M~<mQ%De-?OCc)3-hASbVzX&~-lS@F!dEQZ=$A+L8nL%k1T{N&u9xJPe$8t`-|sv$k{9cvn|$_uAE~Mi5?u@UIntIC1k-?lTB1eK$7%5am9B-=}tU<#LY-X;-cb zh_An#yX)pnK3(_fXr0UTbbS4XYkz)~>)MdprG&dz{aU1~d%8B}Hs3teRmhF5Dt7hf z4zKFz`b6#vt4`qP*PjQHx%Pm06lCk%0q7}* zGU1u&QB2!b;-eC5G5fNfo}9Z=$2+u*lRebk*cy1$H4#*1akP&x4yGN)(MG~J^H=l{ zc(z}WzxpA}p~LOM%uU)h4Zk|TGhf5gUzuO-a(ItI25m00dzRVrICuxdO|=J)zj_B$ z662FR58gqa6z0h}sdks;nee!BdoL1@$8w*aeSP>gAge4XQ=iNd1gkCmT!9+o_xV?k27HGDQt!>99{xM7}Vzm)sw zPq3Wbo!2{Pp^5!co-mGiTRPTN7{~m7ZOx;%ZM@aFmp6eQj7EG4+wIcZxv{ltSM}sJ zA~1+{dnX$42K53_?$c}gR;|u`PAKjKMMZo~k9Yy5xpNgA(+P0_gShL--66kZJ(&Bf z-2Xg&rv%@NyP{$v+>hYzu*C4LnCruDPwwORUC7;q-(I;VRocbEB7(nZxZJ{C_b~88xjmtoq(>H3pL-Hi=g-3 z9CbL7+lJrq-2M0+&5c0!3y^BZdoi0W`fr z*^|3HxtBX?tXEvWr&xMH)xyqXFt-)IBT~c@q6V)*I{#i&;JWUSk#(-CJ9kINQrMp>}y4;I61OzX>AJDp4-I8+V$>yKaFt?_1Riem)g7 z=sAexiR`pJ*4E*!k9o_KR9lehV#Eus~e>a z7a(G^QK&J)us%71ejY;A?GB|Cj{*z5l`)!*7JFM5mV2*_-md#{J1KG3M$ym%sC}PXvFmoxF}T1! zrBR@kSc(x)^g$Zd-iX$@)T?hqxw|CiO>98DN0PD7Bjx%d)l#iyUnUr{*MKXXQ|2=& z`;CJ#ChCzMGVH?)k8U8ypB)Do{)3EzjK@mHL0%_*9OQXKH%EcKG1qs)v4QE8b^NU8`@0SLHhfm!hNr%h zXEH7<-ixiSvXuZa?XNKZYm)zWZsEAq@En&Iz8K(H-`9oy$G7nL)adz4X82ve)AszF zL6vOVUg3CW9bO)GxY66L-n^@Ww!KrI56FKLnnZ`&bn8aUwoT#hc|2#m1DNm3ufD#v z*PX@__Ud(!yWF))Mp?#}X}7LD269-%#!sZed)nV}6Eb`QH@$wG^J^_xN|@ z-LTO!5078n!N)zrlh0ciuXVV}>InEiFE<*p$KycS$Osw+%D#FRJi#dVSlP(m$1QX+ zj%Bkr${NNUl>GhtGUa_)c)ql%h_YAk_g+V@JBiuU=Q~F*-=#bbzPqhCdtNNxuNk(}7hGg8`oW4IkDm z`Me_ZPfOiezSM!oUxOW{>YT~jUdDs6ydb<^>pYDVhNmoV2>zMQu&k8jUBNGOvP?nS z+SWG1fH(6j-o*01CpK?(L;S&Y#OFK4(Kc9r7Dst}+^$Z>Wo_yisq;71hjvR@uL=I; zj?iwYx1S3Bq}Xj(<`XwF|J7X~J^2`(c5d|Kb47IVX6I$#16^!Kutu zO8hG#%e8e&;AHgFgW<0Pc(DAo|eAva`$L}r~Jda=+Q2t1-d9)1a%m$BV8y-I3ca zVQ!Z5D3yCrX~3ha-YCM zNiQA*?#AO(zAKN%CEVlhuG}^}oOa`GXKp`e4&VX#^9Xh44tMwFWxa{coni~gIc%=* zOVXD!Wg6?hKDAjO~l|VtBYUu@}xCVVvGZ<31|neOcztreNx6-i8nJ zWSca+<;gK&mwR&Ac~WlAqq}o3$TQ*H-B}FqEWgpSZ#CKJ9}RE)6Uz@jup(KWmGZxr z8V6Ap!)IkNy!G>=lG_a?D`UB-W{h_v&mVM9ZrbiItL>ibb8Z#NAh!F!+AXWTu_VvX zelDz6=AFjGWc>ut#@sEi=^jq_+?M-n$JO4oIn4L$gkgS6X2NVf?Xxi6+hlgCH#dUV z^*aBA)OaTUI52BGr{2_ifb?eTl^AtgUjNK{Qr=ZI+O^?B8>4*~-fYa<^~#=kdpFWo z^`-2Zwq*Eho`z57xw5%`&!d-3BDT{c&kEKcBzTt7=pm}SkMwOxH7P%IxyKOi^u;Mqrn7ET^|%%&I6m^Sti40?aJ`9E536c zWkM(0isi1|kC(^$j0KUui1jmRKG>?~On;%?7H9l!qi+FS8v6q9>! zah&+?!9?Y!g%Go)eV(|7?=n9Do_LpeOtzoD&zG5I53Kj=vi6~|-VGntJ8jnRtS{q3 zyZWB+=|Ml0*fQGKisqMI7aQEv5e2+ygNEM};F+i4DLw0)jbNR-VV1GnEYF*g=Y|e+ zQ8Au+c~|g1by0w)EQZg@V)(QyD_e)sEjoM)IVQ3&&pyGwhPwpM@*fub^P+RB3zn%O z_{-83?uI>1p>VIj9@m&X()N0;zO&AC{KG5VJ?=s1?oPxlxn2ADJt!V?vyyHxY=>7R z@5Bx`X6)pyYd*IGG_qNV)$6y8|jwc@KBKy>#!RY#Nh zc3lMA40ntl{Gv) z4Sw11**??oa6$1J9WEA0BS{Z1o%O z{PlXaVmaUbdDeG&Y{qgLJ}f`&!0;@;^^+@kwj%F$q^_qL>e}#Oo|Mt>mM1G~CC^rr z+w40lYmmk8FsHZ;P!_{e7Unq$ zh&5pH+wLdys~a$2!y4=O*(w}sJiRmH6Q6&hxljDf%3rBZtVo+2<)dJ%AJ(DaL%X5g z3{Sf;A4mPabQg8e(=bjmd{+O4r~YkyJ%IkER_Tmh$(e%FlW=d{}=GlmcIq>P5Q zJXh+YDYxg*(>V&ct-U6^dph?A_(aB@&VvD-KHB(jY-Z(OiI1i%XQlkEa}+#6Sqz_* z#qgBn{rYGxcOH9{EYA+yVLne}dAEb*vGMG`)91u>4`E&m4pHXDxR~UHDOp((VMWss ztUw!))i0Z{iis1sTnV%ELyTRy8g~~ayn3G#)SgqTZ&a zh3Esu0zB*8@Z$lVHfZ=00iL#I_>;g}y?40!1q9n(Vc+cTrhgvmL>HanaihtHMjo$s z;!#a_aJF|jdqw@bK5u7Uj(0jPyZtgZ#qzKnv(KrwEsfc$*KH)_d9gFATf=8{Yxt~g z4R5+#>H8Db+hvjEC3!c)^7vWs$s3f$%H#F&tnj!R^WeaBox^EFH{fD^gKhZ4XILL+ z-D#vTJngL__;IZBNbr<vHiI#G<<2Rq| z{Qq8k`!D9--TB9l%>Lk;Z#efOm1&I_H)Yx)(I8(7mEz zh3-2VR_NZ+utM1rL4Mq00O)!P$o#mL zkNI(Z9m5J`9UQ~gH2%8AD|ByYSfTr&h84OWYgnP<8aMJ&==d(1VTF$Guo+h9`0kov zg^ue47*;6j0~qEy0YF(7z%bVbF#LwnD|CG4&v=FMuAgDP^Cx|;hf50Gh=vu)x+Bta z{SoO;YrH~N*RVpzwG*UQDC@Tv<~lB>|E|U>bnj|dpel>&2QL#w(QdP7HJ16Y06;hhc^8 ztcDf3%Nkbbu4-7Jdqu+v-S;%C(EU)u3SIX)pPxe4r(uP%wuVaSbT>VS--Ds}L)!d|09D)v!W0qG5%y){p$S=8yaqG+v?O`Y*;S zlyzSWbNv_Txh9Zdh3;()E0pzMjOV&A(r?7!NDM1)E0pzVjORKv%3s%bh3=|`70Mbi(!Zkg-_>}9 z?gtuH==cJL^a^F27{igr%Q`TIM>Wj#UkodB3mR7Fu4q`HdqKkr-76Ya=-$wt6_!iiiQb#!wTKFh84O64J&ldXjq}UreTHdbqyvOEgipoSH?6B<@1>n=&p^_MI^_w+KX(7mEzh3>kB6}s0otkAuw zVTJBp4J&l3H>&TutLW*LZnyd z-qNr_$MrmnSLili4G6;uU7v;(%GxN#b1f90tnXu(>--pAP!mvVFtHLnXrZArCOBhxt>q;2z^LSZL!th}Y zSCn3%ThOpVS*JmIuGau`T>HVWLidt}70TKn#&Zo3>A7ZzVTE$83S8zA&rtz%?|QhT zP}V9io@*8u-{awuLRZwVLN~5qg|4n)h3+{GD|B3wK>iBdYZ_MQ-q5f@d6!IjzEh?= ze9z0ULdSQu3@dbf8dm5IYFMFL(6B=HjD{7uYZ_MQu4`DKdrQL#-Fq5V=z6eLfbuAG zgBn)o4r^GUo6@jCx1?c(?s*L>bgyezp{zAveq3_^=zgm43f%_04;KA+C~Gqq?$a>W z#4xN-&bdJsw#4&p0Nn`>mlVqTS;q6dCF7SgUZHzI!wTJX4J&kSYgnOkcyB{~3gvw( z!+gI={&|g8=yqvXp}fZ;J>LtFp6{3#Rw(a<80PyS#$VNVh3*v%D|ByZSfP7Q!wOwb zR_I>UutN8Sh84PZHLTFByUX)a=ms^cP~LO0 z{CwZZ@}Jdsh3>M36*|5bCcQ#g2f*-4nx5wop^IKp=w8>bLieVI6}opdtkAi;eR_qC z?=Q$tp*yT$h3;r z^`N>Xg>p_FL|@{0d4O`R9m71|j$xipha^i1-I#_I${r}jb1xL2yQ1+5-3uC4DCgRd zp6A<&|<6g)Y*tLRZwVLU&NZ3f)N!D|8DQR_Ly1SfRVB zVTJA`4J&llHLTEmPs0jv62ocu$5S7{kM!`79emUdKJo(}`GJr8zz6gL-I6{JJ>HA< z^p^*_CBGr8ei=l*AHi=r$2!~94Q`uGTTiyrpid1(~-`0(J(!jEnL z9{dfuJKTW4H3EMQ_jls27k_sDN!FMrT zx~FHXkv-F+ktWQ>^k^h|BwE$g)iY&PSG8*CO)^muC&3{QJJ+T{fZweF2`r{k!d%-#SU>ZqOm!rvO~H$Y1t3d2#(8 zalXuONH0%!KRBFsO*;26AzYjX`3QbpIz4%dac2Bh0FMK<0pA4p9>9+Sei`s)#IFD@ z0eXOs0X_lvalo$uQV8TEpb7X0;1htK0^D*l(gvIXaL&}n0G|N7dc8an_*ilRC*-!S z;;7LC+e3(MetY5%Im4L9Yu$?&hB6t4LOE^U?xjlLF8>us#Tljit3-#qq z(01x4!}^HCFy3?Xb`4kY(PBX$g|PnJ}YlZZb|OI@7>9l3N6OFE9qlr z?@IE4O)Z@}~IpaVGy9m>)O8e&I%Pfx4P~J(O;Vj>`C2y6qC@(E9 z+`Ko@g8{cI!ppsat9tQvi$@xi2Wjx0^m%`Ga*xn{JILTw^8A711%}@r;4+U+&kFYb z^~sw=HaFjtB0HazIFkY1!4MC0Z@&ru4DV2YHyz+{zW!SRyx9P+Xn3UZO1WP5BgF#? zWEQ-a0dIW`%lh-5XSv<{JOePt)8IDz(!cY%2ln`0{A&4X(Nf3Vd+N^}TIA*MJw}y*eHF$U5PF~CoXN1<^0yfADk%m%DDH5E%&iurQ-2jCAnmt z?Xxe?k0EP`EZoB{uaop+au{afZIg8^_5IcZ>RWDvFY>#Dsg26(+hPCyX3F&`faw<(o!}VV+Dda)Bb?v%udLC44eL5uGf0)4tcus_KY&l#%%O<21u9kq*HCD#bnQScy4@^ zZqx$UT1p?Oc9)*6H|xED*M4UYcb2W-vlK6&QPk_zPq$X<+aWEqi;7{Qzz(xwJzH=Q)*HE*zD7j=wr>8%lI=5xawMn%*&Nh=xF6^RKPdjZb z#dN*e>ojWh?vQlOw83_q%zQ4Ha=KZsov8L|*N#_LR?aqB?@ogYXA7TSTkF<)NBMF# zU25#s<+fN-GZa=~TwQ3xYIHDtO!#EI*{cSmBf`b`JqSnYR3XO~n$?|p2MvONrtlpR zE|&tr^8v@DbQwh8otjoiL7r21uOQczg^WhJ5Yez~mtqxI!wI;@o7mUuBy9fC^-GQQ zddG1YQZCJf*$%m@r2VtlYi%8dI)uH5#^F&ptfb3p)u-#L()Z9tl4AmSjc69_jb`s$NGR?F#CG2x4BFa=~(Y9X=mY$X%dP$enH(z;5E;pXNzF5Jw*ClC=Xh1wTN ztCV^g!X&K4Q;2g~E(a2i$}+twC3dOa?FDh2Qbc@If()jWVbXHM+Kb#U4}Cy&e?~1P z7Kna0F^K+5d-W7_irye!01>gdP!~!$&cx?keY9I&Y_H>p^g1iAdgr{HmwrO(EFL88 zjlDb{Wm9}hd`!Id@a>#DMuB6(` znH4&V=g*wK7;)>ui&=QYDrz!T!Ezll{fhd|(bD0{Z29m)d4BFXsLafik1Wj1Rw{=N&w6bY zYk(wlNNB+1LrXxlr=HNo$qgB~$Z?!X5Qo|k4I{ZIksD5(Ly~l|;U$l(3KGYmhh_0C ziEL2>t7^*+>|e?crqS?J)LQ73*huD|=tMbvc*G$n1qc5v4epCmspJfY zc@H!}xalDp@QiKgF|(?N>6TRxQWa*+`~jywy}dJ)RRvjfg7>be-&jivS<5Xwb_~4$ zEvRSphsoyCbGD3D9RC8&I>=uK`RbGaWk3Zm2bc%YvWUw}qe2I2pCSNipLVH%Gc%pp z>1}4cvC7t6b9GtGghiP$Y%1NH;OxXnV54LqhhGgEB| z2@S;mW}!64R;Gsbd+oI>?vB3hgBG|cfSvTg2U8GB?@tlS^1`GTEG08RWEW7B012N= zXQyXp%STGZx%q{8<_cS3Lr%t}Fk%?&vM4v5()9K*rW##{+TMhCofrb_o!w*fr{U$X zcXmZyQ$_H>E4y*Uoy%vbf<7y+nVBIXMW{)qC}oAn+Yrm__9ozWapB!lF-;z5|Gy}&?VMLi6Wmwkld=wokaP1hXe{^>-_Xynn3yo6{-OsMpwNHqgD+&bm_5|31TmJZHw1GcRFoE07^AOkWz&eGlME7YNyj zed!fQ?n&ndKo|(@GfZbSkER2$)2>`tzJ~EgEKorjtWrGAmct3EkW2zIGpqHL{?!zo zR)$jHCN<{FjF!qqpri%S2e0ZA&W(E9z!?~>cN%IP12IG;C8Y_8u``l-Io+tPATL&) z8&IMR_>PU;iAj2o+1aA=O2$q(UDIkL*P#_dI2d(vr8g??Cz*TNO(u$?^nrD=*A#kWg$x!~$*=SC1LHX#0J!Fdsyg2uwH2u$K-kyw$5qVKkU&h>T5kq-wm$~BS~KZIZ*Vzx@d1+&iOBaIjx z!J4Ki;H;B~WUW*&k+{quSn?+PdB=)G0#$;4-O49Ip72@|5oZFXhOzIA?F#s6dQKR%7@8AfUg+spnNP}Bdz6ja4(yXtxdxbDr zt69j=>PAU&5ilf}u0m%Hku4;PeDJ}9C-sEnsk$mvI%If=;pEaW>8hEM)EnJrI$#4R zK6xWDGs7SXM%}9usV2?WlZTMS;=7M)u7a#Ess(uzBZ+CfNa?(i%a^>VUOA41KcI$~)yn>7yk__qOAp82M#YVBEXQccQdo^vrkW5= zqg6xmza!1u&b(FrPDpr06d+g>r6lcU=D=H(vn(+R z=@k%L7~k35kvd^ecSFr~JUJ`Q65F*rmI`VC!^ExG?A4LBDAQvI##$_8o?c4?iee5Br*fHd5{b z&Gatv0_{esGT_0cr%=EE*pSabK&Jy5LWI?r3fGLl@gbF_Ja|W%Rh^bptKV!QzC6Vh zy_!Cy5j1on(}x_SJ>lf)``H|&Woy= z>mi8>WPZvGvzf~}Ej$PD< z4Y6TG;iD@e<1BE3A(r(OMWobm(U~gohi2(~kCn5k4qmG2!0>DOWiqY7 zjip^qxfSP$vA*}X0T&S2fu}u|a)`#)(qh=^J5(uw1LpyO!x1QX6*&;;)sdExr@FLd zenVP71t(wJ-{aU9sz{2Avncrel`}77HiqaCI-pN_Ut`&FP6m<0$H&n?i%Ou;wxM6> zYH%J$9et`!ufFZa<+}I`(Yq#teKOlaCV33FJgwZ~Bvdh(O_Z^d4Bcu_CsB;Jpes?P zj60|(qSF{8x=YoG9$55Raa5B>Numx*Sz-re5l6R_8C{DEDdR?Ukdw)5(ugTc^aKXlKy>|JvhKZvhv zF*!|D2LFoq)B!PTO@SaG3GE9$$z(D3{eYiU7(>`_5ybgqpJ^~y$5xUXe=AQ&Zq;tH z0Xv{*VQud?Q?E$1?dl{@7l%jwWRMTRnq{-{N;LlFdk7giTgtwz+rbFE=ZP#?ZJVL1 z@>u!l$OdQpArj+4H}kcgT2C8{ip2_&$igZ|d^Q_(#{!x_&fq_q?S3ci@nd@Ufk4tv zt8Mw*P##|8TKbR!G721N(Q3V1BJt|_3g^wG?OLtb?_%;?Do48dbWD!IKXZw4Lo+@c ziS}d8>ZtlnQ#nZw$jI$bbZ35^wA{?h&&`$RU}#|+%-&+Mz6I)}DZgHt9648M4!@Jp z&mm+pMqG`kHiHaE0x&BZcqvMIz@@68acmjS0h({iYOBYFf~-PzWSmapnWDuH#(bG~ z{8zO`!s6b13@yGns)ml`0#zS;L3vuy_g>fmhZSuIdGH%^791uy1W%+QYLstL2ib^| z_Khogg+Y>8uqrDB;ZhlbZ5gE^I;q9U?OOF8r51fQ7vWlBq@$@xRq7LrBKStRb)^x> z3W(*a7wGYuE-*k22;KwHrO1$qt18(0qlTDPxzB=d@#I88UF`C-cu9^GL@j?LY3UI| zVxiu10}Sf*EX^%(Jox&t8>PvlP~l070_-wz&oMjf5y#R!4msA=hjA>Sj$>b&ikYy+ z6rV?N`SzG53Iy*IapS^s4TiMW&RPrZ>z=D4p(>z7HPB=ar3DzcpF>Hffxd$ufu5bh zuzm@j`y4A0T?7H)L5zpu*oYpPmB_@!kzcd(oPRL62!@lYHiX$ zU(*1hbmKXlsG~621)LxoXH~k!PZ7P*z z4pJ~{31d=*4hdjjgKZ1+InhUWRvG7%qF^?=bsj8`9?$q0Ide* zlE7p%gFir8Q6!|Z`AmT^rqW=6fy)OY#8a~zN~UtrZn$^{BhiNfF=Pl+3(HV=pe=A% z6cX-MdpJ(fyAc(VB?ek@8h>WSM1z@yxL`<#4w(r%neFNmsc_ zA>BQ+(x_rJfJQPQSlnZ&Kd!c*ui(oR)kMU%c;m$3ChK~oapI73R&(+wqm7R*TgdGg zeUyk(Hld)rU7qlyIpat|jUy3YIh7?mpqYI%Q+1QHVtvcyMPh1ZeCcxLOuxekx0;i* zhla7FggZ{o8?bOINA142iMxB6{mjfoOlrsU@0DgfniM3pG_n)D?1nRiwBR(oM_U`! z+S8Tog-6ewD)^~C{f^5iarZyhbAM@z2x?%_rx(v&RefQ~Rzf%z3fTHksG)1i9yf}( zCX-?~g)n@flM4AJ%!FoFWnCaa-$O*9;QNOrYT8VX7Hv4`SKW=V_hke5SrxZx;MSXVaNdq1T5;1vb|V!MXZXWyYyl6{tEr z)VgZ_|IrobRJ+~f6|T{lUfZrMV_B-VnLBTvnIT|iZVSrR!>rMjo%C#ji{RR8y|i#~ zB7Nk{(wS7}`(vj1`bGouw$mfir6bcv=1SA$VzKC`2qm3C3`eonXvrM0?$OjCq;3_O z=$spkk!a6)9B5>FYk9r;fp*7SBNl62eXQMSVvei3;_1@C+72u{$X1|;>l;apu2d;T z)WW3;*GWy5;lZzF3n7Z7V2Q>&rge{GiQJrSp;_LQB{C6_Bf-*)97{qG+G6GC1T2Mq zwb@?50xm%b<-5{uH`A5N^=t5E%~_q%9LSb34wH{oZlx{{5s~6Ph~!p;h#(>&rF{?y zq&b|E^4>&>fiyi4bseY!aU45rv0p!dS}@bM0hvUL&cansRuChKM9i=$>*@xIMLl4C zNG9T8WU+82zesclk?UGKml3&vg>o5@8(1lq5y4_KwAr1$o`@upQ`OLTi&*A0ipbe< zL>2;nGLFc_aYT*;i^aweDUQodF;vxYM8;(&azW#WjLS|jT(>rcNNH?#=JzMq(%9@A z-k)GgW3v-_)G^s9kIPPJHtXilsTBCdaYV*tr&Jju*kLmWoZ`Yf{F=Ri1*M_w zD zGS|NI!?kBEYLL!{PG+!7MQ)&G3!j&I)lQEDGh#8du)5!qT7C(2zF{~YE{ETf+J*L3 zwz}W6B$8X$irACdC3MZA#p0kCQac>3t{s1S_)wL@Z(fe7v-?0i;u0j9}Xj0Ow?5T`^_Y zh?G-|8ueQ}p?hfTm1d#t*8MUhyw4tmZmdRwtYTnJ_ZUc1+eg6RbY|M_R(^Zjh5=Vm z2CdQo71hw-|Go*^dSfFTjerH@vRgNlBX79MEnml3$p@HCGJrOnSzeetUbu&RbrH8?Lmgo_SP)e)A&qL1uy~1Ut={3 zq$cmYeY3kS6|=ga_gQuZ_n*6fz&Z&0n^lEG9tbW`psM1Y7(7WCgHNiUuFVh z;tVF#$bYwCi(5lt0e9Yx58#|M6d=0EvG^h{)9a8CP24|ot`8;`WqYBxd5Kfp8DI!Y zvcM&noGkeXXGb$ye(MtBOy|96&fP3p;p7H(4#|mE6bTcqAgWBl`qE{`%@UKGbNdC& zB@0>REa~D*o1iT@<)T#t;b+tq3Yz0!lLUPs@@70I6P-ycQ>LA4$*dHbEgo_)wHTpc zevP-V;J9PazVtg5jN6M~{4N6n`v=%WFlNsdk&WCHAVAgiA6W#y)_)XEu!4X5x_mE2 z6y=RAm3LXytg(dpO_>ggtUCUOyp86kA$;Tt_i@YA^GnbrY4J~*IHu}}z~P)Q&=G~g z=imxMb+Hgo@sdj`vb``kE85Kl=biToGRcUc@LVX@AQ{fQm3P;@W?M?eN56qp*n#$v zT(rho3r&j$|KYgDt&a|M-IURZfWDOFt!@PAAk#w7WkZC(QqV9lc8M{tE;*t@;bEe( z*}G1J)-;?>q4pcMVmK;nEgJgvVDWEo>vEG7GV`_fYTlrxUMW$YcbAn}wC>MVQzAs!Yh%yKtopw2mqL#{ih?Mya1cw3O zEqnwqYnrGDNO^N%<=EwuVxywh@pvov7`_nF{5E*m*OJDpTs3F3Q`*#+Wru zY`O9M^=v!FWMuWLG%s&pp<$#jFVm92(8eIC>st61W|LADqaRwFgG={JX~Z0;ey+h5 zHX-4ZhA*&FTR{|wD7KO{k=<+2LtQMVZK+^cn`@`VYvUXm$zs`>mAr6y zr^#j4`8%l@F^WEP)tTuN9sP@1OD1aJxRU+{xI(MK@6+uUlhK5!iVj(ReHMl<@XD5d zjalj?O%qwsptLD5CGOiZ=4Ty}7@x4BrH%h|T*DV(8PmY=AMoYF7Z%q_w?>FYn_HPo zJng}F&Ye+U!mX+6;0yt2GC*>(X#@yW>r^C+8-9Ue_M3 z?MuGU0)~)is3Ohyo#SID!xS>o z_gtzCY3p4IfUHSOsjh=EcNw`T%~i*|U}>{B>6 zIw@gS0QoFH=1uOFR}z2d8`N53Ij)s7xHc*#xtz{jq-I{l2@oP$G$PSBlR&I*@i!duJ&=_x4rG1%IX{=e5uGg#(VQ;e{ z)x24GK3*QPf-v?rD*Q^j>Z?huRyjgiZULLc8F!nYpAia3ALgZ0q#h_QXSs@EAomr9C%W76`8Ppjdvn$&rg$2T@Q?d=98P}Z9}Dc1sVMgk8y;vP}mX1mu- zd77F=9rZtP0Ww>s%*_I@pMpJX+FIjE`V6{_n9j_}EEdLv&CgI)?+#w4+;89+>=L5y zYzcCKyRu-h^5(>3e-d5BHEuCp=uURAONs^cCwNlkCg1BJnu^|4bdbZu=R0o?j>p7m z;`MebIR0{G##Ts|P9E=csylj?)PuU~zq-0h1%uIBWlx$A`#N1I*g6c_+ zA!o$6%(>cWblWW~9>B&USYQm3bH)Y&^!3R`Cqf4y>|eNA*L5geS)vk@KNFI0 z8BrY_EJD#>%Ym?7->Iiv>^fk3j&MH&qbJjVjg#Q@lf=ysLK?q1vTJG+T^Aw z1Ii^j1XQ=HLZ#qi!#JH90YN=AKE1jP5`-S2!GjbWm8nd*9Gdxr7|YS67EWMKKfhrP z^EWe-&Fy|E?_~NOCgD7(F z`sL(qvyB~QeX%Z9o7kNc9tGT9P(IEydf1r5mFK3SLYWrn0j5+tU3j{7kyVhWnka{S z#~DC+bYm}!6HxSv?JcV7Kx|WTd+&8EUCS80^Y%dHve(cXeE3>3P3K(EYmIK&gek+H z^_$pQqMr6!SOnCp<3K1DO3x?ClD+Q>>f9{;rMf z`YOtgZqlW<<&r`{vu!5(pElM}&u;QWRKw;n8_2zf3BSi;hl4i{xHt4Q>A{2B$S#w3 zR)2Ww<8ybs$YG^B1Mzn(evXFFX|}O=VwJlNaR1sWGKCGUV=WL{BC@-X)#Loavjb7^ z7{#>PZuX_c01L=epZoZv$Twz~u6H3>u@RIAkkF<;0hqK+BmwnDu@b4%>tm`snkATd zh`le@`?YIsv)dY?HtQHt1f>gg987&^quOe*WmM=&E!It2^(wZ~M47ErkrdKyuY5rE z7;1E@8ygG^WWtnLd`JdX*+YhGSKTlnrJPo4s2&SO4tco-@nQ8L)vML+QN^;ll+uJq zdyQ%nt*dUmxn{L2RB9rZ>!=8@M^aEZWP*v14vs*QO;VUNv+uhINOA+(+BCNm6;y|^ zT%NjyLRX7FZe572_vfxVembxwK@q>-ZiYd2xM1Hm7-iz0)p?q(NFzN0kbh z5x4~So7Y*+(I^zO_L|sc!%&1pglG$v+dMi9Y#v#^+4mF3cK zzmTbUy5aemnUU>yraS3_5j|{+hWZk%JGeS7q06T>GsE41P@}%5c$5ekb+mq&xc!8M zGUGPromdMzb5?=Atd*y)lX#*Y)@jkG;W6NySF|aV_O{w-O`C*Wb=zXsz}UJ*FD%%! z{;dXf-o_TUSYHDTe)+f_QK_CF*T*Fjr`nyf)s4Z56)&NNTmY1-UxRvXv5)Q0uzwS+ zwJS7FpswOs=yb7z^`fH0%|_)St0kc*lyenF5UO7gnZY?ih^$KJDqzpzEm!HO;46`s z`2jV&bk!C`UuvI+540V#N-2-3?E{vEhq$A$6n9SO4#Ntm?1dHL4yQ%F84~^<#XYe`r-=DR2rrvF z4)Z~hbX~Q;^Kgs+o05tjX|Sb~?Vw4&!?tC^NZ>(Vrt!o58LXSy4eO%?k40TpFYhD7 zQFPn`?IABM*ea+iNi(+rqeQv^nXp$jgt0JqkeP^%bQ*io{(G#>UM9(fnanz$7;6oiB?LqQe{-!E?+*5CFPP=YqFh+@U?6LOW?SkdK6& zL%SlhcZ74dPvr=zehF1P5bK>yY_iH;QBcpLBV4=IYCO~D$e;8A*|S0Cg>8^`b*;}( zy^5~`@bL^;>+~@Sy^gS&w#-mJZpx;}-LTORS7%bX;7hwwVh%Bf=p3>&B3*XevqROY z*XrGF6@5)K_F7@uDKPr21|r}v!W~I}6`5j_W@J7Y1vxhsA(hi4iMPlFG8NXn%4{}p zK!Kq@i>_ytL&Ie9>HY?j(mt=-#nvPJ@Ehvs>Epb58OHO=? zkIcPXjk1hzhMVv{tMut9MtYOs0a>b(&YjzM?5sNydJI)KVPnY+^7>fT{}|vJ$F)xk z9pQ+)wrG7^v0=C)%KrWL`*1T9dJ+tyM1+Fwe;}kWS@OdoBa0_5s3^TqXk$_t6x;xn ztVl_Ra(t1^V)QKYgV!-_(uXv8deU$uVY_%l2)fG;02{(a>yF=F*f7H&71~`_>o^)H;B)Bi>DrPS+X5US$5Caa#}iNs$w!%8kx`anR#iKAGv^x>K>)-g_p+QvR-!bR)gHTtDmO|Twnq1JO%kaM||o>h2Z zFkCe^)vzi+Dw-8^lei$>4>h048w9IwEc-DuGbkvB$<% z4-*5L7x|E^MDsb|bKq>?p|NfKMj?3Rlg(U`xUx~hdSUA!ObzlDZ!A*Rv2y#$iyoeR z4#TGUnIoyn5ViGzLP|j^iLZl4-&*2(Yq|tk@rDCDLDeci>aKEn3cIAr{19lUc5%z- zt?@`gL+EbQYyN?=!|VY)A|9Dyojf}O;9=QRUg%*csfsU)y338c!R!RtCrS6UQ7ytd ztwdEA((UvK=sW39=?DxnsOb1whpwtSN{Mrfl(jIqX-O3mTsV^fCr&vB5+=wG{Zc<8 zl+!A7vZ};>^ws!tdSy9OeUg`ttajLA&_rdVqt$KnFu9LX6+D}b z1+C;Bk^S7{D@XbG`pU@QbE5T4pgg(}a$uCR;FImGXu^{r9LEsvTBC;V-lIrF7)IrT zQb;N-e!k;SP+ty^Vb!KZ-c9Sh8aAoHuu3KMr^^(?=r=P9w$c-{!Y0pgDOFG_^QJg& zHw*Z6hr4K5ne;qa9$J&9Y&dcxi{4Lo{KBU5(Jp;4O?NnU>2PIk_Q--iESt~8HL7(V z1J1=6ECmnTrx4dK?Wg*!nmW!>isSvfu2?F&TjB?thGU+s&NbqDj%3eH7onBvB#M*b z77(;EA^wV5vsa8lhOVWfk%BKi*!_Y-$3?go-=VEzn2fVTVnbJI~I{IPT>zW3tK_JkZ3|y0v`* z8cb&hor%d)i)KPZ4l#H@U7<87JfIUfF&PHB8J4aVFix2YOT)4g61P&1C=ykyDyWrN zgrZz!oVwFq=koHiZGP=_b+eweW+>w2RMF8TX{}-zzpp%T`K z9Jx~DRCde>4`RmWtGTpgi3!q#3n+2bGb1Bazq=(1e|d}Z@ck*1%bu5O7%N`7)>y-q zvH?Fr?YRzqo?~|Br%Mav;=){C>^hupe|3EXFf4umr%?)S~kOl!KIZ*m2=)} zDmY<*Tymof5j!Al3w|I9uDAu_C~dK+{kHxW1n~lwPn9e>oM3e{ z(^BLhQByyJAzf0GH4Ml`ch) zE!1#vC5o*wv69l2ADDH^X}F$6U7#Ub{BV&pMWSJ5#cM_Q8kjP~#lx%3knzMLL1Q!K zOLJHfIo+VXTXfEdG7qnZVS*9Y6j8h`4Fd<>lU*0TgK{~RvNxq5hO&8mX7ET~JTQA_9j7ofEeFM}uY#*@1`X9rQC>AdBkzIyh6o$}6Cy84W z0EIn-p!iB@3rZrqfeRE#i36S_V;8B3*_l6p`iKRS7%v<=KjhAZVv?JttEj=oU%{x79JE_5~rfBMK)Vt1l$C1Q6+*r-@Aw;jVn7sSzRL14qReD!ShKX#+p%Z`^X{g za}33{3JfvL>`~vSktk6Jk_TP;g48{S=qu>7v2qAS%H>UTvD}@Y6^2md@Xs$u?4jsF>A@zRy@C$W!1y?7zUY?Wc8NYQY$0tIrMQ^R_;h=;2Qx@0Y>*37NTmFuQu==c}J=U z+MQ%L${L@8+}X*D8ElIHB+(U6X>y~DvfF5bjABX-Mbs+`olsd!%2Huyd@LfAn@q}V zcQPg2GM3pl0cM+$$mc0DSGVVp%*B#-W~90m(jKT<8pyo%L3-t(ZuCU8+o(xT)Q<^a zF$t%AXgAL{F{|q<(VKLGUF*zqS~3NXH_gL04~De(W>TX$UQF-MIc=apFMPPhZ!j<= zD(RegCGBrSoK&DrTdnAo&0x*AlXTJ*4kS@AchMc319SKv*L?jAPRcmulMt5u&=XYe z(8`+AX5*cSYov^gI9e9Pgv6{(7BsDc!aWE~OzLo;G2{!*)8mN%7J4g*E5!vlVdsMp{`yk%uP-vYecApqD?U|4o9IkPXZYeKTgRG*g%3vBQ(xQ z(*cV-rcaNpr>ic(8V8qRCDxX;=u+1Y3ogn4Ogu#71EGE{yy>%2OYx;5R!nrbC{j9z z!9=pLm`69phjWw#l!gc-%hmOz9S!0PPd-9X4o1k@F=5KeVhoyJI__{i|C6^QN%F)F z{^9x_z|YB@{`>v|Nzwv*6JQ0ez7FsP+#d)0!mR#pGb z)!W}P5_sK@6b~$r8pp|q@H@p9xZaW+xQD;5N1U@5 z?P5JsNwyz{eH8(f5@KSY542*{1X;_uRT9%>EpG(p7(dW0pcDP`Q(+# zfB(-%e2r#B1K>lF2D38h(>+y>8C$V+f{2WY$*K>s!icmVJS;1b{|KohVH_z>VDfIkWN z4!|b>p8|Xu@EO3*0)7d=`tvpjl1-%)Fa=luoCI6|{8qc}PTu)NlO%6T zzVeGwl*Vm%lb|iY%WWNi`a5|$!rx)xcjdx4L5cK8!{J;o9BKI*LKaSJO@l!fI_(d* z_{syVN5lCY<}#MuwL5HoI38(s8V(+@0Yk|DO=#9=*!d3ovGOfU_~4gScNhNw3p?#wIIBV4;fyRiYjuS2X$YGBLvqZJv_B;NJ0Ep1)xfPFsI#c-eUvv3&HH;3cwEyR&MFpQSk^sPyn(emF9fg}&}~&!u_6=;cmI7khI2Zx~K+IznJiw6N~7%K2~jF*ODi6 z)=~Ef8M3;(w0z;*;-$xBlRt#QNI$CRk1$`SB+n5cAJgy*uLkvA7o6v_4{-s zzwwK|@rx`IDHr*N2VNAAUUvoe8use{-;omd*mUv0kNxU5zMpDx+Yc9h^249H@7%Zi z%%Se5fBDYuJc5@qXBw@iPh+#0WClkF*1O3}w^N(BhV4-5ofRAg`?S7T!@1_&ncC4O zu3}C;42u(hw$!k?GM%sc1Qt{_YB+jvqgCr|t6>SP{YN!J*l(<7^5(YRh~&7vg)yJ& zOb`o0Gb6kW0)0Jzg8jC);UBIi0j~wzf|qyT_jZ6AN~Nn}OPmhw?EuFAG~jiBZvYUN z*YS^*Nb;q+-T*==;FBPF2|U~kUs|yQ*3rqC#r?bR{uxwUe+76O@Zp=NAim>TlKeQH zSwFz-CmZnEy#EY->A+c`d<%ZrU;0x3am;x4zj2Qys${#4-){x{8Nii1~0e=qg z=K+5K@Ew4^2>45YzYHJ`e--f80N)AtF2G+0{0+e01h8NBNdW!)cLTl$@V$WV1N?2k z-vRtxz~2M>eZZ#x{{Zm)fFA(-L%Z0sj>6qkw+~_%Xmg z2mA}bzXVVw9CP?rfPW2O-|*i6{w?6&0scMUCjtKf@E-v`1^8*e&j9`t;Aa8<8Sry} z{{r}Vz<&k&0^q*^{yX4*0RAW77XiNncmeQPz~=zJ4EPnmuLAxTU=45^fNDn-qB`9H zxD!D2{6YYl5~6x{;}=DnyaDh=z&(IB0p1K?ozKq&UkZ3D;L8Bi>MsYRfO`RN2fPDt zAK;yU`vLC)6aW)|Nx(tC6yOkG8ZZNx1rz}#Kp9X0%mL;BhXD(KBY>lTcLN>(90NQE zcn{#cfa8D@fJMMbz(asjfQJE(08Rsb7vL)ZX8>mb=K$vc7XV)gxCmGRTmn1_xD0p< z@HpUofcFEg0GhB0UCf00GtAK=#k hzXtdXz^m6QQvx>~fWHQ?N_zErRRXU{;CGe;eiKB|jKTl_ literal 10476 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 bLD*yr*IDzjes1mImmn>&=~!#Q*WlED8B(8i diff --git a/Shaders/BoundingBoxVS.cso b/Shaders/BoundingBoxVS.cso index 3d6b742201e7864dcf74a9329c99670d6aefc447..24366909b4bce6ff21690c52f06cecbc85386115 100644 GIT binary patch literal 27988 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 F{s(z+%ohLv delta 594 zcmca|i?M;n$R)zbc`oCR|8-5v-8Si49{!P}z{$t}1Z)fptU$^Hh(nkd7&?G>4-mJo zPBfF_WB@9848$>$AG%9#tngvtIslY&019tln0$`Osh%0AO@M)cQwT%?fm@RTNDmkw zvyB)ScwlO*8W3ub*<1_)4USN~K=s^@pk{^%LCg+=nhkUT1C*Tyw# zP%%)117tbKVbfX=mQQ1cs0HaSg37Z&X=KL(wXuWcCkL_!=K`I^iL4qZ%TNZj)r|>a z3(Q22Q(?BKbs}sAc@Ja;2q3%Y87D*xXbw0im?j4@iwk_~N72bMIfhk*6>QaHLuPSJ zm{UP;*yIR{$D3`7Nsq3z)&n24(2N7`|-cvUUs%jKLv}AtgX< Z!axi%5ClNJ5S*OrVLfpI%j6ml6#!F(M2Y|a diff --git a/Shaders/BoundingSphereVS.cso b/Shaders/BoundingSphereVS.cso index 88dd121b6a576a995f31a13f64e722df6c6ece81..7ad9c7ce2c5e0f338355463a55eac4a7f2537fbf 100644 GIT binary patch literal 27688 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 NGP%HuW%3DD1pv=oHqZb7 diff --git a/Shaders/BoundsPS.cso b/Shaders/BoundsPS.cso index aa0a9daada5baa08cd756ea42a5a85215934f878..be91335dac9f09510fe8a1ddd3967edb7f48f036 100644 GIT binary patch literal 12304 zcmeHNT}&KR6h6aGg@vU{6-3&^(b$CAc6Sj(#9FuP^4CyB7Axu|bb(!1yX@l3Vr#6) z`d0s%m^4k(#Kae$NQ@>%6QfB@U#c-Crp70u(PvEswTUmR-*;z*0x1Zok^*x!-<*5T zJ#&A~-MK&K-pF8k`2Ej+z0xV?CtKfp=h$2E*`GBL@dZV;fwuwzfe(lPZvtgSBK?t$ z&Wl!(L~OnbTuKUsQtBaifbkm;l9{FSMUTb}Q>LlMcnt6X4(03sWhhck+3|2Tot-jd zT9abDS7J*=j-*D6teH*b^oIUDdUtQMSC5XzM-zq~&Q46G(g?KpoBR*A1cUy@mZsKb znV#;6c0FEZ=Rp1h;`_i^AI5dSp<+9*9Xxt;Xy8zPSH}SIh;~Q%Ly!@y>oc%I=NTO# zE1!f&@vLsOtOaIu!j2C04nj3LaA<&SW?LO%Jr>f^_`~d4N=7G55I%EO4>l(pI)WtGNGwt=#{m7{heHnY(EV z4r^QsFwLdSZ2@PEv$pKD%)4u=5Vn zmaZ!gz5T#ak)!VN4P=2xQ-s?YwU=40+PcWG<J zS`ILdDN9W=FUHeT3Ha4lq+02#E>fP25<5?;Bu8F?^98G{UFxL4k(Vuy^PIquS1yoO zLS6*V$)DhL0Gr~|e*ZBXdH(J*zkLyzd-XfxsqaN*A@2rA8h#-a!XW}U{V*&aW#nzH zWQ;S7WtYm1MYskT-z71fbcef7F3x^DsZUGA{?0?nCs8hv~{=WsP z=~m%?vH<gR%Jxu*F-%aep~tzjJO_F5Q)Hd<(FTPn0*ReZN=a zjVk%%67M_p0y@AwyV@UslWKvxROtG{nJGdL=}XQEilkfyY=u)uXE5LW)BLfc+R$aP z8QhtY{h#`0G=W1J6asXW7iwiw5w;CsVb|7 z%G%1D85atbsvs+DCvIG}()r&Ynic3xWsdh`l3594;u8r|0;Vw%7*Ft;-EcZPa@-Om zaof%etidP9eIxG}(8O&3i4zg~*8?z(#5)N00?xkHJ$Iy4{yXCMuLB_;8yHzOR!m?70A~^t2mk;8 diff --git a/Shaders/CablePS.cso b/Shaders/CablePS.cso index 92f24f7a8082f91cf46a298203e693b2bf7326be..861077098517ede2486493f4a37dd2101dbe4911 100644 GIT binary patch literal 83596 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 diff --git a/Shaders/CableVS.cso b/Shaders/CableVS.cso index 6077bacf00078d85ee93a5883e7975a1ed229695..d4c2e884fde417c4ec8ad3e5e62949144916b1b0 100644 GIT binary patch literal 145784 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�W?;3*q--coHQHgN74>r zToJZ+r1LmiFA+?A3SB%9%Qbx3BHPd7L3rlm;{0RyzOK&Exx?Lsd9C?(AyEg>EbIU12icHHxUYOy?1 zuGdR=*2G|MG2|TqV|j5N8Su5uv%-HCgBK2I+Ln`9Fv3w0p_Tn42`EZ|LWO;=7dDwV z;J^savv~9@acY=Cert9n-9u8Psl8>PG2is)yzsw1L}pym2ml{%Df= zE*@$g$V)?z8IqLO7OPKpY?$sy75}!|;&g2&^dy)@Nf8Pj{{yBSiWE^|q6a^h9 zzj`@{Z;@jN$GdIeT!2ntBZ=={I55K`6~ zBT?+BcB6w+aa+rb>|51bX!L=CS`$aLCj8-=50^1dhu%it*TY5o$!k29`fh^#&?0(0 z>w?VXQhVCrg~@Q$JT*qU0O@F^F%QiXAL6M7JOf+*MJn?xI#o8dSO=W1z(?sZqHCdV z%pS>$zob+$w7STn8^`;Bg=-ci-)2&PeZ9|?@bWf-0>u+7^2C^$pJ?57FZvJ)g!WIL zH1e<}o8?Hqd}u3!y=w@Ed*IwOz7uJZ_X+VRszr?eHJQltg0h-!#CKAB)QJadV@-ej- zCDz7w#>4B@mEL~L(bNz_&vHpTTXd}1#!Z?{+SQk59er(al2h(j<786jC%Q9%@$zC7MX?Xpj zk+*UkablALiBp2-F8hSZ<|fNa`H-YWvn60Wa5nJJm2zzx#2v-c8o#-z2=%4%OdRnakdYKT5%HTq`j96rv0S@PzM3HPFqKro zn?-+&lR)qpAvp-FyjVh;@Kywv??k;a0>-$hCGY8}aAYulp@HMQ7r7XO@p4>93Y*VU<`ATs;b1eMWX1(CITD@#3?n1Mw5E%$Wr;sIkU|irT}>OUwnBzL-)oqgWwSp7G3i zx1||RjXbb6TCX=-ZwF$V6JM! zxmYt-gY(T>fcMYhfM|ThN4%0uJT2De8(2(CBNx14yb6wI(k^G#!Wrdz7N*-K9~384 z0m?&5p#(}fN#0vMomzjU2=`#deQtgR%MjX;NMR_IUzRrGwZ*rooRC?T4_0xc;b*Pu zQMoaLv#v19RgB`VS>?qCpGq96HYP#KpW=6;3PlW(cr&tHZ^jVX$E1AIQSHTK`H`$F zWyO(CK>7R4F@FA(b(zLrJSEP17}>UcYdufx`stBoLj~5);RZ8 zXM6GNacFXIFrF$6$?pMiP#&S>|H{bl0+!8i!Oi?R8LxWVm%YUHMljmPEO?b0 z+p@<$9orxhA9%(k;_QM$jnBdyJnb=Y()G}gNiQEyr>I;|1xuVQ>rgbHK|U?$Y~HeO zk2WD9hZy`IX1=gRWWY21<}G2OE%3HZStTVG)`k`*B(AldqDWL}Rly*MRVcF+rj1=-SutsTM{3%-~cT;tPpS^39K^Alt7S8b2QvYf=!{p88{IUHdfltieVuOT?k z;%*--jE#^kZr!CaGhN_ept?y1Q0&6t zCK)8-B5mJoaALhwt7F5WFMyqRrDPT{e)hR!*Nhg@ZyA>@MnW(?P(msYyJ|2ZHG!XRnL=GWdG*hE1nyHuR&8rMVv#IpbeQ-hFH286Q~YL zGDl0acg@ZPYU<(r$9Ex!4MjX&oeksefI0HlP%pb8J{<_o<}KDZLO!F>9GAkFXlx5j zq7itzCzy>fVRV5IF7TSF$b<6o4{v1r zV@4rbT(B)X(e(1d61t^xaAS%cJX+#orkHDwQ>Nz|rKBTA2TU13i^b9<-D*_cIm(%Y z4QZdSsXC4`&hG|0-M$e!8DC@53rnEJwdfI=)MiKu8o16G70s0ino ziep@uqL$g9z0o33qfjIUkYX0zf2v3Hjt)B&>Dj%L!%dnDn=EZv$tj46J``t*j79hei*z_2n7=MD1*3Y?s<(JI!=r90%^k~l~M(3O!AFU8;na` z@q6j4s|H?=F-f%~yG7+BL+B_W8%r4HWnI}P8NYGowIMXGiPuN3y{QCK&8TieMaqI9}0>UQdCi6ROp1pqFNT&eSY8R`NDYBaNJ2w z{)lQ8UrU-Cf+TMXr9r0e1Z0iWe@8xzkiZnxSZaMVMq9ek-KF~cj68|PQ*_wd!&Nx` zF)tosmKLT{kZ6gsD2eA(Hu)HDkRSWKJ)}j*7N5;zQM<##={yGXB1emPLNQ5m=EZ1v zDJ4k}=5%^71=0n@iFE2yIIl;;Jcq}@Z4eHB(>>qv64%J=idl%r@k}60Z|n4&S+mMc z<~~y*Mmk%PMU}+4q%C>R>voYI1U7H+v$HA?tkyp~sy;Tyt1gwVACIT2E;G9t^m;m> z>h-{>tIL^M&FFD7;zy)ot*|s1oy-woCRA;Nb&AWiQe`iYu?}aSoVX7ps5FJfC4zp! zB8wUGUD_L^v`zc(PKjI5)HN zkrQ|)3slZHoc5@kIL4gHBQr!jRrjbJiHeyj(fQ6qu^NAVMv2aM7WIpGRfyebT(eJU zFGBdSEOtkUsgCMttR%P;(o{%@+>tWgs>U0zJF5cA5);g12X{)Dx6&SUUKd|c-+%DX zLs%vJ^cis*5I9kyQY`f_V{0RKqZ zmtFIq?6UBhUO5q76R~^taJd2$q*Bf_yMr>0L(()|UpfsNTI6lbFp~Y-sTk54kz-x< zxtM89k*{Pu}c z*Eu(>beR@je~yUJ{oViKe?0gi;{1^=)57Z;h#2nZpYAI@R&(wMV8mtG-{cGGc3*Jg z*KDBvy4E^W;l#@4EPP;|$8l8W8d3i6=19Jh$F^3k$+k*-!Lt@^9~>RLV>_nSN4Dd; zk#4)&bxjwYu6#(y4WHTO7@I29PLvzYe{V=2_u>boZt_-yRKOcSdWtyqloQ;8{DC5x*RQawbJp_4Zb>nQy&Ij7r@sA@ZJF4 z8^AXNaEKSv=?ma}0eoWs-x$FA19%j`qX51sfNu)m!vQ=Wz>5KVAb^hr@ZkVH4){*! zc^wM!gd3N$o^e=2}K8^9X@d?kRN3E&q3`1t_- zL;zn2;7X75eXVy%@k}0e@BCuXjBcz)uG7 z=L2{pfWHvH8-TwlbYAK@6u{2}@TmZPK7bz$;41;#{3P}H6yWa&{b#$z1N;kszc277 zx`qSz69K#!z@H4@V*&hWz-KYG>vH{FF9q;t0{F`T{Mi8hN&tTj@H0YZUDvCCZ-GDQ z+93V}&uaj5xU8)>(0FwtWqJL|2>1qH9l*o3vMzwLt&pb^o_vDrz%Zaqp6`E(JfD#B z>_VOfUmf6+r@@=rztUm*r$6=Omxt2M!UXgw&+KQUKIo29Ixu)&0H-_#hw4JUd}9Mh z=gZ1Vz88e=2Wy9s#o*Mv!9#l@UxU-065Tfz8=YCkw8`^{h-H0$)u9YegHHu;@-+C- z0NxwG*><+ac95E*KuYJ!$}Dn8pYVS7abz(#b@7D4X9Kv%rSOvhT;x)C1@Hponn37W zFdriE_J2I@E+D{<39Wa!ClDj8D`_C^URg~%g{dLNI$a^H7e7nA54#Cu_;dHbHBTUX zaR7fn^9t9qCfB#Nd(~7=Pj1)R)vLx3UxWB>9tYs)m9x2DKxE}Rxgi8m?neB5e7q-@ zdq7ZoaymhCn zp08iu7r+yqjqB-?LY^ZX_%X?NCNy5UreA3+BkXeX^RqYVyAc&PJrjt3G7iMD^N{N(wF@O+vDN$JJlS)K+@ z^PIjYPqSaj{mcz4XK(jwU9`}&ZHH;(ZTVPNVH){=b)gH50ZqY8QAXVchlQ zZjiquJ)HZT+haRKvH;D%njggU+#MRUCP~pzx{Gg%#Dy_9sYhA z_Xl#fOWJ4g_h|0(_&c5>k0s9|_bJ?aIeh+Nj(q(+`Sfd?l8)tWlfOm$9mlUBX^q_7 zxbGKA6H>N~xlMo+1v?UMMdjv8N?H1Hn6FLXAl^rB0tlm6TW;PeY- zU+&uEUhb%+esT96W92zj1v`-8+*bS@lVTl}qI<(|US##B`CS3#S%uj&UqpNksw z6vWy@cG??j>p;(S-Wny>7Ua54B%Q`c=-W0Ha;ACO9PN zm-ZUvioo{qF)7s!P(ukJIqiJ2*tw@Yv}zo3v(_W6A8L7H?o*^H6hCKoD3N#ySmD)7 z(R{SZYr?qP`x5u}+@9M>341n*7Vbn1dv3*^YekQs0vi;=M@`V%i~(Z+(y)fcv|gp| zd_&3IBAhp|k@O!-#yIzt8~4>p_4Zi}v}ZSJrVu^!+}I9@izu9|q6r+u+o9@~p+hxVy1ERF>b9RL3ji z|D^E$VQv^X3{L(AF9vYd_w#}uUB%~4!{@V>!N&oo?fJQY8p(FN!g0)dLc6kI_{tBu zY1_ByxS#abp-FVPeD_AoqRry>ES{gQFCNl=UEl*qJB&75GD@Z@z69sV6F*t3(@JYwR-|69$fx#)~SP$te!9vsU7X;qlWb5C@ zWLcN%TXP_TzZy@sXailWn?U!Yh<3b87Ro*>Iv%@n7C8*gI?0P2O}OI$oMkfj$pB9L zl?{~T6}0w*4(S^_v@6lE;L~yveCp!70nz0)MhQ zEGuRCK;TQ=EK{JzZ5q30eG5DE)KIuFyy7+GQdB6i*Y)7=? zWqPLU!=j7l;TaPB6aI|I@+!)kz$v4_*&a+kl+nZAy5f7VhHP8pb8{EoaIIu$8T>*3 zCoO|N5x^ubx;C(KXow67{ z;gscS)X_S(Jls(bB$_O&*T!nEuLy9{G2t6Aqfg)awtKQ`FVX_~7wyZ8K4q`0BApkm zoB$1jQ}z{szj5XL0i3#dTHx>ZQ11cH%j!4Y6dF&Y?2J6$6Zq@W76aOsWy5{q|BBKt zhvhN2>FOG(3!bWof^@iy26eSTZ;ovyyhI{qG`{s zd>(P|mw6*T1pU{&{&^a+%-y};c(YGt2Ku_5e)7sgJy*)37a#74*_XQ!4{QB+K)Mx= zlKGxI9vg9w-z~Xqcrfq9-Ok)z;OxWXz%L@!n>*0kpO^JDI#-PCD5tPd!!K{Ylqq5> zD|K)|=Fs{?V+N-V3=VURbwhhG_&UH@r(GyFo?j$?r#~U>C&8}E&2|yr;G}KvkSAp{ zxbbwt^RZ6sB(0ftZ})J(GojtvT@2tXzvtQ8o$VJ5Zv7(54z3sb6x*%U~LX_T{~fz*U8ME%^!Xa#(Ry-%=PESkh)&y z-jEw}71sl@##8D~z4u6O+`b&6j?3%k0xBD6V<>b0XT2Icv@zPA!Oh0JU0>e2j)5D= zb0B5cO8QoVCvr{U`6C^U7L%#o_TBS)p!$(Nl&;q zzUb(~wCraE5i`XD9=VV2Zf^ulyt|#0t?VE2<*nHR>-|kxqtRUN1`q3oD zUfRN~u*a8JIN0MFvq#!q-!m98cKz1Vy?yR3=Hq~2=BxW zIA-l}=T5Usoi3A~x_??|T9hWhtX1=c?xgq@EY|M4j_8_9&eyYU7x$H z>mO~vK=}6DevA?Na$j6^yyxcJcHnJ7YzJ3O$m@yTz5@^{SQFv5&U_5*>X57*>TB}L z2Ir{3%FMbnILt0yv&8)a*uc|CZITw!*>Drb2d|{~Ql|zF`O>xw9`eOnfXn9lhVXrw zLz=i;{G&xTLFe70IQ>|7sgD)nsjTW4B6Tm7T= zf3}{jSkCXGBgb0BRQXv>gNNm3eHfhOw|??+o~=mxeW~l&rn)wG$dfV}+;~#h9(U=_ zR+QV*=u16YCA9le&sK?yeNE3+MrS-I|K&VeQI_6MQ|GQp7K0aqHb7YnKBhb;5Ms@n z{O$B7^sABZd@p{sqF?-fbgc2r9T;brPvnc*XZOlm+XyQH4r0~Dn7lpSgjE2X4B(sO zmG8sH_6AQyVcjWHI{aEfk+~1J99}^5*<}i-;>7U0mgcqPs z1-Kq*5CGnJ2-sJPth!tdYfMBCw>ugC`2B)hwk;A~S92(iBX41$hVSii4}zdF>7=A5E&u>ou|jn})`-BXTbgqOQM z%**j^*Lk;Bo^O(I)#a^YeMidkeD@*95bD<8S=|~ut6PJcZZCHZj`cQiGxhMI%@?Vj6UQ>l{wU=u9FmJMFDs)|j4j$B`%0$*{nu@D4SBQ|`S2pKvDu zH@kAK!D{Vzg>rKM+l3kR3FP=V*T~ZUd_n!syVw)SeR%S$!-ZS_ERtuPBG+K`Mk^~A zlHHse>w4}v^q;-CyRhgZr|zPc3#f?lg=7rscS~ajd$Jk(@)~(q{>CjVe_vdF)?1H@ zzi`}9k4&_BV*NcAk=DCZX$+^oFnIQvz~Fo);4`xC_vEX|fONh>zCVn}_vt3P>AQvS zMw8tX1wJKqV|3`JrUYKZyW&J1tij}mxUnwg(&c$g6=9zx!)1eDB-;ey88}yrJuzKe+PH z?|$>T#j!8VJ$LZNZ+zhQPGgVoyPJD{<)82RAO7z*e&x@8Z&&|6hFyZthOWQ!o!@>T zxBTD#(@^yfAGWlh)6y`^yt z-FG#vp?go`8p`_+(&Kv(^5c6D#x-<&|G~J1@~(+-zH=fz-!U<+p}bpS{Ao>pS<^Li zd~d{b4ds0i<9u&~kj+}sHFW(N*HGS>6QA$SiN9CVHFQTcuA#hpBR=235ufWC7}wCf zq;U=1n;O^9y{B;vWsME6De6E`yenrzYbWdnpL-)MKHFU3N zTtoMk#x-=`*SLnR7wav^PeZp!;~L634W@Iw2IZO3bPZia;~KgrHLjt1LE{?AdJWQh z-NW76nyw)`A(2Nzc~?(-zOyHPzOQCnLw7*q8oJ{e*U+8UxQ6Z-jce#$(YS{0Esbj^ z>q5wn>qE$Y!#dAjLs=KVbgmCz`THLjt1L*p8{?`d2^_rAt8bQ`g* zLFDnFtgT?2Yb+?=QBBv-o!7XAvd)3{T<<{qmo!~N_lCwbbnj?fLs@6Q{9JFq{9H%C zxQ4QRfN`!PVEUA%Yv@jDTtjz3;~KhWG_Ik0S>qbIH#M%I<9a3X)6n(id|X2}pm7b| zA&qP3mNc%Rds5>Xx)(LBp?gE)8oGBhuAy^yS5A2}bX+^gxQ1>_;~L63L8ec6xU3yv zobTKbx~COiLs=`rbgmg;`kR`rp?go`8al2aAijpOriyW{t-^m<-^V!D`7wUdhbtPo z3mVtZJ+E;M-D?`x(0y0q8oD29Ttl}3<6nSQG;{+R*U;UsaSh$9#x+DnpI<{+LqvL9 zON7vIJr?5{${H`mxz>y6Z)>`SvL1`+T$jakuC-)bLpP>z4c!5aYv^V*uA#f2aSh$G z8rM+PK9c?`9`3ldk#P;(yBgQfaoru$HFW(N*U*h?TtoMW#x-bgyV!L-&@( zHFV$CxQ1>W*2++R4c#VLwTpoINxoP|NWY-q2v2!rfcZ<{+DqL-7^~3(7mj24ISU} z5?@32p2jtFd?(9v4PB&h4c)lLHI(<;#OM2LgtA71ajw;1d`0m!bQd(Pp?hBA8oC!W zuA%JThihAT6>x;^H6N~MDDNYKe-U%}P zh{n$=zJ_i^;~L7lHsbT08$!qTcZ_T3Ue&mU^8T0Ud=E@~zV~HZLpcioE_8)w0w8oB z_;5u-dEdlzzIS5!CLgY7==N${LpQ5&4c!HeYv`WWxQ6n+iS+q?iS)mt=^DDXHLjt& zS0Fy$3lN`k^^9xiIPcE5hHhNr8oHwz*U+tKTtoM)#x-=WXk0`0rp7gN?`d2^w+<7+ z=k7!&&*U-3z?kSCH=w8&ghVCtmYbfuF$e-_x5V~H>>oTsPi!`pG zykBEF-?I^)?=>0MP|jvRm$otsI6^ry0WNvv0^$hW6Fywg&^@bh4c$u`*U-JLaSh!& z8rRTmz`QN#Yv}qluA$5gGo5q9TNigXZ zo|%MD&M<-rt?(=(gmOj^s%V906(N+fi6X>#MiD|edkCafcm@$dIa>&~D?DQe|K%(o z#(5?X<2(cC7ZBG_&hpuWIM4J!C};05&NFxz=b1a7LtI1Ghs=y?=!P|}p}Sw>8p>Ha z#OIki2<6P2+Ysm3ISAd8K3vhzJ*ROE-OC!+(7mB?4c+%NuA%$B#x-=SQ3&$W&~4PX zhHgOP8oCLMYv`sluAw`raSh#hjce%ExL%=QD~!dRe+$V@aG%B!Y`;p6*9zG#Uc+ z&*eqjAI0wse$U|d3Vv_l_e1|XpT_&tRm*IK-d z-|AK1jo$(M8u)R|1J^nHO}_Ly7kJiPbA1j4Wj)#TlEa5X9(-sDUk<@H9yVUj`r(?L zt57qnn;UV@dS==(GBJ(!>jlqs-{88gT}?RS`Xe53B(Ai$2lhs{+Vvv5)_q!NG2aF! z-$-^}b*rw$c0X`d~fACk9zRqzuYwhrT zyN~gEjAbTUTCcmOdhAeXc2x81h8~1BWU*_5!`F4o$BxaNPMvjhV7}hiTb?_1%nm== zTWXZZ_bQYd<|Jii8>7B_8N1!Jh-dXeoHX8Q*9X{o(1E!M9qNoYrho2JqW*6P@YtS+ zH^DrrTkbm{-lq^Ia`=4Lfvh-8Z{_;YEG<`ohhG z^WTO!QxsWl5nOK`ejQaDX?Wc%<_4eqH%Lk93W(5Gd0q zeyi8e27dAr*5|4fCSZ&`u{1`g-?OPTMy)?W)(C!e|JmO0fsCQY|$K zgdf(nEfvmoEFa}@(st=1HaNd!h`4OCtbd$xWMA2lcKrXh_a$I*W!G6X6K7(Nt;F#X z949z$lJU5@)#~b6dXYSuvD7`95z%I~q_M3T+SS$7t@2b?wQA{Y#>s>j2xP$qJ7LE_ z*aK#BLP7vTNPrLw0Rkax2}vNV_Be4cka+n2bI!f*-d9Vvq?zxF{pm@k>%Di+J@?#m z&pCH_cVXNI#m4*CeCabU(3c7Sc<-(XeVH7BM4eK*;`+h+?or=zC+U-?2R%QAa?~@G2`&S0O!NG z(>MuJ-;x$(`@OlvD(kqPJ(tV<*ri--fK=#f;q8YDVCOO}S<)X!EgK2ypx4+l>f%~fjM6i$$j@w_&s zm^^Bzn>Tz}sfGi1<=`$JD`tCR=xGt4_5NIX@LBe}H=KQz2KwpldSIKJi&k6hudn0q zqHD`C2mTt)8&6Iki49cg^-g}3rwl(E9+kFRNv<{OJC{1`_gOwPd&!g7h3;Ct)@ygj z(~`>?Jhr4Z`OMQul!dX3XtU9nHJ&mBwZng|RDAYVis72#@l|Hk}?P8f(UE z%AaY#hHL&YFV{9n;JapHBa)2P+EL()0d2HSBmbD3ny$#%VVy4tJV zI8|L;J>O`B=j_5xlZ)%?-Foi?OLHb!#u>wMTPy_yjPvEX(1x|>bkUgbQoY%$2Bagx z#km6rN9u&rRqM4&&FWsggIYbHNfu*{%cX$uT)=TDSpgAvpQdc`n4uCeS6N7DBnuG@ z%XTSNfpr{XcB+XD6_#N0S2wRTHtQY7Wk|U+8)iG?4yW#($0iq>Fw`OJMKtC|<*<^h ztXH3@uSv&3TRM)3jFd_XK@L$A*ZVCT8oTy%kkxXsAtrp8^?X1^Bp!*pJX1- zG&18kC8rH>w@n-eX=dRQ2ys*aS$iR8k?%jZv>3&Tr^Z-gWK%46?Zym;~QQsi4wlwyDqd5ILI z6rf~G)mqHLh)XD=pFsmUpi>DMt|Z!wnGrgR7tdY19C7Qyi)nboDrz!T!E&8QBz}fZ z*Y=^n9G}r)+La`2_M|9tA(v%q4xoerD)T^jKj6sy5IPQxu9ub`R?B=uxUxDPF?<`Q zCoQMt>gEM2iE9vRBNA4G$C?}7P z*p=IzBhM|d>=b*{|1})@YZ13=MI3`pHOHwJ15FU_HiPCmV~Z|EHN=ip5K(U)ILQ3)IRM}199;D%=9j^-dJPnuDQ0NCo8ikL4SI8D%qap z-)4RWot7Tn;Bt}s-5VWZA>)eM%oo|fW4eVxwIw7p5PzHb(kxq<8rtu**VDLr`nnHV z;3f}tl1Cm%KrDGEK`hG)lVY&se}c#^peO+nK8a(5XJ*RBOU2o_g*oO5dk{iS#-%V~ z80@krH=WY-?n$N^U5MJ=hIpMA0_?s0lk}(I<+1m0W<2CIh4b#^N^e|oXYyI9pij!H zP#7Xogqn1UQdWq(3$e`Xp25XcduS4@tYyFH4R&FKVc)N5=t8|YqZ zXI-i3U!UPYo>ODXn3piO6UdMjrZ0`?p-1PX3xw>%zVtdI_q6i^APfZd8K%>kN7I4W zX;&^RTf=xH7N{T%Rw*85$KeE3NGgFsVXeN}-$>wTrJV*hsWA%$EtRc6N%Nu)Ueza@ z8}+z>Gca85G}JljGc0_ zuGL7ULo0@GH0tI`Z&cn-G8HQ!IAh%=RjQ+-O72+H+hiPIJ9+j?(-b#~Z=ddR!PV8y zjUZTTK>X2y^CC0_jfGzkn8ZsXu_6=8*%j0FE*;5+6&w9}Z@eYa}mz2*Ehsq6^S`)$BPlg&mNjgs)%jAD}r`}^WmAac1<-9_wycPJgD=ByeLq51erzr(OxycQiE#5>; zdJ>?qc6PM5({_(WL;Myd6I7cROI1$+o--<8n3E!vLDkG82Fc;d7O`g*A{?V#W-^X( zAPX(Dp9i$)P?`m1=*y9Vy?sr#lt-c#a9NjGq?WGn)L797bNAZ>3=L#tIo)0|5>7 z(9Tt4R8LZ;P)P^+8Y|vf1AQchK#)E~P{0+XNL`0mVrOSgP7*x8$&q-Z^X8fQO%kQD z0|9?Q%hJWOssg+W@5QG@9!+C}vB92?P49?^d)`Mm6*2>ul}Zci{r`ds43OX%LD z1F98Q>NH$(C}Qo2#>wIJ{!W@4U4&&+vMR|*RF$f9d9=sz>t4>R*)o(TtU!LNMUQM6U2pT$(=|c|Eo^Wz?a+r6+ z5IYcKmSMFmQ%qng^Me_47B&x|LdnU;?htb9iFjgkXJATeqin)_n-P#^8&o??CCH|y zX;L!zfLB2@I%dDFE9W~d>f_v~5Dg!lJt|Dvc~Mn!JtR?q)K9r#Hgg%qv_@e`gJD)` z>2R4QD5j2JCsD1Af#nBy)XN3m<)G-t!tZq2v5Ok9AvUZid~`)*oCQuW#InAkh?F|6 z90J+#86jI{2RYqGu0u@GBk$ipEDVIS!$)Hj<;A*%Lxv9}^Ukhq$Wv<}@e}i=$c8UJ zlS$dUT7z;nvjIWLg+$|g1C|7<6(qx|KK>j}LQlgBA_`D^yWgsRkw_c?vSI}|!$>}w zuc0-WV^KykLfY2~$+fq&cZ>AnNU^YJksv*&by5>s<2CdHX^BR0HmkeR{+70wRYuia zSN@^}X@k*;&Qys%G)w1utejPK@KRL=hF{Y!lSvJ3Ea`GStvFAN^*!naTtH+Gp7vzI zAsSyxi(#wpP^AP8oCgFBN1)_Ye80^4M`pqoP2SA)UhvAkrWwcQSkdK zXI{u`4ACQWK%e%$#ebOSE5WAcTiD8r!h!$m#Pyzu;{hos3wn+ zL>-p0#16_Lj&3P4x)vEy#*OMACyUvn7dO}Cfd?LND$y4vsS_N$rgl7}-(2!K1PPUu zf%)eyXG){5MSA1a+<0P{uS}517g;i0zpC&+82D1 zNn`N)0Y9rShOprxi1SH5(_pZUtt2=8R-TaDs@+TC-eUXg0s)k&Z(4v+lF zARmG?%Vy=3X#CCh5K?rulzm&bgAsbq6Irs_HbqzEvGUWA4bJF8B*ukqW@|mQo;Da2 zixni1g;kFDY&PnS1vG)2!GAQ{{Z7*3SH|!Ifux^Q+w!@gJiN-a^dSdi6gbkN)q1%^ z;?>Pn&YMfxwOX^^#pJm}&eHPfm>h+F<`U(GW_&mj?Z=$eQT3aqa*`g9k=vo@&ip)S zxhc%e&X#9kXki@8-eR)81?r?Jzh0UgIag^8zmw6=A!JiVT#cwUgA7OlFe@8)DN1|5 zrK+KEY#Gl1ns3W$tH*|dtU`8VoKEAJqQwu!e3^IrRkcRK;@*4=ExuW*hK}U|RUdpo zd0Nr;Uf2PL6>SLFe@%81i-O=V$su?m6;Y#Xi#o_goV0IT(JKs+OoLTfDF~O!5NyjR z712p8PHx|-|0uQSv$+V@5+fZ=O{!9#U=+bO%B?GnNLD~BU%fz&-*kZiazOANh%QBj zR9scT-XAr@w90)Jgo`I966#`?r^QQhtRQOnBS}k-7!nKho*Q6LuV-oQh~vT6kNqf3 zCWQ)5S`=WHiF=OOVUIYL?s3Smwmytw33VL%+EmPhHKzDHip#ghG*KXUr-&ODo@p>7 zy>{AKa9{Ua9SKzdEvkVgdo0Pr!2KLbIt}z4{0Q{S6o&On_}u4Mk?0}_2oGXB7RN^P z$gD&rE{^<~ooD=m$we@nRJ9?@{;C_6g_>J*k&O(^O8c4y5TzT>=|mlc(JtTw*&y#~ zH(A_>P`8S?G-#FOGgur-V07U}3}XeT@(R*Hz*J^l>9orh!psV#>I?ijl%bE9!Ne&=!EAQx zJUpwpqQ^6SM$VklDN{06N|Hd2)_o2DzobxacI$cJDN6#A(G30oX;qPs&i2hbV@xH%0t1&1Mu?|g znV1+5Sz@3ir|}B~OA9j# zalw!fA4Yf#Q+C)grCaN@*V-pwPn`}VlB{u+Lb88swNb@t0F7iqu(&4^e@<9lU%{6t zs)>ki@y3b6P1f~F;rVbH0)av}?M zKr{Vlrs^hX#rl@Xi^SB-_|oOfnSO^8ZZ#)K4-I2U33r^FH++s_#kwzU;_iWFUnpG0 zq;^dIUTxN+NkLLeBRkQ{Za7m&3r@RBS6f@v+B22ig{v3N5S*)DRc4%;Re`G0L#?Y0{})|>PPN-zS>+m?>Gj>(3f7x?n>liS zp+LaQ+!mCrhgqYmd&&6*m%O#tdrAKCMDoPB<#UP7_s2~2&8-IJZ70X4OUI{=&z7dk z#bVJ>5lT9P7>;7S(ULi0-4lsJNZcwk(K$C7BhjAqIMB%U&dO%>eeI69Ml9Cac(UDT zVvei3;_1@C+72u{NLQeU>l;apu2d;T)WW3;w@6Kv;lZz_3n7Z7V0FwKrge{GiQJrR zp;_LQB{C6_b#(*9q8>0iBopy4vRF8iUnDw&$Sp0NONrdULb;U49juf~ ziC{4r+U!nWPe&5TsA_1uMJ)3gMdbWAA`5{(8As&uI3mY`#bRTK6vt(!7^>4}p4=32t*zANJbxd~3L1}0^nJ?%rzEsB%k?e}nkjR}cDNU)}!J5*P2-_96 zxqdVyat8}YQzCBB=bfw|9i()&BbP83nQAXdZyBk>z8uqe4^#MDQ{4!l-Tv+9M;_j7x28rl^0Um zr}bqTu2z+AU@Qu4^GmkmVkEV>$O(iCcmv^MF)#&JZS|xNAPsa+G30G7Tn;=sr=WM` zMyKAr(Qd9~Bo|YQoc7S1qD&XL(*_qSbL~4nTzl4{2I*YrWCqJrl3~Ben26^d$i^C0bg{U@eiKZci!g$GgJ6T7sS1q(w*RJ#c8@j|(Ud#9=xYWyD@j=Rxbk45H{&U{4{7!R`tCdyC z#vaBqlLsGb%50Va1+bJNwF>i@Xou=>`Mg|3k5>)-PO}Q{c-Y0*UR)w0M9i+2vpk0S zWZAM1iO7+_cwlR|Y!bH7A_t@AgNkiSO`(;RYpFRrRSd9i* zO%lwG;sW<1QS0$2okH8+^QOmb7;qJ3&?*^FQ4J0L9-6SNH#Wl22v|Tay>&x5^5(*+ zG$6cBFr*d}4o7~{IN{x)30E|haV&&o{K7fNkSOmDO?Z9;VI3IBl07V8NFox2(`M5U zY+Hi0LmMrAoUI?A>Swtr75F$`?LL!Sw(Yl)<-M*94FyV%^~-A`HCq+d)Yfb7z>U2S zGH%C{0U1y&@u3`ZA@x!RiuV|bQ|3BUXhFJyFE6hjSvjEsM!0vkm}HWTr(Wbd+WtKqjja zqcrOPGK_YxW+B((Ges4^1So%v)hv*jJaYebccrp|Jzv&p%@rMhKhvykV1Z(Ny~^$Q zP|==hHqq{1OP)*WEq>rbC3C8^mfeH}Sm)B@qsR(v~0uuNP77Ej#e<)92(4( zN*J70Sz&P`PK^pMR=OM8wk=A-nx88Tlb=rfT zTpN?Ep&-~Zz|2NTC`O`lO`$$y&b<>}GVeI^jcOL+r404zn_FFO-E-vr%U_y=jbsM(0H6#{rtn$fabml$U{?@e>=X3+{Kcd&Cv zM!cd(C|rmtm9V~a*>SVPBUJ z&&fn*63dinCtETrg=UL~Tud!SXqaE)Ei5?hShO$wjs@fPA{f8Rz`*_iHW7^3vqfYh zcLfMgb^S*g!LRing%hmcAHOc&ixEY6XG`T>RyAuZp?*`QgCeVr{~>Rq`Dq9rxx#(i zGWF~dbV*wLlO~R-dLnQ*Ck%8%q3}7l!cbi-1XR4_(u#C149<#nv%z`iy@E_KVkkTp z$~8!aGjHYHEw9;@lJU{+U=?%Et-X^q4I-zQ2`i$C!+)ewF6s9V|4A6y{}GG8ozzBy~#* z|H5oi%3}0Gi*s=4o+*u(1J%zp*uo|xoYL?Gc4{k#A`!(_(k8NdEqbVn<+LpoENgS^ zw0LctLnB!%TeFfE&hSQ7U^gfVH6upRhpsv^eWIhkt+iyL7LF_Fe}F5r zD*Qg(elZzMn5yWI<=1Cn_yVtV`PZ1GUeYv?6%9(85>w*7J!5{>A&Kz`D_Yw4OUE^Q z5tcCx9RC47U1KFlNpx4Kumb8g$pK#L-@$m!ol#(lrRq93LqM7gAemW+BzcAsATsPE zUS=e?nMFi~&%|IG;tTu|Aq!I{W3*f=$~>1wfKatgMZ&n@7bu1wc6pD`k`*+{wGbV) zJ|`+rV@Tq`yJy$b7*WW2rEHo&dRCdz23q#MlwkZX@$2vKcnyM)N#t~90 z@>%CX?HGw^#_t>-Lm7s_P)43hwIOZ2GfY^Mm{MH_W$vczU6$smV_vYdSse0pSsbc) zBM3~F>ia@F=H2CCjy;CYi1ZT4VnK!vxUP=6+Z%}KE<+xVT;5yYzdX|jNU8ZJk-~f;0E#@Wk0o4NNGOe42A&yMaT)(Q>Zs`i({n zyEORqT-+)9tPsJK9}7;)Pxe0u(*)J5S$RH&GVImH zxV&Yvf-pj#Fx)bL#CFQCB46URJYmi%xFC ztgz%_yjhhGWme^}W>vmbvqFS}&5BgBX65;KdCUsJIM}R!bo*w7$fL}PL0{lzg)F>u zW<_Ezt68~aShrzTWjCb8#;A63{m_=I0(48D@nu^O(&mlBwn3^GTlb~XRu<_FM$_iJ zE;aOt=$=$*G&W+pvc@~Cs-$C`9>u5lnvIPcJxt%g6hh3!Kq0VLN>VK7 z8TsPFguq(6-C4u@4Z)Bhyls5YWg1Ag-orekNu6hTYHO?0-fdt4WxctVa4isLB=9gE z?h(~(wtL-#r>SYwQGatTKxXTdxmf`AQ?Q3^TWefNZlc?W>CBwWVqsj^e3P8PXNTs zQBs2HNsl3C#JJ44+G%v#Ei4|u#v|j%rblb)ym_QPaCl@fBY7O@Ro#>mJ~1VW8!^D@ zyEsv;y@QPlu@W0yVpSktRu!y)c5!6ga!_CllXJ!f0`&D#qZ5`d31R=jwYsiD>BB`2=_y<^kf>aaT2_~*68;A>6muYuJ?B8^_H>hcKFZ; zVLq@_J4y-KRd4cq%i(X|6}<+xC7uhVN2k#$Gy$(cq8lP$XU4Va=H+@5>N3S@K@GT) zG`VTYfO3fr0oCoQP|5q)FixjNKu}MOQF6DHg3v=Wc#yoKGLx*@<+Qjap@F?K+lJaq`(Zj|Zt~|FD70R?o4=|B5us z%dCP#)kHbuJI(;o)vbdtPD9Zzw|A(n1F=oX?Y-BvWIbj0$o+xJrLUnk`0%xEn$EeR zHyYif2~&nY>o>8rL_O)Zun4GG$AM5Rl%7q>_j4I-JJoIw0kt3Z>R^dJQ}49u*xMCs zCs;Ry{aqWo^)-|q-K0xz$0db=X4_2mKW%KHp55k&sD{mDHjsM{6Mj#|4hL@@c5mow zlA}j=kzFS7tp4!U$LH>Nk;6*%2IB8o{0t4D!vp74Rk?p{6`8^Y*Rd9eEfLvW$m%J6 z;n{;Ic#LAwZ8!VUVt@sts?U9V666~*OgFobtk?)j1W0I8pa4wTCX#^qRjfqn^!k`8 zk7fyG9%Apy&3^5M+w8W6sLeWt6hY}y9S2h%+p4x&Y#HUdQj2wyR=tX?G*M=&RV0P9 z+pF)BJ%$?H>edzm1DP;o79Wy9aYMwM&J_QZ&qhHMd)Q@;lF z++rWwp<(|fT5DHmoLCXQYj zoy>@kl)lt;2c%N6WTMP66Y-0b=s`@U21xD?NF9CU@$}?GTbeN}721~REoiYL2Q=eM zn4Faf&+#aF|0KZcAa<~c=@3fX=#JjU8rWDJ(reVvV#3IQZ%6vB3Kpq$&-;@vuP;2E zoQy{SDpa6Z>`%_NoBK2@oGqQ@`X~vH6A!9gIUwo{T!&?5M*1Y_6kLta|2RZv%wW^MyUiF5-pVXtfmV`1H1?$Z_hg;DOp*&T znRY(MV+{~W6F!(+gsc3CAqCAM@Rg1Pq1uZ&Ult`qhdDHY=a`2e0Cb(s1#i8$Lwi1h zcG6lP9|^mFc139K2K)jC_sN+S6vwlc zIiTq!C%(l;=3cHwSw=X+O?aPG`t%edy~*%^G}TGx&TTw)#vKVghANz}vE&AMeJtyL z3~-I(+9!sNa712Pv_7ubFx(Mk|DlI`xETsP35HQ3LP7UG5Ym_|`C*Zf#gi3OlwK&b zF{um+Zh%T!q@+VR-e$8HJMsEMY_B)g6FHo za8rqd0L>?Ac)4)r8Qng|4#$*^k9Lb6B|`ybqC;Pj=bjstv;9X-@_Pzt1sU)&>4OTC zhXPKQr3uHo*>EhthOp7P)$%RTE2xvHQ6l$-|Ny zxNts!jgA?1Pgop6(WPw=g%AteITbRbh1Wij&_S|6p-3@qJYN3Dgyff~BM z!CrV!?U2s1qN!Bmn)R-9kQPeH1JuxuW0*GMIaq^+OUe@o;JQ;&Q7SKy#Tc;>zSB3a zhZp+jHphS=hMwh6X%4Aav&K!D1JbpRXJdVBme43itJ#nB&M}Wtd=hiw&F4`e=KORCHd zfre@qw~XEzk0dmN?pD3#A2>VA9?&D=ktx>6voio5mrdn`9)^;t__ChIrQ-HGKCT zMIyp5D({y5FN)!?8>AmD!o&3;wWd zJ{Q-i)_n{(7YkSl9=J~-u3y^E^jkG`oTUWE`*~flRQ7ko4>%3SJX@V>#P=M@o|!H} zE7eI9C&euwXm3LN6}9G|82J=kOGhIGUwp9p1&5A{a4)_?TgNaNXNkyhqsP!wtFLi3 z&c=SS)4?nY4(4IIS?oh;!;5I_URs`>_G5D)`9%;1bIfDn9 zxK_8ePe6m|452eId1lc}h{z!Z52(wRCWQxdA}1!pKsWu>)dI#TQ(Jdev zid6-*GK)}@tBg~3+M8Tne!k7Gy{>N7v(^knyqqdJx+JYNEaUf;Cyty(_Zi+<>S5JO zR~Fm=22+=HCNq~lpe*D9nyL?G@99cZPV~mK=iOb*p~fDXrRy@W8{6LDK;BLDl+H;G z#zZ1q+R2#5uNOI$9dp8inDO~)E^S$2f;1&%%rIhPr0RFKWZ|#u@W>y3%H)dY!J@8E`w$7?~CtY#K{uv0El}38(Nc z1pP`>=D{`*aRf2(99yNy)O8TTFD|)JhKL=Iwgo>R!xgtc9HlKbwcqCKgCJhu@~M(V zhlBMBxHNU0%`YJ-a=&RD5{V0hxlkSYcl|g72tFgKk`+bNyby6g5nUQ_3`tF6=sE<( zC=MuYoB;Ts*wm z3>i;65;QhrzBGp=k&`XzyG7@WDD&`o7$z8TO%cWG(lBt~J=t~fJ1Ccv37eyWGcoCm zBTT29taI*#V~w^jz#3m31w$a1wt-@079!B+{CYZ7f|*}0O+pAq!_y+oVXlXt$?P3n zAealhrU~+bd~L!f09PNkHr)b;WVMgO$y)V&7@}bZeHk1sh{0VSvfAiX(~2AwFnI(m zX3ORftNB2K=p1E_u%6f_-gL3OX#O;kv-JYr$*9CvH@85I!}bA7tp70_iDKb0AK7IH zmSzZDbdtD50Z`aO2#T+iw4fxy8@ND`lsMo?GIo)gn4S3psE=4MiSfe0^F!`jC?>gS zx{4ZX{1x1K_ zmyHblLr=8>osY zO?sk!ObClfIPF8bdA^BR-CT{{BwOrSr=HW2$$PwM9=>@rq{TOr8qM)ydWX(w0}XoN z!!>?`fhkc*=gccfe=Fjo0(IJHMXziIYs#IZldN(eiHf<8?%*t#!{4~(>u+&V#z~)q zu~aw}tb899~{9_s3)!rWwJvQC6rDB1)Q<8Tyua|y_p_;E&d zzy=aT8liDcnhscGF@1V$J#DxIYaCpPl~`NWqDx&rEVw8GF!2zP4}|);@TSj7Ey0(H zSTWJzqDbi=1`|ogVy0#TYcdbll-q z{^s7C%jLfRo?PyMy5r@;v_FdeGpN_@!3xdUNic zuj22QBhGmY6gB0XGfq;=z3@;F_ISPbcn3#ZxuYPk8d7G(=6?AzFTBq1UJn{*L~Y;9 zedYy6_lPCv<9)>5f7agj?fH%N{2{~pIs5$s_Wm(@eyibc+Vf9Y_yhKQ)zZgne?9N- zcmu=(F7nAMk-z?rkNBmU6%Bw7$>rXm_apu~dLx1lew_?O;ai%lTypcgJtX#<`5D2- zJ5nl{2szdgyq=f8hyLTD#StK>*Lp%p8YZ{Fa~kpz+`R@g-UOh3n*lrwcmi+*@LoU@ zunYJA;Ddla4EVEvzYh2W;3oh-4fqAXrva=#*}{4QAOTDP7640tOMu^K*Xwd`{Yvum zZGd}n+!rU8drR(}UzwmZUWqq3v;}y%T?bHq=e{1{-(cad&4hDq6X}tL!?|QQ(rGY+ zG@RI)27@kj+V6Aml?PgnhVv87HLTccci8@LJksnm96Vz0hLHbz(X7$1iyd}>Imc05H$VA zph$WX!qa{5$Ey3>{uS->rhXmG5AumdJ=T*gf=;=`reEaKiKky^3$Nf1#0+<4P z4&W|!`o7vd*e~PqVjm*WYEz#1=ic0r+^65Jk3anNxg0g^6W{YuI!3vq#%Z-%bvzyW zq3IXy$$eJBQd&EB&TVPs$n74WTqzYJJB@zmpu z-V^=Rrxww3eX`obh9^(ygr)9Ni&e}ry|yg7WsS#_aWTVej7NPZX1HQg6)rWu(d;%4 z!1jI4!yseEuHW1XdHejQKL06}hm?sc7(9z`D4-W#d~I-_`|xz}o}c{H?|u(a-}KpE ze0p!`HK#xFD{pzvH@~O(P#G@^=NheN&SIaETmh%g)w{Vuw^J+Jz)l+V&MM9keMVob z<4Ejop?2b_4NT{TU^#bWM+MuJnPA2f)HrlfH?!hCY;xqa zy@TGqN&c|$u$nL}1U9w596*u&JV)nnJqdUf;PZgj0ALBys=gn;bgaCntZa)>#lI84 zupa}w8o=w+he~0A>dQO*`vwq503QSChrz*%_^ntnB{XtpaQ`_pQ*Od>eIM|)9?Ipm z;UFGd$>shfp6MU*d=IPT{ZHeU2K@g3?3;ZL;P(UmFW{E}Xr4%hY43js!1nYX0sK+G z9|L?8@W%mv0`MmR-wXItfIkiRGXS=|{~X}Y1O5VlJpDz$Ujlp#K>PkHfWHd(YXG*> zKMweQzz+ca2H*z)KLq%jfFB0@Ex_Lf{2jn20Dl+o_W(Zv`1^n#1+XCg0pK43{t@8E z0sk2A6M%mL_$1(;0{$7`CjtK)@Gk(A5&NM33h=K1>?`~mz|R2wE#Th){ypG70RAK3 zX8}J4_)mbJ2mAuy7Xkkn@LvGG1o*Fj{|5N)fd2vbpMd`b_!QvNfENIt0jvXF383Op znW#vw0UQBPLB9ge+v;kXyn}80W z3+Ms*fNj7IU>C3l*atidcnz&8QD8Sp&dTL8Ze@U4Ik0De2*cL07T;M)Md3-G%E z-wyZ=z;^<^3-EgY9|U{|@OuHj5Ab2YM*!aq_%gsB1pEr%vw&X(d=Bux0sjYZ_xj?J kz^@@YzYh5P7gx6K=H{*h?n>aU1nx@Ut_1E%V2lL*Kfp%?j{pDw literal 9788 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 I4nD5@4?2OO4*&oF diff --git a/Shaders/CloudsPS.cso b/Shaders/CloudsPS.cso index bb9cdf7c2f80c8e652c9030b4457412df5fdca17..5fd090b97c379d9d1d69705012573f4c7b21ae51 100644 GIT binary patch literal 47508 zcmeHQeT-aJb-!yniM{qF>ogxG3E^QvyH3`#^R-`&1H1O_+J?2g?5rIVJFLeuZ)XS3 z&MY&t_N)oj3Weep+6L96iCRI5_#F?Z+H|M^2GoBd(apHGZci(&Gp8I>}o_p@S@8i5PQ>P9b{JWilKYQg5kA3-(%-QeN zj%@yZj}YR@UkY(EwqwZmZ53j6n-Ckw{o953H1hn^^vw5e5rTNXh`gEjkj0kQU%v^& zKSkLSnoeY%s1D`dLf(XY6Y>`1*O9Q1WqsIwmJR}vslVXXs%vF8l@e2Kv68Q@r_w8{ z1-C3Rh0X4(Dw)M&x1ap`ALsP{xhJ@2JmME>M z&jj#a0R1fJe*HWNdLe-SQ=qQ~@IM3k69N362Ymx{(kZ2va7^iCY@fo`PyZ3<&jrxm z4nutrbibS=-&$9e+=|*gYK7S8T9W5;H-iE9|1T|fc}#J{>z~M zEP(&_L8rmsZ`YrIz5{fByPgNVA9M%RD7{4WkzU3&3i^aR65<~;{a>(M1>N7SAA`OD zI)=SWKhyj>Fs3gD(C-HQsQ~(J(4PsQM?ilrfW8m(=L6_7puY&Zzr7y>{iOi1;GAUZ9z;2Y)8zrqh+`(R^{O z@~B&>s@jq_CUQPXT;x(~#i@MR%~bQHqL6F}No4hsB6pCcGe#N~xyhAtdAG>%M?~&G zX|0%X8RMwPnVE4pzf?_OI&{6Zc-q7nGwEv8EgxDul={e8y6k2b=a$nI_vl)ox~MAU z=JIYilP~6G^SR~fT?i-oSrKI&A`Mw9D@QJQ^-z-{+xF!r1%pjA)dDn7H=OssnSw)E?utXGX-}( zUCg14)5Qx%)2ow()#bG61G%crrq|svHB!=IYN@k{@gQPC9L;CSr3%jD49xFw4$r1$ zoz!wV>y{m;bv2K5(;0~*BI6^`Xe2h07)y#HsYAyGVA@#j2zr5ril1SQ@3GKA%3GZqEj~f2A8&Ep@wd(mFTogY{m}Z&^{%i(==uH^^_&)7~US8 z_9+oR&2NU^%ymS^WsV>|!l!*oMDIl={?y6Ex#OuL3rCJ06ARO)4jw-~KLvAm;W+d) zh;nK(;W@}AQGH6f{=($^q3H!wN*$h>r#W>3W#^DTh-T0Ho`XHrw#VqyXVnaSY8O