Skip to content

Instantly share code, notes, and snippets.

@Kein
Forked from Warpten/BMSSD.bt
Last active October 29, 2021 16:29
Show Gist options
  • Save Kein/e0c2db88a57cc8169f053a327858e353 to your computer and use it in GitHub Desktop.
Save Kein/e0c2db88a57cc8169f053a327858e353 to your computer and use it in GitHub Desktop.
Readability
//---------------------------------------
// Authors: Warpten
// Version: 0.2
// Purpose: Metroid Dread BMSSD
// Category: Metroid Dread
// File Mask:
// ID Bytes:
// History: 0.1 - Initial Version
// 0.2 - readability
//---------------------------------------
// sub_7100200044 in 1.0.0
char magic[4]; // MSSD
int unk0;
struct {
int pcount <hidden=true>;
struct {
string model_name <comment="bcmdl">;
char byte0;
char byte1;
char byte2;
int int3;
char byte4;
float vPos[3];
float vRot[3];
float vScale[3];
} model[pcount] <optimize=false>;
} ModelParts <comment=pcount>;
// Objects instances
struct {
int ocount <hidden=true>;
struct {
string object_name <comment="objects/">;;
int instances;
local int i;
for (i = 0; i < instances; ++i) {
struct {
float vPos[3];
float vRot[3];
float vScale[3];
} transform;
}
} object[ocount] <optimize=false>;
} Objects <comment=ocount>;
// Camera data?
char unknown[12]; // ALWAYS 12 zeroes in EVERY .BMSSD
struct {
int ccount <hidden=true>;
struct {
string zone_name;
int int2;
int count;
local int i;
for (i = 0; i < count; ++i) {
struct {
int int1;
int int2;
int64 long3[int2];
} struct4;
}
} camera[ccount] <optimize=false>;
} CameraData <comment=ccount>;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment