1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-11 01:10:33 +00:00

commit to naming things

This commit is contained in:
Dragorn421 2022-06-16 18:37:04 +02:00
parent c45bc8ae7a
commit 6ee11e021b
No known key found for this signature in database
GPG key ID: 32B53D2D16FC4118
4 changed files with 121 additions and 117 deletions

View file

@ -61,9 +61,9 @@ typedef struct {
// Mesh headers
typedef enum {
/* 0 */ MESH_HEADER_TYPE_0,
/* 1 */ MESH_HEADER_TYPE_1,
/* 2 */ MESH_HEADER_TYPE_2,
/* 0 */ MESH_HEADER_TYPE_ALL,
/* 1 */ MESH_HEADER_TYPE_PRERENDER,
/* 2 */ MESH_HEADER_TYPE_CULL,
/* 3 */ MESH_HEADER_TYPE_MAX
} MeshHeaderType;
@ -74,28 +74,28 @@ typedef struct {
typedef struct {
/* 0x00 */ Gfx* opa;
/* 0x04 */ Gfx* xlu;
} MeshHeader01Entry; // size = 0x08
} MeshHeaderDListsEntry; // size = 0x08
typedef struct {
/* 0x00 */ MeshHeaderBase base;
/* 0x01 */ u8 numEntries;
/* 0x04 */ MeshHeader01Entry* entries;
/* 0x08 */ MeshHeader01Entry* entriesEnd;
} MeshHeader0; // size = 0x0C
/* 0x04 */ MeshHeaderDListsEntry* entries;
/* 0x08 */ MeshHeaderDListsEntry* entriesEnd;
} MeshHeaderAll; // size = 0x0C
typedef enum {
/* 1 */ MESH_HEADER1_FORMAT_SINGLE = 1,
/* 2 */ MESH_HEADER1_FORMAT_MULTI
} MeshHeader1Format;
/* 1 */ MESH_HEADER_PRERENDER_FORMAT_SINGLE = 1,
/* 2 */ MESH_HEADER_PRERENDER_FORMAT_MULTI
} MeshHeaderPrerenderFormat;
typedef struct {
/* 0x00 */ MeshHeaderBase base;
/* 0x01 */ u8 format; // MeshHeader1Format
/* 0x04 */ MeshHeader01Entry* entry;
} MeshHeader1Base; // size = 0x08
/* 0x01 */ u8 format; // MeshHeaderPrerenderFormat
/* 0x04 */ MeshHeaderDListsEntry* entry;
} MeshHeaderPrerenderBase; // size = 0x08
typedef struct {
/* 0x00 */ MeshHeader1Base base;
/* 0x00 */ MeshHeaderPrerenderBase base;
/* 0x08 */ void* source;
/* 0x0C */ u32 unk_0C;
/* 0x10 */ void* tlut;
@ -105,7 +105,7 @@ typedef struct {
/* 0x19 */ u8 siz;
/* 0x1A */ u16 tlutMode;
/* 0x1C */ u16 tlutCount;
} MeshHeader1Single; // size = 0x20
} MeshHeaderPrerenderSingle; // size = 0x20
typedef struct {
/* 0x00 */ u16 unk_00;
@ -122,41 +122,43 @@ typedef struct {
} BgImage; // size = 0x1C
typedef struct {
/* 0x00 */ MeshHeader1Base base;
/* 0x00 */ MeshHeaderPrerenderBase base;
/* 0x08 */ u8 count;
/* 0x0C */ BgImage* list;
} MeshHeader1Multi; // size = 0x10
} MeshHeaderPrerenderMulti; // size = 0x10
typedef struct {
/* 0x00 */ Vec3s pos;
/* 0x06 */ s16 radius;
/* 0x08 */ Gfx* opa;
/* 0x0C */ Gfx* xlu;
} MeshHeader2Entry; // size = 0x10
} MeshHeaderCullEntry; // size = 0x10
#define MESH_HEADER2_MAX_ENTRIES 64
#define MESH_HEADER_CULL_MAX_ENTRIES 64
typedef struct {
/* 0x00 */ MeshHeaderBase base;
/* 0x01 */ u8 numEntries;
/* 0x04 */ MeshHeader2Entry* entries;
/* 0x08 */ MeshHeader2Entry* entriesEnd;
} MeshHeader2; // size = 0x0C
/* 0x04 */ MeshHeaderCullEntry* entries;
/* 0x08 */ MeshHeaderCullEntry* entriesEnd;
} MeshHeaderCull; // size = 0x0C
typedef union {
MeshHeaderBase base;
MeshHeader0 meshHeader0;
MeshHeader1Base meshHeader1Base;
MeshHeader1Single meshHeader1Single;
MeshHeader1Multi meshHeader1Multi;
MeshHeader2 meshHeader2;
MeshHeaderAll all;
MeshHeaderPrerenderBase prerenderBase;
MeshHeaderPrerenderSingle prerenderSingle;
MeshHeaderPrerenderMulti prerenderMulti;
MeshHeaderCull cull;
} MeshHeader; // "Ground Shape"
// TODO update ZAPD
typedef MeshHeader01Entry PolygonDlist;
typedef MeshHeader0 PolygonType0;
typedef MeshHeader2Entry PolygonDlist2;
typedef MeshHeader2 PolygonType2;
typedef MeshHeaderDListsEntry PolygonDlist;
typedef MeshHeaderAll PolygonType0;
typedef MeshHeaderPrerenderSingle MeshHeader1Single;
typedef MeshHeaderPrerenderMulti MeshHeader1Multi;
typedef MeshHeaderCullEntry PolygonDlist2;
typedef MeshHeaderCull PolygonType2;
#define ROOM_DRAW_OPA (1 << 0)
#define ROOM_DRAW_XLU (1 << 1)