summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/global.fieldmap.h4
-rw-r--r--src/fieldmap.c55
2 files changed, 19 insertions, 40 deletions
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 514bebb95..6e92ddd06 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -43,8 +43,8 @@ struct MapLayout
/*0x0c*/ u16 *map;
/*0x10*/ struct Tileset *primaryTileset;
/*0x14*/ struct Tileset *secondaryTileset;
- /*0x18*/ u8 unk18;
- /*0x19*/ u8 unk19;
+ /*0x18*/ u8 borderWidth;
+ /*0x19*/ u8 borderHeight;
};
struct BackupMapLayout
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 3d308f165..8b0beef34 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -365,48 +365,27 @@ union Block
u16 value;
};
-#define MapGridGetBorderTileAt(x, y) ({ \
- u16 block; \
- s32 xprime; \
- s32 yprime; \
- \
- struct MapLayout *mapLayout = gMapHeader.mapLayout; \
- \
- xprime = x - 7; \
- xprime += 8 * mapLayout->unk18; \
- xprime %= mapLayout->unk18; \
- \
- yprime = y - 7; \
- yprime += 8 * mapLayout->unk19; \
- yprime %= mapLayout->unk19; \
- \
- block = mapLayout->border[xprime + yprime * mapLayout->unk18]; \
- block |= 0xC00; \
- block; \
-})
-
-#define MapGridGetBorderTileAt2(x, y) ({ \
- u16 block; \
- s32 xprime; \
- s32 yprime; \
- \
- struct MapLayout *mapLayout = gMapHeader.mapLayout; \
- \
- xprime = x - 7; \
- xprime += 8 * mapLayout->unk18; \
- xprime %= mapLayout->unk18; \
- \
- yprime = y - 7; \
- yprime += 8 * mapLayout->unk19; \
- yprime %= mapLayout->unk19; \
- \
- block = mapLayout->border[xprime + yprime * mapLayout->unk18] | 0xC00; \
- block; \
+#define MapGridGetBorderTileAt(x, y) ({ \
+ u16 block; \
+ s32 xprime; \
+ s32 yprime; \
+ \
+ struct MapLayout *mapLayout = gMapHeader.mapLayout; \
+ \
+ xprime = x - 7; \
+ xprime += 8 * mapLayout->borderWidth; \
+ xprime %= mapLayout->borderWidth; \
+ \
+ yprime = y - 7; \
+ yprime += 8 * mapLayout->borderHeight; \
+ yprime %= mapLayout->borderHeight; \
+ \
+ block = mapLayout->border[xprime + yprime * mapLayout->borderWidth] | METATILE_COLLISION_MASK; \
})
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < VMap.Xsize && y >= 0 && y < VMap.Ysize)
-#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? VMap.map[x + VMap.Xsize * y] : MapGridGetBorderTileAt2(x, y))
+#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? VMap.map[x + VMap.Xsize * y] : MapGridGetBorderTileAt(x, y))
u8 MapGridGetZCoordAt(s32 x, s32 y)
{