├── .gitattributes ├── .gitignore ├── README.md ├── VIDE ├── VIDE.sln └── VIDE │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Jenk.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── VIDE.csproj ├── VIPL ├── VIPL.sln └── VIPL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── VIPL.csproj ├── VOAD ├── VOAD.sln └── VOAD │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── VOAD.csproj │ └── packages.config ├── VONV ├── VONV.sln └── VONV │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── VONV.csproj │ └── packages.config └── VOPL ├── VOPL.sln └── VOPL ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Jenk.cs ├── Program.cs ├── Properties ├── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx ├── Settings.Designer.cs └── Settings.settings └── VOPL.csproj /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | [Xx]64/ 19 | [Xx]86/ 20 | [Bb]uild/ 21 | bld/ 22 | [Bb]in/ 23 | [Oo]bj/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | artifacts/ 46 | 47 | *_i.c 48 | *_p.c 49 | *_i.h 50 | *.ilk 51 | *.meta 52 | *.obj 53 | *.pch 54 | *.pdb 55 | *.pgc 56 | *.pgd 57 | *.rsp 58 | *.sbr 59 | *.tlb 60 | *.tli 61 | *.tlh 62 | *.tmp 63 | *.tmp_proj 64 | *.log 65 | *.vspscc 66 | *.vssscc 67 | .builds 68 | *.pidb 69 | *.svclog 70 | *.scc 71 | 72 | # Chutzpah Test files 73 | _Chutzpah* 74 | 75 | # Visual C++ cache files 76 | ipch/ 77 | *.aps 78 | *.ncb 79 | *.opendb 80 | *.opensdf 81 | *.sdf 82 | *.cachefile 83 | *.VC.db 84 | 85 | # Visual Studio profiler 86 | *.psess 87 | *.vsp 88 | *.vspx 89 | *.sap 90 | 91 | # TFS 2012 Local Workspace 92 | $tf/ 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | *.DotSettings.user 101 | 102 | # JustCode is a .NET coding add-in 103 | .JustCode 104 | 105 | # TeamCity is a build add-in 106 | _TeamCity* 107 | 108 | # DotCover is a Code Coverage Tool 109 | *.dotCover 110 | 111 | # NCrunch 112 | _NCrunch_* 113 | .*crunch*.local.xml 114 | nCrunchTemp_* 115 | 116 | # MightyMoose 117 | *.mm.* 118 | AutoTest.Net/ 119 | 120 | # Web workbench (sass) 121 | .sass-cache/ 122 | 123 | # Installshield output folder 124 | [Ee]xpress/ 125 | 126 | # DocProject is a documentation generator add-in 127 | DocProject/buildhelp/ 128 | DocProject/Help/*.HxT 129 | DocProject/Help/*.HxC 130 | DocProject/Help/*.hhc 131 | DocProject/Help/*.hhk 132 | DocProject/Help/*.hhp 133 | DocProject/Help/Html2 134 | DocProject/Help/html 135 | 136 | # Click-Once directory 137 | publish/ 138 | 139 | # Publish Web Output 140 | *.[Pp]ublish.xml 141 | *.azurePubxml 142 | 143 | # TODO: Un-comment the next line if you do not want to checkin 144 | # your web deploy settings because they may include unencrypted 145 | # passwords 146 | #*.pubxml 147 | *.publishproj 148 | 149 | # NuGet Packages 150 | *.nupkg 151 | # The packages folder can be ignored because of Package Restore 152 | **/packages/* 153 | # except build/, which is used as an MSBuild target. 154 | !**/packages/build/ 155 | # Uncomment if necessary however generally it will be regenerated when needed 156 | #!**/packages/repositories.config 157 | # NuGet v3's project.json files produces more ignoreable files 158 | *.nuget.props 159 | *.nuget.targets 160 | 161 | # Microsoft Azure Build Output 162 | csx/ 163 | *.build.csdef 164 | 165 | # Microsoft Azure Emulator 166 | ecf/ 167 | rcf/ 168 | 169 | # Windows Store app package directory 170 | AppPackages/ 171 | BundleArtifacts/ 172 | 173 | # Visual Studio cache files 174 | # files ending in .cache can be ignored 175 | *.[Cc]ache 176 | # but keep track of directories ending in .cache 177 | !*.[Cc]ache/ 178 | 179 | # Others 180 | ClientBin/ 181 | [Ss]tyle[Cc]op.* 182 | ~$* 183 | *~ 184 | *.dbmdl 185 | *.dbproj.schemaview 186 | *.pfx 187 | *.publishsettings 188 | node_modules/ 189 | orleans.codegen.cs 190 | 191 | # RIA/Silverlight projects 192 | Generated_Code/ 193 | 194 | # Backup & report files from converting an old project file 195 | # to a newer Visual Studio version. Backup files are not needed, 196 | # because we have git ;-) 197 | _UpgradeReport_Files/ 198 | Backup*/ 199 | UpgradeLog*.XML 200 | UpgradeLog*.htm 201 | 202 | # SQL Server files 203 | *.mdf 204 | *.ldf 205 | 206 | # Business Intelligence projects 207 | *.rdl.data 208 | *.bim.layout 209 | *.bim_*.settings 210 | 211 | # Microsoft Fakes 212 | FakesAssemblies/ 213 | 214 | # GhostDoc plugin setting file 215 | *.GhostDoc.xml 216 | 217 | # Node.js Tools for Visual Studio 218 | .ntvs_analysis.dat 219 | 220 | # Visual Studio 6 build log 221 | *.plg 222 | 223 | # Visual Studio 6 workspace options file 224 | *.opt 225 | 226 | # Visual Studio LightSwitch build output 227 | **/*.HTMLClient/GeneratedArtifacts 228 | **/*.DesktopClient/GeneratedArtifacts 229 | **/*.DesktopClient/ModelManifest.xml 230 | **/*.Server/GeneratedArtifacts 231 | **/*.Server/ModelManifest.xml 232 | _Pvt_Extensions 233 | 234 | # LightSwitch generated files 235 | GeneratedArtifacts/ 236 | ModelManifest.xml 237 | 238 | # Paket dependency manager 239 | .paket/paket.exe 240 | 241 | # FAKE - F# Make 242 | .fake/ 243 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenMapTools by dexyfex 2 | OpenFormats map conversion toolkit 3 | 4 | Package includes: 5 | VIPL - Convert SA IPL files into V .ymap.xml files, with LODs. 6 | VIDE - Convert IV IDE files into V .ytyp.xml files, with interiors. 7 | VOPL - Convert IV OPL files into V .ymap.xml files, with LODs and interiors. 8 | VONV - Convert IV ONV files into V .ynv files. 9 | 10 | This toolkit is intended to assist in converting map mods from GTASA and GTAIV to GTAV. 11 | Intended use for IV mods: 12 | 1) Create a folder structure like: 13 | -- VideIn 14 | -- VideOut 15 | -- VoplIn 16 | -- VoplOut 17 | -- VonvIn 18 | -- VonvOut 19 | 2) Copy your mod's IDE files into VideIn, and the OPL files into VoplIn. Copy ONV files to VonvIn. 20 | 3) Run VIDE to convert your IDE files into .ytyp.xml files, specifying the VideIn and VideOut folders. 21 | 4) Copy all the .vopl.txt files from the VideOut folder to the VoplIn folder. 22 | 5) Run VOPL to convert your OPL files (and the .vopl.txt files) into .ymap.xml files, specifying the VoplIn and VoplOut folders. 23 | 6) Run VONV to convert your ONV files into .ynv files, specifying the VonvIn and VonvOut folders. 24 | 7) Use CodeWalker RPF Explorer "Import XML" option to import the .ytyp.xml and .ymap.xml files into an RPF archive for your map metadata. The gtxd.meta and .ynv files can be imported into the RPF as normal files. 25 | 8) XML for a DLC _manifest.ymf file can be generated with CodeWalker, by loading all the converted .ymap files in the project window, and choosing the Generate Manifest tool. 26 | 9) This isn't a full map conversion tutorial! 27 | -------------------------------------------------------------------------------- /VIDE/VIDE.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.13 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIDE", "VIDE\VIDE.csproj", "{485085D6-28F2-411F-8D68-EA78C006F8AB}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {485085D6-28F2-411F-8D68-EA78C006F8AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {485085D6-28F2-411F-8D68-EA78C006F8AB}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {485085D6-28F2-411F-8D68-EA78C006F8AB}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {485085D6-28F2-411F-8D68-EA78C006F8AB}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /VIDE/VIDE/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VIDE/VIDE/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace VIDE 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.label8 = new System.Windows.Forms.Label(); 32 | this.label2 = new System.Windows.Forms.Label(); 33 | this.OutputFolderBrowseButton = new System.Windows.Forms.Button(); 34 | this.OutputFolderTextBox = new System.Windows.Forms.TextBox(); 35 | this.label1 = new System.Windows.Forms.Label(); 36 | this.InputFolderBrowseButton = new System.Windows.Forms.Button(); 37 | this.InputFolderTextBox = new System.Windows.Forms.TextBox(); 38 | this.ProcessButton = new System.Windows.Forms.Button(); 39 | this.BrowseFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 40 | this.GtxdMetaCheckBox = new System.Windows.Forms.CheckBox(); 41 | this.IDEFormatComboBox = new System.Windows.Forms.ComboBox(); 42 | this.label3 = new System.Windows.Forms.Label(); 43 | this.LODsCheckBox = new System.Windows.Forms.CheckBox(); 44 | this.VOPLInteriorsCheckBox = new System.Windows.Forms.CheckBox(); 45 | this.IDEPhysDictNamesCheckBox = new System.Windows.Forms.CheckBox(); 46 | this.IDEClipDictsCheckBox = new System.Windows.Forms.CheckBox(); 47 | this.SuspendLayout(); 48 | // 49 | // label8 50 | // 51 | this.label8.AutoSize = true; 52 | this.label8.Location = new System.Drawing.Point(26, 13); 53 | this.label8.Name = "label8"; 54 | this.label8.Size = new System.Drawing.Size(499, 13); 55 | this.label8.TabIndex = 1; 56 | this.label8.Text = "Convert .ide files to .ytyp.xml files... Put extra strings for hash conversion" + 57 | " in strings.txt in the Input folder.\r\n"; 58 | // 59 | // label2 60 | // 61 | this.label2.AutoSize = true; 62 | this.label2.Location = new System.Drawing.Point(24, 82); 63 | this.label2.Name = "label2"; 64 | this.label2.Size = new System.Drawing.Size(71, 13); 65 | this.label2.TabIndex = 5; 66 | this.label2.Text = "Output folder:"; 67 | // 68 | // OutputFolderBrowseButton 69 | // 70 | this.OutputFolderBrowseButton.Location = new System.Drawing.Point(490, 78); 71 | this.OutputFolderBrowseButton.Name = "OutputFolderBrowseButton"; 72 | this.OutputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 73 | this.OutputFolderBrowseButton.TabIndex = 7; 74 | this.OutputFolderBrowseButton.Text = "..."; 75 | this.OutputFolderBrowseButton.UseVisualStyleBackColor = true; 76 | this.OutputFolderBrowseButton.Click += new System.EventHandler(this.OutputFolderBrowseButton_Click); 77 | // 78 | // OutputFolderTextBox 79 | // 80 | this.OutputFolderTextBox.Location = new System.Drawing.Point(101, 79); 81 | this.OutputFolderTextBox.Name = "OutputFolderTextBox"; 82 | this.OutputFolderTextBox.Size = new System.Drawing.Size(383, 20); 83 | this.OutputFolderTextBox.TabIndex = 6; 84 | // 85 | // label1 86 | // 87 | this.label1.AutoSize = true; 88 | this.label1.Location = new System.Drawing.Point(32, 46); 89 | this.label1.Name = "label1"; 90 | this.label1.Size = new System.Drawing.Size(63, 13); 91 | this.label1.TabIndex = 2; 92 | this.label1.Text = "Input folder:"; 93 | // 94 | // InputFolderBrowseButton 95 | // 96 | this.InputFolderBrowseButton.Location = new System.Drawing.Point(490, 42); 97 | this.InputFolderBrowseButton.Name = "InputFolderBrowseButton"; 98 | this.InputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 99 | this.InputFolderBrowseButton.TabIndex = 4; 100 | this.InputFolderBrowseButton.Text = "..."; 101 | this.InputFolderBrowseButton.UseVisualStyleBackColor = true; 102 | this.InputFolderBrowseButton.Click += new System.EventHandler(this.InputFolderBrowseButton_Click); 103 | // 104 | // InputFolderTextBox 105 | // 106 | this.InputFolderTextBox.Location = new System.Drawing.Point(101, 43); 107 | this.InputFolderTextBox.Name = "InputFolderTextBox"; 108 | this.InputFolderTextBox.Size = new System.Drawing.Size(383, 20); 109 | this.InputFolderTextBox.TabIndex = 3; 110 | // 111 | // ProcessButton 112 | // 113 | this.ProcessButton.Location = new System.Drawing.Point(101, 257); 114 | this.ProcessButton.Name = "ProcessButton"; 115 | this.ProcessButton.Size = new System.Drawing.Size(68, 23); 116 | this.ProcessButton.TabIndex = 20; 117 | this.ProcessButton.Text = "Process"; 118 | this.ProcessButton.UseVisualStyleBackColor = true; 119 | this.ProcessButton.Click += new System.EventHandler(this.ProcessButton_Click); 120 | // 121 | // GtxdMetaCheckBox 122 | // 123 | this.GtxdMetaCheckBox.AutoSize = true; 124 | this.GtxdMetaCheckBox.Checked = true; 125 | this.GtxdMetaCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 126 | this.GtxdMetaCheckBox.Location = new System.Drawing.Point(101, 154); 127 | this.GtxdMetaCheckBox.Name = "GtxdMetaCheckBox"; 128 | this.GtxdMetaCheckBox.Size = new System.Drawing.Size(107, 17); 129 | this.GtxdMetaCheckBox.TabIndex = 10; 130 | this.GtxdMetaCheckBox.Text = "Output gtxd.meta"; 131 | this.GtxdMetaCheckBox.UseVisualStyleBackColor = true; 132 | // 133 | // IDEFormatComboBox 134 | // 135 | this.IDEFormatComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 136 | this.IDEFormatComboBox.FormattingEnabled = true; 137 | this.IDEFormatComboBox.Items.AddRange(new object[] { 138 | "IV"}); 139 | this.IDEFormatComboBox.Location = new System.Drawing.Point(101, 114); 140 | this.IDEFormatComboBox.Name = "IDEFormatComboBox"; 141 | this.IDEFormatComboBox.Size = new System.Drawing.Size(121, 21); 142 | this.IDEFormatComboBox.TabIndex = 9; 143 | // 144 | // label3 145 | // 146 | this.label3.AutoSize = true; 147 | this.label3.Location = new System.Drawing.Point(35, 117); 148 | this.label3.Name = "label3"; 149 | this.label3.Size = new System.Drawing.Size(60, 13); 150 | this.label3.TabIndex = 8; 151 | this.label3.Text = "IDE format:"; 152 | // 153 | // LODsCheckBox 154 | // 155 | this.LODsCheckBox.AutoSize = true; 156 | this.LODsCheckBox.Checked = true; 157 | this.LODsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 158 | this.LODsCheckBox.Location = new System.Drawing.Point(260, 154); 159 | this.LODsCheckBox.Name = "LODsCheckBox"; 160 | this.LODsCheckBox.Size = new System.Drawing.Size(169, 17); 161 | this.LODsCheckBox.TabIndex = 11; 162 | this.LODsCheckBox.Text = "Split lod types to separate ytyp"; 163 | this.LODsCheckBox.UseVisualStyleBackColor = true; 164 | // 165 | // VOPLInteriorsCheckBox 166 | // 167 | this.VOPLInteriorsCheckBox.AutoSize = true; 168 | this.VOPLInteriorsCheckBox.Checked = true; 169 | this.VOPLInteriorsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 170 | this.VOPLInteriorsCheckBox.Location = new System.Drawing.Point(101, 177); 171 | this.VOPLInteriorsCheckBox.Name = "VOPLInteriorsCheckBox"; 172 | this.VOPLInteriorsCheckBox.Size = new System.Drawing.Size(323, 17); 173 | this.VOPLInteriorsCheckBox.TabIndex = 21; 174 | this.VOPLInteriorsCheckBox.Text = "Output VOPL interiors data (put those in the VOPL input folder!)"; 175 | this.VOPLInteriorsCheckBox.UseVisualStyleBackColor = true; 176 | // 177 | // IDEPhysDictNamesCheckBox 178 | // 179 | this.IDEPhysDictNamesCheckBox.AutoSize = true; 180 | this.IDEPhysDictNamesCheckBox.Location = new System.Drawing.Point(101, 200); 181 | this.IDEPhysDictNamesCheckBox.Name = "IDEPhysDictNamesCheckBox"; 182 | this.IDEPhysDictNamesCheckBox.Size = new System.Drawing.Size(327, 17); 183 | this.IDEPhysDictNamesCheckBox.TabIndex = 22; 184 | this.IDEPhysDictNamesCheckBox.Text = "Output IDE name for physicsDictionary (for embedded collisions)"; 185 | this.IDEPhysDictNamesCheckBox.UseVisualStyleBackColor = true; 186 | // 187 | // IDEClipDictsCheckBox 188 | // 189 | this.IDEClipDictsCheckBox.AutoSize = true; 190 | this.IDEClipDictsCheckBox.Location = new System.Drawing.Point(101, 223); 191 | this.IDEClipDictsCheckBox.Name = "IDEClipDictsCheckBox"; 192 | this.IDEClipDictsCheckBox.Size = new System.Drawing.Size(219, 17); 193 | this.IDEClipDictsCheckBox.TabIndex = 23; 194 | this.IDEClipDictsCheckBox.Text = "Output clipDictionary for IDE anim entries"; 195 | this.IDEClipDictsCheckBox.UseVisualStyleBackColor = true; 196 | // 197 | // Form1 198 | // 199 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 200 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 201 | this.ClientSize = new System.Drawing.Size(587, 302); 202 | this.Controls.Add(this.IDEClipDictsCheckBox); 203 | this.Controls.Add(this.IDEPhysDictNamesCheckBox); 204 | this.Controls.Add(this.VOPLInteriorsCheckBox); 205 | this.Controls.Add(this.LODsCheckBox); 206 | this.Controls.Add(this.label3); 207 | this.Controls.Add(this.IDEFormatComboBox); 208 | this.Controls.Add(this.GtxdMetaCheckBox); 209 | this.Controls.Add(this.label8); 210 | this.Controls.Add(this.label2); 211 | this.Controls.Add(this.OutputFolderBrowseButton); 212 | this.Controls.Add(this.OutputFolderTextBox); 213 | this.Controls.Add(this.label1); 214 | this.Controls.Add(this.InputFolderBrowseButton); 215 | this.Controls.Add(this.InputFolderTextBox); 216 | this.Controls.Add(this.ProcessButton); 217 | this.Name = "Form1"; 218 | this.Text = "VIDE by dexyfex"; 219 | this.ResumeLayout(false); 220 | this.PerformLayout(); 221 | 222 | } 223 | 224 | #endregion 225 | 226 | private System.Windows.Forms.Label label8; 227 | private System.Windows.Forms.Label label2; 228 | private System.Windows.Forms.Button OutputFolderBrowseButton; 229 | private System.Windows.Forms.TextBox OutputFolderTextBox; 230 | private System.Windows.Forms.Label label1; 231 | private System.Windows.Forms.Button InputFolderBrowseButton; 232 | private System.Windows.Forms.TextBox InputFolderTextBox; 233 | private System.Windows.Forms.Button ProcessButton; 234 | private System.Windows.Forms.FolderBrowserDialog BrowseFolderDialog; 235 | private System.Windows.Forms.CheckBox GtxdMetaCheckBox; 236 | private System.Windows.Forms.ComboBox IDEFormatComboBox; 237 | private System.Windows.Forms.Label label3; 238 | private System.Windows.Forms.CheckBox LODsCheckBox; 239 | private System.Windows.Forms.CheckBox VOPLInteriorsCheckBox; 240 | private System.Windows.Forms.CheckBox IDEPhysDictNamesCheckBox; 241 | private System.Windows.Forms.CheckBox IDEClipDictsCheckBox; 242 | } 243 | } 244 | 245 | -------------------------------------------------------------------------------- /VIDE/VIDE/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /VIDE/VIDE/Jenk.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace VIDE 8 | { 9 | public class JenkHash 10 | { 11 | public JenkHashInputEncoding Encoding { get; set; } 12 | public string Text { get; set; } 13 | public int HashInt { get; set; } 14 | public uint HashUint { get; set; } 15 | public string HashHex { get; set; } 16 | 17 | public JenkHash(string text, JenkHashInputEncoding encoding) 18 | { 19 | Encoding = encoding; 20 | Text = text; 21 | HashUint = GenHash(text, encoding); 22 | HashInt = (int)HashUint; 23 | HashHex = "0x" + HashUint.ToString("X"); 24 | } 25 | 26 | 27 | public static uint GenHash(string text, JenkHashInputEncoding encoding = JenkHashInputEncoding.ASCII) 28 | { 29 | uint h = 0; 30 | byte[] chars; 31 | 32 | switch (encoding) 33 | { 34 | default: 35 | case JenkHashInputEncoding.UTF8: 36 | chars = UTF8Encoding.UTF8.GetBytes(text); 37 | break; 38 | case JenkHashInputEncoding.ASCII: 39 | chars = ASCIIEncoding.ASCII.GetBytes(text); 40 | break; 41 | } 42 | 43 | for (uint i = 0; i < chars.Length; i++) 44 | { 45 | h += chars[i]; 46 | h += (h << 10); 47 | h ^= (h >> 6); 48 | } 49 | h += (h << 3); 50 | h ^= (h >> 11); 51 | h += (h << 15); 52 | 53 | return h; 54 | } 55 | 56 | public static uint GenHash(byte[] data) 57 | { 58 | uint h = 0; 59 | for (uint i = 0; i < data.Length; i++) 60 | { 61 | h += data[i]; 62 | h += (h << 10); 63 | h ^= (h >> 6); 64 | } 65 | h += (h << 3); 66 | h ^= (h >> 11); 67 | h += (h << 15); 68 | return h; 69 | } 70 | 71 | } 72 | 73 | public enum JenkHashInputEncoding 74 | { 75 | UTF8 = 0, 76 | ASCII = 1, 77 | } 78 | 79 | public static class JenkIndex 80 | { 81 | public static Dictionary Index = new Dictionary(); 82 | private static object syncRoot = new object(); 83 | 84 | public static void Clear() 85 | { 86 | lock (syncRoot) 87 | { 88 | Index.Clear(); 89 | } 90 | } 91 | 92 | public static bool Ensure(string str) 93 | { 94 | uint hash = JenkHash.GenHash(str); 95 | if (hash == 0) return true; 96 | lock (syncRoot) 97 | { 98 | if (!Index.ContainsKey(hash)) 99 | { 100 | Index.Add(hash, str); 101 | return false; 102 | } 103 | } 104 | return true; 105 | } 106 | 107 | public static string GetString(uint hash) 108 | { 109 | string res; 110 | lock (syncRoot) 111 | { 112 | if (!Index.TryGetValue(hash, out res)) 113 | { 114 | res = hash.ToString(); 115 | } 116 | } 117 | return res; 118 | } 119 | public static string TryGetString(uint hash) 120 | { 121 | string res; 122 | lock (syncRoot) 123 | { 124 | if (!Index.TryGetValue(hash, out res)) 125 | { 126 | res = string.Empty; 127 | } 128 | } 129 | return res; 130 | } 131 | 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /VIDE/VIDE/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace VIDE 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VIDE/VIDE/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VIDE")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VIDE")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("485085d6-28f2-411f-8d68-ea78c006f8ab")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /VIDE/VIDE/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VIDE.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VIDE.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /VIDE/VIDE/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VIDE/VIDE/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VIDE.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VIDE/VIDE/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VIDE/VIDE/VIDE.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {485085D6-28F2-411F-8D68-EA78C006F8AB} 8 | WinExe 9 | VIDE 10 | VIDE 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Form 50 | 51 | 52 | Form1.cs 53 | 54 | 55 | 56 | 57 | 58 | Form1.cs 59 | 60 | 61 | ResXFileCodeGenerator 62 | Resources.Designer.cs 63 | Designer 64 | 65 | 66 | True 67 | Resources.resx 68 | 69 | 70 | SettingsSingleFileGenerator 71 | Settings.Designer.cs 72 | 73 | 74 | True 75 | Settings.settings 76 | True 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /VIPL/VIPL.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.13 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIPL", "VIPL\VIPL.csproj", "{983D7D95-CF42-4627-8E95-9B9B0AC60A60}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {983D7D95-CF42-4627-8E95-9B9B0AC60A60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {983D7D95-CF42-4627-8E95-9B9B0AC60A60}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {983D7D95-CF42-4627-8E95-9B9B0AC60A60}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {983D7D95-CF42-4627-8E95-9B9B0AC60A60}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /VIPL/VIPL/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VIPL/VIPL/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace VIPL 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.ProcessButton = new System.Windows.Forms.Button(); 32 | this.BrowseFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 33 | this.label1 = new System.Windows.Forms.Label(); 34 | this.InputFolderBrowseButton = new System.Windows.Forms.Button(); 35 | this.InputFolderTextBox = new System.Windows.Forms.TextBox(); 36 | this.label2 = new System.Windows.Forms.Label(); 37 | this.OutputFolderBrowseButton = new System.Windows.Forms.Button(); 38 | this.OutputFolderTextBox = new System.Windows.Forms.TextBox(); 39 | this.label3 = new System.Windows.Forms.Label(); 40 | this.HDLODDistTextBox = new System.Windows.Forms.TextBox(); 41 | this.label4 = new System.Windows.Forms.Label(); 42 | this.OffsetXTextBox = new System.Windows.Forms.TextBox(); 43 | this.label5 = new System.Windows.Forms.Label(); 44 | this.label6 = new System.Windows.Forms.Label(); 45 | this.OffsetYTextBox = new System.Windows.Forms.TextBox(); 46 | this.label7 = new System.Windows.Forms.Label(); 47 | this.OffsetZTextBox = new System.Windows.Forms.TextBox(); 48 | this.label12 = new System.Windows.Forms.Label(); 49 | this.CarGenFlagsTextBox = new System.Windows.Forms.TextBox(); 50 | this.CarGeneratorsCheckBox = new System.Windows.Forms.CheckBox(); 51 | this.label11 = new System.Windows.Forms.Label(); 52 | this.SLODLODDistTextBox = new System.Windows.Forms.TextBox(); 53 | this.label10 = new System.Windows.Forms.Label(); 54 | this.label9 = new System.Windows.Forms.Label(); 55 | this.LODLODDistTextBox = new System.Windows.Forms.TextBox(); 56 | this.label8 = new System.Windows.Forms.Label(); 57 | this.SuspendLayout(); 58 | // 59 | // ProcessButton 60 | // 61 | this.ProcessButton.Location = new System.Drawing.Point(103, 245); 62 | this.ProcessButton.Name = "ProcessButton"; 63 | this.ProcessButton.Size = new System.Drawing.Size(68, 23); 64 | this.ProcessButton.TabIndex = 25; 65 | this.ProcessButton.Text = "Process"; 66 | this.ProcessButton.UseVisualStyleBackColor = true; 67 | this.ProcessButton.Click += new System.EventHandler(this.ProcessButton_Click); 68 | // 69 | // label1 70 | // 71 | this.label1.AutoSize = true; 72 | this.label1.Location = new System.Drawing.Point(25, 50); 73 | this.label1.Name = "label1"; 74 | this.label1.Size = new System.Drawing.Size(63, 13); 75 | this.label1.TabIndex = 2; 76 | this.label1.Text = "Input folder:"; 77 | // 78 | // InputFolderBrowseButton 79 | // 80 | this.InputFolderBrowseButton.Location = new System.Drawing.Point(492, 46); 81 | this.InputFolderBrowseButton.Name = "InputFolderBrowseButton"; 82 | this.InputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 83 | this.InputFolderBrowseButton.TabIndex = 4; 84 | this.InputFolderBrowseButton.Text = "..."; 85 | this.InputFolderBrowseButton.UseVisualStyleBackColor = true; 86 | this.InputFolderBrowseButton.Click += new System.EventHandler(this.InputFolderBrowseButton_Click); 87 | // 88 | // InputFolderTextBox 89 | // 90 | this.InputFolderTextBox.Location = new System.Drawing.Point(103, 47); 91 | this.InputFolderTextBox.Name = "InputFolderTextBox"; 92 | this.InputFolderTextBox.Size = new System.Drawing.Size(383, 20); 93 | this.InputFolderTextBox.TabIndex = 3; 94 | // 95 | // label2 96 | // 97 | this.label2.AutoSize = true; 98 | this.label2.Location = new System.Drawing.Point(25, 86); 99 | this.label2.Name = "label2"; 100 | this.label2.Size = new System.Drawing.Size(71, 13); 101 | this.label2.TabIndex = 5; 102 | this.label2.Text = "Output folder:"; 103 | // 104 | // OutputFolderBrowseButton 105 | // 106 | this.OutputFolderBrowseButton.Location = new System.Drawing.Point(492, 82); 107 | this.OutputFolderBrowseButton.Name = "OutputFolderBrowseButton"; 108 | this.OutputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 109 | this.OutputFolderBrowseButton.TabIndex = 7; 110 | this.OutputFolderBrowseButton.Text = "..."; 111 | this.OutputFolderBrowseButton.UseVisualStyleBackColor = true; 112 | this.OutputFolderBrowseButton.Click += new System.EventHandler(this.OutputFolderBrowseButton_Click); 113 | // 114 | // OutputFolderTextBox 115 | // 116 | this.OutputFolderTextBox.Location = new System.Drawing.Point(103, 83); 117 | this.OutputFolderTextBox.Name = "OutputFolderTextBox"; 118 | this.OutputFolderTextBox.Size = new System.Drawing.Size(383, 20); 119 | this.OutputFolderTextBox.TabIndex = 6; 120 | // 121 | // label3 122 | // 123 | this.label3.AutoSize = true; 124 | this.label3.Location = new System.Drawing.Point(12, 130); 125 | this.label3.Name = "label3"; 126 | this.label3.Size = new System.Drawing.Size(53, 13); 127 | this.label3.TabIndex = 8; 128 | this.label3.Text = "LOD Dist:"; 129 | // 130 | // HDLODDistTextBox 131 | // 132 | this.HDLODDistTextBox.Location = new System.Drawing.Point(103, 127); 133 | this.HDLODDistTextBox.Name = "HDLODDistTextBox"; 134 | this.HDLODDistTextBox.Size = new System.Drawing.Size(68, 20); 135 | this.HDLODDistTextBox.TabIndex = 10; 136 | this.HDLODDistTextBox.Text = "200"; 137 | // 138 | // label4 139 | // 140 | this.label4.AutoSize = true; 141 | this.label4.Location = new System.Drawing.Point(25, 168); 142 | this.label4.Name = "label4"; 143 | this.label4.Size = new System.Drawing.Size(38, 13); 144 | this.label4.TabIndex = 15; 145 | this.label4.Text = "Offset:"; 146 | // 147 | // OffsetXTextBox 148 | // 149 | this.OffsetXTextBox.Location = new System.Drawing.Point(103, 165); 150 | this.OffsetXTextBox.Name = "OffsetXTextBox"; 151 | this.OffsetXTextBox.Size = new System.Drawing.Size(68, 20); 152 | this.OffsetXTextBox.TabIndex = 17; 153 | this.OffsetXTextBox.Text = "0"; 154 | // 155 | // label5 156 | // 157 | this.label5.AutoSize = true; 158 | this.label5.Location = new System.Drawing.Point(80, 168); 159 | this.label5.Name = "label5"; 160 | this.label5.Size = new System.Drawing.Size(17, 13); 161 | this.label5.TabIndex = 16; 162 | this.label5.Text = "X:"; 163 | // 164 | // label6 165 | // 166 | this.label6.AutoSize = true; 167 | this.label6.Location = new System.Drawing.Point(199, 168); 168 | this.label6.Name = "label6"; 169 | this.label6.Size = new System.Drawing.Size(17, 13); 170 | this.label6.TabIndex = 18; 171 | this.label6.Text = "Y:"; 172 | // 173 | // OffsetYTextBox 174 | // 175 | this.OffsetYTextBox.Location = new System.Drawing.Point(222, 165); 176 | this.OffsetYTextBox.Name = "OffsetYTextBox"; 177 | this.OffsetYTextBox.Size = new System.Drawing.Size(68, 20); 178 | this.OffsetYTextBox.TabIndex = 19; 179 | this.OffsetYTextBox.Text = "0"; 180 | // 181 | // label7 182 | // 183 | this.label7.AutoSize = true; 184 | this.label7.Location = new System.Drawing.Point(323, 168); 185 | this.label7.Name = "label7"; 186 | this.label7.Size = new System.Drawing.Size(17, 13); 187 | this.label7.TabIndex = 20; 188 | this.label7.Text = "Z:"; 189 | // 190 | // OffsetZTextBox 191 | // 192 | this.OffsetZTextBox.Location = new System.Drawing.Point(346, 165); 193 | this.OffsetZTextBox.Name = "OffsetZTextBox"; 194 | this.OffsetZTextBox.Size = new System.Drawing.Size(68, 20); 195 | this.OffsetZTextBox.TabIndex = 21; 196 | this.OffsetZTextBox.Text = "0"; 197 | // 198 | // label12 199 | // 200 | this.label12.AutoSize = true; 201 | this.label12.Location = new System.Drawing.Point(238, 199); 202 | this.label12.Name = "label12"; 203 | this.label12.Size = new System.Drawing.Size(102, 13); 204 | this.label12.TabIndex = 23; 205 | this.label12.Text = "Car generator Flags:"; 206 | // 207 | // CarGenFlagsTextBox 208 | // 209 | this.CarGenFlagsTextBox.Location = new System.Drawing.Point(346, 196); 210 | this.CarGenFlagsTextBox.Name = "CarGenFlagsTextBox"; 211 | this.CarGenFlagsTextBox.Size = new System.Drawing.Size(68, 20); 212 | this.CarGenFlagsTextBox.TabIndex = 24; 213 | this.CarGenFlagsTextBox.Text = "3680"; 214 | // 215 | // CarGeneratorsCheckBox 216 | // 217 | this.CarGeneratorsCheckBox.AutoSize = true; 218 | this.CarGeneratorsCheckBox.Checked = true; 219 | this.CarGeneratorsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 220 | this.CarGeneratorsCheckBox.Location = new System.Drawing.Point(103, 198); 221 | this.CarGeneratorsCheckBox.Name = "CarGeneratorsCheckBox"; 222 | this.CarGeneratorsCheckBox.Size = new System.Drawing.Size(95, 17); 223 | this.CarGeneratorsCheckBox.TabIndex = 22; 224 | this.CarGeneratorsCheckBox.Text = "Car generators"; 225 | this.CarGeneratorsCheckBox.UseVisualStyleBackColor = true; 226 | // 227 | // label11 228 | // 229 | this.label11.AutoSize = true; 230 | this.label11.Location = new System.Drawing.Point(301, 130); 231 | this.label11.Name = "label11"; 232 | this.label11.Size = new System.Drawing.Size(39, 13); 233 | this.label11.TabIndex = 13; 234 | this.label11.Text = "SLOD:"; 235 | // 236 | // SLODLODDistTextBox 237 | // 238 | this.SLODLODDistTextBox.Location = new System.Drawing.Point(346, 127); 239 | this.SLODLODDistTextBox.Name = "SLODLODDistTextBox"; 240 | this.SLODLODDistTextBox.Size = new System.Drawing.Size(68, 20); 241 | this.SLODLODDistTextBox.TabIndex = 14; 242 | this.SLODLODDistTextBox.Text = "20000"; 243 | // 244 | // label10 245 | // 246 | this.label10.AutoSize = true; 247 | this.label10.Location = new System.Drawing.Point(71, 130); 248 | this.label10.Name = "label10"; 249 | this.label10.Size = new System.Drawing.Size(26, 13); 250 | this.label10.TabIndex = 9; 251 | this.label10.Text = "HD:"; 252 | // 253 | // label9 254 | // 255 | this.label9.AutoSize = true; 256 | this.label9.Location = new System.Drawing.Point(184, 130); 257 | this.label9.Name = "label9"; 258 | this.label9.Size = new System.Drawing.Size(32, 13); 259 | this.label9.TabIndex = 11; 260 | this.label9.Text = "LOD:"; 261 | // 262 | // LODLODDistTextBox 263 | // 264 | this.LODLODDistTextBox.Location = new System.Drawing.Point(222, 127); 265 | this.LODLODDistTextBox.Name = "LODLODDistTextBox"; 266 | this.LODLODDistTextBox.Size = new System.Drawing.Size(68, 20); 267 | this.LODLODDistTextBox.TabIndex = 12; 268 | this.LODLODDistTextBox.Text = "2000"; 269 | // 270 | // label8 271 | // 272 | this.label8.AutoSize = true; 273 | this.label8.Location = new System.Drawing.Point(71, 9); 274 | this.label8.Name = "label8"; 275 | this.label8.Size = new System.Drawing.Size(172, 13); 276 | this.label8.TabIndex = 1; 277 | this.label8.Text = "Convert .ipl files to .ymap.xml files..."; 278 | // 279 | // Form1 280 | // 281 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 282 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 283 | this.ClientSize = new System.Drawing.Size(586, 286); 284 | this.Controls.Add(this.label8); 285 | this.Controls.Add(this.label12); 286 | this.Controls.Add(this.CarGenFlagsTextBox); 287 | this.Controls.Add(this.CarGeneratorsCheckBox); 288 | this.Controls.Add(this.label11); 289 | this.Controls.Add(this.SLODLODDistTextBox); 290 | this.Controls.Add(this.label10); 291 | this.Controls.Add(this.label9); 292 | this.Controls.Add(this.LODLODDistTextBox); 293 | this.Controls.Add(this.label7); 294 | this.Controls.Add(this.OffsetZTextBox); 295 | this.Controls.Add(this.label6); 296 | this.Controls.Add(this.OffsetYTextBox); 297 | this.Controls.Add(this.label5); 298 | this.Controls.Add(this.label4); 299 | this.Controls.Add(this.OffsetXTextBox); 300 | this.Controls.Add(this.label3); 301 | this.Controls.Add(this.HDLODDistTextBox); 302 | this.Controls.Add(this.label2); 303 | this.Controls.Add(this.OutputFolderBrowseButton); 304 | this.Controls.Add(this.OutputFolderTextBox); 305 | this.Controls.Add(this.label1); 306 | this.Controls.Add(this.InputFolderBrowseButton); 307 | this.Controls.Add(this.InputFolderTextBox); 308 | this.Controls.Add(this.ProcessButton); 309 | this.Name = "Form1"; 310 | this.Text = "VIPL by dexyfex"; 311 | this.ResumeLayout(false); 312 | this.PerformLayout(); 313 | 314 | } 315 | 316 | #endregion 317 | private System.Windows.Forms.Button ProcessButton; 318 | private System.Windows.Forms.FolderBrowserDialog BrowseFolderDialog; 319 | private System.Windows.Forms.Label label1; 320 | private System.Windows.Forms.Button InputFolderBrowseButton; 321 | private System.Windows.Forms.TextBox InputFolderTextBox; 322 | private System.Windows.Forms.Label label2; 323 | private System.Windows.Forms.Button OutputFolderBrowseButton; 324 | private System.Windows.Forms.TextBox OutputFolderTextBox; 325 | private System.Windows.Forms.Label label3; 326 | private System.Windows.Forms.TextBox HDLODDistTextBox; 327 | private System.Windows.Forms.Label label4; 328 | private System.Windows.Forms.TextBox OffsetXTextBox; 329 | private System.Windows.Forms.Label label5; 330 | private System.Windows.Forms.Label label6; 331 | private System.Windows.Forms.TextBox OffsetYTextBox; 332 | private System.Windows.Forms.Label label7; 333 | private System.Windows.Forms.TextBox OffsetZTextBox; 334 | private System.Windows.Forms.Label label12; 335 | private System.Windows.Forms.TextBox CarGenFlagsTextBox; 336 | private System.Windows.Forms.CheckBox CarGeneratorsCheckBox; 337 | private System.Windows.Forms.Label label11; 338 | private System.Windows.Forms.TextBox SLODLODDistTextBox; 339 | private System.Windows.Forms.Label label10; 340 | private System.Windows.Forms.Label label9; 341 | private System.Windows.Forms.TextBox LODLODDistTextBox; 342 | private System.Windows.Forms.Label label8; 343 | } 344 | } 345 | 346 | -------------------------------------------------------------------------------- /VIPL/VIPL/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /VIPL/VIPL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace VIPL 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VIPL/VIPL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VIPL")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VIPL")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("983d7d95-cf42-4627-8e95-9b9b0ac60a60")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /VIPL/VIPL/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VIPL.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VIPL.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /VIPL/VIPL/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VIPL/VIPL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VIPL.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VIPL/VIPL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VIPL/VIPL/VIPL.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {983D7D95-CF42-4627-8E95-9B9B0AC60A60} 8 | WinExe 9 | VIPL 10 | VIPL 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Form 50 | 51 | 52 | Form1.cs 53 | 54 | 55 | 56 | 57 | Form1.cs 58 | 59 | 60 | ResXFileCodeGenerator 61 | Resources.Designer.cs 62 | Designer 63 | 64 | 65 | True 66 | Resources.resx 67 | 68 | 69 | SettingsSingleFileGenerator 70 | Settings.Designer.cs 71 | 72 | 73 | True 74 | Settings.settings 75 | True 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /VOAD/VOAD.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.168 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VOAD", "VOAD\VOAD.csproj", "{8B583A9F-7B0D-4DEC-933F-A276ACF35741}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeWalker.Core", "..\..\CodeWalker\CodeWalker.Core\CodeWalker.Core.csproj", "{DE50D3A6-B49E-47A0-ABE6-101473A00759}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {8B583A9F-7B0D-4DEC-933F-A276ACF35741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {8B583A9F-7B0D-4DEC-933F-A276ACF35741}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {8B583A9F-7B0D-4DEC-933F-A276ACF35741}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {8B583A9F-7B0D-4DEC-933F-A276ACF35741}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {019B6B1C-B968-4478-AF16-0ADDFABDAC38} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /VOAD/VOAD/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VOAD/VOAD/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace VOAD 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.label8 = new System.Windows.Forms.Label(); 32 | this.label2 = new System.Windows.Forms.Label(); 33 | this.OutputFolderBrowseButton = new System.Windows.Forms.Button(); 34 | this.OutputFolderTextBox = new System.Windows.Forms.TextBox(); 35 | this.label1 = new System.Windows.Forms.Label(); 36 | this.InputFolderBrowseButton = new System.Windows.Forms.Button(); 37 | this.InputFolderTextBox = new System.Windows.Forms.TextBox(); 38 | this.ProcessButton = new System.Windows.Forms.Button(); 39 | this.BrowseFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 40 | this.SuspendLayout(); 41 | // 42 | // label8 43 | // 44 | this.label8.AutoSize = true; 45 | this.label8.Location = new System.Drawing.Point(26, 16); 46 | this.label8.Name = "label8"; 47 | this.label8.Size = new System.Drawing.Size(178, 13); 48 | this.label8.TabIndex = 33; 49 | this.label8.Text = "Convert .oad/.onim files to .ycd files."; 50 | // 51 | // label2 52 | // 53 | this.label2.AutoSize = true; 54 | this.label2.Location = new System.Drawing.Point(24, 90); 55 | this.label2.Name = "label2"; 56 | this.label2.Size = new System.Drawing.Size(71, 13); 57 | this.label2.TabIndex = 37; 58 | this.label2.Text = "Output folder:"; 59 | // 60 | // OutputFolderBrowseButton 61 | // 62 | this.OutputFolderBrowseButton.Location = new System.Drawing.Point(490, 86); 63 | this.OutputFolderBrowseButton.Name = "OutputFolderBrowseButton"; 64 | this.OutputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 65 | this.OutputFolderBrowseButton.TabIndex = 39; 66 | this.OutputFolderBrowseButton.Text = "..."; 67 | this.OutputFolderBrowseButton.UseVisualStyleBackColor = true; 68 | this.OutputFolderBrowseButton.Click += new System.EventHandler(this.OutputFolderBrowseButton_Click); 69 | // 70 | // OutputFolderTextBox 71 | // 72 | this.OutputFolderTextBox.Location = new System.Drawing.Point(101, 87); 73 | this.OutputFolderTextBox.Name = "OutputFolderTextBox"; 74 | this.OutputFolderTextBox.Size = new System.Drawing.Size(383, 20); 75 | this.OutputFolderTextBox.TabIndex = 38; 76 | this.OutputFolderTextBox.Text = "C:\\GitHub\\CodeWalkerResearch\\YCD\\VOADout"; 77 | // 78 | // label1 79 | // 80 | this.label1.AutoSize = true; 81 | this.label1.Location = new System.Drawing.Point(32, 54); 82 | this.label1.Name = "label1"; 83 | this.label1.Size = new System.Drawing.Size(63, 13); 84 | this.label1.TabIndex = 34; 85 | this.label1.Text = "Input folder:"; 86 | // 87 | // InputFolderBrowseButton 88 | // 89 | this.InputFolderBrowseButton.Location = new System.Drawing.Point(490, 50); 90 | this.InputFolderBrowseButton.Name = "InputFolderBrowseButton"; 91 | this.InputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 92 | this.InputFolderBrowseButton.TabIndex = 36; 93 | this.InputFolderBrowseButton.Text = "..."; 94 | this.InputFolderBrowseButton.UseVisualStyleBackColor = true; 95 | this.InputFolderBrowseButton.Click += new System.EventHandler(this.InputFolderBrowseButton_Click); 96 | // 97 | // InputFolderTextBox 98 | // 99 | this.InputFolderTextBox.Location = new System.Drawing.Point(101, 51); 100 | this.InputFolderTextBox.Name = "InputFolderTextBox"; 101 | this.InputFolderTextBox.Size = new System.Drawing.Size(383, 20); 102 | this.InputFolderTextBox.TabIndex = 35; 103 | this.InputFolderTextBox.Text = "C:\\GitHub\\CodeWalkerResearch\\YCD\\VOADin"; 104 | // 105 | // ProcessButton 106 | // 107 | this.ProcessButton.Location = new System.Drawing.Point(101, 204); 108 | this.ProcessButton.Name = "ProcessButton"; 109 | this.ProcessButton.Size = new System.Drawing.Size(68, 23); 110 | this.ProcessButton.TabIndex = 41; 111 | this.ProcessButton.Text = "Process"; 112 | this.ProcessButton.UseVisualStyleBackColor = true; 113 | this.ProcessButton.Click += new System.EventHandler(this.ProcessButton_Click); 114 | // 115 | // Form1 116 | // 117 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 118 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 119 | this.ClientSize = new System.Drawing.Size(549, 274); 120 | this.Controls.Add(this.ProcessButton); 121 | this.Controls.Add(this.label8); 122 | this.Controls.Add(this.label2); 123 | this.Controls.Add(this.OutputFolderBrowseButton); 124 | this.Controls.Add(this.OutputFolderTextBox); 125 | this.Controls.Add(this.label1); 126 | this.Controls.Add(this.InputFolderBrowseButton); 127 | this.Controls.Add(this.InputFolderTextBox); 128 | this.Name = "Form1"; 129 | this.Text = "VOAD by dexyfex"; 130 | this.ResumeLayout(false); 131 | this.PerformLayout(); 132 | 133 | } 134 | 135 | #endregion 136 | 137 | private System.Windows.Forms.Label label8; 138 | private System.Windows.Forms.Label label2; 139 | private System.Windows.Forms.Button OutputFolderBrowseButton; 140 | private System.Windows.Forms.TextBox OutputFolderTextBox; 141 | private System.Windows.Forms.Label label1; 142 | private System.Windows.Forms.Button InputFolderBrowseButton; 143 | private System.Windows.Forms.TextBox InputFolderTextBox; 144 | private System.Windows.Forms.Button ProcessButton; 145 | private System.Windows.Forms.FolderBrowserDialog BrowseFolderDialog; 146 | } 147 | } 148 | 149 | -------------------------------------------------------------------------------- /VOAD/VOAD/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /VOAD/VOAD/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace VOAD 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VOAD/VOAD/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VOAD")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VOAD")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("8b583a9f-7b0d-4dec-933f-a276acf35741")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /VOAD/VOAD/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VOAD.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VOAD.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /VOAD/VOAD/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VOAD/VOAD/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VOAD.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VOAD/VOAD/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VOAD/VOAD/VOAD.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8B583A9F-7B0D-4DEC-933F-A276ACF35741} 8 | WinExe 9 | VOAD 10 | VOAD 11 | v4.6.1 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\packages\SharpDX.4.0.1\lib\net45\SharpDX.dll 38 | 39 | 40 | ..\packages\SharpDX.Mathematics.4.0.1\lib\net45\SharpDX.Mathematics.dll 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | Form 57 | 58 | 59 | Form1.cs 60 | 61 | 62 | 63 | 64 | Form1.cs 65 | 66 | 67 | ResXFileCodeGenerator 68 | Resources.Designer.cs 69 | Designer 70 | 71 | 72 | True 73 | Resources.resx 74 | 75 | 76 | 77 | SettingsSingleFileGenerator 78 | Settings.Designer.cs 79 | 80 | 81 | True 82 | Settings.settings 83 | True 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | {de50d3a6-b49e-47a0-abe6-101473a00759} 92 | CodeWalker.Core 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /VOAD/VOAD/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VONV/VONV.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27428.2027 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VONV", "VONV\VONV.csproj", "{1C8CDED7-4260-4D3E-A4C7-10114586F5DF}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {DE50D3A6-B49E-47A0-ABE6-101473A00759} = {DE50D3A6-B49E-47A0-ABE6-101473A00759} 9 | EndProjectSection 10 | EndProject 11 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeWalker.Core", "..\..\..\..\..\..\GitHub\CodeWalker\CodeWalker.Core\CodeWalker.Core.csproj", "{DE50D3A6-B49E-47A0-ABE6-101473A00759}" 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Debug|Any CPU = Debug|Any CPU 16 | Release|Any CPU = Release|Any CPU 17 | EndGlobalSection 18 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 19 | {1C8CDED7-4260-4D3E-A4C7-10114586F5DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 20 | {1C8CDED7-4260-4D3E-A4C7-10114586F5DF}.Debug|Any CPU.Build.0 = Debug|Any CPU 21 | {1C8CDED7-4260-4D3E-A4C7-10114586F5DF}.Release|Any CPU.ActiveCfg = Release|Any CPU 22 | {1C8CDED7-4260-4D3E-A4C7-10114586F5DF}.Release|Any CPU.Build.0 = Release|Any CPU 23 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 24 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Debug|Any CPU.Build.0 = Debug|Any CPU 25 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Release|Any CPU.ActiveCfg = Release|Any CPU 26 | {DE50D3A6-B49E-47A0-ABE6-101473A00759}.Release|Any CPU.Build.0 = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | GlobalSection(ExtensibilityGlobals) = postSolution 32 | SolutionGuid = {689904B8-23FF-4E91-9C73-F535C93053EB} 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /VONV/VONV/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VONV/VONV/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace VONV 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.label8 = new System.Windows.Forms.Label(); 32 | this.label7 = new System.Windows.Forms.Label(); 33 | this.OffsetZTextBox = new System.Windows.Forms.TextBox(); 34 | this.label6 = new System.Windows.Forms.Label(); 35 | this.OffsetYTextBox = new System.Windows.Forms.TextBox(); 36 | this.label5 = new System.Windows.Forms.Label(); 37 | this.label4 = new System.Windows.Forms.Label(); 38 | this.OffsetXTextBox = new System.Windows.Forms.TextBox(); 39 | this.label2 = new System.Windows.Forms.Label(); 40 | this.OutputFolderBrowseButton = new System.Windows.Forms.Button(); 41 | this.OutputFolderTextBox = new System.Windows.Forms.TextBox(); 42 | this.label1 = new System.Windows.Forms.Label(); 43 | this.InputFolderBrowseButton = new System.Windows.Forms.Button(); 44 | this.InputFolderTextBox = new System.Windows.Forms.TextBox(); 45 | this.ProcessButton = new System.Windows.Forms.Button(); 46 | this.BrowseFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 47 | this.VehicleCheckBox = new System.Windows.Forms.CheckBox(); 48 | this.SuspendLayout(); 49 | // 50 | // label8 51 | // 52 | this.label8.AutoSize = true; 53 | this.label8.Location = new System.Drawing.Point(37, 9); 54 | this.label8.Name = "label8"; 55 | this.label8.Size = new System.Drawing.Size(148, 13); 56 | this.label8.TabIndex = 26; 57 | this.label8.Text = "Convert .onv files to .ynv files."; 58 | // 59 | // label7 60 | // 61 | this.label7.AutoSize = true; 62 | this.label7.Location = new System.Drawing.Point(332, 158); 63 | this.label7.Name = "label7"; 64 | this.label7.Size = new System.Drawing.Size(17, 13); 65 | this.label7.TabIndex = 38; 66 | this.label7.Text = "Z:"; 67 | // 68 | // OffsetZTextBox 69 | // 70 | this.OffsetZTextBox.Location = new System.Drawing.Point(355, 155); 71 | this.OffsetZTextBox.Name = "OffsetZTextBox"; 72 | this.OffsetZTextBox.Size = new System.Drawing.Size(68, 20); 73 | this.OffsetZTextBox.TabIndex = 39; 74 | this.OffsetZTextBox.Text = "0"; 75 | // 76 | // label6 77 | // 78 | this.label6.AutoSize = true; 79 | this.label6.Location = new System.Drawing.Point(208, 158); 80 | this.label6.Name = "label6"; 81 | this.label6.Size = new System.Drawing.Size(17, 13); 82 | this.label6.TabIndex = 36; 83 | this.label6.Text = "Y:"; 84 | // 85 | // OffsetYTextBox 86 | // 87 | this.OffsetYTextBox.Location = new System.Drawing.Point(231, 155); 88 | this.OffsetYTextBox.Name = "OffsetYTextBox"; 89 | this.OffsetYTextBox.Size = new System.Drawing.Size(68, 20); 90 | this.OffsetYTextBox.TabIndex = 37; 91 | this.OffsetYTextBox.Text = "0"; 92 | // 93 | // label5 94 | // 95 | this.label5.AutoSize = true; 96 | this.label5.Location = new System.Drawing.Point(89, 158); 97 | this.label5.Name = "label5"; 98 | this.label5.Size = new System.Drawing.Size(17, 13); 99 | this.label5.TabIndex = 34; 100 | this.label5.Text = "X:"; 101 | // 102 | // label4 103 | // 104 | this.label4.AutoSize = true; 105 | this.label4.Location = new System.Drawing.Point(34, 158); 106 | this.label4.Name = "label4"; 107 | this.label4.Size = new System.Drawing.Size(38, 13); 108 | this.label4.TabIndex = 33; 109 | this.label4.Text = "Offset:"; 110 | // 111 | // OffsetXTextBox 112 | // 113 | this.OffsetXTextBox.Location = new System.Drawing.Point(112, 155); 114 | this.OffsetXTextBox.Name = "OffsetXTextBox"; 115 | this.OffsetXTextBox.Size = new System.Drawing.Size(68, 20); 116 | this.OffsetXTextBox.TabIndex = 35; 117 | this.OffsetXTextBox.Text = "0"; 118 | // 119 | // label2 120 | // 121 | this.label2.AutoSize = true; 122 | this.label2.Location = new System.Drawing.Point(35, 83); 123 | this.label2.Name = "label2"; 124 | this.label2.Size = new System.Drawing.Size(71, 13); 125 | this.label2.TabIndex = 30; 126 | this.label2.Text = "Output folder:"; 127 | // 128 | // OutputFolderBrowseButton 129 | // 130 | this.OutputFolderBrowseButton.Location = new System.Drawing.Point(501, 79); 131 | this.OutputFolderBrowseButton.Name = "OutputFolderBrowseButton"; 132 | this.OutputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 133 | this.OutputFolderBrowseButton.TabIndex = 32; 134 | this.OutputFolderBrowseButton.Text = "..."; 135 | this.OutputFolderBrowseButton.UseVisualStyleBackColor = true; 136 | this.OutputFolderBrowseButton.Click += new System.EventHandler(this.OutputFolderBrowseButton_Click); 137 | // 138 | // OutputFolderTextBox 139 | // 140 | this.OutputFolderTextBox.Location = new System.Drawing.Point(112, 80); 141 | this.OutputFolderTextBox.Name = "OutputFolderTextBox"; 142 | this.OutputFolderTextBox.Size = new System.Drawing.Size(383, 20); 143 | this.OutputFolderTextBox.TabIndex = 31; 144 | // 145 | // label1 146 | // 147 | this.label1.AutoSize = true; 148 | this.label1.Location = new System.Drawing.Point(43, 47); 149 | this.label1.Name = "label1"; 150 | this.label1.Size = new System.Drawing.Size(63, 13); 151 | this.label1.TabIndex = 27; 152 | this.label1.Text = "Input folder:"; 153 | // 154 | // InputFolderBrowseButton 155 | // 156 | this.InputFolderBrowseButton.Location = new System.Drawing.Point(501, 43); 157 | this.InputFolderBrowseButton.Name = "InputFolderBrowseButton"; 158 | this.InputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 159 | this.InputFolderBrowseButton.TabIndex = 29; 160 | this.InputFolderBrowseButton.Text = "..."; 161 | this.InputFolderBrowseButton.UseVisualStyleBackColor = true; 162 | this.InputFolderBrowseButton.Click += new System.EventHandler(this.InputFolderBrowseButton_Click); 163 | // 164 | // InputFolderTextBox 165 | // 166 | this.InputFolderTextBox.Location = new System.Drawing.Point(112, 44); 167 | this.InputFolderTextBox.Name = "InputFolderTextBox"; 168 | this.InputFolderTextBox.Size = new System.Drawing.Size(383, 20); 169 | this.InputFolderTextBox.TabIndex = 28; 170 | // 171 | // ProcessButton 172 | // 173 | this.ProcessButton.Location = new System.Drawing.Point(112, 233); 174 | this.ProcessButton.Name = "ProcessButton"; 175 | this.ProcessButton.Size = new System.Drawing.Size(68, 23); 176 | this.ProcessButton.TabIndex = 40; 177 | this.ProcessButton.Text = "Process"; 178 | this.ProcessButton.UseVisualStyleBackColor = true; 179 | this.ProcessButton.Click += new System.EventHandler(this.ProcessButton_Click); 180 | // 181 | // VehicleCheckBox 182 | // 183 | this.VehicleCheckBox.AutoSize = true; 184 | this.VehicleCheckBox.Location = new System.Drawing.Point(112, 190); 185 | this.VehicleCheckBox.Name = "VehicleCheckBox"; 186 | this.VehicleCheckBox.Size = new System.Drawing.Size(61, 17); 187 | this.VehicleCheckBox.TabIndex = 41; 188 | this.VehicleCheckBox.Text = "Vehicle"; 189 | this.VehicleCheckBox.UseVisualStyleBackColor = true; 190 | // 191 | // Form1 192 | // 193 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 194 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 195 | this.ClientSize = new System.Drawing.Size(591, 289); 196 | this.Controls.Add(this.VehicleCheckBox); 197 | this.Controls.Add(this.label8); 198 | this.Controls.Add(this.label7); 199 | this.Controls.Add(this.OffsetZTextBox); 200 | this.Controls.Add(this.label6); 201 | this.Controls.Add(this.OffsetYTextBox); 202 | this.Controls.Add(this.label5); 203 | this.Controls.Add(this.label4); 204 | this.Controls.Add(this.OffsetXTextBox); 205 | this.Controls.Add(this.label2); 206 | this.Controls.Add(this.OutputFolderBrowseButton); 207 | this.Controls.Add(this.OutputFolderTextBox); 208 | this.Controls.Add(this.label1); 209 | this.Controls.Add(this.InputFolderBrowseButton); 210 | this.Controls.Add(this.InputFolderTextBox); 211 | this.Controls.Add(this.ProcessButton); 212 | this.Name = "Form1"; 213 | this.Text = "VONV by dexyfex"; 214 | this.ResumeLayout(false); 215 | this.PerformLayout(); 216 | 217 | } 218 | 219 | #endregion 220 | 221 | private System.Windows.Forms.Label label8; 222 | private System.Windows.Forms.Label label7; 223 | private System.Windows.Forms.TextBox OffsetZTextBox; 224 | private System.Windows.Forms.Label label6; 225 | private System.Windows.Forms.TextBox OffsetYTextBox; 226 | private System.Windows.Forms.Label label5; 227 | private System.Windows.Forms.Label label4; 228 | private System.Windows.Forms.TextBox OffsetXTextBox; 229 | private System.Windows.Forms.Label label2; 230 | private System.Windows.Forms.Button OutputFolderBrowseButton; 231 | private System.Windows.Forms.TextBox OutputFolderTextBox; 232 | private System.Windows.Forms.Label label1; 233 | private System.Windows.Forms.Button InputFolderBrowseButton; 234 | private System.Windows.Forms.TextBox InputFolderTextBox; 235 | private System.Windows.Forms.Button ProcessButton; 236 | private System.Windows.Forms.FolderBrowserDialog BrowseFolderDialog; 237 | private System.Windows.Forms.CheckBox VehicleCheckBox; 238 | } 239 | } 240 | 241 | -------------------------------------------------------------------------------- /VONV/VONV/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /VONV/VONV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace VONV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VONV/VONV/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VONV")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VONV")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1c8cded7-4260-4d3e-a4c7-10114586f5df")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /VONV/VONV/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VONV.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VONV.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /VONV/VONV/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VONV/VONV/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VONV.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VONV/VONV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VONV/VONV/VONV.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1C8CDED7-4260-4D3E-A4C7-10114586F5DF} 8 | WinExe 9 | VONV 10 | VONV 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | ..\packages\SharpDX.4.0.1\lib\net45\SharpDX.dll 37 | 38 | 39 | ..\packages\SharpDX.Mathematics.4.0.1\lib\net45\SharpDX.Mathematics.dll 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | Form 56 | 57 | 58 | Form1.cs 59 | 60 | 61 | 62 | 63 | Form1.cs 64 | 65 | 66 | ResXFileCodeGenerator 67 | Resources.Designer.cs 68 | Designer 69 | 70 | 71 | True 72 | Resources.resx 73 | 74 | 75 | 76 | SettingsSingleFileGenerator 77 | Settings.Designer.cs 78 | 79 | 80 | True 81 | Settings.settings 82 | True 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | {DE50D3A6-B49E-47A0-ABE6-101473A00759} 91 | CodeWalker.Core 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /VONV/VONV/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VOPL/VOPL.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.13 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VOPL", "VOPL\VOPL.csproj", "{CC40F0C1-99E9-4000-BFE6-B471F4065974}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {CC40F0C1-99E9-4000-BFE6-B471F4065974}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {CC40F0C1-99E9-4000-BFE6-B471F4065974}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {CC40F0C1-99E9-4000-BFE6-B471F4065974}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {CC40F0C1-99E9-4000-BFE6-B471F4065974}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /VOPL/VOPL/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VOPL/VOPL/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace VOPL 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.BrowseFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 32 | this.label7 = new System.Windows.Forms.Label(); 33 | this.OffsetZTextBox = new System.Windows.Forms.TextBox(); 34 | this.label6 = new System.Windows.Forms.Label(); 35 | this.OffsetYTextBox = new System.Windows.Forms.TextBox(); 36 | this.label5 = new System.Windows.Forms.Label(); 37 | this.label4 = new System.Windows.Forms.Label(); 38 | this.OffsetXTextBox = new System.Windows.Forms.TextBox(); 39 | this.label3 = new System.Windows.Forms.Label(); 40 | this.HDLODDistTextBox = new System.Windows.Forms.TextBox(); 41 | this.label2 = new System.Windows.Forms.Label(); 42 | this.OutputFolderBrowseButton = new System.Windows.Forms.Button(); 43 | this.OutputFolderTextBox = new System.Windows.Forms.TextBox(); 44 | this.label1 = new System.Windows.Forms.Label(); 45 | this.InputFolderBrowseButton = new System.Windows.Forms.Button(); 46 | this.InputFolderTextBox = new System.Windows.Forms.TextBox(); 47 | this.ProcessButton = new System.Windows.Forms.Button(); 48 | this.label8 = new System.Windows.Forms.Label(); 49 | this.label9 = new System.Windows.Forms.Label(); 50 | this.LODLODDistTextBox = new System.Windows.Forms.TextBox(); 51 | this.label10 = new System.Windows.Forms.Label(); 52 | this.label11 = new System.Windows.Forms.Label(); 53 | this.SLODLODDistTextBox = new System.Windows.Forms.TextBox(); 54 | this.CarGeneratorsCheckBox = new System.Windows.Forms.CheckBox(); 55 | this.label12 = new System.Windows.Forms.Label(); 56 | this.CarGenFlagsTextBox = new System.Windows.Forms.TextBox(); 57 | this.SuspendLayout(); 58 | // 59 | // label7 60 | // 61 | this.label7.AutoSize = true; 62 | this.label7.Location = new System.Drawing.Point(336, 158); 63 | this.label7.Name = "label7"; 64 | this.label7.Size = new System.Drawing.Size(17, 13); 65 | this.label7.TabIndex = 20; 66 | this.label7.Text = "Z:"; 67 | // 68 | // OffsetZTextBox 69 | // 70 | this.OffsetZTextBox.Location = new System.Drawing.Point(359, 155); 71 | this.OffsetZTextBox.Name = "OffsetZTextBox"; 72 | this.OffsetZTextBox.Size = new System.Drawing.Size(68, 20); 73 | this.OffsetZTextBox.TabIndex = 21; 74 | this.OffsetZTextBox.Text = "0"; 75 | // 76 | // label6 77 | // 78 | this.label6.AutoSize = true; 79 | this.label6.Location = new System.Drawing.Point(212, 158); 80 | this.label6.Name = "label6"; 81 | this.label6.Size = new System.Drawing.Size(17, 13); 82 | this.label6.TabIndex = 18; 83 | this.label6.Text = "Y:"; 84 | // 85 | // OffsetYTextBox 86 | // 87 | this.OffsetYTextBox.Location = new System.Drawing.Point(235, 155); 88 | this.OffsetYTextBox.Name = "OffsetYTextBox"; 89 | this.OffsetYTextBox.Size = new System.Drawing.Size(68, 20); 90 | this.OffsetYTextBox.TabIndex = 19; 91 | this.OffsetYTextBox.Text = "0"; 92 | // 93 | // label5 94 | // 95 | this.label5.AutoSize = true; 96 | this.label5.Location = new System.Drawing.Point(93, 158); 97 | this.label5.Name = "label5"; 98 | this.label5.Size = new System.Drawing.Size(17, 13); 99 | this.label5.TabIndex = 16; 100 | this.label5.Text = "X:"; 101 | // 102 | // label4 103 | // 104 | this.label4.AutoSize = true; 105 | this.label4.Location = new System.Drawing.Point(38, 158); 106 | this.label4.Name = "label4"; 107 | this.label4.Size = new System.Drawing.Size(38, 13); 108 | this.label4.TabIndex = 15; 109 | this.label4.Text = "Offset:"; 110 | // 111 | // OffsetXTextBox 112 | // 113 | this.OffsetXTextBox.Location = new System.Drawing.Point(116, 155); 114 | this.OffsetXTextBox.Name = "OffsetXTextBox"; 115 | this.OffsetXTextBox.Size = new System.Drawing.Size(68, 20); 116 | this.OffsetXTextBox.TabIndex = 17; 117 | this.OffsetXTextBox.Text = "0"; 118 | // 119 | // label3 120 | // 121 | this.label3.AutoSize = true; 122 | this.label3.Location = new System.Drawing.Point(23, 127); 123 | this.label3.Name = "label3"; 124 | this.label3.Size = new System.Drawing.Size(53, 13); 125 | this.label3.TabIndex = 8; 126 | this.label3.Text = "LOD Dist:"; 127 | // 128 | // HDLODDistTextBox 129 | // 130 | this.HDLODDistTextBox.Location = new System.Drawing.Point(116, 124); 131 | this.HDLODDistTextBox.Name = "HDLODDistTextBox"; 132 | this.HDLODDistTextBox.Size = new System.Drawing.Size(68, 20); 133 | this.HDLODDistTextBox.TabIndex = 10; 134 | this.HDLODDistTextBox.Text = "200"; 135 | // 136 | // label2 137 | // 138 | this.label2.AutoSize = true; 139 | this.label2.Location = new System.Drawing.Point(39, 83); 140 | this.label2.Name = "label2"; 141 | this.label2.Size = new System.Drawing.Size(71, 13); 142 | this.label2.TabIndex = 5; 143 | this.label2.Text = "Output folder:"; 144 | // 145 | // OutputFolderBrowseButton 146 | // 147 | this.OutputFolderBrowseButton.Location = new System.Drawing.Point(505, 79); 148 | this.OutputFolderBrowseButton.Name = "OutputFolderBrowseButton"; 149 | this.OutputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 150 | this.OutputFolderBrowseButton.TabIndex = 7; 151 | this.OutputFolderBrowseButton.Text = "..."; 152 | this.OutputFolderBrowseButton.UseVisualStyleBackColor = true; 153 | this.OutputFolderBrowseButton.Click += new System.EventHandler(this.OutputFolderBrowseButton_Click); 154 | // 155 | // OutputFolderTextBox 156 | // 157 | this.OutputFolderTextBox.Location = new System.Drawing.Point(116, 80); 158 | this.OutputFolderTextBox.Name = "OutputFolderTextBox"; 159 | this.OutputFolderTextBox.Size = new System.Drawing.Size(383, 20); 160 | this.OutputFolderTextBox.TabIndex = 6; 161 | // 162 | // label1 163 | // 164 | this.label1.AutoSize = true; 165 | this.label1.Location = new System.Drawing.Point(47, 47); 166 | this.label1.Name = "label1"; 167 | this.label1.Size = new System.Drawing.Size(63, 13); 168 | this.label1.TabIndex = 2; 169 | this.label1.Text = "Input folder:"; 170 | // 171 | // InputFolderBrowseButton 172 | // 173 | this.InputFolderBrowseButton.Location = new System.Drawing.Point(505, 43); 174 | this.InputFolderBrowseButton.Name = "InputFolderBrowseButton"; 175 | this.InputFolderBrowseButton.Size = new System.Drawing.Size(27, 22); 176 | this.InputFolderBrowseButton.TabIndex = 4; 177 | this.InputFolderBrowseButton.Text = "..."; 178 | this.InputFolderBrowseButton.UseVisualStyleBackColor = true; 179 | this.InputFolderBrowseButton.Click += new System.EventHandler(this.InputFolderBrowseButton_Click); 180 | // 181 | // InputFolderTextBox 182 | // 183 | this.InputFolderTextBox.Location = new System.Drawing.Point(116, 44); 184 | this.InputFolderTextBox.Name = "InputFolderTextBox"; 185 | this.InputFolderTextBox.Size = new System.Drawing.Size(383, 20); 186 | this.InputFolderTextBox.TabIndex = 3; 187 | // 188 | // ProcessButton 189 | // 190 | this.ProcessButton.Location = new System.Drawing.Point(116, 233); 191 | this.ProcessButton.Name = "ProcessButton"; 192 | this.ProcessButton.Size = new System.Drawing.Size(68, 23); 193 | this.ProcessButton.TabIndex = 25; 194 | this.ProcessButton.Text = "Process"; 195 | this.ProcessButton.UseVisualStyleBackColor = true; 196 | this.ProcessButton.Click += new System.EventHandler(this.ProcessButton_Click); 197 | // 198 | // label8 199 | // 200 | this.label8.AutoSize = true; 201 | this.label8.Location = new System.Drawing.Point(41, 9); 202 | this.label8.Name = "label8"; 203 | this.label8.Size = new System.Drawing.Size(505, 13); 204 | this.label8.TabIndex = 1; 205 | this.label8.Text = "Convert .opl files to .ymap.xml files... Put extra strings for hash conversion" + 206 | " in strings.txt in the Input folder."; 207 | // 208 | // label9 209 | // 210 | this.label9.AutoSize = true; 211 | this.label9.Location = new System.Drawing.Point(197, 127); 212 | this.label9.Name = "label9"; 213 | this.label9.Size = new System.Drawing.Size(32, 13); 214 | this.label9.TabIndex = 11; 215 | this.label9.Text = "LOD:"; 216 | // 217 | // LODLODDistTextBox 218 | // 219 | this.LODLODDistTextBox.Location = new System.Drawing.Point(235, 124); 220 | this.LODLODDistTextBox.Name = "LODLODDistTextBox"; 221 | this.LODLODDistTextBox.Size = new System.Drawing.Size(68, 20); 222 | this.LODLODDistTextBox.TabIndex = 12; 223 | this.LODLODDistTextBox.Text = "2000"; 224 | // 225 | // label10 226 | // 227 | this.label10.AutoSize = true; 228 | this.label10.Location = new System.Drawing.Point(84, 127); 229 | this.label10.Name = "label10"; 230 | this.label10.Size = new System.Drawing.Size(26, 13); 231 | this.label10.TabIndex = 9; 232 | this.label10.Text = "HD:"; 233 | // 234 | // label11 235 | // 236 | this.label11.AutoSize = true; 237 | this.label11.Location = new System.Drawing.Point(314, 127); 238 | this.label11.Name = "label11"; 239 | this.label11.Size = new System.Drawing.Size(39, 13); 240 | this.label11.TabIndex = 13; 241 | this.label11.Text = "SLOD:"; 242 | // 243 | // SLODLODDistTextBox 244 | // 245 | this.SLODLODDistTextBox.Location = new System.Drawing.Point(359, 124); 246 | this.SLODLODDistTextBox.Name = "SLODLODDistTextBox"; 247 | this.SLODLODDistTextBox.Size = new System.Drawing.Size(68, 20); 248 | this.SLODLODDistTextBox.TabIndex = 14; 249 | this.SLODLODDistTextBox.Text = "20000"; 250 | // 251 | // CarGeneratorsCheckBox 252 | // 253 | this.CarGeneratorsCheckBox.AutoSize = true; 254 | this.CarGeneratorsCheckBox.Checked = true; 255 | this.CarGeneratorsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 256 | this.CarGeneratorsCheckBox.Location = new System.Drawing.Point(116, 195); 257 | this.CarGeneratorsCheckBox.Name = "CarGeneratorsCheckBox"; 258 | this.CarGeneratorsCheckBox.Size = new System.Drawing.Size(95, 17); 259 | this.CarGeneratorsCheckBox.TabIndex = 22; 260 | this.CarGeneratorsCheckBox.Text = "Car generators"; 261 | this.CarGeneratorsCheckBox.UseVisualStyleBackColor = true; 262 | // 263 | // label12 264 | // 265 | this.label12.AutoSize = true; 266 | this.label12.Location = new System.Drawing.Point(251, 196); 267 | this.label12.Name = "label12"; 268 | this.label12.Size = new System.Drawing.Size(102, 13); 269 | this.label12.TabIndex = 23; 270 | this.label12.Text = "Car generator Flags:"; 271 | // 272 | // CarGenFlagsTextBox 273 | // 274 | this.CarGenFlagsTextBox.Location = new System.Drawing.Point(359, 193); 275 | this.CarGenFlagsTextBox.Name = "CarGenFlagsTextBox"; 276 | this.CarGenFlagsTextBox.Size = new System.Drawing.Size(68, 20); 277 | this.CarGenFlagsTextBox.TabIndex = 24; 278 | this.CarGenFlagsTextBox.Text = "3680"; 279 | // 280 | // Form1 281 | // 282 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 283 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 284 | this.ClientSize = new System.Drawing.Size(591, 289); 285 | this.Controls.Add(this.label12); 286 | this.Controls.Add(this.CarGenFlagsTextBox); 287 | this.Controls.Add(this.CarGeneratorsCheckBox); 288 | this.Controls.Add(this.label11); 289 | this.Controls.Add(this.SLODLODDistTextBox); 290 | this.Controls.Add(this.label10); 291 | this.Controls.Add(this.label9); 292 | this.Controls.Add(this.LODLODDistTextBox); 293 | this.Controls.Add(this.label8); 294 | this.Controls.Add(this.label7); 295 | this.Controls.Add(this.OffsetZTextBox); 296 | this.Controls.Add(this.label6); 297 | this.Controls.Add(this.OffsetYTextBox); 298 | this.Controls.Add(this.label5); 299 | this.Controls.Add(this.label4); 300 | this.Controls.Add(this.OffsetXTextBox); 301 | this.Controls.Add(this.label3); 302 | this.Controls.Add(this.HDLODDistTextBox); 303 | this.Controls.Add(this.label2); 304 | this.Controls.Add(this.OutputFolderBrowseButton); 305 | this.Controls.Add(this.OutputFolderTextBox); 306 | this.Controls.Add(this.label1); 307 | this.Controls.Add(this.InputFolderBrowseButton); 308 | this.Controls.Add(this.InputFolderTextBox); 309 | this.Controls.Add(this.ProcessButton); 310 | this.Name = "Form1"; 311 | this.Text = "VOPL by dexyfex"; 312 | this.ResumeLayout(false); 313 | this.PerformLayout(); 314 | 315 | } 316 | 317 | #endregion 318 | 319 | private System.Windows.Forms.FolderBrowserDialog BrowseFolderDialog; 320 | private System.Windows.Forms.Label label7; 321 | private System.Windows.Forms.TextBox OffsetZTextBox; 322 | private System.Windows.Forms.Label label6; 323 | private System.Windows.Forms.TextBox OffsetYTextBox; 324 | private System.Windows.Forms.Label label5; 325 | private System.Windows.Forms.Label label4; 326 | private System.Windows.Forms.TextBox OffsetXTextBox; 327 | private System.Windows.Forms.Label label3; 328 | private System.Windows.Forms.TextBox HDLODDistTextBox; 329 | private System.Windows.Forms.Label label2; 330 | private System.Windows.Forms.Button OutputFolderBrowseButton; 331 | private System.Windows.Forms.TextBox OutputFolderTextBox; 332 | private System.Windows.Forms.Label label1; 333 | private System.Windows.Forms.Button InputFolderBrowseButton; 334 | private System.Windows.Forms.TextBox InputFolderTextBox; 335 | private System.Windows.Forms.Button ProcessButton; 336 | private System.Windows.Forms.Label label8; 337 | private System.Windows.Forms.Label label9; 338 | private System.Windows.Forms.TextBox LODLODDistTextBox; 339 | private System.Windows.Forms.Label label10; 340 | private System.Windows.Forms.Label label11; 341 | private System.Windows.Forms.TextBox SLODLODDistTextBox; 342 | private System.Windows.Forms.CheckBox CarGeneratorsCheckBox; 343 | private System.Windows.Forms.Label label12; 344 | private System.Windows.Forms.TextBox CarGenFlagsTextBox; 345 | } 346 | } 347 | 348 | -------------------------------------------------------------------------------- /VOPL/VOPL/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /VOPL/VOPL/Jenk.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace VOPL 8 | { 9 | public class JenkHash 10 | { 11 | public JenkHashInputEncoding Encoding { get; set; } 12 | public string Text { get; set; } 13 | public int HashInt { get; set; } 14 | public uint HashUint { get; set; } 15 | public string HashHex { get; set; } 16 | 17 | public JenkHash(string text, JenkHashInputEncoding encoding) 18 | { 19 | Encoding = encoding; 20 | Text = text; 21 | HashUint = GenHash(text, encoding); 22 | HashInt = (int)HashUint; 23 | HashHex = "0x" + HashUint.ToString("X"); 24 | } 25 | 26 | 27 | public static uint GenHash(string text, JenkHashInputEncoding encoding = JenkHashInputEncoding.ASCII) 28 | { 29 | uint h = 0; 30 | byte[] chars; 31 | 32 | switch (encoding) 33 | { 34 | default: 35 | case JenkHashInputEncoding.UTF8: 36 | chars = UTF8Encoding.UTF8.GetBytes(text); 37 | break; 38 | case JenkHashInputEncoding.ASCII: 39 | chars = ASCIIEncoding.ASCII.GetBytes(text); 40 | break; 41 | } 42 | 43 | for (uint i = 0; i < chars.Length; i++) 44 | { 45 | h += chars[i]; 46 | h += (h << 10); 47 | h ^= (h >> 6); 48 | } 49 | h += (h << 3); 50 | h ^= (h >> 11); 51 | h += (h << 15); 52 | 53 | return h; 54 | } 55 | 56 | public static uint GenHash(byte[] data) 57 | { 58 | uint h = 0; 59 | for (uint i = 0; i < data.Length; i++) 60 | { 61 | h += data[i]; 62 | h += (h << 10); 63 | h ^= (h >> 6); 64 | } 65 | h += (h << 3); 66 | h ^= (h >> 11); 67 | h += (h << 15); 68 | return h; 69 | } 70 | 71 | } 72 | 73 | public enum JenkHashInputEncoding 74 | { 75 | UTF8 = 0, 76 | ASCII = 1, 77 | } 78 | 79 | public static class JenkIndex 80 | { 81 | public static Dictionary Index = new Dictionary(); 82 | private static object syncRoot = new object(); 83 | 84 | public static void Clear() 85 | { 86 | lock (syncRoot) 87 | { 88 | Index.Clear(); 89 | } 90 | } 91 | 92 | public static bool Ensure(string str) 93 | { 94 | uint hash = JenkHash.GenHash(str); 95 | if (hash == 0) return true; 96 | lock (syncRoot) 97 | { 98 | if (!Index.ContainsKey(hash)) 99 | { 100 | Index.Add(hash, str); 101 | return false; 102 | } 103 | } 104 | return true; 105 | } 106 | 107 | public static string GetString(uint hash) 108 | { 109 | string res; 110 | lock (syncRoot) 111 | { 112 | if (!Index.TryGetValue(hash, out res)) 113 | { 114 | res = hash.ToString(); 115 | } 116 | } 117 | return res; 118 | } 119 | public static string TryGetString(uint hash) 120 | { 121 | string res; 122 | lock (syncRoot) 123 | { 124 | if (!Index.TryGetValue(hash, out res)) 125 | { 126 | res = string.Empty; 127 | } 128 | } 129 | return res; 130 | } 131 | 132 | } 133 | 134 | } 135 | -------------------------------------------------------------------------------- /VOPL/VOPL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace VOPL 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VOPL/VOPL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("VOPL")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VOPL")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("cc40f0c1-99e9-4000-bfe6-b471f4065974")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /VOPL/VOPL/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VOPL.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VOPL.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /VOPL/VOPL/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VOPL/VOPL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VOPL.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VOPL/VOPL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VOPL/VOPL/VOPL.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {CC40F0C1-99E9-4000-BFE6-B471F4065974} 8 | WinExe 9 | VOPL 10 | VOPL 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Form 50 | 51 | 52 | Form1.cs 53 | 54 | 55 | 56 | 57 | 58 | Form1.cs 59 | 60 | 61 | ResXFileCodeGenerator 62 | Resources.Designer.cs 63 | Designer 64 | 65 | 66 | True 67 | Resources.resx 68 | 69 | 70 | SettingsSingleFileGenerator 71 | Settings.Designer.cs 72 | 73 | 74 | True 75 | Settings.settings 76 | True 77 | 78 | 79 | 80 | 81 | 82 | 83 | --------------------------------------------------------------------------------