enum STAGE {
STG_INIT = 0, //定義上だけ存在
STG_A1_1,
STG_A1_2,
STG_A1_3,
STG_A2_2,
STG_A2_3,
STG_B1_1,
STG_B1_2,
STG_B1_3,
STG_B2_2,
STG_B2_3,
STG_C1_1,
STG_C1_2,
STG_C1_3,
STG_C2_2,
STG_C2_3,
STG_EX,
STG_A1_CLEAR,
STG_A2_CLEAR,
STG_B1_CLEAR,
STG_B2_CLEAR,
STG_C1_CLEAR,
STG_C2_CLEAR,
STG_EX_CLEAR,
};
struct result {
int score; // スコアを1/10したもの
char stage_no; // ステージID
char score2; // スコアの下一桁、なぜここにあるのかは不明
char name[9]; // 最大8文字、\0終端
char padding; // 常に0、おそらくコンパイラにより付加された物
time_t time; // 32bit unixtime、ここが0だと時間/ステージ/処理落ち率が---になる
char unknown[4]; // 常に0
float slowdown; // 処理落ち率、0.2はそのまま0.2%と表示される
char unknown2[4]; // 常に0
};
struct spell_result {
char name[128]; // 長さ0で????扱い
int no_damage; // 銀メダル
int no_ice; // 金メダル
int unknown; // 不明、到達回数?
int challenge; // 銅メダル
int unknown2; // 不明
int unknown3; // 不明
};
enumやら変数名は適当につけたけど、だいたいこんななはず。
メモリー上の配置は0x0443A5D8、確認してないけどイージーから順に10個ずつ並んでいるんじゃないかな。
スペルの方はルナティックのスコア少し下のほうにあった(正確なアドレスは忘れた)