Torch
Loading...
Searching...
No Matches
SpecialPresetNames.h
1#pragma once
2
3#include <string>
4#include <spdlog/spdlog.h>
5#include <spdlog/fmt/ostr.h>
6
7enum class SpecialPresetTypes {
8 SPTYPE_NO_YROT_OR_PARAMS,
9 SPTYPE_YROT_NO_PARAMS,
10 SPTYPE_PARAMS_AND_YROT,
11 SPTYPE_UNKNOWN,
12 SPTYPE_DEF_PARAM_AND_YROT,
13};
14
15inline std::ostream& operator<<(std::ostream& out, const SpecialPresetTypes& type) {
16 std::string output;
17 switch (type) {
18 case SpecialPresetTypes::SPTYPE_NO_YROT_OR_PARAMS:
19 output = "SPTYPE_NO_YROT_OR_PARAMS";
20 break;
21 case SpecialPresetTypes::SPTYPE_YROT_NO_PARAMS:
22 output = "SPTYPE_YROT_NO_PARAMS";
23 break;
24 case SpecialPresetTypes::SPTYPE_PARAMS_AND_YROT:
25 output = "SPTYPE_PARAMS_AND_YROT";
26 break;
27 case SpecialPresetTypes::SPTYPE_UNKNOWN:
28 output = "SPTYPE_UNKNOWN";
29 break;
30 case SpecialPresetTypes::SPTYPE_DEF_PARAM_AND_YROT:
31 output = "SPTYPE_DEF_PARAM_AND_YROT";
32 break;
33 default:
34 throw std::runtime_error("Unknown Special Preset Type");
35 }
36 return out << output;
37}
38
39enum class SpecialPresets {
40 special_null_start,
41 special_yellow_coin,
42 special_yellow_coin_2,
43 special_unknown_3,
44 special_boo,
45 special_unknown_5,
46 special_lll_moving_octagonal_mesh_platform,
47 special_snow_ball,
48 special_lll_drawbridge_spawner,
49 special_empty_9,
50 special_lll_rotating_block_with_fire_bars,
51 special_lll_floating_wood_bridge,
52 special_tumbling_platform,
53 special_lll_rotating_hexagonal_ring,
54 special_lll_sinking_rectangular_platform,
55 special_lll_sinking_square_platforms,
56 special_lll_tilting_square_platform,
57 special_lll_bowser_puzzle,
58 special_mr_i,
59 special_small_bully,
60 special_big_bully,
61 special_empty_21,
62 special_empty_22,
63 special_empty_23,
64 special_empty_24,
65 special_empty_25,
66 special_moving_blue_coin,
67 special_jrb_chest,
68 special_water_ring,
69 special_mine,
70 special_empty_30,
71 special_empty_31,
72 special_butterfly,
73 special_bowser,
74 special_wf_rotating_wooden_platform,
75 special_small_bomp,
76 special_wf_sliding_platform,
77 special_tower_platform_group,
78 special_rotating_counter_clockwise,
79 special_wf_tumbling_bridge,
80 special_large_bomp,
81
82 special_level_geo_03 = 0x65,
83 special_level_geo_04,
84 special_level_geo_05,
85 special_level_geo_06,
86 special_level_geo_07,
87 special_level_geo_08,
88 special_level_geo_09,
89 special_level_geo_0A,
90 special_level_geo_0B,
91 special_level_geo_0C,
92 special_level_geo_0D,
93 special_level_geo_0E,
94 special_level_geo_0F,
95 special_level_geo_10,
96 special_level_geo_11,
97 special_level_geo_12,
98 special_level_geo_13,
99 special_level_geo_14,
100 special_level_geo_15,
101 special_level_geo_16,
102 special_bubble_tree,
103 special_spiky_tree,
104 special_snow_tree,
105 special_unknown_tree,
106 special_palm_tree,
107 special_wooden_door,
108 special_haunted_door = special_wooden_door,
109 special_unknown_door,
110 special_metal_door,
111 special_hmc_door,
112 special_unknown2_door,
113 special_wooden_door_warp,
114 special_unknown1_door_warp,
115 special_metal_door_warp,
116 special_unknown2_door_warp,
117 special_unknown3_door_warp,
118 special_castle_door_warp,
119 special_castle_door,
120 special_0stars_door,
121 special_1star_door,
122 special_3star_door,
123 special_key_door,
124
125 special_null_end = 0xFF
126};
127
128inline std::ostream& operator<<(std::ostream& out, const SpecialPresets& preset) {
129 std::string output;
130 switch (preset) {
131 case SpecialPresets::special_null_start:
132 output = "special_null_start";
133 break;
134 case SpecialPresets::special_yellow_coin:
135 output = "special_yellow_coin";
136 break;
137 case SpecialPresets::special_yellow_coin_2:
138 output = "special_yellow_coin_2";
139 break;
140 case SpecialPresets::special_unknown_3:
141 output = "special_unknown_3";
142 break;
143 case SpecialPresets::special_boo:
144 output = "special_boo";
145 break;
146 case SpecialPresets::special_unknown_5:
147 output = "special_unknown_5";
148 break;
149 case SpecialPresets::special_lll_moving_octagonal_mesh_platform:
150 output = "special_lll_moving_octagonal_mesh_platform";
151 break;
152 case SpecialPresets::special_snow_ball:
153 output = "special_snow_ball";
154 break;
155 case SpecialPresets::special_lll_drawbridge_spawner:
156 output = "special_lll_drawbridge_spawner";
157 break;
158 case SpecialPresets::special_empty_9:
159 output = "special_empty_9";
160 break;
161 case SpecialPresets::special_lll_rotating_block_with_fire_bars:
162 output = "special_lll_rotating_block_with_fire_bars";
163 break;
164 case SpecialPresets::special_lll_floating_wood_bridge:
165 output = "special_lll_floating_wood_bridge";
166 break;
167 case SpecialPresets::special_tumbling_platform:
168 output = "special_tumbling_platform";
169 break;
170 case SpecialPresets::special_lll_rotating_hexagonal_ring:
171 output = "special_lll_rotating_hexagonal_ring";
172 break;
173 case SpecialPresets::special_lll_sinking_rectangular_platform:
174 output = "special_lll_sinking_rectangular_platform";
175 break;
176 case SpecialPresets::special_lll_sinking_square_platforms:
177 output = "special_lll_sinking_square_platforms";
178 break;
179 case SpecialPresets::special_lll_tilting_square_platform:
180 output = "special_lll_tilting_square_platform";
181 break;
182 case SpecialPresets::special_lll_bowser_puzzle:
183 output = "special_lll_bowser_puzzle";
184 break;
185 case SpecialPresets::special_mr_i:
186 output = "special_mr_i";
187 break;
188 case SpecialPresets::special_small_bully:
189 output = "special_small_bully";
190 break;
191 case SpecialPresets::special_big_bully:
192 output = "special_big_bully";
193 break;
194 case SpecialPresets::special_empty_21:
195 output = "special_empty_21";
196 break;
197 case SpecialPresets::special_empty_22:
198 output = "special_empty_22";
199 break;
200 case SpecialPresets::special_empty_23:
201 output = "special_empty_23";
202 break;
203 case SpecialPresets::special_empty_24:
204 output = "special_empty_24";
205 break;
206 case SpecialPresets::special_empty_25:
207 output = "special_empty_25";
208 break;
209 case SpecialPresets::special_moving_blue_coin:
210 output = "special_moving_blue_coin";
211 break;
212 case SpecialPresets::special_jrb_chest:
213 output = "special_jrb_chest";
214 break;
215 case SpecialPresets::special_water_ring:
216 output = "special_water_ring";
217 break;
218 case SpecialPresets::special_mine:
219 output = "special_mine";
220 break;
221 case SpecialPresets::special_empty_30:
222 output = "special_empty_30";
223 break;
224 case SpecialPresets::special_empty_31:
225 output = "special_empty_31";
226 break;
227 case SpecialPresets::special_butterfly:
228 output = "special_butterfly";
229 break;
230 case SpecialPresets::special_bowser:
231 output = "special_bowser";
232 break;
233 case SpecialPresets::special_wf_rotating_wooden_platform:
234 output = "special_wf_rotating_wooden_platform";
235 break;
236 case SpecialPresets::special_small_bomp:
237 output = "special_small_bomp";
238 break;
239 case SpecialPresets::special_wf_sliding_platform:
240 output = "special_wf_sliding_platform";
241 break;
242 case SpecialPresets::special_tower_platform_group:
243 output = "special_tower_platform_group";
244 break;
245 case SpecialPresets::special_rotating_counter_clockwise:
246 output = "special_rotating_counter_clockwise";
247 break;
248 case SpecialPresets::special_wf_tumbling_bridge:
249 output = "special_wf_tumbling_bridge";
250 break;
251 case SpecialPresets::special_large_bomp:
252 output = "special_large_bomp";
253 break;
254 case SpecialPresets::special_level_geo_03:
255 output = "special_level_geo_03";
256 break;
257 case SpecialPresets::special_level_geo_04:
258 output = "special_level_geo_04";
259 break;
260 case SpecialPresets::special_level_geo_05:
261 output = "special_level_geo_05";
262 break;
263 case SpecialPresets::special_level_geo_06:
264 output = "special_level_geo_06";
265 break;
266 case SpecialPresets::special_level_geo_07:
267 output = "special_level_geo_07";
268 break;
269 case SpecialPresets::special_level_geo_08:
270 output = "special_level_geo_08";
271 break;
272 case SpecialPresets::special_level_geo_09:
273 output = "special_level_geo_09";
274 break;
275 case SpecialPresets::special_level_geo_0A:
276 output = "special_level_geo_0A";
277 break;
278 case SpecialPresets::special_level_geo_0B:
279 output = "special_level_geo_0B";
280 break;
281 case SpecialPresets::special_level_geo_0C:
282 output = "special_level_geo_0C";
283 break;
284 case SpecialPresets::special_level_geo_0D:
285 output = "special_level_geo_0D";
286 break;
287 case SpecialPresets::special_level_geo_0E:
288 output = "special_level_geo_0E";
289 break;
290 case SpecialPresets::special_level_geo_0F:
291 output = "special_level_geo_0F";
292 break;
293 case SpecialPresets::special_level_geo_10:
294 output = "special_level_geo_10";
295 break;
296 case SpecialPresets::special_level_geo_11:
297 output = "special_level_geo_11";
298 break;
299 case SpecialPresets::special_level_geo_12:
300 output = "special_level_geo_12";
301 break;
302 case SpecialPresets::special_level_geo_13:
303 output = "special_level_geo_13";
304 break;
305 case SpecialPresets::special_level_geo_14:
306 output = "special_level_geo_14";
307 break;
308 case SpecialPresets::special_level_geo_15:
309 output = "special_level_geo_15";
310 break;
311 case SpecialPresets::special_level_geo_16:
312 output = "special_level_geo_16";
313 break;
314 case SpecialPresets::special_bubble_tree:
315 output = "special_bubble_tree";
316 break;
317 case SpecialPresets::special_spiky_tree:
318 output = "special_spiky_tree";
319 break;
320 case SpecialPresets::special_snow_tree:
321 output = "special_snow_tree";
322 break;
323 case SpecialPresets::special_unknown_tree:
324 output = "special_unknown_tree";
325 break;
326 case SpecialPresets::special_palm_tree:
327 output = "special_palm_tree";
328 break;
329 case SpecialPresets::special_wooden_door:
330 output = "special_wooden_door";
331 break;
332 case SpecialPresets::special_unknown_door:
333 output = "special_unknown_door";
334 break;
335 case SpecialPresets::special_metal_door:
336 output = "special_metal_door";
337 break;
338 case SpecialPresets::special_hmc_door:
339 output = "special_hmc_door";
340 break;
341 case SpecialPresets::special_unknown2_door:
342 output = "special_unknown2_door";
343 break;
344 case SpecialPresets::special_wooden_door_warp:
345 output = "special_wooden_door_warp";
346 break;
347 case SpecialPresets::special_unknown1_door_warp:
348 output = "special_unknown1_door_warp";
349 break;
350 case SpecialPresets::special_metal_door_warp:
351 output = "special_metal_door_warp";
352 break;
353 case SpecialPresets::special_unknown2_door_warp:
354 output = "special_unknown2_door_warp";
355 break;
356 case SpecialPresets::special_unknown3_door_warp:
357 output = "special_unknown3_door_warp";
358 break;
359 case SpecialPresets::special_castle_door_warp:
360 output = "special_castle_door_warp";
361 break;
362 case SpecialPresets::special_castle_door:
363 output = "special_castle_door";
364 break;
365 case SpecialPresets::special_0stars_door:
366 output = "special_0stars_door";
367 break;
368 case SpecialPresets::special_1star_door:
369 output = "special_1star_door";
370 break;
371 case SpecialPresets::special_3star_door:
372 output = "special_3star_door";
373 break;
374 case SpecialPresets::special_key_door:
375 output = "special_key_door";
376 break;
377 case SpecialPresets::special_null_end:
378 output = "special_null_end";
379 break;
380 default:
381 throw std::runtime_error("Unknown Special Preset");
382 }
383
384 return out << output;
385}