SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
MarioSound.cpp
1#include "Game/Player/Mario.hpp"
2#include <cstring>
3
4struct SoundList {
5 const char *name;
6 u32 _4;
7
8 u32 _8;
9 u32 _C;
10
11 u32 _10;
12 u32 _14;
13};
14
15SoundList soundlist[206] = {
16 {
17 "声小ジャンプ", // name
18 0x10000, // _4
19 0, // _8
20 0, // _C
21 0, // _10
22 0, // _14
23 },
24 {
25 "声中ジャンプ", // name
26 0x10001, // _4
27 0, // _8
28 0, // _C
29 0, // _10
30 0, // _14
31 },
32 {
33 "声大ジャンプ", // name
34 0x10002, // _4
35 0, // _8
36 0, // _C
37 0, // _10
38 0, // _14
39 },
40 {
41 "声後ジャンプ", // name
42 0x10003, // _4
43 0, // _8
44 0, // _C
45 0, // _10
46 0, // _14
47 },
48 {
49 "声幅ジャンプ", // name
50 0x10004, // _4
51 0, // _8
52 0, // _C
53 0, // _10
54 0, // _14
55 },
56 {
57 "声物ジャンプ", // name
58 0x10005, // _4
59 0, // _8
60 0, // _C
61 0, // _10
62 0, // _14
63 },
64 {
65 "声高飛び込み", // name
66 0x1004f, // _4
67 0, // _8
68 0, // _C
69 0, // _10
70 0, // _14
71 },
72 {
73 "声尻ドロップ", // name
74 0x10007, // _4
75 0, // _8
76 0, // _C
77 0, // _10
78 0, // _14
79 },
80 {
81 "声尻ドロップ着地", // name
82 0x10032, // _4
83 0, // _8
84 0, // _C
85 0, // _10
86 0, // _14
87 },
88 {
89 "声着地停止", // name
90 0x10006, // _4
91 0, // _8
92 0, // _C
93 0, // _10
94 0, // _14
95 },
96 {
97 "声ステージイン着地", // name
98 0x10031, // _4
99 0, // _8
100 0, // _C
101 0, // _10
102 0, // _14
103 },
104 {
105 "声小ダメージ", // name
106 0x10008, // _4
107 0, // _8
108 0, // _C
109 0, // _10
110 0, // _14
111 },
112 {
113 "声大ダメージ", // name
114 0x10009, // _4
115 0, // _8
116 0, // _C
117 0, // _10
118 0, // _14
119 },
120 {
121 "声最終ダメージ", // name
122 0x1000d, // _4
123 0, // _8
124 0, // _C
125 0, // _10
126 0, // _14
127 },
128 {
129 "声炎ダメージ", // name
130 0x10017, // _4
131 0, // _8
132 0, // _C
133 0, // _10
134 0, // _14
135 },
136 {
137 "声電気ダメージ", // name
138 0x10019, // _4
139 0, // _8
140 0, // _C
141 0, // _10
142 0, // _14
143 },
144 {
145 "声電気ダメージ終了", // name
146 0x10039, // _4
147 0, // _8
148 0, // _C
149 0, // _10
150 0, // _14
151 },
152 {
153 "声倒れ", // name
154 0x1000e, // _4
155 0, // _8
156 0, // _C
157 0, // _10
158 0, // _14
159 },
160 {
161 "声落下死亡", // name
162 0x10018, // _4
163 0, // _8
164 0, // _C
165 0, // _10
166 0, // _14
167 },
168 {
169 "声しびれ", // name
170 0x10008, // _4
171 0, // _8
172 0, // _C
173 0, // _10
174 0, // _14
175 },
176 {
177 "声氷ダメージ", // name
178 0x1003e, // _4
179 0, // _8
180 0, // _C
181 0, // _10
182 0, // _14
183 },
184 {
185 "声つぶれダメージ", // name
186 0x1004d, // _4
187 0, // _8
188 0, // _C
189 0, // _10
190 0, // _14
191 },
192 {
193 "声スピン", // name
194 0x10033, // _4
195 0, // _8
196 0, // _C
197 0, // _10
198 0, // _14
199 },
200 {
201 "声スピンキャンセル", // name
202 0x10035, // _4
203 0, // _8
204 0, // _C
205 0, // _10
206 0, // _14
207 },
208 {
209 "声パンチ", // name
210 0x1000a, // _4
211 0, // _8
212 0, // _C
213 0, // _10
214 0, // _14
215 },
216 {
217 "声踏み", // name
218 0x10034, // _4
219 0, // _8
220 0, // _C
221 0, // _10
222 0, // _14
223 },
224 {
225 "声蹴り", // name
226 0x1000b, // _4
227 0, // _8
228 0, // _C
229 0, // _10
230 0, // _14
231 },
232 {
233 "声トルネード", // name
234 0x1000c, // _4
235 0, // _8
236 0, // _C
237 0, // _10
238 0, // _14
239 },
240 {
241 "声壁反射", // name
242 0x10013, // _4
243 0, // _8
244 0, // _C
245 0, // _10
246 0, // _14
247 },
248 {
249 "声投げ", // name
250 0x10010, // _4
251 0, // _8
252 0, // _C
253 0, // _10
254 0, // _14
255 },
256 {
257 "声壁押し", // name
258 0x1000f, // _4
259 0, // _8
260 0, // _C
261 0, // _10
262 0, // _14
263 },
264 {
265 "声壁体当たり", // name
266 0x10053, // _4
267 0, // _8
268 0, // _C
269 0, // _10
270 0, // _14
271 },
272 {
273 "声スピン尻ドロップ", // name
274 0x1000a, // _4
275 0, // _8
276 0, // _C
277 0, // _10
278 0, // _14
279 },
280 {
281 "声軽い力み", // name
282 0x10012, // _4
283 0, // _8
284 0, // _C
285 0, // _10
286 0, // _14
287 },
288 {
289 "声崖つかまり", // name
290 0x10041, // _4
291 0, // _8
292 0, // _C
293 0, // _10
294 0, // _14
295 },
296 {
297 "声崖つかまり終了", // name
298 0x10042, // _4
299 0, // _8
300 0, // _C
301 0, // _10
302 0, // _14
303 },
304 {
305 "声炎ダメージ中", // name
306 0x1001a, // _4
307 0, // _8
308 0, // _C
309 0, // _10
310 0, // _14
311 },
312 {
313 "声炎ダメージ終了", // name
314 0x1001b, // _4
315 0, // _8
316 0, // _C
317 0, // _10
318 0, // _14
319 },
320 {
321 "声氷ダメージ終了", // name
322 0x1003f, // _4
323 0, // _8
324 0, // _C
325 0, // _10
326 0, // _14
327 },
328 {
329 "声針ダメージ", // name
330 0x10027, // _4
331 0, // _8
332 0, // _C
333 0, // _10
334 0, // _14
335 },
336 {
337 "声針ダメージ中", // name
338 0x10028, // _4
339 0, // _8
340 0, // _C
341 0, // _10
342 0, // _14
343 },
344 {
345 "声針ダメージ終了", // name
346 0x10036, // _4
347 0, // _8
348 0, // _C
349 0, // _10
350 0, // _14
351 },
352 {
353 "声水中ダメージ", // name
354 0x1003b, // _4
355 0, // _8
356 0, // _C
357 0, // _10
358 0, // _14
359 },
360 {
361 "声水中最終ダメージ", // name
362 0x1003c, // _4
363 0, // _8
364 0, // _C
365 0, // _10
366 0, // _14
367 },
368 {
369 "声冷水ダメージ", // name
370 0x10052, // _4
371 0, // _8
372 0, // _C
373 0, // _10
374 0, // _14
375 },
376 {
377 "声スケキヨ開始", // name
378 0x10043, // _4
379 0, // _8
380 0, // _C
381 0, // _10
382 0, // _14
383 },
384 {
385 "声スケキヨ終了", // name
386 0x10044, // _4
387 0, // _8
388 0, // _C
389 0, // _10
390 0, // _14
391 },
392 {
393 "声足埋まり開始", // name
394 0x10045, // _4
395 0, // _8
396 0, // _C
397 0, // _10
398 0, // _14
399 },
400 {
401 "声足埋まり終了", // name
402 0x10046, // _4
403 0, // _8
404 0, // _C
405 0, // _10
406 0, // _14
407 },
408 {
409 "声あくび", // name
410 0x1001f, // _4
411 0, // _8
412 0, // _C
413 0, // _10
414 0, // _14
415 },
416 {
417 "声いびき1", // name
418 0x10020, // _4
419 0, // _8
420 0, // _C
421 0, // _10
422 0, // _14
423 },
424 {
425 "声いびき2", // name
426 0x10021, // _4
427 0, // _8
428 0, // _C
429 0, // _10
430 0, // _14
431 },
432 {
433 "声噴水ジャンプ", // name
434 0x10025, // _4
435 0, // _8
436 0, // _C
437 0, // _10
438 0, // _14
439 },
440 {
441 "声ランニングキック", // name
442 0x1000b, // _4
443 0, // _8
444 0, // _C
445 0, // _10
446 0, // _14
447 },
448 {
449 "声砂脱出", // name
450 0x1000f, // _4
451 0, // _8
452 0, // _C
453 0, // _10
454 0, // _14
455 },
456 {
457 "声投げられ", // name
458 0x10026, // _4
459 0, // _8
460 0, // _C
461 0, // _10
462 0, // _14
463 },
464 {
465 "声慌て", // name
466 0x10025, // _4
467 0, // _8
468 0, // _C
469 0, // _10
470 0, // _14
471 },
472 {
473 "声しゃがむ", // name
474 0x1004e, // _4
475 0, // _8
476 0, // _C
477 0, // _10
478 0, // _14
479 },
480 {
481 "声砂沈み", // name
482 0x10050, // _4
483 0, // _8
484 0, // _C
485 0, // _10
486 0, // _14
487 },
488 {
489 "声砂沈み死亡", // name
490 0x10051, // _4
491 0, // _8
492 0, // _C
493 0, // _10
494 0, // _14
495 },
496 {
497 "声沼沈み", // name
498 0x10050, // _4
499 0, // _8
500 0, // _C
501 0, // _10
502 0, // _14
503 },
504 {
505 "声沼沈み死亡", // name
506 0x10051, // _4
507 0, // _8
508 0, // _C
509 0, // _10
510 0, // _14
511 },
512 {
513 "足音左", // name
514 0x20025, // _4
515 0, // _8
516 0, // _C
517 0, // _10
518 0, // _14
519 },
520 {
521 "足音右", // name
522 0x20026, // _4
523 0, // _8
524 0, // _C
525 0, // _10
526 0, // _14
527 },
528 {
529 "ジャンプ踏切", // name
530 0x20029, // _4
531 0x4000000, // _8
532 0x805c98eb, // _C
533 0, // _10
534 0, // _14
535 },
536 {
537 "着地", // name
538 0x2002a, // _4
539 0x4000000, // _8
540 0x805c98ff, // _C
541 0, // _10
542 0, // _14
543 },
544 {
545 "重い着地", // name
546 0x20038, // _4
547 0, // _8
548 0, // _C
549 0, // _10
550 0, // _14
551 },
552 {
553 "掴み", // name
554 0x20003, // _4
555 0, // _8
556 0, // _C
557 0, // _10
558 0, // _14
559 },
560 {
561 "ぶらさがり", // name
562 0x2002b, // _4
563 0, // _8
564 0, // _C
565 0, // _10
566 0, // _14
567 },
568 {
569 "尻ドロップ回転", // name
570 0x20005, // _4
571 0, // _8
572 0, // _C
573 0, // _10
574 0, // _14
575 },
576 {
577 "尻ドロップ着地", // name
578 0x20006, // _4
579 0x4000000, // _8
580 0x805c98ff, // _C
581 0, // _10
582 0, // _14
583 },
584 {
585 "スピン尻ドロップ回転", // name
586 0x20087, // _4
587 0, // _8
588 0, // _C
589 0, // _10
590 0, // _14
591 },
592 {
593 "スピン尻ドロップ落下", // name
594 0x20088, // _4
595 0x1000000, // _8
596 0, // _C
597 0, // _10
598 0, // _14
599 },
600 {
601 "中ジャンプ", // name
602 0x20007, // _4
603 0, // _8
604 0, // _C
605 0, // _10
606 0, // _14
607 },
608 {
609 "大ジャンプ", // name
610 0x20008, // _4
611 0, // _8
612 0, // _C
613 0, // _10
614 0, // _14
615 },
616 {
617 "後ジャンプ", // name
618 0x20009, // _4
619 0, // _8
620 0, // _C
621 0, // _10
622 0, // _14
623 },
624 {
625 "幅ジャンプ", // name
626 0x2000a, // _4
627 0, // _8
628 0, // _C
629 0, // _10
630 0, // _14
631 },
632 {
633 "トルネードジャンプ", // name
634 0x2000e, // _4
635 0, // _8
636 0, // _C
637 0, // _10
638 0, // _14
639 },
640 {
641 "スピンジャンプ", // name
642 0x2002c, // _4
643 0x4000000, // _8
644 0x805c98eb, // _C
645 0, // _10
646 0, // _14
647 },
648 {
649 "トランポリンジャンプ小", // name
650 0x50187, // _4
651 0, // _8
652 0, // _C
653 0, // _10
654 0, // _14
655 },
656 {
657 "トランポリンジャンプ大", // name
658 0x50188, // _4
659 0, // _8
660 0, // _C
661 0, // _10
662 0, // _14
663 },
664 {
665 "スリップアップ", // name
666 0x2000c, // _4
667 0, // _8
668 0, // _C
669 0, // _10
670 0, // _14
671 },
672 {
673 "ダメージ", // name
674 0x20010, // _4
675 0, // _8
676 0, // _C
677 0, // _10
678 0, // _14
679 },
680 {
681 "炎ダメージ", // name
682 0x20021, // _4
683 0, // _8
684 0, // _C
685 0, // _10
686 0, // _14
687 },
688 {
689 "針ダメージ", // name
690 0x20082, // _4
691 0, // _8
692 0, // _C
693 0, // _10
694 0, // _14
695 },
696 {
697 "電気ダメージ", // name
698 0x2002f, // _4
699 0, // _8
700 0, // _C
701 0, // _10
702 0, // _14
703 },
704 {
705 "壁反射", // name
706 0x20033, // _4
707 0, // _8
708 0, // _C
709 0, // _10
710 0, // _14
711 },
712 {
713 "プレスダメージ", // name
714 0x20016, // _4
715 0, // _8
716 0, // _C
717 0, // _10
718 0, // _14
719 },
720 {
721 "氷ダメージ", // name
722 0x20075, // _4
723 0, // _8
724 0, // _C
725 0, // _10
726 0, // _14
727 },
728 {
729 "倒れ", // name
730 0x20013, // _4
731 0x4000000, // _8
732 0x805c9a48, // _C
733 0, // _10
734 0, // _14
735 },
736 {
737 "吹っ飛び倒れ", // name
738 0x20017, // _4
739 0x4000000, // _8
740 0x805c98ff, // _C
741 0, // _10
742 0, // _14
743 },
744 {
745 "坂滑り", // name
746 0x20023, // _4
747 0x9000000, // _8
748 0x805c9a67, // _C
749 0, // _10
750 0, // _14
751 },
752 {
753 "ルイージ滑り", // name
754 0x20099, // _4
755 0x9000000, // _8
756 0x805c9a67, // _C
757 0, // _10
758 0, // _14
759 },
760 {
761 "パンチ風切り", // name
762 0x2001e, // _4
763 0, // _8
764 0, // _C
765 0, // _10
766 0, // _14
767 },
768 {
769 "炎ダメージ復帰バウンド", // name
770 0x20035, // _4
771 0, // _8
772 0, // _C
773 0, // _10
774 0, // _14
775 },
776 {
777 "炎ダメージ炎上中", // name
778 0x20034, // _4
779 0x1000000, // _8
780 0, // _C
781 0, // _10
782 0, // _14
783 },
784 {
785 "氷ダメージ終了", // name
786 0x20076, // _4
787 0, // _8
788 0, // _C
789 0, // _10
790 0, // _14
791 },
792 {
793 "引き戻し基本", // name
794 0x20036, // _4
795 0x1000000, // _8
796 0, // _C
797 0, // _10
798 0, // _14
799 },
800 {
801 "引き戻し浮遊", // name
802 0x20037, // _4
803 0x1000000, // _8
804 0, // _C
805 0, // _10
806 0, // _14
807 },
808 {
809 "引き戻し泡破裂", // name
810 0x50087, // _4
811 0, // _8
812 0, // _C
813 0, // _10
814 0, // _14
815 },
816 {
817 "はねとばされ", // name
818 0x2001a, // _4
819 0x1000000, // _8
820 0, // _C
821 0, // _10
822 0, // _14
823 },
824 {
825 "結界ヒット", // name
826 0x20069, // _4
827 0, // _8
828 0, // _C
829 0, // _10
830 0, // _14
831 },
832 {
833 "壁衝突", // name
834 0x20085, // _4
835 0, // _8
836 0, // _C
837 0, // _10
838 0, // _14
839 },
840 {
841 "投げられ", // name
842 0x20086, // _4
843 0, // _8
844 0, // _C
845 0, // _10
846 0, // _14
847 },
848 {
849 "ヘリコプタージャンプ", // name
850 0x2001b, // _4
851 0, // _8
852 0, // _C
853 0, // _10
854 0, // _14
855 },
856 {
857 "滞空開始", // name
858 0x2001c, // _4
859 0, // _8
860 0, // _C
861 0, // _10
862 0, // _14
863 },
864 {
865 "滞空中", // name
866 0x2001d, // _4
867 0x1000000, // _8
868 0, // _C
869 0, // _10
870 0, // _14
871 },
872 {
873 "ホッパー跳ね返り", // name
874 0x20052, // _4
875 0, // _8
876 0, // _C
877 0, // _10
878 0, // _14
879 },
880 {
881 "ホッパージャンプ溜め", // name
882 0x20053, // _4
883 0x1000000, // _8
884 0, // _C
885 0, // _10
886 0, // _14
887 },
888 {
889 "ホッパージャンプ", // name
890 0x20054, // _4
891 0, // _8
892 0, // _C
893 0, // _10
894 0, // _14
895 },
896 {
897 "テレサ浮遊", // name
898 0x20061, // _4
899 0x1000000, // _8
900 0, // _C
901 0, // _10
902 0, // _14
903 },
904 {
905 "テレサ踏ん張り", // name
906 0x20024, // _4
907 0x1000000, // _8
908 0, // _C
909 0, // _10
910 0, // _14
911 },
912 {
913 "テレサ壁反射", // name
914 0x20062, // _4
915 0, // _8
916 0, // _C
917 0, // _10
918 0, // _14
919 },
920 {
921 "テレサ消える", // name
922 0x2006a, // _4
923 0, // _8
924 0, // _C
925 0, // _10
926 0, // _14
927 },
928 {
929 "テレサ現れる", // name
930 0x2006b, // _4
931 0, // _8
932 0, // _C
933 0, // _10
934 0, // _14
935 },
936 {
937 "テレサ風に乗る", // name
938 0x2007c, // _4
939 0x1000000, // _8
940 0, // _C
941 0, // _10
942 0, // _14
943 },
944 {
945 "ハチ飛行中", // name
946 0x20063, // _4
947 0x1000000, // _8
948 0, // _C
949 0, // _10
950 0, // _14
951 },
952 {
953 "スケキヨ開始", // name
954 0x20057, // _4
955 0, // _8
956 0, // _C
957 0, // _10
958 0, // _14
959 },
960 {
961 "スケキヨ終了", // name
962 0x20059, // _4
963 0, // _8
964 0, // _C
965 0, // _10
966 0, // _14
967 },
968 {
969 "スケキヨ終了スピン", // name
970 0x20083, // _4
971 0, // _8
972 0, // _C
973 0, // _10
974 0, // _14
975 },
976 {
977 "スケート足", // name
978 0x20064, // _4
979 0, // _8
980 0, // _C
981 0, // _10
982 0, // _14
983 },
984 {
985 "スケート滑り", // name
986 0x20065, // _4
987 0x1000000, // _8
988 0, // _C
989 0, // _10
990 0, // _14
991 },
992 {
993 "スケートジャンプ", // name
994 0x20066, // _4
995 0, // _8
996 0, // _C
997 0, // _10
998 0, // _14
999 },
1000 {
1001 "スケート着地", // name
1002 0x20067, // _4
1003 0, // _8
1004 0, // _C
1005 0, // _10
1006 0, // _14
1007 },
1008 {
1009 "スケートスピン", // name
1010 0x20068, // _4
1011 0, // _8
1012 0, // _C
1013 0, // _10
1014 0, // _14
1015 },
1016 {
1017 "ハチ壁くっつき", // name
1018 0x2006d, // _4
1019 0, // _8
1020 0, // _C
1021 0, // _10
1022 0, // _14
1023 },
1024 {
1025 "ハチ壁歩き左", // name
1026 0x2006e, // _4
1027 0, // _8
1028 0, // _C
1029 0, // _10
1030 0, // _14
1031 },
1032 {
1033 "ハチ壁歩き右", // name
1034 0x2006f, // _4
1035 0, // _8
1036 0, // _C
1037 0, // _10
1038 0, // _14
1039 },
1040 {
1041 "ハチ壁ジャンプ", // name
1042 0x20070, // _4
1043 0, // _8
1044 0, // _C
1045 0, // _10
1046 0, // _14
1047 },
1048 {
1049 "砂沈み", // name
1050 0x20077, // _4
1051 0x1000000, // _8
1052 0, // _C
1053 0, // _10
1054 0, // _14
1055 },
1056 {
1057 "砂脱出", // name
1058 0x20078, // _4
1059 0, // _8
1060 0, // _C
1061 0, // _10
1062 0, // _14
1063 },
1064 {
1065 "砂強制沈み", // name
1066 0x2007a, // _4
1067 0x1000000, // _8
1068 0, // _C
1069 0, // _10
1070 0, // _14
1071 },
1072 {
1073 "砂死亡", // name
1074 0x20079, // _4
1075 0x1000000, // _8
1076 0, // _C
1077 0, // _10
1078 0, // _14
1079 },
1080 {
1081 "沼強制沈み", // name
1082 0x2007d, // _4
1083 0x1000000, // _8
1084 0, // _C
1085 0, // _10
1086 0, // _14
1087 },
1088 {
1089 "沼死亡", // name
1090 0x2007e, // _4
1091 0x1000000, // _8
1092 0, // _C
1093 0, // _10
1094 0, // _14
1095 },
1096 {
1097 "毒沼脱出", // name
1098 0x20096, // _4
1099 0, // _8
1100 0, // _C
1101 0, // _10
1102 0, // _14
1103 },
1104 {
1105 "毒沼ダメージ", // name
1106 0x20097, // _4
1107 0, // _8
1108 0, // _C
1109 0, // _10
1110 0, // _14
1111 },
1112 {
1113 "ダークマター沈み", // name
1114 0x20095, // _4
1115 0x1000000, // _8
1116 0, // _C
1117 0, // _10
1118 0, // _14
1119 },
1120 {
1121 "惑星貫通中", // name
1122 0x20080, // _4
1123 0x1000000, // _8
1124 0, // _C
1125 0, // _10
1126 0, // _14
1127 },
1128 {
1129 "惑星貫通終了", // name
1130 0x20081, // _4
1131 0, // _8
1132 0, // _C
1133 0, // _10
1134 0, // _14
1135 },
1136 {
1137 "フー滞空中", // name
1138 0x2008a, // _4
1139 0x1000000, // _8
1140 0, // _C
1141 0, // _10
1142 0, // _14
1143 },
1144 {
1145 "フー加速", // name
1146 0x2008b, // _4
1147 0, // _8
1148 0, // _C
1149 0, // _10
1150 0, // _14
1151 },
1152 {
1153 "フー飛行中", // name
1154 0x2008c, // _4
1155 0x1000000, // _8
1156 0, // _C
1157 0, // _10
1158 0, // _14
1159 },
1160 {
1161 "フーブレーキ", // name
1162 0x2008d, // _4
1163 0, // _8
1164 0, // _C
1165 0, // _10
1166 0, // _14
1167 },
1168 {
1169 "ワープポッド入り", // name
1170 0x20092, // _4
1171 0, // _8
1172 0, // _C
1173 0, // _10
1174 0, // _14
1175 },
1176 {
1177 "ワープポッド出", // name
1178 0x20093, // _4
1179 0, // _8
1180 0, // _C
1181 0, // _10
1182 0, // _14
1183 },
1184 {
1185 "ワープポッド移動", // name
1186 0x20094, // _4
1187 0x1000000, // _8
1188 0, // _C
1189 0, // _10
1190 0, // _14
1191 },
1192 {
1193 "スペシャルダッシュ強", // name
1194 0x2009b, // _4
1195 0, // _8
1196 0, // _C
1197 0, // _10
1198 0, // _14
1199 },
1200 {
1201 "スペシャルダッシュ弱", // name
1202 0x2009c, // _4
1203 0, // _8
1204 0, // _C
1205 0, // _10
1206 0, // _14
1207 },
1208 {
1209 "ダッシュ加速強成功", // name
1210 0x42, // _4
1211 0x2000000, // _8
1212 0, // _C
1213 0, // _10
1214 0, // _14
1215 },
1216 {
1217 "ブラックホール吸い込まれ", // name
1218 0x20031, // _4
1219 0, // _8
1220 0, // _C
1221 0, // _10
1222 0, // _14
1223 },
1224 {
1225 "水歩行突入", // name
1226 0x2003b, // _4
1227 0, // _8
1228 0, // _C
1229 0, // _10
1230 0, // _14
1231 },
1232 {
1233 "水歩行脱出", // name
1234 0x2003c, // _4
1235 0, // _8
1236 0, // _C
1237 0, // _10
1238 0, // _14
1239 },
1240 {
1241 "水面ウエイト", // name
1242 0x2003d, // _4
1243 0, // _8
1244 0, // _C
1245 0, // _10
1246 0, // _14
1247 },
1248 {
1249 "水中ウエイト", // name
1250 0x2003e, // _4
1251 0, // _8
1252 0, // _C
1253 0, // _10
1254 0, // _14
1255 },
1256 {
1257 "水落下突入", // name
1258 0x2003f, // _4
1259 0, // _8
1260 0, // _C
1261 0, // _10
1262 0, // _14
1263 },
1264 {
1265 "水ジャンプ脱出", // name
1266 0x20040, // _4
1267 0, // _8
1268 0, // _C
1269 0, // _10
1270 0, // _14
1271 },
1272 {
1273 "水面一掻き", // name
1274 0x20041, // _4
1275 0, // _8
1276 0, // _C
1277 0, // _10
1278 0, // _14
1279 },
1280 {
1281 "水中一掻き", // name
1282 0x20042, // _4
1283 0, // _8
1284 0, // _C
1285 0, // _10
1286 0, // _14
1287 },
1288 {
1289 "水面バタ足", // name
1290 0x20043, // _4
1291 0x1000000, // _8
1292 0, // _C
1293 0, // _10
1294 0, // _14
1295 },
1296 {
1297 "水中バタ足", // name
1298 0x20044, // _4
1299 0x1000000, // _8
1300 0, // _C
1301 0, // _10
1302 0, // _14
1303 },
1304 {
1305 "水面潜り", // name
1306 0x20045, // _4
1307 0, // _8
1308 0, // _C
1309 0, // _10
1310 0, // _14
1311 },
1312 {
1313 "水中潜り", // name
1314 0x20046, // _4
1315 0, // _8
1316 0, // _C
1317 0, // _10
1318 0, // _14
1319 },
1320 {
1321 "水面スピン開始", // name
1322 0x20047, // _4
1323 0, // _8
1324 0, // _C
1325 0, // _10
1326 0, // _14
1327 },
1328 {
1329 "水面スピン", // name
1330 0x20048, // _4
1331 0x1000000, // _8
1332 0, // _C
1333 0, // _10
1334 0, // _14
1335 },
1336 {
1337 "水中スピン開始", // name
1338 0x20049, // _4
1339 0, // _8
1340 0, // _C
1341 0, // _10
1342 0, // _14
1343 },
1344 {
1345 "水中スピン", // name
1346 0x2004a, // _4
1347 0x1000000, // _8
1348 0, // _C
1349 0, // _10
1350 0, // _14
1351 },
1352 {
1353 "水面ダメージ", // name
1354 0x2004b, // _4
1355 0, // _8
1356 0, // _C
1357 0, // _10
1358 0, // _14
1359 },
1360 {
1361 "水中ダメージ", // name
1362 0x2004c, // _4
1363 0, // _8
1364 0, // _C
1365 0, // _10
1366 0, // _14
1367 },
1368 {
1369 "亀ジェット泳ぎ", // name
1370 0x5005b, // _4
1371 0x1000000, // _8
1372 0, // _C
1373 0, // _10
1374 0, // _14
1375 },
1376 {
1377 "水底接触", // name
1378 0x20001, // _4
1379 0x1000000, // _8
1380 0, // _C
1381 0, // _10
1382 0, // _14
1383 },
1384 {
1385 "亀壁ヒット", // name
1386 0x5005e, // _4
1387 0, // _8
1388 0, // _C
1389 0, // _10
1390 0, // _14
1391 },
1392 {
1393 "亀ブレーキ", // name
1394 0x2008e, // _4
1395 0, // _8
1396 0, // _C
1397 0, // _10
1398 0, // _14
1399 },
1400 {
1401 "亀加速", // name
1402 0x2008f, // _4
1403 0, // _8
1404 0, // _C
1405 0, // _10
1406 0, // _14
1407 },
1408 {
1409 "水跳ね左足", // name
1410 0x2005a, // _4
1411 0, // _8
1412 0, // _C
1413 0, // _10
1414 0, // _14
1415 },
1416 {
1417 "水跳ね右足", // name
1418 0x2005b, // _4
1419 0, // _8
1420 0, // _C
1421 0, // _10
1422 0, // _14
1423 },
1424 {
1425 "水跳ね左足小", // name
1426 0x2005c, // _4
1427 0, // _8
1428 0, // _C
1429 0, // _10
1430 0, // _14
1431 },
1432 {
1433 "水跳ね右足小", // name
1434 0x2005d, // _4
1435 0, // _8
1436 0, // _C
1437 0, // _10
1438 0, // _14
1439 },
1440 {
1441 "水跳ねジャンプ", // name
1442 0x2005e, // _4
1443 0, // _8
1444 0, // _C
1445 0, // _10
1446 0, // _14
1447 },
1448 {
1449 "水跳ね着地", // name
1450 0x2005f, // _4
1451 0, // _8
1452 0, // _C
1453 0, // _10
1454 0, // _14
1455 },
1456 {
1457 "水跳ね手", // name
1458 0x20060, // _4
1459 0, // _8
1460 0, // _C
1461 0, // _10
1462 0, // _14
1463 },
1464 {
1465 "水弾かれ", // name
1466 0x2006c, // _4
1467 0, // _8
1468 0, // _C
1469 0, // _10
1470 0, // _14
1471 },
1472 {
1473 "水面滑り", // name
1474 0x20089, // _4
1475 0x1000000, // _8
1476 0, // _C
1477 0, // _10
1478 0, // _14
1479 },
1480 {
1481 "トルネード風", // name
1482 0x2000d, // _4
1483 0x1000000, // _8
1484 0, // _C
1485 0, // _10
1486 0, // _14
1487 },
1488 {
1489 "スリップ", // name
1490 0x2000b, // _4
1491 0x9000000, // _8
1492 0x805c9a67, // _C
1493 0, // _10
1494 0, // _14
1495 },
1496 {
1497 "最後の一撃", // name
1498 0x20012, // _4
1499 0, // _8
1500 0, // _C
1501 0, // _10
1502 0, // _14
1503 },
1504 {
1505 "空中ふんばり", // name
1506 0x20024, // _4
1507 0x1000000, // _8
1508 0, // _C
1509 0, // _10
1510 0, // _14
1511 },
1512 {
1513 "スピン許可", // name
1514 0x2007b, // _4
1515 0, // _8
1516 0, // _C
1517 0, // _10
1518 0, // _14
1519 },
1520 {
1521 "スピン回復終了", // name
1522 0x2009a, // _4
1523 0, // _8
1524 0, // _C
1525 0, // _10
1526 0, // _14
1527 },
1528 {
1529 "トルネード飛行", // name
1530 0x20091, // _4
1531 0x1000000, // _8
1532 0, // _C
1533 0, // _10
1534 0, // _14
1535 },
1536 {
1537 "ライフ警告", // name
1538 0x5, // _4
1539 0x3000000, // _8
1540 0, // _C
1541 0, // _10
1542 0, // _14
1543 },
1544 {
1545 "ライフ回復", // name
1546 0x6, // _4
1547 0x2000000, // _8
1548 0, // _C
1549 0, // _10
1550 0, // _14
1551 },
1552 {
1553 "水中ライフ減少", // name
1554 0x40, // _4
1555 0x2000000, // _8
1556 0, // _C
1557 0, // _10
1558 0, // _14
1559 },
1560 {
1561 "酸素減少警告", // name
1562 0x3d, // _4
1563 0x2000000, // _8
1564 0, // _C
1565 0, // _10
1566 0, // _14
1567 },
1568 {
1569 "無酸素警告", // name
1570 0x3e, // _4
1571 0x2000000, // _8
1572 0, // _C
1573 0, // _10
1574 0, // _14
1575 },
1576 {
1577 "酸素回復", // name
1578 0x37, // _4
1579 0x2000000, // _8
1580 0, // _C
1581 0, // _10
1582 0, // _14
1583 },
1584 {
1585 "酸素完全回復", // name
1586 0x38, // _4
1587 0x2000000, // _8
1588 0, // _C
1589 0, // _10
1590 0, // _14
1591 },
1592 {
1593 "水面酸素回復", // name
1594 0x49, // _4
1595 0x3000000, // _8
1596 0, // _C
1597 0, // _10
1598 0, // _14
1599 },
1600 {
1601 "水面酸素完全回復", // name
1602 0x4a, // _4
1603 0x2000000, // _8
1604 0, // _C
1605 0, // _10
1606 0, // _14
1607 },
1608 {
1609 "無酸素ダメージ", // name
1610 0x39, // _4
1611 0x2000000, // _8
1612 0, // _C
1613 0, // _10
1614 0, // _14
1615 },
1616 {
1617 "ハチ体力回復", // name
1618 0x3a, // _4
1619 0x3000000, // _8
1620 0, // _C
1621 0, // _10
1622 0, // _14
1623 },
1624 {
1625 "ハチ体力完全回復", // name
1626 0x3b, // _4
1627 0x2000000, // _8
1628 0, // _C
1629 0, // _10
1630 0, // _14
1631 },
1632 {
1633 "ハチ体力切れ", // name
1634 0x3c, // _4
1635 0x2000000, // _8
1636 0, // _C
1637 0, // _10
1638 0, // _14
1639 },
1640 {
1641 "変身解除", // name
1642 0x10, // _4
1643 0x2000000, // _8
1644 0, // _C
1645 0, // _10
1646 0, // _14
1647 },
1648 {
1649 "呪い解除", // name
1650 0x5a, // _4
1651 0x2000000, // _8
1652 0, // _C
1653 0, // _10
1654 0, // _14
1655 },
1656 {
1657 "", // name
1658 0, // _4
1659 0, // _8
1660 0, // _C
1661 0, // _10
1662 0, // _14
1663 },
1664};
1665
1667 const char *name;
1668
1669 u32 offset1;
1670 u32 offset2;
1671 u32 offset3;
1672};
1673
1674SoundSwapList soundswaplist[1] = {{"", 0, 0, 0}};
1675
1676void Mario::initSound()
1677{
1678 unsigned long length = initSoundTable(soundlist, 0);
1679 _96C = new HashSortTable(length);
1680 for (unsigned long i = 0; i < length; i++) {
1681 _96C->add(soundlist[i].name, i, false);
1682 }
1683 _96C->sort();
1684 _970 = 0;
1685}
1686
1688 u32 offset;
1689 u8 padding[12];
1690};
1691
1692u32 Mario::initSoundTable(SoundList *list, u32 globalTablePosition)
1693{
1694 OffsetView *currswap = (OffsetView *)((u32 *)soundswaplist + globalTablePosition);
1695 SoundList *pos = list;
1696 int i = 0;
1697 while (true) {
1698 pos = list + i;
1699 if (pos->name[0] == '\0') {
1700 break;
1701 }
1702 pos->_10 = 0;
1703 pos->_14 = pos->_4;
1704 if (globalTablePosition > 0) {
1705 int j = 0;
1706 while (true) {
1707 if (soundswaplist[j].name[0] == '\0') {
1708 break;
1709 }
1710 if (strcmp(pos->name, soundswaplist[j].name) == 0) {
1711 if (currswap[j].offset != 0) {
1712 pos->_14 = currswap[j].offset;
1713 }
1714 break;
1715 }
1716 j++;
1717 }
1718 }
1719 i++;
1720 }
1721 return i;
1722}