Initial public source release

Split reusable rendering and format support into vectorail-core and vectorail-gc.
This commit is contained in:
2026-08-02 17:05:27 +02:00
commit 831d96e562
109 changed files with 20558 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
#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]];