diff options
author | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-29 18:49:30 -0700 |
---|---|---|
committer | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-29 18:49:30 -0700 |
commit | caddad668bd8fe0a2b4fbed410787f7134b8d701 (patch) | |
tree | 4057d766268b27797610818a98a4030e2d339e8f | |
parent | 0e989fe5111ca879584e1594804422b9b4ae0c1a (diff) | |
download | witness-tutorializer-caddad668bd8fe0a2b4fbed410787f7134b8d701.tar.gz witness-tutorializer-caddad668bd8fe0a2b4fbed410787f7134b8d701.tar.bz2 witness-tutorializer-caddad668bd8fe0a2b4fbed410787f7134b8d701.zip |
Fix mountain elevator, fix back distance
-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 | { |