mirror of
https://github.com/encounter/Petari.git
synced 2026-03-30 11:34:15 -07:00
1723 lines
47 KiB
C++
1723 lines
47 KiB
C++
#include "Game/Player/Mario.hpp"
|
|
#include <cstring>
|
|
|
|
struct SoundList {
|
|
const char *name;
|
|
u32 _4;
|
|
|
|
u32 _8;
|
|
u32 _C;
|
|
|
|
u32 _10;
|
|
u32 _14;
|
|
};
|
|
|
|
SoundList soundlist[206] = {
|
|
{
|
|
"声小ジャンプ", // name
|
|
0x10000, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声中ジャンプ", // name
|
|
0x10001, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声大ジャンプ", // name
|
|
0x10002, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声後ジャンプ", // name
|
|
0x10003, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声幅ジャンプ", // name
|
|
0x10004, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声物ジャンプ", // name
|
|
0x10005, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声高飛び込み", // name
|
|
0x1004f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声尻ドロップ", // name
|
|
0x10007, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声尻ドロップ着地", // name
|
|
0x10032, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声着地停止", // name
|
|
0x10006, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声ステージイン着地", // name
|
|
0x10031, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声小ダメージ", // name
|
|
0x10008, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声大ダメージ", // name
|
|
0x10009, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声最終ダメージ", // name
|
|
0x1000d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声炎ダメージ", // name
|
|
0x10017, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声電気ダメージ", // name
|
|
0x10019, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声電気ダメージ終了", // name
|
|
0x10039, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声倒れ", // name
|
|
0x1000e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声落下死亡", // name
|
|
0x10018, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声しびれ", // name
|
|
0x10008, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声氷ダメージ", // name
|
|
0x1003e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声つぶれダメージ", // name
|
|
0x1004d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声スピン", // name
|
|
0x10033, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声スピンキャンセル", // name
|
|
0x10035, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声パンチ", // name
|
|
0x1000a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声踏み", // name
|
|
0x10034, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声蹴り", // name
|
|
0x1000b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声トルネード", // name
|
|
0x1000c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声壁反射", // name
|
|
0x10013, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声投げ", // name
|
|
0x10010, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声壁押し", // name
|
|
0x1000f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声壁体当たり", // name
|
|
0x10053, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声スピン尻ドロップ", // name
|
|
0x1000a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声軽い力み", // name
|
|
0x10012, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声崖つかまり", // name
|
|
0x10041, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声崖つかまり終了", // name
|
|
0x10042, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声炎ダメージ中", // name
|
|
0x1001a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声炎ダメージ終了", // name
|
|
0x1001b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声氷ダメージ終了", // name
|
|
0x1003f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声針ダメージ", // name
|
|
0x10027, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声針ダメージ中", // name
|
|
0x10028, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声針ダメージ終了", // name
|
|
0x10036, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声水中ダメージ", // name
|
|
0x1003b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声水中最終ダメージ", // name
|
|
0x1003c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声冷水ダメージ", // name
|
|
0x10052, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声スケキヨ開始", // name
|
|
0x10043, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声スケキヨ終了", // name
|
|
0x10044, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声足埋まり開始", // name
|
|
0x10045, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声足埋まり終了", // name
|
|
0x10046, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声あくび", // name
|
|
0x1001f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声いびき1", // name
|
|
0x10020, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声いびき2", // name
|
|
0x10021, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声噴水ジャンプ", // name
|
|
0x10025, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声ランニングキック", // name
|
|
0x1000b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声砂脱出", // name
|
|
0x1000f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声投げられ", // name
|
|
0x10026, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声慌て", // name
|
|
0x10025, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声しゃがむ", // name
|
|
0x1004e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声砂沈み", // name
|
|
0x10050, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声砂沈み死亡", // name
|
|
0x10051, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声沼沈み", // name
|
|
0x10050, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"声沼沈み死亡", // name
|
|
0x10051, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"足音左", // name
|
|
0x20025, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"足音右", // name
|
|
0x20026, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ジャンプ踏切", // name
|
|
0x20029, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c98eb, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"着地", // name
|
|
0x2002a, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c98ff, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"重い着地", // name
|
|
0x20038, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"掴み", // name
|
|
0x20003, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ぶらさがり", // name
|
|
0x2002b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"尻ドロップ回転", // name
|
|
0x20005, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"尻ドロップ着地", // name
|
|
0x20006, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c98ff, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スピン尻ドロップ回転", // name
|
|
0x20087, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スピン尻ドロップ落下", // name
|
|
0x20088, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"中ジャンプ", // name
|
|
0x20007, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"大ジャンプ", // name
|
|
0x20008, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"後ジャンプ", // name
|
|
0x20009, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"幅ジャンプ", // name
|
|
0x2000a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"トルネードジャンプ", // name
|
|
0x2000e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スピンジャンプ", // name
|
|
0x2002c, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c98eb, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"トランポリンジャンプ小", // name
|
|
0x50187, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"トランポリンジャンプ大", // name
|
|
0x50188, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スリップアップ", // name
|
|
0x2000c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ダメージ", // name
|
|
0x20010, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"炎ダメージ", // name
|
|
0x20021, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"針ダメージ", // name
|
|
0x20082, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"電気ダメージ", // name
|
|
0x2002f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"壁反射", // name
|
|
0x20033, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"プレスダメージ", // name
|
|
0x20016, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"氷ダメージ", // name
|
|
0x20075, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"倒れ", // name
|
|
0x20013, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c9a48, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"吹っ飛び倒れ", // name
|
|
0x20017, // 0x4
|
|
0x4000000, // 0x8
|
|
0x805c98ff, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"坂滑り", // name
|
|
0x20023, // 0x4
|
|
0x9000000, // 0x8
|
|
0x805c9a67, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ルイージ滑り", // name
|
|
0x20099, // 0x4
|
|
0x9000000, // 0x8
|
|
0x805c9a67, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"パンチ風切り", // name
|
|
0x2001e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"炎ダメージ復帰バウンド", // name
|
|
0x20035, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"炎ダメージ炎上中", // name
|
|
0x20034, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"氷ダメージ終了", // name
|
|
0x20076, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"引き戻し基本", // name
|
|
0x20036, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"引き戻し浮遊", // name
|
|
0x20037, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"引き戻し泡破裂", // name
|
|
0x50087, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"はねとばされ", // name
|
|
0x2001a, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"結界ヒット", // name
|
|
0x20069, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"壁衝突", // name
|
|
0x20085, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"投げられ", // name
|
|
0x20086, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ヘリコプタージャンプ", // name
|
|
0x2001b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"滞空開始", // name
|
|
0x2001c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"滞空中", // name
|
|
0x2001d, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ホッパー跳ね返り", // name
|
|
0x20052, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ホッパージャンプ溜め", // name
|
|
0x20053, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ホッパージャンプ", // name
|
|
0x20054, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ浮遊", // name
|
|
0x20061, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ踏ん張り", // name
|
|
0x20024, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ壁反射", // name
|
|
0x20062, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ消える", // name
|
|
0x2006a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ現れる", // name
|
|
0x2006b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"テレサ風に乗る", // name
|
|
0x2007c, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ飛行中", // name
|
|
0x20063, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケキヨ開始", // name
|
|
0x20057, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケキヨ終了", // name
|
|
0x20059, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケキヨ終了スピン", // name
|
|
0x20083, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケート足", // name
|
|
0x20064, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケート滑り", // name
|
|
0x20065, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケートジャンプ", // name
|
|
0x20066, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケート着地", // name
|
|
0x20067, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スケートスピン", // name
|
|
0x20068, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ壁くっつき", // name
|
|
0x2006d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ壁歩き左", // name
|
|
0x2006e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ壁歩き右", // name
|
|
0x2006f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ壁ジャンプ", // name
|
|
0x20070, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"砂沈み", // name
|
|
0x20077, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"砂脱出", // name
|
|
0x20078, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"砂強制沈み", // name
|
|
0x2007a, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"砂死亡", // name
|
|
0x20079, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"沼強制沈み", // name
|
|
0x2007d, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"沼死亡", // name
|
|
0x2007e, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"毒沼脱出", // name
|
|
0x20096, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"毒沼ダメージ", // name
|
|
0x20097, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ダークマター沈み", // name
|
|
0x20095, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"惑星貫通中", // name
|
|
0x20080, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"惑星貫通終了", // name
|
|
0x20081, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"フー滞空中", // name
|
|
0x2008a, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"フー加速", // name
|
|
0x2008b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"フー飛行中", // name
|
|
0x2008c, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"フーブレーキ", // name
|
|
0x2008d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ワープポッド入り", // name
|
|
0x20092, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ワープポッド出", // name
|
|
0x20093, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ワープポッド移動", // name
|
|
0x20094, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スペシャルダッシュ強", // name
|
|
0x2009b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スペシャルダッシュ弱", // name
|
|
0x2009c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ダッシュ加速強成功", // name
|
|
0x42, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ブラックホール吸い込まれ", // name
|
|
0x20031, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水歩行突入", // name
|
|
0x2003b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水歩行脱出", // name
|
|
0x2003c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面ウエイト", // name
|
|
0x2003d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中ウエイト", // name
|
|
0x2003e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水落下突入", // name
|
|
0x2003f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水ジャンプ脱出", // name
|
|
0x20040, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面一掻き", // name
|
|
0x20041, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中一掻き", // name
|
|
0x20042, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面バタ足", // name
|
|
0x20043, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中バタ足", // name
|
|
0x20044, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面潜り", // name
|
|
0x20045, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中潜り", // name
|
|
0x20046, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面スピン開始", // name
|
|
0x20047, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面スピン", // name
|
|
0x20048, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中スピン開始", // name
|
|
0x20049, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中スピン", // name
|
|
0x2004a, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面ダメージ", // name
|
|
0x2004b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中ダメージ", // name
|
|
0x2004c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"亀ジェット泳ぎ", // name
|
|
0x5005b, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水底接触", // name
|
|
0x20001, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"亀壁ヒット", // name
|
|
0x5005e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"亀ブレーキ", // name
|
|
0x2008e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"亀加速", // name
|
|
0x2008f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね左足", // name
|
|
0x2005a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね右足", // name
|
|
0x2005b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね左足小", // name
|
|
0x2005c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね右足小", // name
|
|
0x2005d, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ねジャンプ", // name
|
|
0x2005e, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね着地", // name
|
|
0x2005f, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水跳ね手", // name
|
|
0x20060, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水弾かれ", // name
|
|
0x2006c, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面滑り", // name
|
|
0x20089, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"トルネード風", // name
|
|
0x2000d, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スリップ", // name
|
|
0x2000b, // 0x4
|
|
0x9000000, // 0x8
|
|
0x805c9a67, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"最後の一撃", // name
|
|
0x20012, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"空中ふんばり", // name
|
|
0x20024, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スピン許可", // name
|
|
0x2007b, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"スピン回復終了", // name
|
|
0x2009a, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"トルネード飛行", // name
|
|
0x20091, // 0x4
|
|
0x1000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ライフ警告", // name
|
|
0x5, // 0x4
|
|
0x3000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ライフ回復", // name
|
|
0x6, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水中ライフ減少", // name
|
|
0x40, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"酸素減少警告", // name
|
|
0x3d, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"無酸素警告", // name
|
|
0x3e, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"酸素回復", // name
|
|
0x37, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"酸素完全回復", // name
|
|
0x38, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面酸素回復", // name
|
|
0x49, // 0x4
|
|
0x3000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"水面酸素完全回復", // name
|
|
0x4a, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"無酸素ダメージ", // name
|
|
0x39, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ体力回復", // name
|
|
0x3a, // 0x4
|
|
0x3000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ体力完全回復", // name
|
|
0x3b, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"ハチ体力切れ", // name
|
|
0x3c, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"変身解除", // name
|
|
0x10, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"呪い解除", // name
|
|
0x5a, // 0x4
|
|
0x2000000, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
{
|
|
"", // name
|
|
0, // 0x4
|
|
0, // 0x8
|
|
0, // 0xC
|
|
0, // 0x10
|
|
0, // 0x14
|
|
},
|
|
};
|
|
|
|
struct SoundSwapList {
|
|
const char *name;
|
|
|
|
u32 offset1;
|
|
u32 offset2;
|
|
u32 offset3;
|
|
};
|
|
|
|
SoundSwapList soundswaplist[1] = {{"", 0, 0, 0}};
|
|
|
|
void Mario::initSound()
|
|
{
|
|
unsigned long length = initSoundTable(soundlist, 0);
|
|
_96C = new HashSortTable(length);
|
|
for (unsigned long i = 0; i < length; i++) {
|
|
_96C->add(soundlist[i].name, i, false);
|
|
}
|
|
_96C->sort();
|
|
_970 = 0;
|
|
}
|
|
|
|
struct OffsetView {
|
|
u32 offset;
|
|
u8 padding[12];
|
|
};
|
|
|
|
u32 Mario::initSoundTable(SoundList *list, u32 globalTablePosition)
|
|
{
|
|
OffsetView *currswap = (OffsetView *)((u32 *)soundswaplist + globalTablePosition);
|
|
SoundList *pos = list;
|
|
int i = 0;
|
|
while (true) {
|
|
pos = list + i;
|
|
if (pos->name[0] == '\0') {
|
|
break;
|
|
}
|
|
pos->_10 = 0;
|
|
pos->_14 = pos->_4;
|
|
if (globalTablePosition > 0) {
|
|
int j = 0;
|
|
while (true) {
|
|
if (soundswaplist[j].name[0] == '\0') {
|
|
break;
|
|
}
|
|
if (strcmp(pos->name, soundswaplist[j].name) == 0) {
|
|
if (currswap[j].offset != 0) {
|
|
pos->_14 = currswap[j].offset;
|
|
}
|
|
break;
|
|
}
|
|
j++;
|
|
}
|
|
}
|
|
i++;
|
|
}
|
|
return i;
|
|
}
|