48 lines
961 B
Plaintext
48 lines
961 B
Plaintext
#pragma endian big
|
|
import std.io;
|
|
import std.string;
|
|
|
|
using string = std::string::SizedString<u8> [[format("string_formatter")]];
|
|
fn string_formatter(ref string s) {
|
|
return std::format("\"{:s}\"", s);
|
|
};
|
|
|
|
enum Version : u8 {
|
|
GC1 = 1,
|
|
GC1EX = 2,
|
|
GC2 = 3,
|
|
GC3 = 4,
|
|
GC4 = 5,
|
|
};
|
|
|
|
Version PARSE_VER = Version::GC4;
|
|
|
|
struct Player {
|
|
u32 id;
|
|
string texture; // /data/2d_boost/avatar/<name>.dds
|
|
string unk2;
|
|
string unk3;
|
|
string unk4;
|
|
string unk5;
|
|
string unk6;
|
|
string unk7;
|
|
u8 unk8;
|
|
string unk9; // /data/model/<name> - pngs only
|
|
string unk10; // /data/model/<name> - uvb/tumo files
|
|
string unk11; // /data/model/<name> - tusc/efcb2 files
|
|
u32 unk12;
|
|
u32 unk13;
|
|
u8 unk14;
|
|
u32 unk15;
|
|
u32 unk16;
|
|
u32 unk17;
|
|
u32 unk18;
|
|
u8 unk19;
|
|
string descriptionJP;
|
|
string descriptionEN;
|
|
u32 unk22;
|
|
};
|
|
|
|
u16 playerCount @ 0x00;
|
|
Player players[playerCount] @ 0x02 [[inline]];
|