diff options
author | melody <melody@pallet.town> | 2018-11-13 23:38:42 -0500 |
---|---|---|
committer | melody <melody@pallet.town> | 2018-11-14 00:10:54 -0500 |
commit | 5989a8a4616601db97333ea65694bd927d800ddc (patch) | |
tree | b988fbe6f5fe2696cfbbf0a24aba4f1abdce3b24 | |
parent | 648885b00a82141c42c1ab0af38b0a089e2814c2 (diff) |
Brings in surfable tile data structure
-rw-r--r-- | data/metatile_behavior.s | 2 | ||||
-rw-r--r-- | include/constants/metatile_behaviors.h | 1 | ||||
-rw-r--r-- | include/metatile_behavior.h | 1 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/metatile_behavior.c | 18 |
5 files changed, 18 insertions, 5 deletions
diff --git a/data/metatile_behavior.s b/data/metatile_behavior.s index b366baa15..64d88840d 100644 --- a/data/metatile_behavior.s +++ b/data/metatile_behavior.s @@ -1,8 +1,6 @@ .section .rodata .align 2 -sTileBitAttributes:: @ 8352F78 - .incbin "baserom.gba", 0x352F78, 0xF0 gUnknown_8353068:: @ 8353068 .incbin "baserom.gba", 0x353068, 0x8420 diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 11a429953..0ceeda33f 100644 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -1,6 +1,7 @@ #ifndef GUARD_METATILE_BEHAVIORS #define GUARD_METATILE_BEHAVIORS +#define METATILE_COUNT 0xF0 #define MB_NORMAL 0x00 #define MB_01 0x01 #define MB_TALL_GRASS 0x02 diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index bcaca7969..c81e743c7 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -149,7 +149,6 @@ bool8 MetatileBehavior_IsImpressiveMachine(u8 metatileBehavior); bool8 MetatileBehavior_IsVideoGame(u8 metatileBehavior); bool8 MetatileBehavior_IsBurglary(u8 metatileBehavior); bool8 MetatileBehavior_IsMBA3(u8 metatileBehavior); -extern u8 sTileBitAttributes[]; extern u8 gUnknown_8353068[]; #endif // GUARD_METATILE_BEHAVIOR diff --git a/ld_script.txt b/ld_script.txt index fd9360f96..40f9f25f2 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -364,6 +364,7 @@ SECTIONS { src/bg_regs.o(.rodata); src/string_util.o(.rodata); data/data.o(.rodata); + src/metatile_behavior.o(.rodata); data/metatile_behavior.o(.rodata); data/data_835B488.o(.rodata); src/battle_ai_script_commands.o(.rodata); diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 71dcf15fe..cc9b7c023 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -2,6 +2,20 @@ #include "metatile_behavior.h" #include "constants/metatile_behaviors.h" +static const bool8 sTileSurfable[METATILE_COUNT] = { + [MB_POND_WATER] = TRUE, + [MB_SEMI_DEEP_WATER] = TRUE, + [MB_DEEP_WATER] = TRUE, + [MB_WATERFALL] = TRUE, + [MB_SPLASHING_WATER] = TRUE, + [MB_1A] = TRUE, + [MB_1B] = TRUE, + [MB_EASTWARD_CURRENT] = TRUE, + [MB_WESTWARD_CURRENT] = TRUE, + [MB_NORTHWARD_CURRENT] = TRUE, + [MB_SOUTHWARD_CURRENT] = TRUE +}; + bool8 MetatileBehavior_UnusedReturnTrue(u8 metatileBehavior) { return TRUE; @@ -181,7 +195,7 @@ bool8 MetatileBehavior_ReturnFalse_2(u8 metatileBehavior) { return FALSE; } bool8 MetatileBehavior_IsSurfable(u8 metatileBehavior) { - if(sTileBitAttributes[metatileBehavior] & 1) + if(sTileSurfable[metatileBehavior] & 1) return TRUE; else return FALSE; @@ -501,7 +515,7 @@ bool8 MetatileBehavior_IsDeepSemiDeepOrSplashingWater(u8 metatileBehavior) return FALSE; } -bool8 MetatileBehavior_IsMB1A(u8 metatileBehavior) +bool8 MetatileBehavior_UnusedIsMB1A(u8 metatileBehavior) { if(metatileBehavior == MB_1A) return TRUE; |