diff options
| -rw-r--r-- | Installer/Installer.vdproj | 721 | ||||
| -rw-r--r-- | Source/Main.cpp | 8 | ||||
| -rw-r--r-- | Source/Panels.h | 138 | ||||
| -rw-r--r-- | Source/Randomizer.cpp | 12 | ||||
| -rw-r--r-- | Source/RandomizerCore.cpp | 4 | ||||
| -rw-r--r-- | Source/RandomizerCore.h | 1 |
6 files changed, 804 insertions, 80 deletions
| diff --git a/Installer/Installer.vdproj b/Installer/Installer.vdproj new file mode 100644 index 0000000..11319a9 --- /dev/null +++ b/Installer/Installer.vdproj | |||
| @@ -0,0 +1,721 @@ | |||
| 1 | "DeployProject" | ||
| 2 | { | ||
| 3 | "VSVersion" = "3:800" | ||
| 4 | "ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" | ||
| 5 | "IsWebType" = "8:FALSE" | ||
| 6 | "ProjectName" = "8:Installer" | ||
| 7 | "LanguageId" = "3:1033" | ||
| 8 | "CodePage" = "3:1252" | ||
| 9 | "UILanguageId" = "3:1033" | ||
| 10 | "SccProjectName" = "8:" | ||
| 11 | "SccLocalPath" = "8:" | ||
| 12 | "SccAuxPath" = "8:" | ||
| 13 | "SccProvider" = "8:" | ||
| 14 | "Hierarchy" | ||
| 15 | { | ||
| 16 | "Entry" | ||
| 17 | { | ||
| 18 | "MsmKey" = "8:_E86F0F0DE4B646B6956C8E30890951D2" | ||
| 19 | "OwnerKey" = "8:_UNDEFINED" | ||
| 20 | "MsmSig" = "8:_UNDEFINED" | ||
| 21 | } | ||
| 22 | } | ||
| 23 | "Configurations" | ||
| 24 | { | ||
| 25 | "Debug" | ||
| 26 | { | ||
| 27 | "DisplayName" = "8:Debug" | ||
| 28 | "IsDebugOnly" = "11:TRUE" | ||
| 29 | "IsReleaseOnly" = "11:FALSE" | ||
| 30 | "OutputFilename" = "8:Debug\\Installer.msi" | ||
| 31 | "PackageFilesAs" = "3:2" | ||
| 32 | "PackageFileSize" = "3:-2147483648" | ||
| 33 | "CabType" = "3:1" | ||
| 34 | "Compression" = "3:2" | ||
| 35 | "SignOutput" = "11:FALSE" | ||
| 36 | "CertificateFile" = "8:" | ||
| 37 | "PrivateKeyFile" = "8:" | ||
| 38 | "TimeStampServer" = "8:" | ||
| 39 | "InstallerBootstrapper" = "3:2" | ||
| 40 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" | ||
| 41 | { | ||
| 42 | "Enabled" = "11:TRUE" | ||
| 43 | "PromptEnabled" = "11:TRUE" | ||
| 44 | "PrerequisitesLocation" = "2:1" | ||
| 45 | "Url" = "8:" | ||
| 46 | "ComponentsUrl" = "8:" | ||
| 47 | } | ||
| 48 | } | ||
| 49 | "Release" | ||
| 50 | { | ||
| 51 | "DisplayName" = "8:Release" | ||
| 52 | "IsDebugOnly" = "11:FALSE" | ||
| 53 | "IsReleaseOnly" = "11:TRUE" | ||
| 54 | "OutputFilename" = "8:Installer.msi" | ||
| 55 | "PackageFilesAs" = "3:2" | ||
| 56 | "PackageFileSize" = "3:-2147483648" | ||
| 57 | "CabType" = "3:1" | ||
| 58 | "Compression" = "3:3" | ||
| 59 | "SignOutput" = "11:FALSE" | ||
| 60 | "CertificateFile" = "8:" | ||
| 61 | "PrivateKeyFile" = "8:" | ||
| 62 | "TimeStampServer" = "8:" | ||
| 63 | "InstallerBootstrapper" = "3:2" | ||
| 64 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" | ||
| 65 | { | ||
| 66 | "Enabled" = "11:TRUE" | ||
| 67 | "PromptEnabled" = "11:TRUE" | ||
| 68 | "PrerequisitesLocation" = "2:1" | ||
| 69 | "Url" = "8:" | ||
| 70 | "ComponentsUrl" = "8:" | ||
| 71 | "Items" | ||
| 72 | { | ||
| 73 | "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1" | ||
| 74 | { | ||
| 75 | "Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)" | ||
| 76 | "ProductCode" = "8:.NETFramework,Version=v4.6.1" | ||
| 77 | } | ||
| 78 | } | ||
| 79 | } | ||
| 80 | } | ||
| 81 | } | ||
| 82 | "Deployable" | ||
| 83 | { | ||
| 84 | "CustomAction" | ||
| 85 | { | ||
| 86 | } | ||
| 87 | "DefaultFeature" | ||
| 88 | { | ||
| 89 | "Name" = "8:DefaultFeature" | ||
| 90 | "Title" = "8:" | ||
| 91 | "Description" = "8:" | ||
| 92 | } | ||
| 93 | "ExternalPersistence" | ||
| 94 | { | ||
| 95 | "LaunchCondition" | ||
| 96 | { | ||
| 97 | } | ||
| 98 | } | ||
| 99 | "File" | ||
| 100 | { | ||
| 101 | } | ||
| 102 | "FileType" | ||
| 103 | { | ||
| 104 | } | ||
| 105 | "Folder" | ||
| 106 | { | ||
| 107 | "{1525181F-901A-416C-8A58-119130FE478E}:_4D19640D10EA43E68046262546954A5E" | ||
| 108 | { | ||
| 109 | "Name" = "8:#1916" | ||
| 110 | "AlwaysCreate" = "11:FALSE" | ||
| 111 | "Condition" = "8:" | ||
| 112 | "Transitive" = "11:FALSE" | ||
| 113 | "Property" = "8:DesktopFolder" | ||
| 114 | "Folders" | ||
| 115 | { | ||
| 116 | } | ||
| 117 | } | ||
| 118 | "{3C67513D-01DD-4637-8A68-80971EB9504F}:_5393EB12357E4BF29E8149058ABE909F" | ||
| 119 | { | ||
| 120 | "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" | ||
| 121 | "Name" = "8:#1925" | ||
| 122 | "AlwaysCreate" = "11:FALSE" | ||
| 123 | "Condition" = "8:" | ||
| 124 | "Transitive" = "11:FALSE" | ||
| 125 | "Property" = "8:TARGETDIR" | ||
| 126 | "Folders" | ||
| 127 | { | ||
| 128 | } | ||
| 129 | } | ||
| 130 | "{1525181F-901A-416C-8A58-119130FE478E}:_B2294C987D6245B881C99CC1494F9A53" | ||
| 131 | { | ||
| 132 | "Name" = "8:#1919" | ||
| 133 | "AlwaysCreate" = "11:FALSE" | ||
| 134 | "Condition" = "8:" | ||
| 135 | "Transitive" = "11:FALSE" | ||
| 136 | "Property" = "8:ProgramMenuFolder" | ||
| 137 | "Folders" | ||
| 138 | { | ||
| 139 | } | ||
| 140 | } | ||
| 141 | } | ||
| 142 | "LaunchCondition" | ||
| 143 | { | ||
| 144 | } | ||
| 145 | "Locator" | ||
| 146 | { | ||
| 147 | } | ||
| 148 | "MsiBootstrapper" | ||
| 149 | { | ||
| 150 | "LangId" = "3:1033" | ||
| 151 | "RequiresElevation" = "11:FALSE" | ||
| 152 | } | ||
| 153 | "Product" | ||
| 154 | { | ||
| 155 | "Name" = "8:Microsoft Visual Studio" | ||
| 156 | "ProductName" = "8:Witness Randomizer" | ||
| 157 | "ProductCode" = "8:{6F5835BB-A6A5-431A-8375-F8992CD74B86}" | ||
| 158 | "PackageCode" = "8:{88F29213-17E5-4446-A1F4-97D01C6DF2C5}" | ||
| 159 | "UpgradeCode" = "8:{4CB5496B-A47E-41D3-B4A7-677E29AB7513}" | ||
| 160 | "AspNetVersion" = "8:2.0.50727.0" | ||
| 161 | "RestartWWWService" = "11:FALSE" | ||
| 162 | "RemovePreviousVersions" = "11:TRUE" | ||
| 163 | "DetectNewerInstalledVersion" = "11:TRUE" | ||
| 164 | "InstallAllUsers" = "11:FALSE" | ||
| 165 | "ProductVersion" = "8:2.0.1" | ||
| 166 | "Manufacturer" = "8:jbzdarkid" | ||
| 167 | "ARPHELPTELEPHONE" = "8:" | ||
| 168 | "ARPHELPLINK" = "8:https://www.github.com/jbzdarkid/witness-randomizer/issues" | ||
| 169 | "Title" = "8:Witness Randomizer" | ||
| 170 | "Subject" = "8:" | ||
| 171 | "ARPCONTACT" = "8:jbzdarkid" | ||
| 172 | "Keywords" = "8:" | ||
| 173 | "ARPCOMMENTS" = "8:Randomizer for The Witness" | ||
| 174 | "ARPURLINFOABOUT" = "8:https://www.github.com/jbzdarkid/witness-randomizer" | ||
| 175 | "ARPPRODUCTICON" = "8:" | ||
| 176 | "ARPIconIndex" = "3:0" | ||
| 177 | "SearchPath" = "8:" | ||
| 178 | "UseSystemSearchPath" = "11:TRUE" | ||
| 179 | "TargetPlatform" = "3:1" | ||
| 180 | "PreBuildEvent" = "8:" | ||
| 181 | "PostBuildEvent" = "8:" | ||
| 182 | "RunPostBuildEvent" = "3:0" | ||
| 183 | } | ||
| 184 | "Registry" | ||
| 185 | { | ||
| 186 | "HKLM" | ||
| 187 | { | ||
| 188 | "Keys" | ||
| 189 | { | ||
| 190 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3AE5560C1C264507AB6064EFD59C1D29" | ||
| 191 | { | ||
| 192 | "Name" = "8:Software" | ||
| 193 | "Condition" = "8:" | ||
| 194 | "AlwaysCreate" = "11:FALSE" | ||
| 195 | "DeleteAtUninstall" = "11:FALSE" | ||
| 196 | "Transitive" = "11:FALSE" | ||
| 197 | "Keys" | ||
| 198 | { | ||
| 199 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_63A12348E59E4B23AF4A320B583CE259" | ||
| 200 | { | ||
| 201 | "Name" = "8:[Manufacturer]" | ||
| 202 | "Condition" = "8:" | ||
| 203 | "AlwaysCreate" = "11:FALSE" | ||
| 204 | "DeleteAtUninstall" = "11:FALSE" | ||
| 205 | "Transitive" = "11:FALSE" | ||
| 206 | "Keys" | ||
| 207 | { | ||
| 208 | } | ||
| 209 | "Values" | ||
| 210 | { | ||
| 211 | } | ||
| 212 | } | ||
| 213 | } | ||
| 214 | "Values" | ||
| 215 | { | ||
| 216 | } | ||
| 217 | } | ||
| 218 | } | ||
| 219 | } | ||
| 220 | "HKCU" | ||
| 221 | { | ||
| 222 | "Keys" | ||
| 223 | { | ||
| 224 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8B27FF000D99412E935E3A18279A2050" | ||
| 225 | { | ||
| 226 | "Name" = "8:Software" | ||
| 227 | "Condition" = "8:" | ||
| 228 | "AlwaysCreate" = "11:FALSE" | ||
| 229 | "DeleteAtUninstall" = "11:FALSE" | ||
| 230 | "Transitive" = "11:FALSE" | ||
| 231 | "Keys" | ||
| 232 | { | ||
| 233 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4BF3DC672AFD411A93142B3B6422DB19" | ||
| 234 | { | ||
| 235 | "Name" = "8:[Manufacturer]" | ||
| 236 | "Condition" = "8:" | ||
| 237 | "AlwaysCreate" = "11:FALSE" | ||
| 238 | "DeleteAtUninstall" = "11:FALSE" | ||
| 239 | "Transitive" = "11:FALSE" | ||
| 240 | "Keys" | ||
| 241 | { | ||
| 242 | } | ||
| 243 | "Values" | ||
| 244 | { | ||
| 245 | } | ||
| 246 | } | ||
| 247 | } | ||
| 248 | "Values" | ||
| 249 | { | ||
| 250 | } | ||
| 251 | } | ||
| 252 | } | ||
| 253 | } | ||
| 254 | "HKCR" | ||
| 255 | { | ||
| 256 | "Keys" | ||
| 257 | { | ||
| 258 | } | ||
| 259 | } | ||
| 260 | "HKU" | ||
| 261 | { | ||
| 262 | "Keys" | ||
| 263 | { | ||
| 264 | } | ||
| 265 | } | ||
| 266 | "HKPU" | ||
| 267 | { | ||
| 268 | "Keys" | ||
| 269 | { | ||
| 270 | } | ||
| 271 | } | ||
| 272 | } | ||
| 273 | "Sequences" | ||
| 274 | { | ||
| 275 | } | ||
| 276 | "Shortcut" | ||
| 277 | { | ||
| 278 | "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_B30BF820F5E14F0DA12BBD906ADF0C86" | ||
| 279 | { | ||
| 280 | "Name" = "8:WitnessRandomizer" | ||
| 281 | "Arguments" = "8:" | ||
| 282 | "Description" = "8:" | ||
| 283 | "ShowCmd" = "3:1" | ||
| 284 | "IconIndex" = "3:0" | ||
| 285 | "Transitive" = "11:FALSE" | ||
| 286 | "Target" = "8:_E86F0F0DE4B646B6956C8E30890951D2" | ||
| 287 | "Folder" = "8:_B2294C987D6245B881C99CC1494F9A53" | ||
| 288 | "WorkingFolder" = "8:_5393EB12357E4BF29E8149058ABE909F" | ||
| 289 | "Icon" = "8:" | ||
| 290 | "Feature" = "8:" | ||
| 291 | } | ||
| 292 | } | ||
| 293 | "UserInterface" | ||
| 294 | { | ||
| 295 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_38760CCB3C7C473E8E648E0E721B588D" | ||
| 296 | { | ||
| 297 | "UseDynamicProperties" = "11:FALSE" | ||
| 298 | "IsDependency" = "11:FALSE" | ||
| 299 | "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim" | ||
| 300 | } | ||
| 301 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3A89F4E5009C49478B393C505B87F9E1" | ||
| 302 | { | ||
| 303 | "Name" = "8:#1900" | ||
| 304 | "Sequence" = "3:2" | ||
| 305 | "Attributes" = "3:1" | ||
| 306 | "Dialogs" | ||
| 307 | { | ||
| 308 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_53574943921E4B3DB4C03DD3D6CA432C" | ||
| 309 | { | ||
| 310 | "Sequence" = "3:300" | ||
| 311 | "DisplayName" = "8:Confirm Installation" | ||
| 312 | "UseDynamicProperties" = "11:TRUE" | ||
| 313 | "IsDependency" = "11:FALSE" | ||
| 314 | "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid" | ||
| 315 | "Properties" | ||
| 316 | { | ||
| 317 | "BannerBitmap" | ||
| 318 | { | ||
| 319 | "Name" = "8:BannerBitmap" | ||
| 320 | "DisplayName" = "8:#1001" | ||
| 321 | "Description" = "8:#1101" | ||
| 322 | "Type" = "3:8" | ||
| 323 | "ContextData" = "8:Bitmap" | ||
| 324 | "Attributes" = "3:4" | ||
| 325 | "Setting" = "3:1" | ||
| 326 | "UsePlugInResources" = "11:TRUE" | ||
| 327 | } | ||
| 328 | } | ||
| 329 | } | ||
| 330 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E1C9373AA1F84906A77B0A402FC41089" | ||
| 331 | { | ||
| 332 | "Sequence" = "3:200" | ||
| 333 | "DisplayName" = "8:Installation Folder" | ||
| 334 | "UseDynamicProperties" = "11:TRUE" | ||
| 335 | "IsDependency" = "11:FALSE" | ||
| 336 | "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid" | ||
| 337 | "Properties" | ||
| 338 | { | ||
| 339 | "BannerBitmap" | ||
| 340 | { | ||
| 341 | "Name" = "8:BannerBitmap" | ||
| 342 | "DisplayName" = "8:#1001" | ||
| 343 | "Description" = "8:#1101" | ||
| 344 | "Type" = "3:8" | ||
| 345 | "ContextData" = "8:Bitmap" | ||
| 346 | "Attributes" = "3:4" | ||
| 347 | "Setting" = "3:1" | ||
| 348 | "UsePlugInResources" = "11:TRUE" | ||
| 349 | } | ||
| 350 | } | ||
| 351 | } | ||
| 352 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E9B774D828F444DBB21D89182BC27A21" | ||
| 353 | { | ||
| 354 | "Sequence" = "3:100" | ||
| 355 | "DisplayName" = "8:Welcome" | ||
| 356 | "UseDynamicProperties" = "11:TRUE" | ||
| 357 | "IsDependency" = "11:FALSE" | ||
| 358 | "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid" | ||
| 359 | "Properties" | ||
| 360 | { | ||
| 361 | "BannerBitmap" | ||
| 362 | { | ||
| 363 | "Name" = "8:BannerBitmap" | ||
| 364 | "DisplayName" = "8:#1001" | ||
| 365 | "Description" = "8:#1101" | ||
| 366 | "Type" = "3:8" | ||
| 367 | "ContextData" = "8:Bitmap" | ||
| 368 | "Attributes" = "3:4" | ||
| 369 | "Setting" = "3:1" | ||
| 370 | "UsePlugInResources" = "11:TRUE" | ||
| 371 | } | ||
| 372 | "CopyrightWarning" | ||
| 373 | { | ||
| 374 | "Name" = "8:CopyrightWarning" | ||
| 375 | "DisplayName" = "8:#1002" | ||
| 376 | "Description" = "8:#1102" | ||
| 377 | "Type" = "3:3" | ||
| 378 | "ContextData" = "8:" | ||
| 379 | "Attributes" = "3:0" | ||
| 380 | "Setting" = "3:1" | ||
| 381 | "Value" = "8:#1202" | ||
| 382 | "DefaultValue" = "8:#1202" | ||
| 383 | "UsePlugInResources" = "11:TRUE" | ||
| 384 | } | ||
| 385 | "Welcome" | ||
| 386 | { | ||
| 387 | "Name" = "8:Welcome" | ||
| 388 | "DisplayName" = "8:#1003" | ||
| 389 | "Description" = "8:#1103" | ||
| 390 | "Type" = "3:3" | ||
| 391 | "ContextData" = "8:" | ||
| 392 | "Attributes" = "3:0" | ||
| 393 | "Setting" = "3:1" | ||
| 394 | "Value" = "8:#1203" | ||
| 395 | "DefaultValue" = "8:#1203" | ||
| 396 | "UsePlugInResources" = "11:TRUE" | ||
| 397 | } | ||
| 398 | } | ||
| 399 | } | ||
| 400 | } | ||
| 401 | } | ||
| 402 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_525FC4F1C72C4EE3984593146DD26634" | ||
| 403 | { | ||
| 404 | "UseDynamicProperties" = "11:FALSE" | ||
| 405 | "IsDependency" = "11:FALSE" | ||
| 406 | "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim" | ||
| 407 | } | ||
| 408 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8808DD7C245240A9954C040BF06F2B9D" | ||
| 409 | { | ||
| 410 | "Name" = "8:#1902" | ||
| 411 | "Sequence" = "3:2" | ||
| 412 | "Attributes" = "3:3" | ||
| 413 | "Dialogs" | ||
| 414 | { | ||
| 415 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F7031E39D9854967A8FBADF12A890B0B" | ||
| 416 | { | ||
| 417 | "Sequence" = "3:100" | ||
| 418 | "DisplayName" = "8:Finished" | ||
| 419 | "UseDynamicProperties" = "11:TRUE" | ||
| 420 | "IsDependency" = "11:FALSE" | ||
| 421 | "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid" | ||
| 422 | "Properties" | ||
| 423 | { | ||
| 424 | "BannerBitmap" | ||
| 425 | { | ||
| 426 | "Name" = "8:BannerBitmap" | ||
| 427 | "DisplayName" = "8:#1001" | ||
| 428 | "Description" = "8:#1101" | ||
| 429 | "Type" = "3:8" | ||
| 430 | "ContextData" = "8:Bitmap" | ||
| 431 | "Attributes" = "3:4" | ||
| 432 | "Setting" = "3:1" | ||
| 433 | "UsePlugInResources" = "11:TRUE" | ||
| 434 | } | ||
| 435 | } | ||
| 436 | } | ||
| 437 | } | ||
| 438 | } | ||
| 439 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9359F122FC5E433F9E5A9EFF22C28425" | ||
| 440 | { | ||
| 441 | "Name" = "8:#1901" | ||
| 442 | "Sequence" = "3:1" | ||
| 443 | "Attributes" = "3:2" | ||
| 444 | "Dialogs" | ||
| 445 | { | ||
| 446 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7B03CE8F39FF4BA2B82BFADB5CE02784" | ||
| 447 | { | ||
| 448 | "Sequence" = "3:100" | ||
| 449 | "DisplayName" = "8:Progress" | ||
| 450 | "UseDynamicProperties" = "11:TRUE" | ||
| 451 | "IsDependency" = "11:FALSE" | ||
| 452 | "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid" | ||
| 453 | "Properties" | ||
| 454 | { | ||
| 455 | "BannerBitmap" | ||
| 456 | { | ||
| 457 | "Name" = "8:BannerBitmap" | ||
| 458 | "DisplayName" = "8:#1001" | ||
| 459 | "Description" = "8:#1101" | ||
| 460 | "Type" = "3:8" | ||
| 461 | "ContextData" = "8:Bitmap" | ||
| 462 | "Attributes" = "3:4" | ||
| 463 | "Setting" = "3:1" | ||
| 464 | "UsePlugInResources" = "11:TRUE" | ||
| 465 | } | ||
| 466 | "ShowProgress" | ||
| 467 | { | ||
| 468 | "Name" = "8:ShowProgress" | ||
| 469 | "DisplayName" = "8:#1009" | ||
| 470 | "Description" = "8:#1109" | ||
| 471 | "Type" = "3:5" | ||
| 472 | "ContextData" = "8:1;True=1;False=0" | ||
| 473 | "Attributes" = "3:0" | ||
| 474 | "Setting" = "3:0" | ||
| 475 | "Value" = "3:1" | ||
| 476 | "DefaultValue" = "3:1" | ||
| 477 | "UsePlugInResources" = "11:TRUE" | ||
| 478 | } | ||
| 479 | } | ||
| 480 | } | ||
| 481 | } | ||
| 482 | } | ||
| 483 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A1DF86A3EDDD44E594A0CDFC7F58D821" | ||
| 484 | { | ||
| 485 | "Name" = "8:#1900" | ||
| 486 | "Sequence" = "3:1" | ||
| 487 | "Attributes" = "3:1" | ||
| 488 | "Dialogs" | ||
| 489 | { | ||
| 490 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_19BB8ECC0C3A4153BF658C0F22142794" | ||
| 491 | { | ||
| 492 | "Sequence" = "3:200" | ||
| 493 | "DisplayName" = "8:Installation Folder" | ||
| 494 | "UseDynamicProperties" = "11:TRUE" | ||
| 495 | "IsDependency" = "11:FALSE" | ||
| 496 | "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid" | ||
| 497 | "Properties" | ||
| 498 | { | ||
| 499 | "BannerBitmap" | ||
| 500 | { | ||
| 501 | "Name" = "8:BannerBitmap" | ||
| 502 | "DisplayName" = "8:#1001" | ||
| 503 | "Description" = "8:#1101" | ||
| 504 | "Type" = "3:8" | ||
| 505 | "ContextData" = "8:Bitmap" | ||
| 506 | "Attributes" = "3:4" | ||
| 507 | "Setting" = "3:1" | ||
| 508 | "UsePlugInResources" = "11:TRUE" | ||
| 509 | } | ||
| 510 | "InstallAllUsersVisible" | ||
| 511 | { | ||
| 512 | "Name" = "8:InstallAllUsersVisible" | ||
| 513 | "DisplayName" = "8:#1059" | ||
| 514 | "Description" = "8:#1159" | ||
| 515 | "Type" = "3:5" | ||
| 516 | "ContextData" = "8:1;True=1;False=0" | ||
| 517 | "Attributes" = "3:0" | ||
| 518 | "Setting" = "3:0" | ||
| 519 | "Value" = "3:1" | ||
| 520 | "DefaultValue" = "3:1" | ||
| 521 | "UsePlugInResources" = "11:TRUE" | ||
| 522 | } | ||
| 523 | } | ||
| 524 | } | ||
| 525 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3433DFF95F204C7B8A83783FA361BFCE" | ||
| 526 | { | ||
| 527 | "Sequence" = "3:100" | ||
| 528 | "DisplayName" = "8:Welcome" | ||
| 529 | "UseDynamicProperties" = "11:TRUE" | ||
| 530 | "IsDependency" = "11:FALSE" | ||
| 531 | "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid" | ||
| 532 | "Properties" | ||
| 533 | { | ||
| 534 | "BannerBitmap" | ||
| 535 | { | ||
| 536 | "Name" = "8:BannerBitmap" | ||
| 537 | "DisplayName" = "8:#1001" | ||
| 538 | "Description" = "8:#1101" | ||
| 539 | "Type" = "3:8" | ||
| 540 | "ContextData" = "8:Bitmap" | ||
| 541 | "Attributes" = "3:4" | ||
| 542 | "Setting" = "3:1" | ||
| 543 | "UsePlugInResources" = "11:TRUE" | ||
| 544 | } | ||
| 545 | "CopyrightWarning" | ||
| 546 | { | ||
| 547 | "Name" = "8:CopyrightWarning" | ||
| 548 | "DisplayName" = "8:#1002" | ||
| 549 | "Description" = "8:#1102" | ||
| 550 | "Type" = "3:3" | ||
| 551 | "ContextData" = "8:" | ||
| 552 | "Attributes" = "3:0" | ||
| 553 | "Setting" = "3:1" | ||
| 554 | "Value" = "8:#1202" | ||
| 555 | "DefaultValue" = "8:#1202" | ||
| 556 | "UsePlugInResources" = "11:TRUE" | ||
| 557 | } | ||
| 558 | "Welcome" | ||
| 559 | { | ||
| 560 | "Name" = "8:Welcome" | ||
| 561 | "DisplayName" = "8:#1003" | ||
| 562 | "Description" = "8:#1103" | ||
| 563 | "Type" = "3:3" | ||
| 564 | "ContextData" = "8:" | ||
| 565 | "Attributes" = "3:0" | ||
| 566 | "Setting" = "3:1" | ||
| 567 | "Value" = "8:#1203" | ||
| 568 | "DefaultValue" = "8:#1203" | ||
| 569 | "UsePlugInResources" = "11:TRUE" | ||
| 570 | } | ||
| 571 | } | ||
| 572 | } | ||
| 573 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AF4B4DA9EB504C71B314DF4C68CE15EA" | ||
| 574 | { | ||
| 575 | "Sequence" = "3:300" | ||
| 576 | "DisplayName" = "8:Confirm Installation" | ||
| 577 | "UseDynamicProperties" = "11:TRUE" | ||
| 578 | "IsDependency" = "11:FALSE" | ||
| 579 | "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid" | ||
| 580 | "Properties" | ||
| 581 | { | ||
| 582 | "BannerBitmap" | ||
| 583 | { | ||
| 584 | "Name" = "8:BannerBitmap" | ||
| 585 | "DisplayName" = "8:#1001" | ||
| 586 | "Description" = "8:#1101" | ||
| 587 | "Type" = "3:8" | ||
| 588 | "ContextData" = "8:Bitmap" | ||
| 589 | "Attributes" = "3:4" | ||
| 590 | "Setting" = "3:1" | ||
| 591 | "UsePlugInResources" = "11:TRUE" | ||
| 592 | } | ||
| 593 | } | ||
| 594 | } | ||
| 595 | } | ||
| 596 | } | ||
| 597 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_AAE51F7F58C64A4B996423B01E3D8921" | ||
| 598 | { | ||
| 599 | "Name" = "8:#1902" | ||
| 600 | "Sequence" = "3:1" | ||
| 601 | "Attributes" = "3:3" | ||
| 602 | "Dialogs" | ||
| 603 | { | ||
| 604 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4AF1C2264E804EE9BA6E2E014EFACBD1" | ||
| 605 | { | ||
| 606 | "Sequence" = "3:100" | ||
| 607 | "DisplayName" = "8:Finished" | ||
| 608 | "UseDynamicProperties" = "11:TRUE" | ||
| 609 | "IsDependency" = "11:FALSE" | ||
| 610 | "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid" | ||
| 611 | "Properties" | ||
| 612 | { | ||
| 613 | "BannerBitmap" | ||
| 614 | { | ||
| 615 | "Name" = "8:BannerBitmap" | ||
| 616 | "DisplayName" = "8:#1001" | ||
| 617 | "Description" = "8:#1101" | ||
| 618 | "Type" = "3:8" | ||
| 619 | "ContextData" = "8:Bitmap" | ||
| 620 | "Attributes" = "3:4" | ||
| 621 | "Setting" = "3:1" | ||
| 622 | "UsePlugInResources" = "11:TRUE" | ||
| 623 | } | ||
| 624 | "UpdateText" | ||
| 625 | { | ||
| 626 | "Name" = "8:UpdateText" | ||
| 627 | "DisplayName" = "8:#1058" | ||
| 628 | "Description" = "8:#1158" | ||
| 629 | "Type" = "3:15" | ||
| 630 | "ContextData" = "8:" | ||
| 631 | "Attributes" = "3:0" | ||
| 632 | "Setting" = "3:1" | ||
| 633 | "Value" = "8:#1258" | ||
| 634 | "DefaultValue" = "8:#1258" | ||
| 635 | "UsePlugInResources" = "11:TRUE" | ||
| 636 | } | ||
| 637 | } | ||
| 638 | } | ||
| 639 | } | ||
| 640 | } | ||
| 641 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C45FE7F2B865461AB6313DD4AEB2833D" | ||
| 642 | { | ||
| 643 | "Name" = "8:#1901" | ||
| 644 | "Sequence" = "3:2" | ||
| 645 | "Attributes" = "3:2" | ||
| 646 | "Dialogs" | ||
| 647 | { | ||
| 648 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_640F85EA14454CEEAD495CDCCD0BCB76" | ||
| 649 | { | ||
| 650 | "Sequence" = "3:100" | ||
| 651 | "DisplayName" = "8:Progress" | ||
| 652 | "UseDynamicProperties" = "11:TRUE" | ||
| 653 | "IsDependency" = "11:FALSE" | ||
| 654 | "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid" | ||
| 655 | "Properties" | ||
| 656 | { | ||
| 657 | "BannerBitmap" | ||
| 658 | { | ||
| 659 | "Name" = "8:BannerBitmap" | ||
| 660 | "DisplayName" = "8:#1001" | ||
| 661 | "Description" = "8:#1101" | ||
| 662 | "Type" = "3:8" | ||
| 663 | "ContextData" = "8:Bitmap" | ||
| 664 | "Attributes" = "3:4" | ||
| 665 | "Setting" = "3:1" | ||
| 666 | "UsePlugInResources" = "11:TRUE" | ||
| 667 | } | ||
| 668 | "ShowProgress" | ||
| 669 | { | ||
| 670 | "Name" = "8:ShowProgress" | ||
| 671 | "DisplayName" = "8:#1009" | ||
| 672 | "Description" = "8:#1109" | ||
| 673 | "Type" = "3:5" | ||
| 674 | "ContextData" = "8:1;True=1;False=0" | ||
| 675 | "Attributes" = "3:0" | ||
| 676 | "Setting" = "3:0" | ||
| 677 | "Value" = "3:1" | ||
| 678 | "DefaultValue" = "3:1" | ||
| 679 | "UsePlugInResources" = "11:TRUE" | ||
| 680 | } | ||
| 681 | } | ||
| 682 | } | ||
| 683 | } | ||
| 684 | } | ||
| 685 | } | ||
| 686 | "MergeModule" | ||
| 687 | { | ||
| 688 | } | ||
| 689 | "ProjectOutput" | ||
| 690 | { | ||
| 691 | "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E86F0F0DE4B646B6956C8E30890951D2" | ||
| 692 | { | ||
| 693 | "SourcePath" = "8:..\\x64\\Release\\Source.exe" | ||
| 694 | "TargetName" = "8:" | ||
| 695 | "Tag" = "8:" | ||
| 696 | "Folder" = "8:_5393EB12357E4BF29E8149058ABE909F" | ||
| 697 | "Condition" = "8:" | ||
| 698 | "Transitive" = "11:FALSE" | ||
| 699 | "Vital" = "11:TRUE" | ||
| 700 | "ReadOnly" = "11:FALSE" | ||
| 701 | "Hidden" = "11:FALSE" | ||
| 702 | "System" = "11:FALSE" | ||
| 703 | "Permanent" = "11:FALSE" | ||
| 704 | "SharedLegacy" = "11:FALSE" | ||
| 705 | "PackageAs" = "3:1" | ||
| 706 | "Register" = "3:1" | ||
| 707 | "Exclude" = "11:FALSE" | ||
| 708 | "IsDependency" = "11:FALSE" | ||
| 709 | "IsolateTo" = "8:" | ||
| 710 | "ProjectOutputGroupRegister" = "3:1" | ||
| 711 | "OutputConfiguration" = "8:" | ||
| 712 | "OutputGroupCanonicalName" = "8:Built" | ||
| 713 | "OutputProjectGuid" = "8:{CED79182-F36B-4D07-AD0E-249C15BFAD73}" | ||
| 714 | "ShowKeyOutput" = "11:TRUE" | ||
| 715 | "ExcludeFilters" | ||
| 716 | { | ||
| 717 | } | ||
| 718 | } | ||
| 719 | } | ||
| 720 | } | ||
| 721 | } | ||
| diff --git a/Source/Main.cpp b/Source/Main.cpp index 0081808..86a784b 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp | |||
| @@ -118,7 +118,13 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) | |||
| 118 | seed = _wtoi(text.c_str()); | 118 | seed = _wtoi(text.c_str()); |
| 119 | } | 119 | } |
| 120 | srand(seed); | 120 | srand(seed); |
| 121 | Randomizer().Randomize(); | 121 | Randomizer randomizer; |
| 122 | randomizer.Randomize(); | ||
| 123 | /* | ||
| 124 | if (adjustSpeed.isChecked()) { | ||
| 125 | randomizer.AdjustSpeed(); | ||
| 126 | } | ||
| 127 | */ | ||
| 122 | SetWindowText(hwndRandomize, L"Randomized!"); | 128 | SetWindowText(hwndRandomize, L"Randomized!"); |
| 123 | } | 129 | } |
| 124 | } | 130 | } |
| diff --git a/Source/Panels.h b/Source/Panels.h index d7690b8..6aa0d47 100644 --- a/Source/Panels.h +++ b/Source/Panels.h | |||
| @@ -32,12 +32,6 @@ std::vector<int> leftRightPanels = { | |||
| 32 | 0x17D02, // Town Windmill Control | 32 | 0x17D02, // Town Windmill Control |
| 33 | }; | 33 | }; |
| 34 | 34 | ||
| 35 | // These panels are very tall (aka not square) and can't take symmetry panels on them. | ||
| 36 | std::vector<int> tallUpDownPanels = { | ||
| 37 | 0x09EEB, // Mountain 2 Elevator | ||
| 38 | 0x17CC4, // Mill Elevator Control | ||
| 39 | }; | ||
| 40 | |||
| 41 | // Note: Some of these (non-controls) are duplicated elsewhere | 35 | // Note: Some of these (non-controls) are duplicated elsewhere |
| 42 | std::vector<int> upDownPanels = { | 36 | std::vector<int> upDownPanels = { |
| 43 | 0x0008D, // Glass Factory Rotational Symmetry 1 | 37 | 0x0008D, // Glass Factory Rotational Symmetry 1 |
| @@ -547,6 +541,72 @@ std::vector<int> junglePanels = { | |||
| 547 | 0x03616, // Jungle Laser | 541 | 0x03616, // Jungle Laser |
| 548 | }; | 542 | }; |
| 549 | 543 | ||
| 544 | |||
| 545 | std::vector<int> audiologs = { | ||
| 546 | 0x3C0F7, // Boat Treehouse Rock | ||
| 547 | 0x3C0FD, // Boat Broken Boat | ||
| 548 | 0x32A00, // Bunker Green Room | ||
| 549 | 0x3C0FE, // Desert Broken Wall | ||
| 550 | // 0x338B0, // Easter Egg Ending Briefcase (?) | ||
| 551 | // 0x338B7, // Easter Egg Ending Briefcase (?) | ||
| 552 | // 0x338AD, // Easter Egg Ending Briefcase (iOS) | ||
| 553 | // 0x338A5, // Easter Egg Ending Wine Table | ||
| 554 | // 0x338AE, // Easter Egg Ending Briefcase | ||
| 555 | // 0x338AF, // Easter Egg Ending Briefcase (?) | ||
| 556 | // 0x338A7, // Easter Egg Ending Record | ||
| 557 | // 0x338A3, // Easter Egg Ending Countertop | ||
| 558 | // 0x338A4, // Easter Egg Ending Sunbathing | ||
| 559 | // 0x3C108, // Easter Egg Ending Pool | ||
| 560 | // 0x338EF, // Easter Egg Ending Pillow | ||
| 561 | // 0x336E5, // Easter Egg Ending Apple | ||
| 562 | // 0x338A6, // Easter Egg Ending Purple Flowers | ||
| 563 | 0x3C100, // Jungle Entrance Right | ||
| 564 | 0x3C0F4, // Jungle Entrance Left | ||
| 565 | 0x3C102, // Jungle Laser | ||
| 566 | 0x3C10D, // Jungle Beach | ||
| 567 | 0x3C10E, // Keep Corridor | ||
| 568 | 0x3C10B, // Keep Guitar Amp | ||
| 569 | 0x0074F, // Keep Front Wall | ||
| 570 | 0x012C7, // Keep Throne | ||
| 571 | 0x329FF, // Mill Stairs | ||
| 572 | 0x3C106, // Monastery Left Shutters | ||
| 573 | 0x33AFF, // Mountain 1 Purple Path Panel | ||
| 574 | 0x011F9, // Mountain 1 Junk Column | ||
| 575 | 0x00763, // Mountain 1 Blue Panels | ||
| 576 | 0x32A08, // Mountain 2 Blue Path Panel | ||
| 577 | 0x3C101, // Mountain 3 Giant Floor | ||
| 578 | 0x3C0FF, // Mountain 3 Peekaboo | ||
| 579 | 0x3C103, // Mountainside Cloud Cycle | ||
| 580 | 0x00A0F, // Mountaintop | ||
| 581 | 0x339A9, // Outside Tutorial Discard | ||
| 582 | 0x015C0, // Outside Tutorial Stones | ||
| 583 | 0x33B36, // Peninsula | ||
| 584 | 0x3C10C, // Shadows Laser | ||
| 585 | 0x32A0E, // Shadows Orange Crate | ||
| 586 | 0x329FE, // Shipwreck Bridge | ||
| 587 | 0x32A07, // Swamp Purple Underwater | ||
| 588 | 0x00761, // Swamp Shortcut | ||
| 589 | 0x3C109, // Symmetry Island Behind Laser | ||
| 590 | 0x33B37, // Symmetry Island Fading Lines | ||
| 591 | 0x3C107, // Town Laser Redirect | ||
| 592 | 0x3C0F3, // Town Bell Tower | ||
| 593 | 0x015B7, // Town Obelisk | ||
| 594 | 0x3C10A, // Town Lattice Panel Right | ||
| 595 | 0x32A0A, // Town Lattice Panel Left | ||
| 596 | 0x015C1, // Treehouse Green Bridge | ||
| 597 | 0x3C12A, // Treehouse Shipwreck Shore | ||
| 598 | 0x3C104, // Treehouse Docks | ||
| 599 | // 0x3C105, // Tunnels Box | ||
| 600 | 0x339A8, // Tutorial Patio Roof | ||
| 601 | 0x0050A, // Tutorial Gate | ||
| 602 | // 0x338BD, // UTM Town Shortcut | ||
| 603 | // 0x3C135, // UTM Cave In | ||
| 604 | // 0x338C9, // UTM Mountainside Shortcut | ||
| 605 | // 0x338D7, // UTM Stairwell | ||
| 606 | // 0x338C1, // UTM Challenge Water | ||
| 607 | // 0x338CA, // UTM Invisible Dots | ||
| 608 | }; | ||
| 609 | |||
| 550 | // There might be something to do with these, I haven't decided yet. | 610 | // There might be something to do with these, I haven't decided yet. |
| 551 | std::vector<int> nothingPanels = { | 611 | std::vector<int> nothingPanels = { |
| 552 | // Doors & Shortcuts & Shortcut doors & Door controls | 612 | // Doors & Shortcuts & Shortcut doors & Door controls |
| @@ -684,69 +744,5 @@ std::vector<int> nothingPanels = { | |||
| 684 | 0x0005C, // Glass Factory Vertical Symmetry 5 | 744 | 0x0005C, // Glass Factory Vertical Symmetry 5 |
| 685 | 0x17C31, // Desert Final Transparent | 745 | 0x17C31, // Desert Final Transparent |
| 686 | 0x19650, // Shadows Laser | 746 | 0x19650, // Shadows Laser |
| 687 | }; | 747 | 0x09EEB, // Mountain 2 Elevator |
| 688 | |||
| 689 | std::vector<int> audiologs = { | ||
| 690 | 0x3C0F7, // Boat Treehouse Rock | ||
| 691 | 0x3C0FD, // Boat Broken Boat | ||
| 692 | 0x32A00, // Bunker Green Room | ||
| 693 | 0x3C0FE, // Desert Broken Wall | ||
| 694 | // 0x338B0, // Easter Egg Ending Briefcase (?) | ||
| 695 | // 0x338B7, // Easter Egg Ending Briefcase (?) | ||
| 696 | // 0x338AD, // Easter Egg Ending Briefcase (iOS) | ||
| 697 | // 0x338A5, // Easter Egg Ending Wine Table | ||
| 698 | // 0x338AE, // Easter Egg Ending Briefcase | ||
| 699 | // 0x338AF, // Easter Egg Ending Briefcase (?) | ||
| 700 | // 0x338A7, // Easter Egg Ending Record | ||
| 701 | // 0x338A3, // Easter Egg Ending Countertop | ||
| 702 | // 0x338A4, // Easter Egg Ending Sunbathing | ||
| 703 | // 0x3C108, // Easter Egg Ending Pool | ||
| 704 | // 0x338EF, // Easter Egg Ending Pillow | ||
| 705 | // 0x336E5, // Easter Egg Ending Apple | ||
| 706 | // 0x338A6, // Easter Egg Ending Purple Flowers | ||
| 707 | 0x3C100, // Jungle Entrance Right | ||
| 708 | 0x3C0F4, // Jungle Entrance Left | ||
| 709 | 0x3C102, // Jungle Laser | ||
| 710 | 0x3C10D, // Jungle Beach | ||
| 711 | 0x3C10E, // Keep Corridor | ||
| 712 | 0x3C10B, // Keep Guitar Amp | ||
| 713 | 0x0074F, // Keep Front Wall | ||
| 714 | 0x012C7, // Keep Throne | ||
| 715 | 0x329FF, // Mill Stairs | ||
| 716 | 0x3C106, // Monastery Left Shutters | ||
| 717 | 0x33AFF, // Mountain 1 Purple Path Panel | ||
| 718 | 0x011F9, // Mountain 1 Junk Column | ||
| 719 | 0x00763, // Mountain 1 Blue Panels | ||
| 720 | 0x32A08, // Mountain 2 Blue Path Panel | ||
| 721 | 0x3C101, // Mountain 3 Giant Floor | ||
| 722 | 0x3C0FF, // Mountain 3 Peekaboo | ||
| 723 | 0x3C103, // Mountainside Cloud Cycle | ||
| 724 | 0x00A0F, // Mountaintop | ||
| 725 | 0x339A9, // Outside Tutorial Discard | ||
| 726 | 0x015C0, // Outside Tutorial Stones | ||
| 727 | 0x33B36, // Peninsula | ||
| 728 | 0x3C10C, // Shadows Laser | ||
| 729 | 0x32A0E, // Shadows Orange Crate | ||
| 730 | 0x329FE, // Shipwreck Bridge | ||
| 731 | 0x32A07, // Swamp Purple Underwater | ||
| 732 | 0x00761, // Swamp Shortcut | ||
| 733 | 0x3C109, // Symmetry Island Behind Laser | ||
| 734 | 0x33B37, // Symmetry Island Fading Lines | ||
| 735 | 0x3C107, // Town Laser Redirect | ||
| 736 | 0x3C0F3, // Town Bell Tower | ||
| 737 | 0x015B7, // Town Obelisk | ||
| 738 | 0x3C10A, // Town Lattice Panel Right | ||
| 739 | 0x32A0A, // Town Lattice Panel Left | ||
| 740 | 0x015C1, // Treehouse Green Bridge | ||
| 741 | 0x3C12A, // Treehouse Shipwreck Shore | ||
| 742 | 0x3C104, // Treehouse Docks | ||
| 743 | // 0x3C105, // Tunnels Box | ||
| 744 | 0x339A8, // Tutorial Patio Roof | ||
| 745 | 0x0050A, // Tutorial Gate | ||
| 746 | // 0x338BD, // UTM Town Shortcut | ||
| 747 | // 0x3C135, // UTM Cave In | ||
| 748 | // 0x338C9, // UTM Mountainside Shortcut | ||
| 749 | // 0x338D7, // UTM Stairwell | ||
| 750 | // 0x338C1, // UTM Challenge Water | ||
| 751 | // 0x338CA, // UTM Invisible Dots | ||
| 752 | }; | 748 | }; |
| diff --git a/Source/Randomizer.cpp b/Source/Randomizer.cpp index 4d99461..508dff1 100644 --- a/Source/Randomizer.cpp +++ b/Source/Randomizer.cpp | |||
| @@ -1,20 +1,19 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * BUGS: | 2 | * BUGS: |
| 3 | * Tutorial back left is not protected anymore | ||
| 4 | * Shipwreck vault is solved reversed? | 3 | * Shipwreck vault is solved reversed? |
| 5 | * Verify UTM perspective? | ||
| 6 | * FEATURES: | 4 | * FEATURES: |
| 7 | * Speedrunner mode? | ||
| 8 | * Speed up some of the slow things (like swamp) | 5 | * Speed up some of the slow things (like swamp) |
| 9 | * Determine if the user has entered the seed, and re-randomize it if not | 6 | * Determine if the user has entered the seed, and re-randomize it if not |
| 10 | * Prevent re-randomization (?) | 7 | * Prevent re-randomization (?) |
| 11 | * Clear "Randomized" state on NG (?) | 8 | * Clear "Randomized" state on NG (?) |
| 12 | * Limit back distance to pillars (like before) | ||
| 13 | * Randomize audio logs -- Hard, seem to be unloaded some times? | 9 | * Randomize audio logs -- Hard, seem to be unloaded some times? |
| 14 | * Swap sounds in jungle (along with panels) -- maybe impossible | 10 | * Swap sounds in jungle (along with panels) -- maybe impossible |
| 15 | * Make orange 7 (all of oranges?) hard. Like big = hard. | 11 | * Make orange 7 (all of oranges?) hard. Like big = hard. |
| 16 | * Start the game if it isn't running? | 12 | * Start the game if it isn't running? |
| 17 | * Increase odds of mountain oranges garbage on other panels? [setting] | 13 | * SETTINGS: |
| 14 | * Speeds of certain things | ||
| 15 | * Speedrunner mode | ||
| 16 | * Increase odds of mountain oranges garbage on other panels | ||
| 18 | */ | 17 | */ |
| 19 | #include "Memory.h" | 18 | #include "Memory.h" |
| 20 | #include "Randomizer.h" | 19 | #include "Randomizer.h" |
| @@ -36,7 +35,6 @@ int find(const std::vector<T> &data, T search, size_t startIndex = 0) { | |||
| 36 | void Randomizer::Randomize() | 35 | void Randomizer::Randomize() |
| 37 | { | 36 | { |
| 38 | // Content swaps -- must happen before squarePanels | 37 | // Content swaps -- must happen before squarePanels |
| 39 | _core.Randomize(tallUpDownPanels, SWAP_LINES); | ||
| 40 | _core.Randomize(upDownPanels, SWAP_LINES); | 38 | _core.Randomize(upDownPanels, SWAP_LINES); |
| 41 | _core.Randomize(leftForwardRightPanels, SWAP_LINES); | 39 | _core.Randomize(leftForwardRightPanels, SWAP_LINES); |
| 42 | 40 | ||
| @@ -159,7 +157,7 @@ void Randomizer::RandomizeSwamp() { | |||
| 159 | 157 | ||
| 160 | void Randomizer::RandomizeMountain() { | 158 | void Randomizer::RandomizeMountain() { |
| 161 | _core.Randomize(lasers, SWAP_TARGETS); | 159 | _core.Randomize(lasers, SWAP_TARGETS); |
| 162 | _core.Randomize(pillars, SWAP_LINES); | 160 | _core.Randomize(pillars, SWAP_LINES | SWAP_BACK_DISTANCE); |
| 163 | _core.Randomize(mountainMultipanel, SWAP_LINES); | 161 | _core.Randomize(mountainMultipanel, SWAP_LINES); |
| 164 | 162 | ||
| 165 | // Read the target of keep front laser, and write it to keep back laser. | 163 | // Read the target of keep front laser, and write it to keep back laser. |
| diff --git a/Source/RandomizerCore.cpp b/Source/RandomizerCore.cpp index 11802f5..c673e2d 100644 --- a/Source/RandomizerCore.cpp +++ b/Source/RandomizerCore.cpp | |||
| @@ -30,6 +30,9 @@ void RandomizerCore::SwapPanels(int panel1, int panel2, int flags) { | |||
| 30 | if (flags & SWAP_AUDIO_NAMES) { | 30 | if (flags & SWAP_AUDIO_NAMES) { |
| 31 | offsets[AUDIO_LOG_NAME] = sizeof(void*); | 31 | offsets[AUDIO_LOG_NAME] = sizeof(void*); |
| 32 | } | 32 | } |
| 33 | if (flags & SWAP_BACK_DISTANCE) { | ||
| 34 | offsets[EXTRA_BACK_DISTANCE] = sizeof(float); | ||
| 35 | } | ||
| 33 | if (flags & SWAP_LINES) { | 36 | if (flags & SWAP_LINES) { |
| 34 | offsets[PATH_COLOR] = 16; | 37 | offsets[PATH_COLOR] = 16; |
| 35 | offsets[REFLECTION_PATH_COLOR] = 16; | 38 | offsets[REFLECTION_PATH_COLOR] = 16; |
| @@ -52,7 +55,6 @@ void RandomizerCore::SwapPanels(int panel1, int panel2, int flags) { | |||
| 52 | offsets[PUSH_SYMBOL_COLORS] = sizeof(int); | 55 | offsets[PUSH_SYMBOL_COLORS] = sizeof(int); |
| 53 | offsets[OUTER_BACKGROUND] = 16; | 56 | offsets[OUTER_BACKGROUND] = 16; |
| 54 | offsets[OUTER_BACKGROUND_MODE] = sizeof(int); | 57 | offsets[OUTER_BACKGROUND_MODE] = sizeof(int); |
| 55 | offsets[EXTRA_BACK_DISTANCE] = sizeof(float); | ||
| 56 | offsets[TRACED_EDGES] = 16; | 58 | offsets[TRACED_EDGES] = 16; |
| 57 | offsets[AUDIO_PREFIX] = sizeof(void*); | 59 | offsets[AUDIO_PREFIX] = sizeof(void*); |
| 58 | // offsets[IS_CYLINDER] = sizeof(int); | 60 | // offsets[IS_CYLINDER] = sizeof(int); |
| diff --git a/Source/RandomizerCore.h b/Source/RandomizerCore.h index 21ed0b6..2a8e42e 100644 --- a/Source/RandomizerCore.h +++ b/Source/RandomizerCore.h | |||
| @@ -8,6 +8,7 @@ __declspec(selectany) int SWAP_NONE = 0x0; | |||
| 8 | __declspec(selectany) int SWAP_TARGETS = 0x1; | 8 | __declspec(selectany) int SWAP_TARGETS = 0x1; |
| 9 | __declspec(selectany) int SWAP_LINES = 0x2; | 9 | __declspec(selectany) int SWAP_LINES = 0x2; |
| 10 | __declspec(selectany) int SWAP_AUDIO_NAMES = 0x4; | 10 | __declspec(selectany) int SWAP_AUDIO_NAMES = 0x4; |
| 11 | __declspec(selectany) int SWAP_BACK_DISTANCE = 0x8; | ||
| 11 | 12 | ||
| 12 | class RandomizerCore | 13 | class RandomizerCore |
| 13 | { | 14 | { |
