diff options
author | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-24 22:13:56 -0700 |
---|---|---|
committer | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-24 22:13:56 -0700 |
commit | a96cea16828973b92c465fb84de2554779f07101 (patch) | |
tree | ca10bab4bed674c935ce497ad56751247c8fc34f | |
parent | 69a8f903ef70845894ff07e0805d9cc60597cc7c (diff) | |
download | witness-tutorializer-a96cea16828973b92c465fb84de2554779f07101.tar.gz witness-tutorializer-a96cea16828973b92c465fb84de2554779f07101.tar.bz2 witness-tutorializer-a96cea16828973b92c465fb84de2554779f07101.zip |
Lots of progress, lots of ideas.
-rw-r--r-- | WitnessRandomizer/Panels.h | 682 | ||||
-rw-r--r-- | WitnessRandomizer/WitnessRandomizer.cpp | 54 |
2 files changed, 365 insertions, 371 deletions
diff --git a/WitnessRandomizer/Panels.h b/WitnessRandomizer/Panels.h index 8d594b1..fff7053 100644 --- a/WitnessRandomizer/Panels.h +++ b/WitnessRandomizer/Panels.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #pragma once | 1 | #pragma once |
2 | #include <vector> | 2 | #include <vector> |
3 | 3 | ||
4 | // Some of these (the puzzle ones) are duplicated elsewhere | ||
4 | std::vector<int> lasers = { | 5 | std::vector<int> lasers = { |
5 | 0x0360D, // Symmetry | 6 | 0x0360D, // Symmetry |
6 | 0x03615, // Swamp | 7 | 0x03615, // Swamp |
@@ -11,8 +12,10 @@ std::vector<int> lasers = { | |||
11 | // 0x03608, // Desert | 12 | // 0x03608, // Desert |
12 | 0x03612, // Quarry | 13 | 0x03612, // Quarry |
13 | 0x03616, // Jungle | 14 | 0x03616, // Jungle |
15 | 0x19650, // Shadows | ||
14 | }; | 16 | }; |
15 | 17 | ||
18 | // Note: Some of these (non-desert) are duplicated elsewhere | ||
16 | std::vector<int> burnablePanels = { | 19 | std::vector<int> burnablePanels = { |
17 | 0x17D9C, // Treehouse Yellow 7 | 20 | 0x17D9C, // Treehouse Yellow 7 |
18 | 0x17DC2, // Treehouse Yellow 8 | 21 | 0x17DC2, // Treehouse Yellow 8 |
@@ -31,19 +34,233 @@ std::vector<int> burnablePanels = { | |||
31 | 0x28ACB, // Town Blue 4 | 34 | 0x28ACB, // Town Blue 4 |
32 | 0x28ACC, // Town Blue 5 | 35 | 0x28ACC, // Town Blue 5 |
33 | 0x17CF0, // Mill Discard | 36 | 0x17CF0, // Mill Discard |
37 | 0x17C31, // Desert Final Transparent | ||
38 | |||
39 | 0x00698, // Desert Surface 1 | ||
40 | 0x0048F, // Desert Surface 2 | ||
41 | 0x09F92, // Desert Surface 3 | ||
42 | 0x0A036, // Desert Surface 4 | ||
43 | 0x09DA6, // Desert Surface 5 | ||
44 | 0x0A049, // Desert Surface 6 | ||
45 | 0x0A053, // Desert Surface 7 | ||
46 | 0x09F94, // Desert Surface 8 | ||
47 | 0x00422, // Desert Light 1 | ||
48 | 0x006E3, // Desert Light 2 | ||
49 | 0x0A02D, // Desert Light 3 | ||
50 | 0x00C72, // Desert Pond 1 | ||
51 | 0x0129D, // Desert Pond 2 | ||
52 | 0x008BB, // Desert Pond 3 | ||
53 | 0x0078D, // Desert Pond 4 | ||
54 | 0x18313, // Desert Pond 5 | ||
55 | 0x04D18, // Desert Flood 1 | ||
56 | 0x01205, // Desert Flood 2 | ||
57 | 0x181AB, // Desert Flood 3 | ||
58 | 0x0117A, // Desert Flood 4 | ||
59 | 0x17ECA, // Desert Flood 5 | ||
60 | 0x012D7, // Desert Final Far | ||
61 | }; | ||
62 | |||
63 | // Note: Some of these (non-switches) are duplicated elsewhere | ||
64 | std::vector<int> leftRightPanels = { | ||
65 | 0x17D02, // Town Windmill Control | ||
66 | }; | ||
67 | |||
68 | // Note: Some of these (non-switches) are duplicated elsewhere | ||
69 | std::vector<int> upDownPanels = { | ||
70 | 0x0A3B5, // Tutorial Back Left | ||
71 | 0x17CC4, // Mill Elevator Control | ||
72 | }; | ||
73 | |||
74 | std::vector<int> leftForwardRightPanels = { | ||
75 | 0x17DD1, // Treehouse Left Orange 9 has to pivot | ||
76 | 0x17CE3, // Treehouse Right Orange 4 has to pivot | ||
77 | 0x17DB7, // Treehouse Right Orange 10 has to pivot | ||
78 | 0x17E52, // Treehouse Green 4 has to pivot | ||
79 | }; | ||
80 | |||
81 | std::vector<int> pillars = { | ||
82 | 0x0383D, // Mountain 3 Left Pillar 1 | ||
83 | 0x0383F, // Mountain 3 Left Pillar 2 | ||
84 | 0x03859, // Mountain 3 Left Pillar 3 | ||
85 | 0x339BB, // Mountain 3 Left Pillar 4 | ||
86 | 0x0383A, // Mountain 3 Right Pillar 1 | ||
87 | 0x09E56, // Mountain 3 Right Pillar 2 | ||
88 | 0x09E5A, // Mountain 3 Right Pillar 3 | ||
89 | 0x33961, // Mountain 3 Right Pillar 4 | ||
90 | 0x09DD5, // UTM Challenge Pillar | ||
91 | // 0x1C31A, // Challenge Left Pillar | ||
92 | // 0x1C319, // Challenge Right Pillar | ||
93 | }; | ||
94 | |||
95 | std::vector<int> mountainMultipanel = { | ||
96 | 0x09FCC, // Mountain 2 Multipanel 1 | ||
97 | 0x09FCE, // Mountain 2 Multipanel 2 | ||
98 | 0x09FCF, // Mountain 2 Multipanel 3 | ||
99 | 0x09FD0, // Mountain 2 Multipanel 4 | ||
100 | 0x09FD1, // Mountain 2 Multipanel 5 | ||
101 | 0x09FD2, // Mountain 2 Multipanel 6 | ||
34 | }; | 102 | }; |
35 | 103 | ||
36 | std::vector<int> tutorialPanels = { | 104 | // There might be something to do with these, I haven't decided yet. |
37 | // 0x0A3B5, // Back Left | 105 | std::vector<int> nothingPanels = { |
38 | 0x0A3B2, // Back Right | 106 | // Doors & Shortcuts & Shortcut doors & Door controls |
39 | 0x00295, // Center Left | 107 | 0x0C339, // Desert Surface Door |
40 | 0x00293, // Front Center | 108 | 0x0A249, // Desert Pond Exit Door |
41 | 0x002C2, // Front Left | 109 | 0x275ED, // Mill EP Door |
42 | 0x0C335, // Pillar | 110 | 0x17CAC, // Mill Stairs Shortcut Door |
43 | 0x0C373, // Patio floor | 111 | 0x38663, // Boathouse Shortcut |
112 | 0x09E49, // Keep Shadows Shortcut | ||
113 | 0x0361B, // Keep Tower Shortcut | ||
114 | 0x334DC, // Shadows Inner Door Control | ||
115 | 0x334DB, // Shadows Outer Door Control | ||
116 | 0x2700B, // Treehouse Exterior Door Control | ||
117 | 0x17CBC, // Treehouse Interior Door Control | ||
118 | // 0x337FA, // Jungle Shortcut | ||
119 | |||
120 | // Controls (?) | ||
121 | 0x09FA0, // Desert Surface 3 Control | ||
122 | 0x09F86, // Desert Surface 8 Control | ||
123 | 0x1C2DF, // Desert Flood Control Lower Far Left | ||
124 | 0x1831E, // Desert Flood Control Lower Far Right | ||
125 | 0x1C260, // Desert Flood Control Lower Near Left | ||
126 | 0x1831C, // Desert Flood Control Lower Near Right | ||
127 | 0x1C2F3, // Desert Flood Control Raise Far Left | ||
128 | 0x1831D, // Desert Flood Control Raise Far Right | ||
129 | 0x1C2B1, // Desert Flood Control Raise Near Left | ||
130 | 0x1831B, // Desert Flood Control Raise Near Right | ||
131 | 0x0A015, // Desert Final Far Control | ||
132 | 0x03678, // Mill Lower Ramp Contol | ||
133 | 0x03679, // Mill Lower Lift Control | ||
134 | 0x03675, // Mill Upper Lift Control | ||
135 | 0x03676, // Mill Upper Ramp Control | ||
136 | 0x03852, // Boathouse Ramp Angle Control | ||
137 | 0x03858, // Boathouse Ramp Position Control | ||
138 | 0x275FA, // Boathouse Hook Control | ||
139 | 0x037FF, // Treehouse Drawbridge Control | ||
140 | 0x09F98, // Town Laser Redirect Control | ||
141 | 0x334D8, // Town RGB Light Control | ||
142 | 0x17E2B, // Swamp Flood Gate Control | ||
143 | 0x00609, // Swamp Surface Sliding Bridge Control | ||
144 | 0x18488, // Swamp Underwater Sliding Bridge Control | ||
145 | 0x17C0A, // Swamp Island Control 1 | ||
146 | 0x17E07, // Swamp Island Control 2 | ||
147 | 0x181F5, // Swamp Rotating Bridge Control | ||
148 | |||
149 | // Vault Boxes | ||
150 | 0x03481, // Outside Tutorial Vault Box | ||
151 | 0x0339E, // Desert Vault Box | ||
152 | 0x03535, // Shipwreck Vault Box | ||
153 | 0x03702, // Jungle Vault Box | ||
154 | 0x03542, // Mountainside Vault Box | ||
155 | |||
156 | // Boat Summons | ||
157 | 0x17CC8, // Glass Factory Summon Boat | ||
158 | 0x17CA6, // Boathouse Summon Boat | ||
159 | 0x17C95, // Treehouse Summon Boat | ||
160 | 0x0A054, // Town Summon Boat | ||
161 | 0x09DB8, // Swamp Summon Boat | ||
162 | 0x17CDF, // Jungle Summon Boat | ||
163 | |||
164 | // Identical sets | ||
165 | 0x00143, // Orchard Apple Tree 1 | ||
166 | 0x0003B, // Orchard Apple Tree 2 | ||
167 | 0x00055, // Orchard Apple Tree 3 | ||
168 | 0x032F7, // Orchard Apple Tree 4 | ||
169 | 0x032FF, // Orchard Apple Tree 5 | ||
170 | 0x009B8, // Symmetry Island Transparent 1 | ||
171 | 0x003E8, // Symmetry Island Transparent 2 | ||
172 | 0x00A15, // Symmetry Island Transparent 3 | ||
173 | 0x00B53, // Symmetry Island Transparent 4 | ||
174 | 0x00B8D, // Symmetry Island Transparent 5 | ||
175 | |||
176 | // Misc | ||
177 | 0x03629, // Tutorial Gate Open | ||
178 | 0x09FAA, // Desert Lightswitch | ||
179 | 0x0C335, // Tutorial Pillar | ||
180 | 0x0C373, // Tutorial Patio floor | ||
181 | 0x1C349, // Symmetry Island Door 2 - Collision fails here, sadly | ||
182 | 0x18076, // Desert Flood Exit - I am doing something with this -- but it's a very unique panel. | ||
183 | 0x0A15C, // Desert Final Left Convex | ||
184 | 0x09FFF, // Desert Final Left Concave | ||
185 | 0x0A15F, // Desert Final Near | ||
186 | 0x033EA, // Keep Yellow Pressure Plates | ||
187 | 0x0A3A8, // Keep Yellow Reset | ||
188 | 0x01BE9, // Keep Purple Pressure Plates | ||
189 | 0x0A3B9, // Keep Purple Reset | ||
190 | 0x01CD3, // Keep Green Pressure Plates | ||
191 | 0x0A3BB, // Keep Green Reset | ||
192 | 0x01D3F, // Keep Blue Pressure Plates | ||
193 | 0x0A3AD, // Keep Blue Reset | ||
194 | 0x2896A, // Town Bridge | ||
195 | 0x28A69, // Town Lattice | ||
196 | 0x28A79, // Town Maze | ||
197 | 0x28B39, // Town Red Hexagonal | ||
198 | 0x034E3, // Town Soundproof Dots | ||
199 | 0x034E4, // Town Soundproof Waves | ||
200 | 0x079DF, // Town Triple | ||
201 | 0x00815, // Theater Video Input | ||
202 | 0x03553, // Theater Tutorial Video | ||
203 | 0x03552, // Theater Desert Video | ||
204 | 0x0354E, // Theater Jungle Video | ||
205 | 0x03549, // Theater Challenge Video | ||
206 | 0x0354F, // Theater Shipwreck Video | ||
207 | 0x03545, // Theater Mountain Video | ||
208 | 0x18590, // Town Transparent | ||
209 | 0x28AE3, // Town Wire | ||
210 | |||
211 | |||
212 | // 0x09E39, // Mountain 1 Purple Pathway | ||
213 | // 0x33AF5, // Mountain 1 Blue 1 | ||
214 | // 0x33AF7, // Mountain 1 Blue 2 | ||
215 | // 0x09F6E, // Mountain 1 Blue 3 | ||
216 | // 0x09FD8, // Mountain 2 Rainbow 5 | ||
217 | // 0x09E86, // Mountain 2 Blue Pathway | ||
218 | // 0x09ED8, // Mountain 2 Orange Pathway | ||
219 | // 0x09EEB, // Mountain 2 Elevator | ||
220 | 0x09F8E, // Mountain 3 Near Right Floor | ||
221 | 0x09FC1, // Mountain 3 Near Left Floor | ||
222 | 0x09F01, // Mountain 3 Far Right Floor | ||
223 | 0x09EFF, // Mountain 3 Far Left Floor | ||
224 | 0x09FDA, // Mountain 3 Giant Floor | ||
225 | // 0x01983, // Mountain 3 Left Peekaboo | ||
226 | // 0x01987, // Mountain 3 Right Peekaboo | ||
227 | // 0x3D9A6, // Mountain 3 Left Close Door | ||
228 | // 0x3D9A7, // Mountain 3 Right Close Door | ||
229 | // 0x3D9AA, // Mountain 3 Left Activate Elevator | ||
230 | // 0x3D9A8, // Mountain 3 Right Activate Elevator | ||
231 | // 0x3D9A9, // Mountain 3 Launch Elevator | ||
232 | // 0x3C113, // Mountain 3 Left Open Door | ||
233 | // 0x3C114, // Mountain 3 Right Open Door | ||
234 | // 0x09F7F, // Mountaintop Laser Box | ||
235 | // 0x17C34, // Mountaintop Perspective | ||
236 | // 0x0A16E, // UTM Challenge Entrance | ||
237 | // 0x335AB, // UTM In Elevator Control | ||
238 | // 0x3369D, // UTM Lower Elevator Control | ||
239 | // 0x288EA, // UTM Perspective 1 | ||
240 | // 0x288FC, // UTM Perspective 2 | ||
241 | // 0x289E7, // UTM Perspective 3 | ||
242 | // 0x288AA, // UTM Perspective 4 | ||
243 | // 0x334E1, // UTM Secret Door Control | ||
244 | // 0x335AC, // UTM Upper Elevator Control | ||
245 | // 0x2773D, // Tunnels Desert Shortcut | ||
246 | // 0x27732, // Tunnels Theater Shortcut | ||
247 | // 0x2FAF6, // Tunnels Vault Box | ||
248 | // 0x0A099, // Bunker Glass Door | ||
249 | // 0x34BC5, // Bunker Open Ultraviolet | ||
250 | // 0x34BC6, // Bunker Close Ultraviolet | ||
251 | // 0x15ADD, // Jungle Vault | ||
252 | // 0x17CAA, // Jungle Courtyard Gate | ||
253 | // 0x17CAB, // Jungle Pop-up Wall | ||
254 | 0x0005C, // Glass Factory Vertical Symmetry 5 | ||
44 | }; | 255 | }; |
45 | 256 | ||
46 | std::vector<int> outsideTutorialPanels = { | 257 | std::vector<int> squarePanels = { |
258 | 0x00064, // Tutorial Straight | ||
259 | 0x00182, // Tutorial Bend | ||
260 | 0x0A3B2, // Tutorial Back Right | ||
261 | 0x00295, // Tutorial Center Left | ||
262 | 0x00293, // Tutorial Front Center | ||
263 | 0x002C2, // Tutorial Front Left | ||
47 | 0x0005D, // Outside Tutorial Dots Tutorial 1 | 264 | 0x0005D, // Outside Tutorial Dots Tutorial 1 |
48 | 0x0005E, // Outside Tutorial Dots Tutorial 2 | 265 | 0x0005E, // Outside Tutorial Dots Tutorial 2 |
49 | 0x0005F, // Outside Tutorial Dots Tutorial 3 | 266 | 0x0005F, // Outside Tutorial Dots Tutorial 3 |
@@ -59,33 +276,21 @@ std::vector<int> outsideTutorialPanels = { | |||
59 | 0x00020, // Outside Tutorial Stones Tutorial 8 | 276 | 0x00020, // Outside Tutorial Stones Tutorial 8 |
60 | 0x00021, // Outside Tutorial Stones Tutorial 9 | 277 | 0x00021, // Outside Tutorial Stones Tutorial 9 |
61 | 0x033D4, // Outside Tutorial Vault | 278 | 0x033D4, // Outside Tutorial Vault |
62 | // 0x03481, // Outside Tutorial Vault Box | ||
63 | 0x0A171, // Tutorial Optional Door 1 | 279 | 0x0A171, // Tutorial Optional Door 1 |
64 | 0x04CA4, // Tutorial Optional Door 2 | 280 | 0x04CA4, // Tutorial Optional Door 2 |
65 | 0x17CFB, // Outside Tutorial Discard | 281 | 0x17CFB, // Outside Tutorial Discard |
66 | // 0x00143, // Orchard Apple Tree 1 | ||
67 | // 0x0003B, // Orchard Apple Tree 2 | ||
68 | // 0x00055, // Orchard Apple Tree 3 | ||
69 | // 0x032F7, // Orchard Apple Tree 4 | ||
70 | // 0x032FF, // Orchard Apple Tree 5 | ||
71 | }; | ||
72 | |||
73 | std::vector<int> symmetryPanels = { | ||
74 | 0x3C12B, // Glass Factory Discard | 282 | 0x3C12B, // Glass Factory Discard |
75 | 0x01A54, // Glass Factory Entry | 283 | 0x01A54, // Glass Factory Entry |
76 | 0x00086, // Glass Factory Vertical Symmetry 1 | 284 | 0x00086, // Glass Factory Vertical Symmetry 1 |
77 | 0x00087, // Glass Factory Vertical Symmetry 2 | 285 | 0x00087, // Glass Factory Vertical Symmetry 2 |
78 | 0x00059, // Glass Factory Vertical Symmetry 3 | 286 | 0x00059, // Glass Factory Vertical Symmetry 3 |
79 | 0x00062, // Glass Factory Vertical Symmetry 4 | 287 | 0x00062, // Glass Factory Vertical Symmetry 4 |
80 | 0x0005C, // Glass Factory Vertical Symmetry 5 | ||
81 | // 0x17CC8, // Glass Factory Summon Boat | ||
82 | 0x0008D, // Glass Factory Rotational Symmetry 1 | 288 | 0x0008D, // Glass Factory Rotational Symmetry 1 |
83 | 0x00081, // Glass Factory Rotational Symmetry 2 | 289 | 0x00081, // Glass Factory Rotational Symmetry 2 |
84 | 0x00083, // Glass Factory Rotational Symmetry 3 | 290 | 0x00083, // Glass Factory Rotational Symmetry 3 |
85 | 0x00084, // Glass Factory Melting 1 | 291 | 0x00084, // Glass Factory Melting 1 |
86 | 0x00082, // Glass Factory Melting 2 | 292 | 0x00082, // Glass Factory Melting 2 |
87 | 0x0343A, // Glass Factory Melting 3 | 293 | 0x0343A, // Glass Factory Melting 3 |
88 | |||
89 | 0x000B0, // Symmetry Island Door 1 | 294 | 0x000B0, // Symmetry Island Door 1 |
90 | 0x00022, // Symmetry Island Black Dots 1 | 295 | 0x00022, // Symmetry Island Black Dots 1 |
91 | 0x00023, // Symmetry Island Black Dots 2 | 296 | 0x00023, // Symmetry Island Black Dots 2 |
@@ -105,12 +310,6 @@ std::vector<int> symmetryPanels = { | |||
105 | 0x00070, // Symmetry Island Fading Lines 5 | 310 | 0x00070, // Symmetry Island Fading Lines 5 |
106 | 0x00071, // Symmetry Island Fading Lines 6 | 311 | 0x00071, // Symmetry Island Fading Lines 6 |
107 | 0x00076, // Symmetry Island Fading Lines 7 | 312 | 0x00076, // Symmetry Island Fading Lines 7 |
108 | // 0x009B8, // Symmetry Island Transparent 1 // Too mean for right now | ||
109 | // 0x003E8, // Symmetry Island Transparent 2 // Too mean for right now | ||
110 | // 0x00A15, // Symmetry Island Transparent 3 // Too mean for right now | ||
111 | // 0x00B53, // Symmetry Island Transparent 4 // Too mean for right now | ||
112 | // 0x00B8D, // Symmetry Island Transparent 5 // Too mean for right now | ||
113 | // 0x1C349, // Symmetry Island Door 2 - Collision fails here, sadly | ||
114 | 0x00A52, // Symmetry Island Laser Yellow 1 | 313 | 0x00A52, // Symmetry Island Laser Yellow 1 |
115 | 0x00A57, // Symmetry Island Laser Yellow 2 | 314 | 0x00A57, // Symmetry Island Laser Yellow 2 |
116 | 0x00A5B, // Symmetry Island Laser Yellow 3 | 315 | 0x00A5B, // Symmetry Island Laser Yellow 3 |
@@ -119,64 +318,15 @@ std::vector<int> symmetryPanels = { | |||
119 | 0x00A68, // Symmetry Island Laser Blue 3 | 318 | 0x00A68, // Symmetry Island Laser Blue 3 |
120 | 0x17CE7, // Desert Discard | 319 | 0x17CE7, // Desert Discard |
121 | 0x0CC7B, // Desert Vault | 320 | 0x0CC7B, // Desert Vault |
122 | }; | 321 | 0x17C31, // Desert Final Transparent |
123 | |||
124 | std::vector<int> desertPanels = { | ||
125 | // 0x0339E, // Desert Vault Box | ||
126 | 0x00698, // Desert Surface 1 | ||
127 | 0x0048F, // Desert Surface 2 | ||
128 | 0x09F92, // Desert Surface 3 | ||
129 | // 0x09FA0, // Desert Surface 3 Control | ||
130 | 0x0A036, // Desert Surface 4 | ||
131 | 0x09DA6, // Desert Surface 5 | ||
132 | 0x0A049, // Desert Surface 6 | ||
133 | 0x0A053, // Desert Surface 7 | ||
134 | 0x09F94, // Desert Surface 8 | ||
135 | // 0x09F86, // Desert Surface 8 Control | ||
136 | // 0x0C339, // Desert Surface Door | ||
137 | // 0x09FAA, // Desert Lightswitch | ||
138 | 0x00422, // Desert Light 1 | ||
139 | 0x006E3, // Desert Light 2 | ||
140 | // 0x0A02D, // Desert Light 3 | ||
141 | 0x00C72, // Desert Pond 1 | ||
142 | 0x0129D, // Desert Pond 2 | ||
143 | 0x008BB, // Desert Pond 3 | ||
144 | 0x0078D, // Desert Pond 4 | ||
145 | 0x18313, // Desert Pond 5 | ||
146 | // 0x0A249, // Desert Pond Exit Door | ||
147 | // 0x1C2DF, // Desert Flood Control Lower Far Left | ||
148 | // 0x1831E, // Desert Flood Control Lower Far Right | ||
149 | // 0x1C260, // Desert Flood Control Lower Near Left | ||
150 | // 0x1831C, // Desert Flood Control Lower Near Right | ||
151 | // 0x1C2F3, // Desert Flood Control Raise Far Left | ||
152 | // 0x1831D, // Desert Flood Control Raise Far Right | ||
153 | // 0x1C2B1, // Desert Flood Control Raise Near Left | ||
154 | // 0x1831B, // Desert Flood Control Raise Near Right | ||
155 | 0x04D18, // Desert Flood 1 | ||
156 | 0x01205, // Desert Flood 2 | ||
157 | 0x181AB, // Desert Flood 3 | ||
158 | 0x0117A, // Desert Flood 4 | ||
159 | 0x17ECA, // Desert Flood 5 | ||
160 | // 0x18076, // Desert Flood Exit | ||
161 | // 0x0A15C, // Desert Final Left Convex | ||
162 | // 0x09FFF, // Desert Final Left Concave | ||
163 | // 0x0A15F, // Desert Final Near | ||
164 | // 0x17C31, // Desert Final Transparent | ||
165 | 0x012D7, // Desert Final Far | ||
166 | // 0x0A015, // Desert Final Far Control | ||
167 | }; | ||
168 | |||
169 | std::vector<int> quarryPanels = { | ||
170 | 0x01E5A, // Mill Entry Door Left | 322 | 0x01E5A, // Mill Entry Door Left |
171 | 0x01E59, // Mill Entry Door Right | 323 | 0x01E59, // Mill Entry Door Right |
172 | // 0x03678, // Mill Lower Ramp Contol | ||
173 | 0x00E0C, // Mill Lower Row 1 | 324 | 0x00E0C, // Mill Lower Row 1 |
174 | 0x01489, // Mill Lower Row 2 | 325 | 0x01489, // Mill Lower Row 2 |
175 | 0x0148A, // Mill Lower Row 3 | 326 | 0x0148A, // Mill Lower Row 3 |
176 | 0x014D9, // Mill Lower Row 4 | 327 | 0x014D9, // Mill Lower Row 4 |
177 | 0x014E7, // Mill Lower Row 5 | 328 | 0x014E7, // Mill Lower Row 5 |
178 | 0x014E8, // Mill Lower Row 6 | 329 | 0x014E8, // Mill Lower Row 6 |
179 | // 0x03679, // Mill Lower Lift Control | ||
180 | 0x00557, // Mill Upper Row 1 | 330 | 0x00557, // Mill Upper Row 1 |
181 | 0x005F1, // Mill Upper Row 2 | 331 | 0x005F1, // Mill Upper Row 2 |
182 | 0x00620, // Mill Upper Row 3 | 332 | 0x00620, // Mill Upper Row 3 |
@@ -186,25 +336,17 @@ std::vector<int> quarryPanels = { | |||
186 | 0x03686, // Mill Upper Row 7 | 336 | 0x03686, // Mill Upper Row 7 |
187 | 0x014E9, // Mill Upper Row 8 | 337 | 0x014E9, // Mill Upper Row 8 |
188 | 0x0367C, // Mill Control Room 1 | 338 | 0x0367C, // Mill Control Room 1 |
189 | // 0x03675, // Mill Upper Lift Control | ||
190 | // 0x03676, // Mill Upper Ramp Control | ||
191 | 0x3C125, // Mill Control Room 2 | 339 | 0x3C125, // Mill Control Room 2 |
192 | // 0x275ED, // Mill EP Door | ||
193 | // 0x17CAC, // Mill Stairs Shortcut Door | ||
194 | 0x03677, // Mill Stairs Control | 340 | 0x03677, // Mill Stairs Control |
195 | 0x17CF0, // Mill Discard | 341 | 0x17CF0, // Mill Discard |
196 | // 0x17CC4, // Mill Elevator Control | 342 | 0x03612, // Quarry Laser |
197 | 0x021D5, // Boathouse Ramp Activation Shapers | 343 | 0x021D5, // Boathouse Ramp Activation Shapers |
198 | 0x034D4, // Boathouse Ramp Activation Stars | 344 | 0x034D4, // Boathouse Ramp Activation Stars |
199 | // 0x03852, // Boathouse Ramp Angle Control | ||
200 | 0x021B3, // Boathouse Erasers and Shapers 1 | 345 | 0x021B3, // Boathouse Erasers and Shapers 1 |
201 | 0x021B4, // Boathouse Erasers and Shapers 2 | 346 | 0x021B4, // Boathouse Erasers and Shapers 2 |
202 | 0x021B0, // Boathouse Erasers and Shapers 3 | 347 | 0x021B0, // Boathouse Erasers and Shapers 3 |
203 | 0x021AF, // Boathouse Erasers and Shapers 4 | 348 | 0x021AF, // Boathouse Erasers and Shapers 4 |
204 | 0x021AE, // Boathouse Erasers and Shapers 5 | 349 | 0x021AE, // Boathouse Erasers and Shapers 5 |
205 | // 0x17CA6, // Boathouse Summon Boat | ||
206 | // 0x03858, // Boathouse Ramp Position Control | ||
207 | // 0x38663, // Boathouse Shortcut | ||
208 | 0x021B5, // Boathouse Erasers and Stars 1 | 350 | 0x021B5, // Boathouse Erasers and Stars 1 |
209 | 0x021B6, // Boathouse Erasers and Stars 2 | 351 | 0x021B6, // Boathouse Erasers and Stars 2 |
210 | 0x021B7, // Boathouse Erasers and Stars 3 | 352 | 0x021B7, // Boathouse Erasers and Stars 3 |
@@ -217,13 +359,8 @@ std::vector<int> quarryPanels = { | |||
217 | 0x0A3CB, // Boathouse Erasers Shapers and Stars 3 | 359 | 0x0A3CB, // Boathouse Erasers Shapers and Stars 3 |
218 | 0x0A3CC, // Boathouse Erasers Shapers and Stars 4 | 360 | 0x0A3CC, // Boathouse Erasers Shapers and Stars 4 |
219 | 0x0A3D0, // Boathouse Erasers Shapers and Stars 5 | 361 | 0x0A3D0, // Boathouse Erasers Shapers and Stars 5 |
220 | // 0x275FA, // Boathouse Hook Control | ||
221 | 0x09E57, // Quarry Entry Gate 1 | 362 | 0x09E57, // Quarry Entry Gate 1 |
222 | 0x17C09, // Quarry Entry Gate 2 | 363 | 0x17C09, // Quarry Entry Gate 2 |
223 | }; | ||
224 | |||
225 | std::vector<int> treehousePanels = { //worked fine until I commented out pivoting panels, puzzles solve fine if you know solution but star and dot colors are all messed up | ||
226 | // 0x17C95, // Treehouse Summon Boat | ||
227 | 0x0288C, // Treehouse Door 1 | 364 | 0x0288C, // Treehouse Door 1 |
228 | 0x02886, // Treehouse Door 2 | 365 | 0x02886, // Treehouse Door 2 |
229 | 0x17D72, // Treehouse Yellow 1 | 366 | 0x17D72, // Treehouse Yellow 1 |
@@ -256,7 +393,6 @@ std::vector<int> treehousePanels = { //worked fine until I commented out pivotin | |||
256 | 0x17DD9, // Treehouse Left Orange 6 | 393 | 0x17DD9, // Treehouse Left Orange 6 |
257 | 0x17DB8, // Treehouse Left Orange 7 | 394 | 0x17DB8, // Treehouse Left Orange 7 |
258 | 0x17DDC, // Treehouse Left Orange 8 | 395 | 0x17DDC, // Treehouse Left Orange 8 |
259 | // 0x17DD1, // Treehouse Left Orange 9 has to pivot | ||
260 | 0x17DDE, // Treehouse Left Orange 10 | 396 | 0x17DDE, // Treehouse Left Orange 10 |
261 | 0x17DE3, // Treehouse Left Orange 11 | 397 | 0x17DE3, // Treehouse Left Orange 11 |
262 | 0x17DEC, // Treehouse Left Orange 12 | 398 | 0x17DEC, // Treehouse Left Orange 12 |
@@ -266,80 +402,31 @@ std::vector<int> treehousePanels = { //worked fine until I commented out pivotin | |||
266 | 0x17D88, // Treehouse Right Orange 1 | 402 | 0x17D88, // Treehouse Right Orange 1 |
267 | 0x17DB4, // Treehouse Right Orange 2 | 403 | 0x17DB4, // Treehouse Right Orange 2 |
268 | 0x17D8C, // Treehouse Right Orange 3 | 404 | 0x17D8C, // Treehouse Right Orange 3 |
269 | 0x17CE3, // Treehouse Right Orange 4 | 405 | 0x17DCD, // Treehouse Right Orange 5 |
270 | // 0x17DCD, // Treehouse Right Orange 5 has to pivot | ||
271 | 0x17DB2, // Treehouse Right Orange 6 | 406 | 0x17DB2, // Treehouse Right Orange 6 |
272 | 0x17DCC, // Treehouse Right Orange 7 | 407 | 0x17DCC, // Treehouse Right Orange 7 |
273 | 0x17DCA, // Treehouse Right Orange 8 | 408 | 0x17DCA, // Treehouse Right Orange 8 |
274 | 0x17D8E, // Treehouse Right Orange 9 | 409 | 0x17D8E, // Treehouse Right Orange 9 |
275 | // 0x17DB7, // Treehouse Right Orange 10 has to pivot | ||
276 | 0x17DB1, // Treehouse Right Orange 11 | 410 | 0x17DB1, // Treehouse Right Orange 11 |
277 | 0x17DA2, // Treehouse Right Orange 12 | 411 | 0x17DA2, // Treehouse Right Orange 12 |
278 | 0x17E3C, // Treehouse Green 1 | 412 | 0x17E3C, // Treehouse Green 1 |
279 | 0x17E4D, // Treehouse Green 2 | 413 | 0x17E4D, // Treehouse Green 2 |
280 | 0x17E4F, // Treehouse Green 3 | 414 | 0x17E4F, // Treehouse Green 3 |
281 | // 0x17E52, // Treehouse Green 4 has to pivot | ||
282 | 0x17E5B, // Treehouse Green 5 | 415 | 0x17E5B, // Treehouse Green 5 |
283 | 0x17E5F, // Treehouse Green 6 | 416 | 0x17E5F, // Treehouse Green 6 |
284 | 0x17E61, // Treehouse Green 7 | 417 | 0x17E61, // Treehouse Green 7 |
285 | 0x17FA9, // Treehouse Green Bridge Discard | 418 | 0x17FA9, // Treehouse Green Bridge Discard |
286 | 0x17FA0, // Treehouse Laser Discard | 419 | 0x17FA0, // Treehouse Laser Discard |
287 | // 0x2700B, // Treehouse Exterior Door Control | ||
288 | // 0x17CBC, // Treehouse Interior Door Control | ||
289 | // 0x037FF, // Treehouse Drawbridge Control | ||
290 | }; | ||
291 | |||
292 | std::vector<int> keepPanels = { | ||
293 | 0x00139, // Keep Hedges 1 | 420 | 0x00139, // Keep Hedges 1 |
294 | 0x019DC, // Keep Hedges 2 | 421 | 0x019DC, // Keep Hedges 2 |
295 | 0x019E7, // Keep Hedges 3 | 422 | 0x019E7, // Keep Hedges 3 |
296 | 0x01A0F, // Keep Hedges 4 | 423 | 0x01A0F, // Keep Hedges 4 |
297 | // 0x033EA, // Keep Yellow Pressure Plates | ||
298 | // 0x0A3A8, // Keep Yellow Reset | ||
299 | // 0x01BE9, // Keep Purple Pressure Plates | ||
300 | // 0x0A3B9, // Keep Purple Reset | ||
301 | // 0x01CD3, // Keep Green Pressure Plates | ||
302 | // 0x0A3BB, // Keep Green Reset | ||
303 | // 0x01D3F, // Keep Blue Pressure Plates | ||
304 | // 0x0A3AD, // Keep Blue Reset | ||
305 | 0x0360E, // Keep Front Laser | 424 | 0x0360E, // Keep Front Laser |
306 | 0x03317, // Keep Back Laser | 425 | 0x03317, // Keep Back Laser |
307 | // 0x09E49, // Keep Shadows Shortcut | ||
308 | // 0x0361B, // Keep Tower Shortcut | ||
309 | 0x17D27, // Keep Discard | 426 | 0x17D27, // Keep Discard |
310 | 0x17D28, // Shipwreck Discard | 427 | 0x17D28, // Shipwreck Discard |
311 | 0x00AFB, // Shipwreck Vault | 428 | 0x00AFB, // Shipwreck Vault |
312 | // 0x03535, // Shipwreck Vault Box | ||
313 | }; | ||
314 | |||
315 | std::vector<int> shadowsPanels = { // works beautifully, can solve based on panel color and where start/end points are if your memory is good | ||
316 | 0x386FA, // Shadows Avoid 1 | ||
317 | 0x1C33F, // Shadows Avoid 2 | ||
318 | 0x196E2, // Shadows Avoid 3 | ||
319 | 0x1972A, // Shadows Avoid 4 | ||
320 | 0x19809, // Shadows Avoid 5 | ||
321 | 0x19806, // Shadows Avoid 6 | ||
322 | 0x196F8, // Shadows Avoid 7 | ||
323 | 0x1972F, // Shadows Avoid 8 | ||
324 | 0x19797, // Shadows Follow 1 | ||
325 | 0x1979A, // Shadows Follow 2 | ||
326 | 0x197E0, // Shadows Follow 3 | ||
327 | 0x197E8, // Shadows Follow 4 | ||
328 | 0x197E5, // Shadows Follow 5 | ||
329 | // 0x334DC, // Shadows Inner Door Control | ||
330 | 0x19650, // Shadows Laser | 429 | 0x19650, // Shadows Laser |
331 | // 0x334DB, // Shadows Outer Door Control | ||
332 | 0x198B5, // Shadows Tutorial 1 | ||
333 | 0x198BD, // Shadows Tutorial 2 | ||
334 | 0x198BF, // Shadows Tutorial 3 | ||
335 | 0x19771, // Shadows Tutorial 4 | ||
336 | 0x0A8DC, // Shadows Tutorial 5 | ||
337 | 0x0AC74, // Shadows Tutorial 6 | ||
338 | 0x0AC7A, // Shadows Tutorial 7 | ||
339 | 0x0A8E0, // Shadows Tutorial 8 | ||
340 | }; | ||
341 | |||
342 | std::vector<int> townPanels = { // appears to be ok but keeps crashing game? | ||
343 | 0x2899C, // Town 25 Dots 1 | 430 | 0x2899C, // Town 25 Dots 1 |
344 | 0x28A33, // Town 25 Dots 2 | 431 | 0x28A33, // Town 25 Dots 2 |
345 | 0x28ABF, // Town 25 Dots 3 | 432 | 0x28ABF, // Town 25 Dots 3 |
@@ -351,103 +438,21 @@ std::vector<int> townPanels = { // appears to be ok but keeps crashing game? | |||
351 | 0x28ACA, // Town Blue 3 | 438 | 0x28ACA, // Town Blue 3 |
352 | 0x28ACB, // Town Blue 4 | 439 | 0x28ACB, // Town Blue 4 |
353 | 0x28ACC, // Town Blue 5 | 440 | 0x28ACC, // Town Blue 5 |
354 | // 0x0A054, // Town Summon Boat | ||
355 | // 0x2896A, // Town Bridge | ||
356 | 0x28A0D, // Town Church Stars | 441 | 0x28A0D, // Town Church Stars |
357 | 0x28AD9, // Town Eraser | 442 | 0x28AD9, // Town Eraser |
358 | 0x28998, // Town Green Door | 443 | 0x28998, // Town Green Door |
359 | // 0x09F98, // Town Laser Redirect Control | ||
360 | // 0x1C344, // Town Laser Redirect Panel 1 | ||
361 | // 0x1C343, // Town Laser Redirect Panel 2 | ||
362 | // 0x28A69, // Town Lattice | ||
363 | // 0x28A79, // Town Maze | ||
364 | 0x0A0C8, // Town Orange Crate | 444 | 0x0A0C8, // Town Orange Crate |
365 | 0x17D01, // Town Orange Crate Discard | 445 | 0x17D01, // Town Orange Crate Discard |
366 | // 0x28B39, // Town Red Hexagonal | ||
367 | // 0x334D8, // Town RGB Light Control | ||
368 | 0x03C08, // Town RGB Stars | 446 | 0x03C08, // Town RGB Stars |
369 | 0x03C0C, // Town RGB Stones | 447 | 0x03C0C, // Town RGB Stones |
370 | 0x17C71, // Town Rooftop Discard | 448 | 0x17C71, // Town Rooftop Discard |
371 | // 0x034E3, // Town Soundproof Dots panels in their locations must match so can't swap unless that is fixed | ||
372 | // 0x034E4, // Town Soundproof Waves | ||
373 | 0x18590, // Town Transparent | ||
374 | // 0x079DF, // Town Triple | ||
375 | 0x17D02, // Town Windmill Control | ||
376 | 0x17F5F, // Town Windmill Door | 449 | 0x17F5F, // Town Windmill Door |
377 | 0x28AE3, // Town Wire | ||
378 | 0x17F89, // Theater Entrance | 450 | 0x17F89, // Theater Entrance |
379 | // 0x00815, // Theater Video Input | ||
380 | // 0x03553, // Theater Tutorial Video | ||
381 | // 0x03552, // Theater Desert Video | ||
382 | // 0x0354E, // Theater Jungle Video | ||
383 | // 0x03549, // Theater Challenge Video | ||
384 | // 0x0354F, // Theater Shipwreck Video | ||
385 | // 0x03545, // Theater Mountain Video | ||
386 | 0x17CF7, // Theater Discard | 451 | 0x17CF7, // Theater Discard |
387 | 0x33AB2, // Theater Corona Exit | 452 | 0x33AB2, // Theater Corona Exit |
388 | 0x0A168, // Theater Sun Exit | 453 | 0x0A168, // Theater Sun Exit |
389 | }; | 454 | 0x00B10, // Monastery Left Door |
390 | 455 | 0x00C92, // Monastery Right Door | |
391 | std::vector<int> monasteryPanels = { | ||
392 | // 0x00B10, // Monastery Left Door | ||
393 | // 0x00C92, // Monastery Right Door | ||
394 | 0x00290, // Monastery Exterior 1 | ||
395 | 0x00038, // Monastery Exterior 2 | ||
396 | 0x00037, // Monastery Exterior 3 | ||
397 | // 0x09D9B, // Monastery Bonsai | ||
398 | 0x193A7, // Monastery Interior 1 | ||
399 | 0x193AA, // Monastery Interior 2 | ||
400 | 0x193AB, // Monastery Interior 3 | ||
401 | 0x193A6, // Monastery Interior 4 | ||
402 | // 0x03713, // Monastery Shortcut | ||
403 | }; | ||
404 | |||
405 | std::vector<int> junglePanels = { | ||
406 | // 0x17CDF, // Jungle Summon Boat | ||
407 | 0x17F9B, // Jungle Discard | ||
408 | 0x002C4, // Jungle Waves 1 | ||
409 | 0x00767, // Jungle Waves 2 | ||
410 | 0x002C6, // Jungle Waves 3 | ||
411 | 0x0070E, // Jungle Waves 4 | ||
412 | 0x0070F, // Jungle Waves 5 | ||
413 | 0x0087D, // Jungle Waves 6 | ||
414 | 0x002C7, // Jungle Waves 7 | ||
415 | // 0x15ADD, // Jungle Vault | ||
416 | // 0x03702, // Jungle Vault Box | ||
417 | // 0x17CAA, // Jungle Courtyard Gate | ||
418 | 0x0026D, // Jungle Dots 1 | ||
419 | 0x0026E, // Jungle Dots 2 | ||
420 | 0x0026F, // Jungle Dots 3 | ||
421 | 0x00C3F, // Jungle Dots 4 | ||
422 | 0x00C41, // Jungle Dots 5 | ||
423 | 0x014B2, // Jungle Dots 6 | ||
424 | // 0x17CAB, // Jungle Pop-up Wall | ||
425 | // 0x337FA, // Jungle Shortcut | ||
426 | }; | ||
427 | |||
428 | std::vector<int> bunkerPanels = { // this doesn't want to behave, I have no idea | ||
429 | 0x17C2E, // Bunker Entry Door | ||
430 | 0x09F7D, // Bunker Tutorial 1 | ||
431 | 0x09FDC, // Bunker Tutorial 2 | ||
432 | 0x09FF7, // Bunker Tutorial 3 | ||
433 | 0x09F82, // Bunker Tutorial 4 | ||
434 | 0x09FF8, // Bunker Tutorial 5 | ||
435 | 0x09D9F, // Bunker Advanced 1 | ||
436 | 0x09DA1, // Bunker Advanced 2 | ||
437 | 0x09DA2, // Bunker Advanced 3 | ||
438 | 0x09DAF, // Bunker Advanced 4 | ||
439 | // 0x0A099, // Bunker Glass Door | ||
440 | 0x0A010, // Bunker Glass 1 | ||
441 | 0x0A01B, // Bunker Glass 2 | ||
442 | 0x0A01F, // Bunker Glass 3 | ||
443 | 0x34BC5, // Bunker Open Ultraviolet | ||
444 | 0x34BC6, // Bunker Close Ultraviolet | ||
445 | 0x17E63, // Bunker Ultraviolet 1 | ||
446 | 0x17E67, // Bunker Ultraviolet 2 | ||
447 | 0x0A079, // Bunker Elevator | ||
448 | }; | ||
449 | |||
450 | std::vector<int> swampPanels = { // appears to work ok swapping panels but keeps crashing game? | ||
451 | 0x0056E, // Swamp Entry | 456 | 0x0056E, // Swamp Entry |
452 | 0x00469, // Swamp Tutorial 1 | 457 | 0x00469, // Swamp Tutorial 1 |
453 | 0x00472, // Swamp Tutorial 2 | 458 | 0x00472, // Swamp Tutorial 2 |
@@ -463,7 +468,6 @@ std::vector<int> swampPanels = { // appears to work ok swapping panels but keeps | |||
463 | 0x00985, // Swamp Tutorial 12 | 468 | 0x00985, // Swamp Tutorial 12 |
464 | 0x00987, // Swamp Tutorial 13 | 469 | 0x00987, // Swamp Tutorial 13 |
465 | 0x181A9, // Swamp Tutorial 14 | 470 | 0x181A9, // Swamp Tutorial 14 |
466 | // 0x00609, // Swamp Surface Sliding Bridge Control | ||
467 | 0x00982, // Swamp Red 1 | 471 | 0x00982, // Swamp Red 1 |
468 | 0x0097F, // Swamp Red 2 | 472 | 0x0097F, // Swamp Red 2 |
469 | 0x0098F, // Swamp Red 3 | 473 | 0x0098F, // Swamp Red 3 |
@@ -478,7 +482,6 @@ std::vector<int> swampPanels = { // appears to work ok swapping panels but keeps | |||
478 | 0x00008, // Swamp Rotation Tutorial 2 | 482 | 0x00008, // Swamp Rotation Tutorial 2 |
479 | 0x00009, // Swamp Rotation Tutorial 3 | 483 | 0x00009, // Swamp Rotation Tutorial 3 |
480 | 0x0000A, // Swamp Rotation Tutorial 4 | 484 | 0x0000A, // Swamp Rotation Tutorial 4 |
481 | // 0x181F5, // Swamp Rotating Bridge Control | ||
482 | 0x009AB, // Swamp Blue Underwater 1 | 485 | 0x009AB, // Swamp Blue Underwater 1 |
483 | 0x009AD, // Swamp Blue Underwater 2 | 486 | 0x009AD, // Swamp Blue Underwater 2 |
484 | 0x009AE, // Swamp Blue Underwater 3 | 487 | 0x009AE, // Swamp Blue Underwater 3 |
@@ -488,10 +491,7 @@ std::vector<int> swampPanels = { // appears to work ok swapping panels but keeps | |||
488 | 0x00A1E, // Swamp Rotation Advanced 2 | 491 | 0x00A1E, // Swamp Rotation Advanced 2 |
489 | 0x00C2E, // Swamp Rotation Advanced 3 | 492 | 0x00C2E, // Swamp Rotation Advanced 3 |
490 | 0x00E3A, // Swamp Rotation Advanced 4 | 493 | 0x00E3A, // Swamp Rotation Advanced 4 |
491 | // 0x17E2B, // Swamp Flood Gate Control | ||
492 | // 0x09DB8, // Swamp Summon Boat | ||
493 | 0x009A6, // Swamp Purple Tetris | 494 | 0x009A6, // Swamp Purple Tetris |
494 | // 0x18488, // Swamp Underwater Sliding Bridge Control | ||
495 | 0x00002, // Swamp Teal Underwater 1 | 495 | 0x00002, // Swamp Teal Underwater 1 |
496 | 0x00004, // Swamp Teal Underwater 2 | 496 | 0x00004, // Swamp Teal Underwater 2 |
497 | 0x00005, // Swamp Teal Underwater 3 | 497 | 0x00005, // Swamp Teal Underwater 3 |
@@ -501,14 +501,9 @@ std::vector<int> swampPanels = { // appears to work ok swapping panels but keeps | |||
501 | 0x014D2, // Swamp Red Underwater 2 | 501 | 0x014D2, // Swamp Red Underwater 2 |
502 | 0x014D4, // Swamp Red Underwater 3 | 502 | 0x014D4, // Swamp Red Underwater 3 |
503 | 0x014D1, // Swamp Red Underwater 4 | 503 | 0x014D1, // Swamp Red Underwater 4 |
504 | // 0x17C0A, // Swamp Island Control 1 | ||
505 | // 0x17E07, // Swamp Island Control 2 | ||
506 | 0x17C05, // Swamp Laser Shortcut 1 | 504 | 0x17C05, // Swamp Laser Shortcut 1 |
507 | 0x17C02, // Swamp Laser Shortcut 2 | 505 | 0x17C02, // Swamp Laser Shortcut 2 |
508 | }; | 506 | 0x17F9B, // Jungle Discard |
509 | |||
510 | std::vector<int> mountainPanels = { | ||
511 | // 0x09E39, // Mountain 1 Purple Pathway | ||
512 | 0x09E73, // Mountain 1 Orange 1 | 507 | 0x09E73, // Mountain 1 Orange 1 |
513 | 0x09E75, // Mountain 1 Orange 2 | 508 | 0x09E75, // Mountain 1 Orange 2 |
514 | 0x09E78, // Mountain 1 Orange 3 | 509 | 0x09E78, // Mountain 1 Orange 3 |
@@ -516,9 +511,6 @@ std::vector<int> mountainPanels = { | |||
516 | 0x09E6C, // Mountain 1 Orange 5 | 511 | 0x09E6C, // Mountain 1 Orange 5 |
517 | 0x09E6F, // Mountain 1 Orange 6 | 512 | 0x09E6F, // Mountain 1 Orange 6 |
518 | 0x09E6B, // Mountain 1 Orange 7 | 513 | 0x09E6B, // Mountain 1 Orange 7 |
519 | // 0x33AF5, // Mountain 1 Blue 1 | ||
520 | // 0x33AF7, // Mountain 1 Blue 2 | ||
521 | // 0x09F6E, // Mountain 1 Blue 3 | ||
522 | 0x09EAD, // Mountain 1 Purple 1 | 514 | 0x09EAD, // Mountain 1 Purple 1 |
523 | 0x09EAF, // Mountain 1 Purple 2 | 515 | 0x09EAF, // Mountain 1 Purple 2 |
524 | 0x09E7A, // Mountain 1 Green 1 | 516 | 0x09E7A, // Mountain 1 Green 1 |
@@ -530,112 +522,124 @@ std::vector<int> mountainPanels = { | |||
530 | 0x09FD4, // Mountain 2 Rainbow 2 | 522 | 0x09FD4, // Mountain 2 Rainbow 2 |
531 | 0x09FD6, // Mountain 2 Rainbow 3 | 523 | 0x09FD6, // Mountain 2 Rainbow 3 |
532 | 0x09FD7, // Mountain 2 Rainbow 4 | 524 | 0x09FD7, // Mountain 2 Rainbow 4 |
533 | // 0x09FD8, // Mountain 2 Rainbow 5 | ||
534 | // 0x09E86, // Mountain 2 Blue Pathway | ||
535 | // 0x09ED8, // Mountain 2 Orange Pathway | ||
536 | // 0x09EEB, // Mountain 2 Elevator | ||
537 | 0x17F93, // Mountain 2 Discard | 525 | 0x17F93, // Mountain 2 Discard |
538 | 0x09F8E, // Mountain 3 Near Right Floor | ||
539 | 0x09FC1, // Mountain 3 Near Left Floor | ||
540 | 0x09F01, // Mountain 3 Far Right Floor | ||
541 | 0x09EFF, // Mountain 3 Far Left Floor | ||
542 | 0x09FDA, // Mountain 3 Giant Floor | ||
543 | 0x17FA2, // Mountain 3 Secret Door | 526 | 0x17FA2, // Mountain 3 Secret Door |
544 | // 0x01983, // Mountain 3 Left Peekaboo | ||
545 | // 0x01987, // Mountain 3 Right Peekaboo | ||
546 | // 0x3D9A6, // Mountain 3 Left Close Door | ||
547 | // 0x3D9A7, // Mountain 3 Right Close Door | ||
548 | // 0x3D9AA, // Mountain 3 Left Activate Elevator | ||
549 | // 0x3D9A8, // Mountain 3 Right Activate Elevator | ||
550 | // 0x3D9A9, // Mountain 3 Launch Elevator | ||
551 | // 0x3C113, // Mountain 3 Left Open Door | ||
552 | // 0x3C114, // Mountain 3 Right Open Door | ||
553 | 0x17C42, // Mountainside Discard | 527 | 0x17C42, // Mountainside Discard |
554 | 0x002A6, // Mountainside Vault | 528 | 0x002A6, // Mountainside Vault |
555 | // 0x03542, // Mountainside Vault Box | 529 | 0x0042D, // Mountaintop River |
556 | // 0x09F7F, // Mountaintop Laser Box | 530 | 0x00FF8, // UTM Entrance Door |
557 | // 0x17C34, // Mountaintop Perspective | 531 | 0x0A16B, // UTM Green Dots 1 |
558 | // 0x0042D, // Mountaintop River | 532 | 0x0A2CE, // UTM Green Dots 2 |
533 | 0x0A2D7, // UTM Green Dots 3 | ||
534 | 0x0A2DD, // UTM Green Dots 4 | ||
535 | 0x0A2EA, // UTM Green Dots 5 | ||
536 | 0x17FB9, // UTM Green Dots 6 | ||
537 | 0x0008F, // UTM Invisible Dots 1 | ||
538 | 0x0006B, // UTM Invisible Dots 2 | ||
539 | 0x0008B, // UTM Invisible Dots 3 | ||
540 | 0x0008C, // UTM Invisible Dots 4 | ||
541 | 0x0008A, // UTM Invisible Dots 5 | ||
542 | 0x00089, // UTM Invisible Dots 6 | ||
543 | 0x0006A, // UTM Invisible Dots 7 | ||
544 | 0x0006C, // UTM Invisible Dots 8 | ||
545 | 0x00027, // UTM Invisible Dots Symmetry 1 | ||
546 | 0x00028, // UTM Invisible Dots Symmetry 2 | ||
547 | 0x00029, // UTM Invisible Dots Symmetry 3 | ||
548 | 0x021D7, // UTM Mountainside Shortcut | ||
549 | 0x00B71, // UTM Quarry | ||
550 | 0x01A31, // UTM Rainbow | ||
551 | 0x32962, // UTM Swamp | ||
552 | 0x32966, // UTM Treehouse | ||
553 | 0x17CF2, // UTM Waterfall Shortcut | ||
554 | 0x00A72, // UTM Blue Cave In | ||
555 | 0x009A4, // UTM Blue Discontinuous | ||
556 | 0x018A0, // UTM Blue Easy Symmetry | ||
557 | 0x01A0D, // UTM Blue Hard Symmetry | ||
558 | 0x008B8, // UTM Blue Left 1 | ||
559 | 0x00973, // UTM Blue Left 2 | ||
560 | 0x0097B, // UTM Blue Left 3 | ||
561 | 0x0097D, // UTM Blue Left 4 | ||
562 | 0x0097E, // UTM Blue Left 5 | ||
563 | 0x00994, // UTM Blue Right Far 1 | ||
564 | 0x334D5, // UTM Blue Right Far 2 | ||
565 | 0x00995, // UTM Blue Right Far 3 | ||
566 | 0x00996, // UTM Blue Right Far 4 | ||
567 | 0x00998, // UTM Blue Right Far 5 | ||
568 | 0x00190, // UTM Blue Right Near 1 | ||
569 | 0x00558, // UTM Blue Right Near 2 | ||
570 | 0x00567, // UTM Blue Right Near 3 | ||
571 | 0x006FE, // UTM Blue Right Near 4 | ||
572 | 0x039B4, // Tunnels Theater Catwalk | ||
573 | 0x09E85, // Tunnels Town Shortcut | ||
559 | }; | 574 | }; |
560 | 575 | ||
561 | std::vector<int> pillars = { | 576 | std::vector<int> shadowsPanels = { // works beautifully, can solve based on panel color and where start/end points are if your memory is good |
562 | 0x0383D, // Mountain 3 Left Pillar 1 | 577 | 0x386FA, // Shadows Avoid 1 |
563 | 0x0383F, // Mountain 3 Left Pillar 2 | 578 | 0x1C33F, // Shadows Avoid 2 |
564 | 0x03859, // Mountain 3 Left Pillar 3 | 579 | 0x196E2, // Shadows Avoid 3 |
565 | 0x339BB, // Mountain 3 Left Pillar 4 | 580 | 0x1972A, // Shadows Avoid 4 |
566 | 0x0383A, // Mountain 3 Right Pillar 1 | 581 | 0x19809, // Shadows Avoid 5 |
567 | 0x09E56, // Mountain 3 Right Pillar 2 | 582 | 0x19806, // Shadows Avoid 6 |
568 | 0x09E5A, // Mountain 3 Right Pillar 3 | 583 | 0x196F8, // Shadows Avoid 7 |
569 | 0x33961, // Mountain 3 Right Pillar 4 | 584 | 0x1972F, // Shadows Avoid 8 |
570 | 0x09DD5, // UTM Challenge Pillar | 585 | 0x19797, // Shadows Follow 1 |
571 | // 0x1C31A, // Challenge Left Pillar | 586 | 0x1979A, // Shadows Follow 2 |
572 | // 0x1C319, // Challenge Right Pillar | 587 | 0x197E0, // Shadows Follow 3 |
588 | 0x197E8, // Shadows Follow 4 | ||
589 | 0x197E5, // Shadows Follow 5 | ||
590 | 0x198B5, // Shadows Tutorial 1 | ||
591 | 0x198BD, // Shadows Tutorial 2 | ||
592 | 0x198BF, // Shadows Tutorial 3 | ||
593 | 0x19771, // Shadows Tutorial 4 | ||
594 | 0x0A8DC, // Shadows Tutorial 5 | ||
595 | 0x0AC74, // Shadows Tutorial 6 | ||
596 | 0x0AC7A, // Shadows Tutorial 7 | ||
597 | 0x0A8E0, // Shadows Tutorial 8 | ||
573 | }; | 598 | }; |
574 | 599 | ||
575 | std::vector<int> mountainMultipanel = { | 600 | std::vector<int> monasteryPanels = { |
576 | 0x09FCC, // Mountain 2 Multipanel 1 | 601 | 0x00290, // Monastery Exterior 1 |
577 | 0x09FCE, // Mountain 2 Multipanel 2 | 602 | 0x00038, // Monastery Exterior 2 |
578 | 0x09FCF, // Mountain 2 Multipanel 3 | 603 | 0x00037, // Monastery Exterior 3 |
579 | 0x09FD0, // Mountain 2 Multipanel 4 | 604 | // 0x09D9B, // Monastery Bonsai |
580 | 0x09FD1, // Mountain 2 Multipanel 5 | 605 | 0x193A7, // Monastery Interior 1 |
581 | 0x09FD2, // Mountain 2 Multipanel 6 | 606 | 0x193AA, // Monastery Interior 2 |
607 | 0x193AB, // Monastery Interior 3 | ||
608 | 0x193A6, // Monastery Interior 4 | ||
609 | // 0x03713, // Monastery Shortcut | ||
610 | }; | ||
611 | |||
612 | std::vector<int> bunkerPanels = { // this doesn't want to behave, I have no idea | ||
613 | 0x17C2E, // Bunker Entry Door | ||
614 | 0x09F7D, // Bunker Tutorial 1 | ||
615 | 0x09FDC, // Bunker Tutorial 2 | ||
616 | 0x09FF7, // Bunker Tutorial 3 | ||
617 | 0x09F82, // Bunker Tutorial 4 | ||
618 | 0x09FF8, // Bunker Tutorial 5 | ||
619 | 0x09D9F, // Bunker Advanced 1 | ||
620 | 0x09DA1, // Bunker Advanced 2 | ||
621 | 0x09DA2, // Bunker Advanced 3 | ||
622 | 0x09DAF, // Bunker Advanced 4 | ||
623 | 0x0A010, // Bunker Glass 1 | ||
624 | 0x0A01B, // Bunker Glass 2 | ||
625 | 0x0A01F, // Bunker Glass 3 | ||
626 | 0x17E63, // Bunker Ultraviolet 1 | ||
627 | 0x17E67, // Bunker Ultraviolet 2 | ||
628 | 0x0A079, // Bunker Elevator | ||
582 | }; | 629 | }; |
583 | 630 | ||
584 | std::vector<int> utmPanels = { // this looks like it swaps ok but crashes to much to tell, not sure why it's not happy | 631 | std::vector<int> junglePanels = { |
585 | // 0x0A16E, // UTM Challenge Entrance | 632 | 0x002C4, // Jungle Waves 1 |
586 | // 0x00FF8, // UTM Entrance Door | 633 | 0x00767, // Jungle Waves 2 |
587 | // 0x0A16B, // UTM Green Dots 1 | 634 | 0x002C6, // Jungle Waves 3 |
588 | // 0x0A2CE, // UTM Green Dots 2 | 635 | 0x0070E, // Jungle Waves 4 |
589 | // 0x0A2D7, // UTM Green Dots 3 | 636 | 0x0070F, // Jungle Waves 5 |
590 | // 0x0A2DD, // UTM Green Dots 4 | 637 | 0x0087D, // Jungle Waves 6 |
591 | // 0x0A2EA, // UTM Green Dots 5 | 638 | 0x002C7, // Jungle Waves 7 |
592 | // 0x17FB9, // UTM Green Dots 6 | 639 | 0x0026D, // Jungle Dots 1 |
593 | // 0x335AB, // UTM In Elevator Control | 640 | 0x0026E, // Jungle Dots 2 |
594 | // 0x0008F, // UTM Invisible Dots 1 | 641 | 0x0026F, // Jungle Dots 3 |
595 | // 0x0006B, // UTM Invisible Dots 2 | 642 | 0x00C3F, // Jungle Dots 4 |
596 | // 0x0008B, // UTM Invisible Dots 3 | 643 | 0x00C41, // Jungle Dots 5 |
597 | // 0x0008C, // UTM Invisible Dots 4 | 644 | 0x014B2, // Jungle Dots 6 |
598 | // 0x0008A, // UTM Invisible Dots 5 | 645 | }; |
599 | // 0x00089, // UTM Invisible Dots 6 | ||
600 | // 0x0006A, // UTM Invisible Dots 7 | ||
601 | // 0x0006C, // UTM Invisible Dots 8 | ||
602 | // 0x00027, // UTM Invisible Dots Symmetry 1 | ||
603 | // 0x00028, // UTM Invisible Dots Symmetry 2 | ||
604 | // 0x00029, // UTM Invisible Dots Symmetry 3 | ||
605 | // 0x3369D, // UTM Lower Elevator Control | ||
606 | // 0x021D7, // UTM Mountainside Shortcut | ||
607 | // // 0x288EA, // UTM Perspective 1 | ||
608 | // // 0x288FC, // UTM Perspective 2 | ||
609 | // // 0x289E7, // UTM Perspective 3 | ||
610 | // // 0x288AA, // UTM Perspective 4 | ||
611 | // 0x00B71, // UTM Quarry | ||
612 | // 0x01A31, // UTM Rainbow | ||
613 | // // 0x334E1, // UTM Secret Door Control | ||
614 | // 0x32962, // UTM Swamp | ||
615 | // 0x32966, // UTM Treehouse | ||
616 | // 0x335AC, // UTM Upper Elevator Control | ||
617 | // 0x17CF2, // UTM Waterfall Shortcut | ||
618 | // 0x00A72, // UTM Blue Cave In | ||
619 | // 0x009A4, // UTM Blue Discontinuous | ||
620 | // 0x018A0, // UTM Blue Easy Symmetry | ||
621 | // 0x01A0D, // UTM Blue Hard Symmetry | ||
622 | // 0x008B8, // UTM Blue Left 1 | ||
623 | // 0x00973, // UTM Blue Left 2 | ||
624 | // 0x0097B, // UTM Blue Left 3 | ||
625 | // 0x0097D, // UTM Blue Left 4 | ||
626 | // 0x0097E, // UTM Blue Left 5 | ||
627 | // 0x00994, // UTM Blue Right Far 1 | ||
628 | // 0x334D5, // UTM Blue Right Far 2 | ||
629 | // 0x00995, // UTM Blue Right Far 3 | ||
630 | // 0x00996, // UTM Blue Right Far 4 | ||
631 | // 0x00998, // UTM Blue Right Far 5 | ||
632 | // 0x00190, // UTM Blue Right Near 1 | ||
633 | // 0x00558, // UTM Blue Right Near 2 | ||
634 | // 0x00567, // UTM Blue Right Near 3 | ||
635 | // 0x006FE, // UTM Blue Right Near 4 | ||
636 | // // 0x2773D, // Tunnels Desert Shortcut | ||
637 | // 0x039B4, // Tunnels Theater Catwalk | ||
638 | // // 0x27732, // Tunnels Theater Shortcut | ||
639 | // // 0x2FAF6, // Tunnels Vault Box | ||
640 | // 0x09E85, // Tunnels Town Shortcut | ||
641 | }; \ No newline at end of file | ||
diff --git a/WitnessRandomizer/WitnessRandomizer.cpp b/WitnessRandomizer/WitnessRandomizer.cpp index 79fb721..2a06ee2 100644 --- a/WitnessRandomizer/WitnessRandomizer.cpp +++ b/WitnessRandomizer/WitnessRandomizer.cpp | |||
@@ -1,15 +1,14 @@ | |||
1 | /* | 1 | /* |
2 | * BUGS: | ||
3 | * Bunker has physical panel objects which I can't move :( | ||
4 | * Shipwreck vault does not copy well | ||
5 | * FEATURES: | 2 | * FEATURES: |
6 | * SWAP_TARGETS should still require the full panel sequence (and have ways to prevent softlocks?) | 3 | * SWAP_TARGETS should still require the full panel sequence (and have ways to prevent softlocks?) |
4 | ** Jungle(?), Bunker, Monastery, Challenge(!), Shadows | ||
7 | * Randomize audio logs | 5 | * Randomize audio logs |
8 | * List of panels which can be valid "Burn" (aka desert) substitutes: Prevent (or limit) panel counting | ||
9 | * List of panels which split left/right (for left/right controls) | 6 | * List of panels which split left/right (for left/right controls) |
10 | * List of panels which split up/down (for up/down controls) | 7 | * List of panels which split up/down (for up/down controls) |
11 | * Swap sounds in jungle (along with panels) -- maybe impossible | 8 | * Swap sounds in jungle (along with panels) -- maybe impossible |
12 | * Make orange 7 (all of oranges?) hard. Like big = hard. | 9 | * Make orange 7 (all of oranges?) hard. Like big = hard. |
10 | * Kill panel slowdown in tutorial | ||
11 | * Fix desert elevator (laser rando) / Add keep? | ||
13 | * TRY: | 12 | * TRY: |
14 | * Swap treehouse pivots | 13 | * Swap treehouse pivots |
15 | */ | 14 | */ |
@@ -27,25 +26,21 @@ int main(int argc, char** argv) | |||
27 | srand(atoi(argv[1])); // Seed with RNG from command line | 26 | srand(atoi(argv[1])); // Seed with RNG from command line |
28 | } | 27 | } |
29 | 28 | ||
30 | // randomizer.Randomize(bunkerPanels, SWAP_LINES | SWAP_STYLE); | 29 | //* |
31 | /* | ||
32 | randomizer.Randomize(lasers, SWAP_TARGETS); | 30 | randomizer.Randomize(lasers, SWAP_TARGETS); |
33 | randomizer.Randomize(tutorialPanels, SWAP_TARGETS); | ||
34 | randomizer.Randomize(monasteryPanels, SWAP_TARGETS); | ||
35 | randomizer.Randomize(shadowsPanels, SWAP_TARGETS); | ||
36 | 31 | ||
37 | randomizer.Randomize(desertPanels, SWAP_LINES); | ||
38 | randomizer.Randomize(treehousePanels, SWAP_LINES); | ||
39 | |||
40 | std::vector<int> squarePanels; | ||
41 | for (auto panelSet : {outsideTutorialPanels, symmetryPanels, quarryPanels, keepPanels, townPanels, bunkerPanels, swampPanels, mountainPanels, utmPanels}) { | ||
42 | squarePanels.insert(squarePanels.end(), panelSet.begin(), panelSet.end()); | ||
43 | } | ||
44 | randomizer.Randomize(squarePanels, SWAP_LINES | SWAP_STYLE); | 32 | randomizer.Randomize(squarePanels, SWAP_LINES | SWAP_STYLE); |
33 | randomizer.Randomize(burnablePanels, SWAP_LINES | SWAP_STYLE); | ||
34 | |||
35 | |||
36 | // randomizer.Randomize(monasteryPanels, SWAP_TARGETS); | ||
37 | // randomizer.Randomize(shadowsPanels, SWAP_TARGETS); | ||
38 | // randomizer.Randomize(bunkerPanels, SWAP_TARGETS); | ||
39 | |||
40 | // randomizer.Randomize(junglePanels, SWAP_LINES | SWAP_STYLE); | ||
41 | // randomizer.Randomize(mountainMultipanel, SWAP_LINES | SWAP_STYLE); | ||
42 | // randomizer.Randomize(pillars, SWAP_LINES | SWAP_STYLE | SWAP_BACK_DISTANCE); | ||
45 | 43 | ||
46 | randomizer.Randomize(junglePanels, SWAP_LINES | SWAP_STYLE); | ||
47 | randomizer.Randomize(mountainMultipanel, SWAP_LINES | SWAP_STYLE); | ||
48 | randomizer.Randomize(pillars, SWAP_LINES | SWAP_STYLE | SWAP_BACK_DISTANCE); | ||
49 | /*/ | 44 | /*/ |
50 | int BOATH_3_1 = 0x21B5; | 45 | int BOATH_3_1 = 0x21B5; |
51 | int MILL_L_1 = 0xE0C; | 46 | int MILL_L_1 = 0xE0C; |
@@ -65,14 +60,6 @@ int main(int argc, char** argv) | |||
65 | int DESERT_L_2 = 0x006E3; | 60 | int DESERT_L_2 = 0x006E3; |
66 | int TOWN_S_1 = 0x28AC7; | 61 | int TOWN_S_1 = 0x28AC7; |
67 | 62 | ||
68 | std::vector<int> squarePanels; | ||
69 | for (auto panelSet : {outsideTutorialPanels, symmetryPanels, quarryPanels, keepPanels, townPanels, bunkerPanels, swampPanels, mountainPanels, utmPanels, treehousePanels}) { | ||
70 | squarePanels.insert(squarePanels.end(), panelSet.begin(), panelSet.end()); | ||
71 | } | ||
72 | for (int panel : squarePanels) { | ||
73 | randomizer.SwapPanels(DESERT_L_2, panel, SWAP_LINES | SWAP_STYLE); | ||
74 | } | ||
75 | |||
76 | 63 | ||
77 | //randomizer.SwapPanels(PILLAR_L_1, PILLAR_C_L, SWAP_LINES | SWAP_STYLE | SWAP_BACK_DISTANCE); | 64 | //randomizer.SwapPanels(PILLAR_L_1, PILLAR_C_L, SWAP_LINES | SWAP_STYLE | SWAP_BACK_DISTANCE); |
78 | //randomizer.SwapPanelData(PILLAR_L_1, PILLAR_C_L, 0x200, 0x50); | 65 | //randomizer.SwapPanelData(PILLAR_L_1, PILLAR_C_L, 0x200, 0x50); |
@@ -89,10 +76,13 @@ WitnessRandomizer::WitnessRandomizer() : _memory("witness64_d3d11.exe") | |||
89 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x18076*8, 0x2A8}, {0.0f, 0.0f}); | 76 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x18076*8, 0x2A8}, {0.0f, 0.0f}); |
90 | // Change desert floating target to desert flood final | 77 | // Change desert floating target to desert flood final |
91 | _memory.WriteData<int>({0x5B28C0, 0x18, 0x17ECA*8, 0x2BC}, {0x18077}); | 78 | _memory.WriteData<int>({0x5B28C0, 0x18, 0x17ECA*8, 0x2BC}, {0x18077}); |
79 | // Distance-gate shadows laser to prevent sniping through the bars | ||
80 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x19650*8, 0x3C0}, {2.0f}); | ||
81 | |||
92 | // Explicitly set back-off distance for the challenge entry & final 2 pillars | 82 | // Explicitly set back-off distance for the challenge entry & final 2 pillars |
93 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x9DD5*8, 0x22C}, {2.5f}); | 83 | // _memory.WriteData<float>({0x5B28C0, 0x18, 0x9DD5*8, 0x22C}, {2.5f}); |
94 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x1C31A*8, 0x22C}, {3.0f}); | 84 | // _memory.WriteData<float>({0x5B28C0, 0x18, 0x1C31A*8, 0x22C}, {3.0f}); |
95 | _memory.WriteData<float>({0x5B28C0, 0x18, 0x1C319*8, 0x22C}, {3.0f}); | 85 | // _memory.WriteData<float>({0x5B28C0, 0x18, 0x1C319*8, 0x22C}, {3.0f}); |
96 | } | 86 | } |
97 | 87 | ||
98 | void WitnessRandomizer::Randomize(std::vector<int> panels, int flags) { | 88 | void WitnessRandomizer::Randomize(std::vector<int> panels, int flags) { |
@@ -196,8 +186,8 @@ void WitnessRandomizer::SwapPanelData(int panel1, int panel2, int finalOffset, i | |||
196 | std::vector<int> panel2Offset = {0x5B28C0, 0x18, panel2*8, finalOffset}; | 186 | std::vector<int> panel2Offset = {0x5B28C0, 0x18, panel2*8, finalOffset}; |
197 | 187 | ||
198 | std::vector<byte> panel1Data = _memory.ReadData<byte>(panel1Offset, dataSize); | 188 | std::vector<byte> panel1Data = _memory.ReadData<byte>(panel1Offset, dataSize); |
199 | //std::vector<byte> panel2Data = _memory.ReadData<byte>(panel2Offset, dataSize); | 189 | std::vector<byte> panel2Data = _memory.ReadData<byte>(panel2Offset, dataSize); |
200 | 190 | ||
201 | _memory.WriteData<byte>(panel2Offset, panel1Data); | 191 | _memory.WriteData<byte>(panel2Offset, panel1Data); |
202 | //_memory.WriteData<byte>(panel1Offset, panel2Data); | 192 | _memory.WriteData<byte>(panel1Offset, panel2Data); |
203 | } | 193 | } |