Improve LayerStruct

This commit is contained in:
octorock
2022-03-05 11:43:58 +01:00
parent d18fed1fb9
commit d6bbbf2db6
67 changed files with 720 additions and 1213 deletions
+1
View File
@@ -506,6 +506,7 @@ extern u8 gManagerCount;
/** @name Tile Macros */ /// @{
#define TILE(x, y) (((((x)-gRoomControls.origin_x) >> 4) & 0x3F) | ((((y)-gRoomControls.origin_y) >> 4) & 0x3F) << 6)
#define TILE_POS(x, y) (x + (y << 6))
#define COORD_TO_TILE(entity) TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI)
#define COORD_TO_TILE_OFFSET(entity, xOff, yOff) TILE((entity)->x.HALF.HI - (xOff), (entity)->y.HALF.HI - (yOff))
/// @}
+1 -1
View File
@@ -53,7 +53,7 @@ typedef struct {
/*0x08*/ s8 saveStatus[3];
/*0x0b*/ SaveFile saves[3];
} struct_02019EE0;
extern struct_02019EE0 gUnk_02019EE0;
extern struct_02019EE0 gMapDataBottomSpecial;
// TODO size: 0x8000 from ClearTilemaps?
extern void sub_08056FEC(u32, struct_020227E8*);
+1 -1
View File
@@ -214,7 +214,7 @@ extern void sub_0807ACCC(Entity*);
extern u32 sub_0807B014();
extern void sub_0807B0C8(void);
extern void sub_0807B7D8(u32, u32, u32);
extern void sub_0807B9B8(s32, s32, s32);
extern void sub_0807B9B8(u32, u32, u32);
extern void sub_0807BA8C(u32, u32);
extern void sub_0807BB68(s16*, u32, u32);
extern bool32 sub_0807BD14(Entity*, u32);
+2 -2
View File
@@ -82,8 +82,8 @@ typedef struct {
} UI;
static_assert(sizeof(UI) == 0x3b4);
extern Main gMain; /**< Main instance. */
extern UI gUnk_02032EC0; /**< UI instance. */
extern Main gMain; /**< Main instance. */
extern UI gUI; /**< UI instance. */
/**
* Program entry point.
+3 -2
View File
@@ -137,7 +137,7 @@ typedef struct {
u16 unk_06;
} DiggingCaveEntrance;
extern struct {
typedef struct {
DiggingCaveEntrance* unk_00;
u16 unk_04;
u16 unk_06;
@@ -145,7 +145,8 @@ extern struct {
u8 unk_09;
u8 unk_0a;
u8 unk_0b;
} gUnk_03004030;
} struct_03004030;
extern struct_03004030 gUnk_03004030;
extern DiggingCaveEntrance* diggingCaveEntrances[];
+8 -8
View File
@@ -4,14 +4,14 @@
#include "global.h"
typedef struct {
u16* bgControlPtr; // Points to the BgSettings.control field for the bg belonging to this layer?
u16 _4[0x1000]; // tilemap data? <-- gMapDataTop / gMapDataBottom
u8 _2004[0x1000]; // more tilemap data? <-- gUnk_0200D654 / gUnk_02027EB4
u8 _3004[0x1000]; // more tilemap data? <-- gUnk_0200E654 / gUnk_02028EB4
u8 _4004[0x1000]; // gMetatileTypesTop, gMetatileTypesBottom
s16 _5004[0x500]; // gUnk_02011654,gUnk_0202BEB4
// Maybe even include here gMetatilesTop, gUnk_02016654 ?
// gMetatilesBottom, gUnk_02030EB4
/*0x0000*/ u16* bgControlPtr; // Points to the BgSettings.control field for the bg belonging to this layer?
/*0x0004*/ u16 mapData[0x1000]; // tilemap data? <-- gMapDataTop / gMapDataBottom
/*0x2004*/ u8 collisionData[0x1000]; // more tilemap data? <-- gUnk_0200D654 / gUnk_02027EB4
/*0x3004*/ u16 mapDataClone[0x1000]; // more tilemap data? <-- gUnk_0200E654 / gUnk_02028EB4
/*0x5004*/ u16 metatileTypes[0x800]; // gMetatileTypesTop, gMetatileTypesBottom
/*0x6004*/ u16 unkData2[0x800]; // gUnk_02011654,gUnk_0202BEB4
/*0x7004*/ u16 metatiles[0x2000]; // gMetatilesTop, gMetatilesBottom
/*0xb004*/ u8 unkData3[0x1000]; // gUnk_02016654, gUnk_02030EB4
} LayerStruct;
extern LayerStruct gMapTop;