Label border dimension fields
This commit is contained in:
@@ -43,8 +43,8 @@ struct MapLayout
|
|||||||
/*0x0c*/ u16 *map;
|
/*0x0c*/ u16 *map;
|
||||||
/*0x10*/ struct Tileset *primaryTileset;
|
/*0x10*/ struct Tileset *primaryTileset;
|
||||||
/*0x14*/ struct Tileset *secondaryTileset;
|
/*0x14*/ struct Tileset *secondaryTileset;
|
||||||
/*0x18*/ u8 unk18;
|
/*0x18*/ u8 borderWidth;
|
||||||
/*0x19*/ u8 unk19;
|
/*0x19*/ u8 borderHeight;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BackupMapLayout
|
struct BackupMapLayout
|
||||||
|
|||||||
+35
-35
@@ -365,43 +365,43 @@ union Block
|
|||||||
u16 value;
|
u16 value;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MapGridGetBorderTileAt(x, y) ({ \
|
#define MapGridGetBorderTileAt(x, y) ({ \
|
||||||
u16 block; \
|
u16 block; \
|
||||||
s32 xprime; \
|
s32 xprime; \
|
||||||
s32 yprime; \
|
s32 yprime; \
|
||||||
\
|
\
|
||||||
struct MapLayout *mapLayout = gMapHeader.mapLayout; \
|
struct MapLayout *mapLayout = gMapHeader.mapLayout; \
|
||||||
\
|
\
|
||||||
xprime = x - 7; \
|
xprime = x - 7; \
|
||||||
xprime += 8 * mapLayout->unk18; \
|
xprime += 8 * mapLayout->borderWidth; \
|
||||||
xprime %= mapLayout->unk18; \
|
xprime %= mapLayout->borderWidth; \
|
||||||
\
|
\
|
||||||
yprime = y - 7; \
|
yprime = y - 7; \
|
||||||
yprime += 8 * mapLayout->unk19; \
|
yprime += 8 * mapLayout->borderHeight; \
|
||||||
yprime %= mapLayout->unk19; \
|
yprime %= mapLayout->borderHeight; \
|
||||||
\
|
\
|
||||||
block = mapLayout->border[xprime + yprime * mapLayout->unk18]; \
|
block = mapLayout->border[xprime + yprime * mapLayout->borderWidth]; \
|
||||||
block |= 0xC00; \
|
block |= METATILE_COLLISION_MASK; \
|
||||||
block; \
|
block; \
|
||||||
})
|
})
|
||||||
|
|
||||||
#define MapGridGetBorderTileAt2(x, y) ({ \
|
#define MapGridGetBorderTileAt2(x, y) ({ \
|
||||||
u16 block; \
|
u16 block; \
|
||||||
s32 xprime; \
|
s32 xprime; \
|
||||||
s32 yprime; \
|
s32 yprime; \
|
||||||
\
|
\
|
||||||
struct MapLayout *mapLayout = gMapHeader.mapLayout; \
|
struct MapLayout *mapLayout = gMapHeader.mapLayout; \
|
||||||
\
|
\
|
||||||
xprime = x - 7; \
|
xprime = x - 7; \
|
||||||
xprime += 8 * mapLayout->unk18; \
|
xprime += 8 * mapLayout->borderWidth; \
|
||||||
xprime %= mapLayout->unk18; \
|
xprime %= mapLayout->borderWidth; \
|
||||||
\
|
\
|
||||||
yprime = y - 7; \
|
yprime = y - 7; \
|
||||||
yprime += 8 * mapLayout->unk19; \
|
yprime += 8 * mapLayout->borderHeight; \
|
||||||
yprime %= mapLayout->unk19; \
|
yprime %= mapLayout->borderHeight; \
|
||||||
\
|
\
|
||||||
block = mapLayout->border[xprime + yprime * mapLayout->unk18] | 0xC00; \
|
block = mapLayout->border[xprime + yprime * mapLayout->borderWidth] | METATILE_COLLISION_MASK; \
|
||||||
block; \
|
block; \
|
||||||
})
|
})
|
||||||
|
|
||||||
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize)
|
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize)
|
||||||
|
|||||||
Reference in New Issue
Block a user