summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <YamaArashi@users.noreply.github.com>2016-12-17 00:56:37 -0800
committerGitHub <noreply@github.com>2016-12-17 00:56:37 -0800
commitce446803cc4f3a4d03d03c332225a77558b7f6d5 (patch)
tree79380b6fb954c1d84ce050eea0a7d8e3acad16e7
parent1d5641f054a69f24ad0ea22232a20d4e70d5cb31 (diff)
parent316f959d20bd4d5e401e2c2d0cfd754c5a4b0f72 (diff)
Merge pull request #132 from TwitchPlaysPokemon/master
decompile metatile_behavior.c
-rw-r--r--asm/metatile_behavior.s2345
-rw-r--r--ld_script.txt2
-rw-r--r--src/metatile_behavior.c1065
3 files changed, 1066 insertions, 2346 deletions
diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s
deleted file mode 100644
index f81e3c0d4..000000000
--- a/asm/metatile_behavior.s
+++ /dev/null
@@ -1,2345 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8056D9C
-sub_8056D9C: @ 8056D9C
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8056D9C
-
- thumb_func_start sub_8056DA0
-sub_8056DA0: @ 8056DA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08056DB8 @ =gUnknown_08308E2C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08056DBC
- movs r0, 0
- b _08056DBE
- .align 2, 0
-_08056DB8: .4byte gUnknown_08308E2C
-_08056DBC:
- movs r0, 0x1
-_08056DBE:
- pop {r1}
- bx r1
- thumb_func_end sub_8056DA0
-
- thumb_func_start MetatileBehavior_IsJumpEast
-MetatileBehavior_IsJumpEast: @ 8056DC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x38
- beq _08056DD2
- movs r0, 0
- b _08056DD4
-_08056DD2:
- movs r0, 0x1
-_08056DD4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpEast
-
- thumb_func_start MetatileBehavior_IsJumpWest
-MetatileBehavior_IsJumpWest: @ 8056DD8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x39
- beq _08056DE6
- movs r0, 0
- b _08056DE8
-_08056DE6:
- movs r0, 0x1
-_08056DE8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpWest
-
- thumb_func_start MetatileBehavior_IsJumpNorth
-MetatileBehavior_IsJumpNorth: @ 8056DEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3A
- beq _08056DFA
- movs r0, 0
- b _08056DFC
-_08056DFA:
- movs r0, 0x1
-_08056DFC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpNorth
-
- thumb_func_start MetatileBehavior_IsJumpSouth
-MetatileBehavior_IsJumpSouth: @ 8056E00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- beq _08056E0E
- movs r0, 0
- b _08056E10
-_08056E0E:
- movs r0, 0x1
-_08056E10:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpSouth
-
- thumb_func_start sub_8056E14
-sub_8056E14: @ 8056E14
- push {lr}
- lsls r0, 24
- movs r1, 0xFE
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08056E28
- movs r0, 0
- b _08056E2A
-_08056E28:
- movs r0, 0x1
-_08056E2A:
- pop {r1}
- bx r1
- thumb_func_end sub_8056E14
-
- thumb_func_start MetatileBehavior_IsSandOrDeepSand
-MetatileBehavior_IsSandOrDeepSand: @ 8056E30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x21
- beq _08056E3E
- cmp r0, 0x6
- bne _08056E42
-_08056E3E:
- movs r0, 0x1
- b _08056E44
-_08056E42:
- movs r0, 0
-_08056E44:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSandOrDeepSand
-
- thumb_func_start MetatileBehavior_IsDeepSand
-MetatileBehavior_IsDeepSand: @ 8056E48
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08056E56
- movs r0, 0
- b _08056E58
-_08056E56:
- movs r0, 0x1
-_08056E58:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsDeepSand
-
- thumb_func_start MetatileBehavior_IsReflective
-MetatileBehavior_IsReflective: @ 8056E5C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08056E7A
- cmp r0, 0x16
- beq _08056E7A
- cmp r0, 0x1A
- beq _08056E7A
- cmp r0, 0x20
- beq _08056E7A
- cmp r0, 0x14
- beq _08056E7A
- cmp r0, 0x2B
- bne _08056E7E
-_08056E7A:
- movs r0, 0x1
- b _08056E80
-_08056E7E:
- movs r0, 0
-_08056E80:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsReflective
-
- thumb_func_start MetatileBehavior_IsIce
-MetatileBehavior_IsIce: @ 8056E84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _08056E92
- movs r0, 0
- b _08056E94
-_08056E92:
- movs r0, 0x1
-_08056E94:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce
-
- thumb_func_start is_tile_x69_2_warp_door
-is_tile_x69_2_warp_door: @ 8056E98
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x69
- beq _08056EA6
- movs r0, 0
- b _08056EA8
-_08056EA6:
- movs r0, 0x1
-_08056EA8:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x69_2_warp_door
-
- thumb_func_start MetatileBehavior_IsDoor
-MetatileBehavior_IsDoor: @ 8056EAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8D
- beq _08056EBA
- cmp r0, 0x69
- bne _08056EBE
-_08056EBA:
- movs r0, 0x1
- b _08056EC0
-_08056EBE:
- movs r0, 0
-_08056EC0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsDoor
-
- thumb_func_start MetatileBehavior_IsEscalator
-MetatileBehavior_IsEscalator: @ 8056EC4
- push {lr}
- lsls r0, 24
- movs r1, 0x96
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08056ED8
- movs r0, 0
- b _08056EDA
-_08056ED8:
- movs r0, 0x1
-_08056EDA:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEscalator
-
- thumb_func_start unref_sub_8056EE0
-unref_sub_8056EE0: @ 8056EE0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08056EEE
- movs r0, 0
- b _08056EF0
-_08056EEE:
- movs r0, 0x1
-_08056EF0:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8056EE0
-
- thumb_func_start MetatileBehavior_IsLadder
-MetatileBehavior_IsLadder: @ 8056EF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x61
- beq _08056F02
- movs r0, 0
- b _08056F04
-_08056F02:
- movs r0, 0x1
-_08056F04:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLadder
-
- thumb_func_start sub_8056F08
-sub_8056F08: @ 8056F08
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x60
- beq _08056F1A
- cmp r0, 0x6C
- beq _08056F1A
- cmp r0, 0x6E
- bne _08056F1E
-_08056F1A:
- movs r0, 0x1
- b _08056F20
-_08056F1E:
- movs r0, 0
-_08056F20:
- pop {r1}
- bx r1
- thumb_func_end sub_8056F08
-
- thumb_func_start sub_8056F24
-sub_8056F24: @ 8056F24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6E
- beq _08056F32
- movs r0, 0
- b _08056F34
-_08056F32:
- movs r0, 0x1
-_08056F34:
- pop {r1}
- bx r1
- thumb_func_end sub_8056F24
-
- thumb_func_start MetatileBehavior_IsSurfableWaterOrUnderwater
-MetatileBehavior_IsSurfableWaterOrUnderwater: @ 8056F38
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08056F50 @ =gUnknown_08308E2C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08056F54
- movs r0, 0
- b _08056F56
- .align 2, 0
-_08056F50: .4byte gUnknown_08308E2C
-_08056F54:
- movs r0, 0x1
-_08056F56:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableWaterOrUnderwater
-
- thumb_func_start MetatileBehavior_IsEastArrowWarp
-MetatileBehavior_IsEastArrowWarp: @ 8056F5C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x62
- beq _08056F6A
- movs r0, 0
- b _08056F6C
-_08056F6A:
- movs r0, 0x1
-_08056F6C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastArrowWarp
-
- thumb_func_start MetatileBehavior_IsWestArrowWarp
-MetatileBehavior_IsWestArrowWarp: @ 8056F70
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- beq _08056F7E
- movs r0, 0
- b _08056F80
-_08056F7E:
- movs r0, 0x1
-_08056F80:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestArrowWarp
-
- thumb_func_start MetatileBehavior_IsNorthArrowWarp
-MetatileBehavior_IsNorthArrowWarp: @ 8056F84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x64
- beq _08056F92
- cmp r0, 0x1B
- bne _08056F96
-_08056F92:
- movs r0, 0x1
- b _08056F98
-_08056F96:
- movs r0, 0
-_08056F98:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthArrowWarp
-
- thumb_func_start MetatileBehavior_IsSouthArrowWarp
-MetatileBehavior_IsSouthArrowWarp: @ 8056F9C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- beq _08056FAE
- cmp r0, 0x6D
- beq _08056FAE
- cmp r0, 0x1C
- bne _08056FB2
-_08056FAE:
- movs r0, 0x1
- b _08056FB4
-_08056FB2:
- movs r0, 0
-_08056FB4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthArrowWarp
-
- thumb_func_start unref_sub_8056FB8
-unref_sub_8056FB8: @ 8056FB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- adds r0, r4, 0
- bl MetatileBehavior_IsEastArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsWestArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsNorthArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08056FF0
- adds r0, r4, 0
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- cmp r0, 0
- beq _08056FF2
-_08056FF0:
- movs r5, 0x1
-_08056FF2:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8056FB8
-
- thumb_func_start sub_8056FFC
-sub_8056FFC: @ 8056FFC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC0
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x8
- bls _08057032
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057032
- cmp r1, 0xD0
- beq _08057032
- cmp r1, 0xD2
- beq _08057032
- cmp r1, 0x13
- beq _08057032
- cmp r1, 0x20
- beq _08057032
- cmp r1, 0xBB
- beq _08057032
- cmp r1, 0xBC
- bne _08057036
-_08057032:
- movs r0, 0x1
- b _08057038
-_08057036:
- movs r0, 0
-_08057038:
- pop {r1}
- bx r1
- thumb_func_end sub_8056FFC
-
- thumb_func_start MetatileBehavior_IsIce_2
-MetatileBehavior_IsIce_2: @ 805703C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _0805704A
- movs r0, 0
- b _0805704C
-_0805704A:
- movs r0, 0x1
-_0805704C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce_2
-
- thumb_func_start MetatileBehavior_IsTrickHouseSlipperyFloor
-MetatileBehavior_IsTrickHouseSlipperyFloor: @ 8057050
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x48
- beq _0805705E
- movs r0, 0
- b _08057060
-_0805705E:
- movs r0, 0x1
-_08057060:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTrickHouseSlipperyFloor
-
- thumb_func_start MetatileBehavior_0x05
-MetatileBehavior_0x05: @ 8057064
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _08057072
- movs r0, 0
- b _08057074
-_08057072:
- movs r0, 0x1
-_08057074:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0x05
-
- thumb_func_start MetatileBehavior_IsWalkNorth
-MetatileBehavior_IsWalkNorth: @ 8057078
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x42
- beq _08057086
- movs r0, 0
- b _08057088
-_08057086:
- movs r0, 0x1
-_08057088:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkNorth
-
- thumb_func_start MetatileBehavior_IsWalkSouth
-MetatileBehavior_IsWalkSouth: @ 805708C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x43
- beq _0805709A
- movs r0, 0
- b _0805709C
-_0805709A:
- movs r0, 0x1
-_0805709C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkSouth
-
- thumb_func_start MetatileBehavior_IsWalkWest
-MetatileBehavior_IsWalkWest: @ 80570A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x41
- beq _080570AE
- movs r0, 0
- b _080570B0
-_080570AE:
- movs r0, 0x1
-_080570B0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkWest
-
- thumb_func_start MetatileBehavior_IsWalkEast
-MetatileBehavior_IsWalkEast: @ 80570B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080570C2
- movs r0, 0
- b _080570C4
-_080570C2:
- movs r0, 0x1
-_080570C4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkEast
-
- thumb_func_start MetatileBehavior_IsNorthwardCurrent
-MetatileBehavior_IsNorthwardCurrent: @ 80570C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x52
- beq _080570D6
- movs r0, 0
- b _080570D8
-_080570D6:
- movs r0, 0x1
-_080570D8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthwardCurrent
-
- thumb_func_start MetatileBehavior_IsSouthwardCurrent
-MetatileBehavior_IsSouthwardCurrent: @ 80570DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x53
- beq _080570EA
- movs r0, 0
- b _080570EC
-_080570EA:
- movs r0, 0x1
-_080570EC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthwardCurrent
-
- thumb_func_start MetatileBehavior_IsWestwardCurrent
-MetatileBehavior_IsWestwardCurrent: @ 80570F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x51
- beq _080570FE
- movs r0, 0
- b _08057100
-_080570FE:
- movs r0, 0x1
-_08057100:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestwardCurrent
-
- thumb_func_start MetatileBehavior_IsEastwardCurrent
-MetatileBehavior_IsEastwardCurrent: @ 8057104
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x50
- beq _08057112
- movs r0, 0
- b _08057114
-_08057112:
- movs r0, 0x1
-_08057114:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastwardCurrent
-
- thumb_func_start MetatileBehavior_IsSlideNorth
-MetatileBehavior_IsSlideNorth: @ 8057118
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x46
- beq _08057126
- movs r0, 0
- b _08057128
-_08057126:
- movs r0, 0x1
-_08057128:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideNorth
-
- thumb_func_start MetatileBehavior_IsSlideSouth
-MetatileBehavior_IsSlideSouth: @ 805712C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x47
- beq _0805713A
- movs r0, 0
- b _0805713C
-_0805713A:
- movs r0, 0x1
-_0805713C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideSouth
-
- thumb_func_start MetatileBehavior_IsSlideWest
-MetatileBehavior_IsSlideWest: @ 8057140
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x45
- beq _0805714E
- movs r0, 0
- b _08057150
-_0805714E:
- movs r0, 0x1
-_08057150:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideWest
-
- thumb_func_start MetatileBehavior_IsSlideEast
-MetatileBehavior_IsSlideEast: @ 8057154
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x44
- beq _08057162
- movs r0, 0
- b _08057164
-_08057162:
- movs r0, 0x1
-_08057164:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideEast
-
- thumb_func_start MetatileBehavior_IsCounter
-MetatileBehavior_IsCounter: @ 8057168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x80
- beq _08057176
- movs r0, 0
- b _08057178
-_08057176:
- movs r0, 0x1
-_08057178:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsCounter
-
- thumb_func_start MetatileBehavior_IsPlayerFacingTVScreen
-MetatileBehavior_IsPlayerFacingTVScreen: @ 805717C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x2
- bne _0805718E
- cmp r0, 0x86
- beq _08057192
-_0805718E:
- movs r0, 0
- b _08057194
-_08057192:
- movs r0, 0x1
-_08057194:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPlayerFacingTVScreen
-
- thumb_func_start MetatileBehavior_IsPC
-MetatileBehavior_IsPC: @ 8057198
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x83
- beq _080571A6
- movs r0, 0
- b _080571A8
-_080571A6:
- movs r0, 0x1
-_080571A8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPC
-
- thumb_func_start is_tile_x84
-is_tile_x84: @ 80571AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x84
- beq _080571BA
- movs r0, 0
- b _080571BC
-_080571BA:
- movs r0, 0x1
-_080571BC:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x84
-
- thumb_func_start sub_80571C0
-sub_80571C0: @ 80571C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x91
- beq _080571E2
- cmp r0, 0x93
- beq _080571E2
- cmp r0, 0x95
- beq _080571E2
- cmp r0, 0x97
- beq _080571E2
- cmp r0, 0x99
- beq _080571E2
- cmp r0, 0x9B
- beq _080571E2
- cmp r0, 0x9D
- bne _080571E6
-_080571E2:
- movs r0, 0x1
- b _080571E8
-_080571E6:
- movs r0, 0
-_080571E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80571C0
-
- thumb_func_start sub_80571EC
-sub_80571EC: @ 80571EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x90
- beq _08057202
- cmp r0, 0x92
- beq _08057202
- cmp r0, 0x94
- beq _08057202
- cmp r0, 0x9A
- bne _08057206
-_08057202:
- movs r0, 0x1
- b _08057208
-_08057206:
- movs r0, 0
-_08057208:
- pop {r1}
- bx r1
- thumb_func_end sub_80571EC
-
- thumb_func_start sub_805720C
-sub_805720C: @ 805720C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x96
- beq _0805721A
- cmp r0, 0x9C
- bne _0805721E
-_0805721A:
- movs r0, 0x1
- b _08057220
-_0805721E:
- movs r0, 0
-_08057220:
- pop {r1}
- bx r1
- thumb_func_end sub_805720C
-
- thumb_func_start is_tile_x98
-is_tile_x98: @ 8057224
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x98
- beq _08057232
- movs r0, 0
- b _08057234
-_08057232:
- movs r0, 0x1
-_08057234:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x98
-
- thumb_func_start sub_8057238
-sub_8057238: @ 8057238
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB0
- beq _08057246
- movs r0, 0
- b _08057248
-_08057246:
- movs r0, 0x1
-_08057248:
- pop {r1}
- bx r1
- thumb_func_end sub_8057238
-
- thumb_func_start sub_805724C
-sub_805724C: @ 805724C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB1
- beq _0805725A
- movs r0, 0
- b _0805725C
-_0805725A:
- movs r0, 0x1
-_0805725C:
- pop {r1}
- bx r1
- thumb_func_end sub_805724C
-
- thumb_func_start unref_sub_8057260
-unref_sub_8057260: @ 8057260
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _0805726E
- movs r0, 0
- b _08057270
-_0805726E:
- movs r0, 0x1
-_08057270:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8057260
-
- thumb_func_start sub_8057274
-sub_8057274: @ 8057274
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB3
- beq _08057282
- movs r0, 0
- b _08057284
-_08057282:
- movs r0, 0x1
-_08057284:
- pop {r1}
- bx r1
- thumb_func_end sub_8057274
-
- thumb_func_start sub_8057288
-sub_8057288: @ 8057288
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB9
- beq _08057296
- movs r0, 0
- b _08057298
-_08057296:
- movs r0, 0x1
-_08057298:
- pop {r1}
- bx r1
- thumb_func_end sub_8057288
-
- thumb_func_start sub_805729C
-sub_805729C: @ 805729C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080572A8
- movs r0, 0
- b _080572AA
-_080572A8:
- movs r0, 0x1
-_080572AA:
- pop {r1}
- bx r1
- thumb_func_end sub_805729C
-
- thumb_func_start sub_80572B0
-sub_80572B0: @ 80572B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB7
- beq _080572BE
- movs r0, 0
- b _080572C0
-_080572BE:
- movs r0, 0x1
-_080572C0:
- pop {r1}
- bx r1
- thumb_func_end sub_80572B0
-
- thumb_func_start unref_sub_80572C4
-unref_sub_80572C4: @ 80572C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _080572D2
- movs r0, 0
- b _080572D4
-_080572D2:
- movs r0, 0x1
-_080572D4:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80572C4
-
- thumb_func_start sub_80572D8
-sub_80572D8: @ 80572D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB5
- beq _080572E6
- movs r0, 0
- b _080572E8
-_080572E6:
- movs r0, 0x1
-_080572E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80572D8
-
- thumb_func_start sub_80572EC
-sub_80572EC: @ 80572EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC3
- beq _080572FA
- movs r0, 0
- b _080572FC
-_080572FA:
- movs r0, 0x1
-_080572FC:
- pop {r1}
- bx r1
- thumb_func_end sub_80572EC
-
- thumb_func_start sub_8057300
-sub_8057300: @ 8057300
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC2
- beq _0805730E
- movs r0, 0
- b _08057310
-_0805730E:
- movs r0, 0x1
-_08057310:
- pop {r1}
- bx r1
- thumb_func_end sub_8057300
-
- thumb_func_start sub_8057314
-sub_8057314: @ 8057314
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB8
- beq _08057322
- movs r0, 0
- b _08057324
-_08057322:
- movs r0, 0x1
-_08057324:
- pop {r1}
- bx r1
- thumb_func_end sub_8057314
-
- thumb_func_start sub_8057328
-sub_8057328: @ 8057328
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBE
- beq _08057336
- movs r0, 0
- b _08057338
-_08057336:
- movs r0, 0x1
-_08057338:
- pop {r1}
- bx r1
- thumb_func_end sub_8057328
-
- thumb_func_start sub_805733C
-sub_805733C: @ 805733C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBD
- beq _0805734A
- movs r0, 0
- b _0805734C
-_0805734A:
- movs r0, 0x1
-_0805734C:
- pop {r1}
- bx r1
- thumb_func_end sub_805733C
-
- thumb_func_start sub_8057350
-sub_8057350: @ 8057350
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBA
- beq _0805735E
- movs r0, 0
- b _08057360
-_0805735E:
- movs r0, 0x1
-_08057360:
- pop {r1}
- bx r1
- thumb_func_end sub_8057350
-
- thumb_func_start sub_8057364
-sub_8057364: @ 8057364
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBF
- beq _08057372
- movs r0, 0
- b _08057374
-_08057372:
- movs r0, 0x1
-_08057374:
- pop {r1}
- bx r1
- thumb_func_end sub_8057364
-
- thumb_func_start sub_8057378
-sub_8057378: @ 8057378
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC4
- beq _08057386
- movs r0, 0
- b _08057388
-_08057386:
- movs r0, 0x1
-_08057388:
- pop {r1}
- bx r1
- thumb_func_end sub_8057378
-
- thumb_func_start sub_805738C
-sub_805738C: @ 805738C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC5
- beq _0805739A
- movs r0, 0
- b _0805739C
-_0805739A:
- movs r0, 0x1
-_0805739C:
- pop {r1}
- bx r1
- thumb_func_end sub_805738C
-
- thumb_func_start MetatileBehavior_HasRipples
-MetatileBehavior_HasRipples: @ 80573A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080573B2
- cmp r0, 0x16
- beq _080573B2
- cmp r0, 0x14
- bne _080573B6
-_080573B2:
- movs r0, 0x1
- b _080573B8
-_080573B6:
- movs r0, 0
-_080573B8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_HasRipples
-
- thumb_func_start MetatileBehavior_IsPuddle
-MetatileBehavior_IsPuddle: @ 80573BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _080573CA
- movs r0, 0
- b _080573CC
-_080573CA:
- movs r0, 0x1
-_080573CC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPuddle
-
- thumb_func_start MetatileBehavior_IsTallGrass
-MetatileBehavior_IsTallGrass: @ 80573D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080573DE
- movs r0, 0
- b _080573E0
-_080573DE:
- movs r0, 0x1
-_080573E0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTallGrass
-
- thumb_func_start MetatileBehavior_IsLongGrass
-MetatileBehavior_IsLongGrass: @ 80573E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080573F2
- movs r0, 0
- b _080573F4
-_080573F2:
- movs r0, 0x1
-_080573F4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLongGrass
-
- thumb_func_start MetatileBehavior_IsBerryTreeSoil
-MetatileBehavior_IsBerryTreeSoil: @ 80573F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA0
- beq _08057406
- movs r0, 0
- b _08057408
-_08057406:
- movs r0, 0x1
-_08057408:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBerryTreeSoil
-
- thumb_func_start MetatileBehavior_IsAsh
-MetatileBehavior_IsAsh: @ 805740C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x24
- beq _0805741A
- movs r0, 0
- b _0805741C
-_0805741A:
- movs r0, 0x1
-_0805741C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAsh
-
- thumb_func_start MetatileBehavior_IsUnusedFootprintMetatile
-MetatileBehavior_IsUnusedFootprintMetatile: @ 8057420
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x25
- beq _0805742E
- movs r0, 0
- b _08057430
-_0805742E:
- movs r0, 0x1
-_08057430:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsUnusedFootprintMetatile
-
- thumb_func_start MetatileBehavior_IsBridge
-MetatileBehavior_IsBridge: @ 8057434
- push {lr}
- lsls r0, 24
- movs r1, 0x90
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057448
- movs r0, 0
- b _0805744A
-_08057448:
- movs r0, 0x1
-_0805744A:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBridge
-
- thumb_func_start sub_8057450
-sub_8057450: @ 8057450
- push {lr}
- lsls r0, 24
- movs r1, 0x90
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057462
- movs r0, 0
-_08057462:
- pop {r1}
- bx r1
- thumb_func_end sub_8057450
-
- thumb_func_start MetatileBehavior_IsLandWildEncounter
-MetatileBehavior_IsLandWildEncounter: @ 8057468
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _0805748C
- adds r0, r4, 0
- bl sub_8056DA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805748C
- movs r0, 0x1
- b _0805748E
-_0805748C:
- movs r0, 0
-_0805748E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLandWildEncounter
-
- thumb_func_start MetatileBehavior_IsWaterWildEncounter
-MetatileBehavior_IsWaterWildEncounter: @ 8057494
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080574BA
- adds r0, r4, 0
- bl sub_8056DA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080574BA
- movs r0, 0x1
- b _080574BC
-_080574BA:
- movs r0, 0
-_080574BC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWaterWildEncounter
-
- thumb_func_start sub_80574C4
-sub_80574C4: @ 80574C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- beq _080574D2
- movs r0, 0
- b _080574D4
-_080574D2:
- movs r0, 0x1
-_080574D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80574C4
-
- thumb_func_start sub_80574D8
-sub_80574D8: @ 80574D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC
- beq _080574E6
- movs r0, 0
- b _080574E8
-_080574E6:
- movs r0, 0x1
-_080574E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80574D8
-
- thumb_func_start sub_80574EC
-sub_80574EC: @ 80574EC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xEF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08057502
- cmp r1, 0x14
- bne _08057506
-_08057502:
- movs r0, 0x1
- b _08057508
-_08057506:
- movs r0, 0
-_08057508:
- pop {r1}
- bx r1
- thumb_func_end sub_80574EC
-
- thumb_func_start sub_805750C
-sub_805750C: @ 805750C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- beq _0805751A
- cmp r0, 0x2A
- bne _0805751E
-_0805751A:
- movs r0, 0x1
- b _08057520
-_0805751E:
- movs r0, 0
-_08057520:
- pop {r1}
- bx r1
- thumb_func_end sub_805750C
-
- thumb_func_start MetatileBehavior_IsShallowFlowingWater
-MetatileBehavior_IsShallowFlowingWater: @ 8057524
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x17
- beq _08057536
- cmp r0, 0x1B
- beq _08057536
- cmp r0, 0x1C
- bne _0805753A
-_08057536:
- movs r0, 0x1
- b _0805753C
-_0805753A:
- movs r0, 0
-_0805753C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShallowFlowingWater
-
- thumb_func_start sub_8057540
-sub_8057540: @ 8057540
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x26
- beq _0805754E
- movs r0, 0
- b _08057550
-_0805754E:
- movs r0, 0x1
-_08057550:
- pop {r1}
- bx r1
- thumb_func_end sub_8057540
-
- thumb_func_start sub_8057554
-sub_8057554: @ 8057554
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- beq _08057562
- movs r0, 0
- b _08057564
-_08057562:
- movs r0, 0x1
-_08057564:
- pop {r1}
- bx r1
- thumb_func_end sub_8057554
-
- thumb_func_start sub_8057568
-sub_8057568: @ 8057568
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- beq _0805757A
- cmp r0, 0x11
- beq _0805757A
- cmp r0, 0x12
- bne _0805757E
-_0805757A:
- movs r0, 0x1
- b _08057580
-_0805757E:
- movs r0, 0
-_08057580:
- pop {r1}
- bx r1
- thumb_func_end sub_8057568
-
- thumb_func_start unref_sub_8057584
-unref_sub_8057584: @ 8057584
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- beq _08057592
- cmp r0, 0x1A
- bne _08057596
-_08057592:
- movs r0, 0x1
- b _08057598
-_08057596:
- movs r0, 0
-_08057598:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8057584
-
- thumb_func_start sub_805759C
-sub_805759C: @ 805759C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _080575BE
- adds r0, r4, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _080575BE
- movs r0, 0x1
- b _080575C0
-_080575BE:
- movs r0, 0
-_080575C0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805759C
-
- thumb_func_start MetatileBehavior_IsEastBlocked
-MetatileBehavior_IsEastBlocked: @ 80575C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x30
- beq _080575E2
- cmp r0, 0x34
- beq _080575E2
- cmp r0, 0x36
- beq _080575E2
- cmp r0, 0xC1
- beq _080575E2
- cmp r0, 0xBE
- bne _080575E6
-_080575E2:
- movs r0, 0x1
- b _080575E8
-_080575E6:
- movs r0, 0
-_080575E8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastBlocked
-
- thumb_func_start MetatileBehavior_IsWestBlocked
-MetatileBehavior_IsWestBlocked: @ 80575EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- beq _08057606
- cmp r0, 0x35
- beq _08057606
- cmp r0, 0x37
- beq _08057606
- cmp r0, 0xC1
- beq _08057606
- cmp r0, 0xBE
- bne _0805760A
-_08057606:
- movs r0, 0x1
- b _0805760C
-_0805760A:
- movs r0, 0
-_0805760C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestBlocked
-
- thumb_func_start MetatileBehavior_IsNorthBlocked
-MetatileBehavior_IsNorthBlocked: @ 8057610
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- beq _08057626
- cmp r0, 0x34
- beq _08057626
- cmp r0, 0x35
- beq _08057626
- cmp r0, 0xC0
- bne _0805762A
-_08057626:
- movs r0, 0x1
- b _0805762C
-_0805762A:
- movs r0, 0
-_0805762C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthBlocked
-
- thumb_func_start MetatileBehavior_IsSouthBlocked
-MetatileBehavior_IsSouthBlocked: @ 8057630
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- beq _08057646
- cmp r0, 0x36
- beq _08057646
- cmp r0, 0x37
- beq _08057646
- cmp r0, 0xC0
- bne _0805764A
-_08057646:
- movs r0, 0x1
- b _0805764C
-_0805764A:
- movs r0, 0
-_0805764C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthBlocked
-
- thumb_func_start MetatileBehavior_IsShortGrass
-MetatileBehavior_IsShortGrass: @ 8057650
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- beq _0805765E
- movs r0, 0
- b _08057660
-_0805765E:
- movs r0, 0x1
-_08057660:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShortGrass
-
- thumb_func_start MetatileBehavior_IsHotSprings
-MetatileBehavior_IsHotSprings: @ 8057664
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x28
- beq _08057672
- movs r0, 0
- b _08057674
-_08057672:
- movs r0, 0x1
-_08057674:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHotSprings
-
- thumb_func_start MetatileBehavior_IsWaterfall
-MetatileBehavior_IsWaterfall: @ 8057678
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- beq _08057686
- movs r0, 0
- b _08057688
-_08057686:
- movs r0, 0x1
-_08057688:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWaterfall
-
- thumb_func_start MetatileBehavior_IsFortreeBridge
-MetatileBehavior_IsFortreeBridge: @ 805768C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- beq _0805769A
- movs r0, 0
- b _0805769C
-_0805769A:
- movs r0, 0x1
-_0805769C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsFortreeBridge
-
- thumb_func_start sub_80576A0
-sub_80576A0: @ 80576A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x74
- beq _080576AE
- movs r0, 0
- b _080576B0
-_080576AE:
- movs r0, 0x1
-_080576B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80576A0
-
- thumb_func_start sub_80576B4
-sub_80576B4: @ 80576B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x75
- beq _080576C2
- movs r0, 0
- b _080576C4
-_080576C2:
- movs r0, 0x1
-_080576C4:
- pop {r1}
- bx r1
- thumb_func_end sub_80576B4
-
- thumb_func_start sub_80576C8
-sub_80576C8: @ 80576C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x76
- beq _080576D6
- movs r0, 0
- b _080576D8
-_080576D6:
- movs r0, 0x1
-_080576D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80576C8
-
- thumb_func_start sub_80576DC
-sub_80576DC: @ 80576DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- beq _080576EA
- movs r0, 0
- b _080576EC
-_080576EA:
- movs r0, 0x1
-_080576EC:
- pop {r1}
- bx r1
- thumb_func_end sub_80576DC
-
- thumb_func_start MetatileBehavior_IsPacifidlogLog
-MetatileBehavior_IsPacifidlogLog: @ 80576F0
- push {lr}
- lsls r0, 24
- movs r1, 0x8C
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08057704
- movs r0, 0
- b _08057706
-_08057704:
- movs r0, 0x1
-_08057706:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPacifidlogLog
-
- thumb_func_start is_tile_x8C
-is_tile_x8C: @ 805770C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8C
- beq _0805771A
- movs r0, 0
- b _0805771C
-_0805771A:
- movs r0, 0x1
-_0805771C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8C
-
- thumb_func_start is_tile_x85
-is_tile_x85: @ 8057720
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x85
- beq _0805772E
- movs r0, 0
- b _08057730
-_0805772E:
- movs r0, 0x1
-_08057730:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x85
-
- thumb_func_start is_tile_x8B
-is_tile_x8B: @ 8057734
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8B
- beq _08057742
- movs r0, 0
- b _08057744
-_08057742:
- movs r0, 0x1
-_08057744:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8B
-
- thumb_func_start is_tile_x8A
-is_tile_x8A: @ 8057748
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8A
- beq _08057756
- movs r0, 0
- b _08057758
-_08057756:
- movs r0, 0x1
-_08057758:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8A
-
- thumb_func_start is_tile_x87
-is_tile_x87: @ 805775C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x87
- beq _0805776A
- movs r0, 0
- b _0805776C
-_0805776A:
- movs r0, 0x1
-_0805776C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x87
-
- thumb_func_start MetatileBehavior_0xBB
-MetatileBehavior_0xBB: @ 8057770
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBB
- beq _0805777E
- movs r0, 0
- b _08057780
-_0805777E:
- movs r0, 0x1
-_08057780:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBB
-
- thumb_func_start MetatileBehavior_0xBC
-MetatileBehavior_0xBC: @ 8057784
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBC
- beq _08057792
- movs r0, 0
- b _08057794
-_08057792:
- movs r0, 0x1
-_08057794:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBC
-
- thumb_func_start sub_8057798
-sub_8057798: @ 8057798
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x29
- beq _080577A6
- movs r0, 0
- b _080577A8
-_080577A6:
- movs r0, 0x1
-_080577A8:
- pop {r1}
- bx r1
- thumb_func_end sub_8057798
-
- thumb_func_start is_role_x68
-is_role_x68: @ 80577AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x68
- beq _080577BA
- movs r0, 0
- b _080577BC
-_080577BA:
- movs r0, 0x1
-_080577BC:
- pop {r1}
- bx r1
- thumb_func_end is_role_x68
-
- thumb_func_start MetatileBehavior_IsAquaHideoutWarp
-MetatileBehavior_IsAquaHideoutWarp: @ 80577C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x67
- beq _080577CE
- movs r0, 0
- b _080577D0
-_080577CE:
- movs r0, 0x1
-_080577D0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAquaHideoutWarp
-
- thumb_func_start MetatileBehavior_IsSurfableFishableWater
-MetatileBehavior_IsSurfableFishableWater: @ 80577D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080577F8
- cmp r0, 0x15
- beq _080577F8
- cmp r0, 0x11
- beq _080577F8
- cmp r0, 0x12
- beq _080577F8
- cmp r0, 0x14
- beq _080577F8
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080577FC
-_080577F8:
- movs r0, 0x1
- b _080577FE
-_080577FC:
- movs r0, 0
-_080577FE:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableFishableWater
-
- thumb_func_start sub_8057804
-sub_8057804: @ 8057804
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- beq _08057812
- movs r0, 0
- b _08057814
-_08057812:
- movs r0, 0x1
-_08057814:
- pop {r1}
- bx r1
- thumb_func_end sub_8057804
-
- thumb_func_start sub_8057818
-sub_8057818: @ 8057818
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x66
- beq _08057826
- movs r0, 0
- b _08057828
-_08057826:
- movs r0, 0x1
-_08057828:
- pop {r1}
- bx r1
- thumb_func_end sub_8057818
-
- thumb_func_start sub_805782C
-sub_805782C: @ 805782C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD2
- beq _0805783A
- movs r0, 0
- b _0805783C
-_0805783A:
- movs r0, 0x1
-_0805783C:
- pop {r1}
- bx r1
- thumb_func_end sub_805782C
-
- thumb_func_start MetatileBehavior_IsMuddySlope
-MetatileBehavior_IsMuddySlope: @ 8057840
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD0
- beq _0805784E
- movs r0, 0
- b _08057850
-_0805784E:
- movs r0, 0x1
-_08057850:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsMuddySlope
-
- thumb_func_start MetatileBehavior_IsBumpySlope
-MetatileBehavior_IsBumpySlope: @ 8057854
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD1
- beq _08057862
- movs r0, 0
- b _08057864
-_08057862:
- movs r0, 0x1
-_08057864:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBumpySlope
-
- thumb_func_start MetatileBehavior_IsIsolatedVerticalRail
-MetatileBehavior_IsIsolatedVerticalRail: @ 8057868
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD3
- beq _08057876
- movs r0, 0
- b _08057878
-_08057876:
- movs r0, 0x1
-_08057878:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedVerticalRail
-
- thumb_func_start MetatileBehavior_IsIsolatedHorizontalRail
-MetatileBehavior_IsIsolatedHorizontalRail: @ 805787C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD4
- beq _0805788A
- movs r0, 0
- b _0805788C
-_0805788A:
- movs r0, 0x1
-_0805788C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedHorizontalRail
-
- thumb_func_start MetatileBehavior_IsVerticalRail
-MetatileBehavior_IsVerticalRail: @ 8057890
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD5
- beq _0805789E
- movs r0, 0
- b _080578A0
-_0805789E:
- movs r0, 0x1
-_080578A0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsVerticalRail
-
- thumb_func_start MetatileBehavior_IsHorizontalRail
-MetatileBehavior_IsHorizontalRail: @ 80578A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD6
- beq _080578B2
- movs r0, 0
- b _080578B4
-_080578B2:
- movs r0, 0x1
-_080578B4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHorizontalRail
-
- thumb_func_start MetatileBehavior_IsSeaweed
-MetatileBehavior_IsSeaweed: @ 80578B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x22
- beq _080578C6
- cmp r0, 0x2A
- bne _080578CA
-_080578C6:
- movs r0, 0x1
- b _080578CC
-_080578CA:
- movs r0, 0
-_080578CC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSeaweed
-
- thumb_func_start MetatileBehavior_IsRunningDisallowed
-MetatileBehavior_IsRunningDisallowed: @ 80578D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- beq _080578EC
- cmp r0, 0x3
- beq _080578EC
- cmp r0, 0x28
- beq _080578EC
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _080578F0
-_080578EC:
- movs r0, 0x1
- b _080578F2
-_080578F0:
- movs r0, 0
-_080578F2:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsRunningDisallowed
-
- thumb_func_start sub_80578F8
-sub_80578F8: @ 80578F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFE
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08057912
- cmp r1, 0x24
- beq _08057912
- cmp r1, 0x9
- bne _08057916
-_08057912:
- movs r0, 0x1
- b _08057918
-_08057916:
- movs r0, 0
-_08057918:
- pop {r1}
- bx r1
- thumb_func_end sub_80578F8
-
- thumb_func_start sub_805791C
-sub_805791C: @ 805791C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8E
- beq _0805792A
- movs r0, 0
- b _0805792C
-_0805792A:
- movs r0, 0x1
-_0805792C:
- pop {r1}
- bx r1
- thumb_func_end sub_805791C
-
- thumb_func_start sub_8057930
-sub_8057930: @ 8057930
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE0
- beq _0805793E
- movs r0, 0
- b _08057940
-_0805793E:
- movs r0, 0x1
-_08057940:
- pop {r1}
- bx r1
- thumb_func_end sub_8057930
-
- thumb_func_start sub_8057944
-sub_8057944: @ 8057944
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE1
- beq _08057952
- movs r0, 0
- b _08057954
-_08057952:
- movs r0, 0x1
-_08057954:
- pop {r1}
- bx r1
- thumb_func_end sub_8057944
-
- thumb_func_start sub_8057958
-sub_8057958: @ 8057958
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE2
- beq _08057966
- movs r0, 0
- b _08057968
-_08057966:
- movs r0, 0x1
-_08057968:
- pop {r1}
- bx r1
- thumb_func_end sub_8057958
-
- thumb_func_start sub_805796C
-sub_805796C: @ 805796C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE3
- beq _0805797A
- movs r0, 0
- b _0805797C
-_0805797A:
- movs r0, 0x1
-_0805797C:
- pop {r1}
- bx r1
- thumb_func_end sub_805796C
-
- thumb_func_start sub_8057980
-sub_8057980: @ 8057980
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE4
- beq _0805798E
- movs r0, 0
- b _08057990
-_0805798E:
- movs r0, 0x1
-_08057990:
- pop {r1}
- bx r1
- thumb_func_end sub_8057980
-
- thumb_func_start sub_8057994
-sub_8057994: @ 8057994
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE5
- beq _080579A2
- movs r0, 0
- b _080579A4
-_080579A2:
- movs r0, 0x1
-_080579A4:
- pop {r1}
- bx r1
- thumb_func_end sub_8057994
-
- thumb_func_start sub_80579A8
-sub_80579A8: @ 80579A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE6
- beq _080579B6
- movs r0, 0
- b _080579B8
-_080579B6:
- movs r0, 0x1
-_080579B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80579A8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/ld_script.txt b/ld_script.txt
index 95e3565fe..37bb46c2a 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -67,7 +67,7 @@ SECTIONS {
src/new_game.o(.text);
src/rom4.o(.text);
src/fieldmap.o(.text);
- asm/metatile_behavior.o(.text);
+ src/metatile_behavior.o(.text);
src/field_camera.o(.text);
src/field_door.o(.text);
src/field_player_avatar.o(.text);
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
new file mode 100644
index 000000000..ee6bad9a8
--- /dev/null
+++ b/src/metatile_behavior.c
@@ -0,0 +1,1065 @@
+#include "global.h"
+
+extern u8 gUnknown_08308E2C[];
+
+bool8 MetatileBehavior_IsWaterfall(u8);
+
+s8 sub_8056D9C(void)
+{
+ return 1;
+}
+
+bool8 sub_8056DA0(u8 var)
+{
+ if((gUnknown_08308E2C[var] & 1) != 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpEast(u8 var)
+{
+ if(var == 0x38)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpWest(u8 var)
+{
+ if(var == 0x39)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpNorth(u8 var)
+{
+ if(var == 0x3A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsJumpSouth(u8 var)
+{
+ if(var == 0x3B)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056E14(u8 var)
+{
+ // that's an awfully complicated way to write (var - 2 < 2).
+ if(((var << 24) + 0xFE000000) >> 24 < 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSandOrDeepSand(u8 var)
+{
+ if(var == 0x21 || var == 0x6)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsDeepSand(u8 var)
+{
+ if(var == 0x6)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsReflective(u8 var)
+{
+ if(var == 0x10 || var == 0x16 || var == 0x1A || var == 0x20 || var == 0x14 || var == 0x2B)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIce(u8 var)
+{
+ if(var == 0x20)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x69_2_warp_door(u8 var)
+{
+ if(var == 0x69)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsDoor(u8 var)
+{
+ if(var == 0x8D || var == 0x69)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEscalator(u8 var)
+{
+ // same bad practice as above.
+ if(((var << 24) + 0x96000000) >> 24 < 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8056EE0(u8 var)
+{
+ if(var == 0x4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsLadder(u8 var)
+{
+ if(var == 0x61)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056F08(u8 var)
+{
+ if(var == 0x60 || var == 0x6C || var == 0x6E)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8056F24(u8 var)
+{
+ if(var == 0x6E)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 var)
+{
+ if((gUnknown_08308E2C[var] & 2) != 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastArrowWarp(u8 var)
+{
+ if(var == 0x62)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestArrowWarp(u8 var)
+{
+ if(var == 0x63)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthArrowWarp(u8 var)
+{
+ if(var == 0x64 || var == 0x1B)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthArrowWarp(u8 var)
+{
+ if(var == 0x65 || var == 0x6D || var == 0x1C)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+// unused
+bool8 MetatileBehavior_IsArrowWarp(u8 var)
+{
+ u8 var2 = 0;
+
+ if(MetatileBehavior_IsEastArrowWarp(var)
+ || MetatileBehavior_IsWestArrowWarp(var)
+ || MetatileBehavior_IsNorthArrowWarp(var)
+ || MetatileBehavior_IsSouthArrowWarp(var))
+ {
+ var2 = 1;
+ }
+ return var2;
+}
+
+bool8 sub_8056FFC(u8 var)
+{
+ if((((var << 24) + 0xC0000000) >> 24 < 9) || (u8)(var - 0x50) < 4
+ || var == 0xD0 || var == 0xD2 || var == 0x13 || var == 0x20 || var == 0xBB || var == 0xBC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIce_2(u8 var)
+{
+ if(var == 0x20)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 var)
+{
+ if(var == 0x48)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0x05(u8 var)
+{
+ if(var == 0x5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkNorth(u8 var)
+{
+ if(var == 0x42)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkSouth(u8 var)
+{
+ if(var == 0x43)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkWest(u8 var)
+{
+ if(var == 0x41)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWalkEast(u8 var)
+{
+ if(var == 0x40)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthwardCurrent(u8 var)
+{
+ if(var == 0x52)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthwardCurrent(u8 var)
+{
+ if(var == 0x53)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestwardCurrent(u8 var)
+{
+ if(var == 0x51)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastwardCurrent(u8 var)
+{
+ if(var == 0x50)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideNorth(u8 var)
+{
+ if(var == 0x46)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideSouth(u8 var)
+{
+ if(var == 0x47)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideWest(u8 var)
+{
+ if(var == 0x45)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSlideEast(u8 var)
+{
+ if(var == 0x44)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsCounter(u8 var)
+{
+ if(var == 0x80)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir)
+{
+ if(playerDir != 2) // if the player isn't facing north, forget about it.
+ return FALSE;
+ else if(tile == 0x86) // is the player's north tile a TV?
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPC(u8 var)
+{
+ if(var == 0x83)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x84(u8 var)
+{
+ if(var == 0x84)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80571C0(u8 var)
+{
+ if(var == 0x91 || var == 0x93 || var == 0x95 || var == 0x97
+ || var == 0x99 || var == 0x9B || var == 0x9D)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80571EC(u8 var)
+{
+ if(var == 0x90 || var == 0x92 || var == 0x94 || var == 0x9A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805720C(u8 var)
+{
+ if(var == 0x96 || var == 0x9C)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x98(u8 var)
+{
+ if(var == 0x98)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057238(u8 var)
+{
+ if(var == 0xB0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805724C(u8 var)
+{
+ if(var == 0xB1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8057260(u8 var)
+{
+ if(var == 0xB2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057274(u8 var)
+{
+ if(var == 0xB3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057288(u8 var)
+{
+ if(var == 0xB9)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805729C(u8 var)
+{
+ if(var == 0x0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572B0(u8 var)
+{
+ if(var == 0xB7)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_80572C4(u8 var)
+{
+ if(var == 0xB2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572D8(u8 var)
+{
+ if(var == 0xB5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80572EC(u8 var)
+{
+ if(var == 0xC3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057300(u8 var)
+{
+ if(var == 0xC2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057314(u8 var)
+{
+ if(var == 0xB8)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057328(u8 var)
+{
+ if(var == 0xBE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805733C(u8 var)
+{
+ if(var == 0xBD)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057350(u8 var)
+{
+ if(var == 0xBA)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057364(u8 var)
+{
+ if(var == 0xBF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057378(u8 var)
+{
+ if(var == 0xC4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805738C(u8 var)
+{
+ if(var == 0xC5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_HasRipples(u8 var)
+{
+ if(var == 0x10 || var == 0x16 || var == 0x14)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPuddle(u8 var)
+{
+ if(var == 0x16)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsTallGrass(u8 var)
+{
+ if(var == 0x2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsLongGrass(u8 var)
+{
+ if(var == 0x3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBerryTreeSoil(u8 var)
+{
+ if(var == 0xA0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsAsh(u8 var)
+{
+ if(var == 0x24)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8 var)
+{
+ if(var == 0x25)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBridge(u8 var)
+{
+ if(((var << 24) + 0x90000000) >> 24 < 4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u8 sub_8057450(u8 var)
+{
+ u8 result = (((var << 24) - 0x70000000) >> 24);
+
+ if(result > 3)
+ result = 0;
+
+ return result;
+}
+
+bool8 MetatileBehavior_IsLandWildEncounter(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && sub_8056DA0(var) == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWaterWildEncounter(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && sub_8056DA0(var) == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574C4(u8 var)
+{
+ if(var == 0xB)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574D8(u8 var)
+{
+ if(var == 0xC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80574EC(u8 var)
+{
+ if(((var << 24) + 0xEF000000) >> 24 < 2 || var == 0x14)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805750C(u8 var)
+{
+ if(var == 0x19 || var == 0x2A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsShallowFlowingWater(u8 var)
+{
+ if(var == 0x17 || var == 0x1B || var == 0x1C)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057540(u8 var)
+{
+ if(var == 0x26)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057554(u8 var)
+{
+ if(var == 0x27)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057568(u8 var)
+{
+ if(var == 0x15 || var == 0x11 || var == 0x12)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 unref_sub_8057584(u8 var)
+{
+ if(var == 0x18 || var == 0x1A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805759C(u8 var)
+{
+ if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) && MetatileBehavior_IsWaterfall(var) == FALSE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsEastBlocked(u8 var)
+{
+ if(var == 0x30 || var == 0x34 || var == 0x36 || var == 0xC1 || var == 0xBE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWestBlocked(u8 var)
+{
+ if(var == 0x31 || var == 0x35 || var == 0x37 || var == 0xC1 || var == 0xBE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsNorthBlocked(u8 var)
+{
+ if(var == 0x32 || var == 0x34 || var == 0x35 || var == 0xC0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSouthBlocked(u8 var)
+{
+ if(var == 0x33 || var == 0x36 || var == 0x37 || var == 0xC0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsShortGrass(u8 var)
+{
+ if(var == 0x7)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsHotSprings(u8 var)
+{
+ if(var == 0x28)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsWaterfall(u8 var)
+{
+ if(var == 0x13)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsFortreeBridge(u8 var)
+{
+ if(var == 0x78)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576A0(u8 var)
+{
+ if(var == 0x74)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576B4(u8 var)
+{
+ if(var == 0x75)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576C8(u8 var)
+{
+ if(var == 0x76)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80576DC(u8 var)
+{
+ if(var == 0x77)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsPacifidlogLog(u8 var)
+{
+ if(((var << 24) + 0x8C000000) >> 24 < 4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8C(u8 var)
+{
+ if(var == 0x8C)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x85(u8 var)
+{
+ if(var == 0x85)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8B(u8 var)
+{
+ if(var == 0x8B)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x8A(u8 var)
+{
+ if(var == 0x8A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_tile_x87(u8 var)
+{
+ if(var == 0x87)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0xBB(u8 var)
+{
+ if(var == 0xBB)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_0xBC(u8 var)
+{
+ if(var == 0xBC)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057798(u8 var)
+{
+ if(var == 0x29)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 is_role_x68(u8 var)
+{
+ if(var == 0x68)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsAquaHideoutWarp(u8 var)
+{
+ if(var == 0x67)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSurfableFishableWater(u8 var)
+{
+ if(var == 0x10 || var == 0x15 || var == 0x11 || var == 0x12 || var == 0x14 || (u8)(var - 0x50) < 4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057804(u8 var)
+{
+ if(var == 0xF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057818(u8 var)
+{
+ if(var == 0x66)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805782C(u8 var)
+{
+ if(var == 0xD2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsMuddySlope(u8 var)
+{
+ if(var == 0xD0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsBumpySlope(u8 var)
+{
+ if(var == 0xD1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 var)
+{
+ if(var == 0xD3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 var)
+{
+ if(var == 0xD4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsVerticalRail(u8 var)
+{
+ if(var == 0xD5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsHorizontalRail(u8 var)
+{
+ if(var == 0xD6)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsSeaweed(u8 var)
+{
+ if(var == 0x22 || var == 0x2A)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 MetatileBehavior_IsRunningDisallowed(u8 var)
+{
+ if(var == 0xA || var == 0x3 || var == 0x28 || MetatileBehavior_IsPacifidlogLog(var) != FALSE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80578F8(u8 var)
+{
+ if(((var << 24) + 0xFE000000) >> 24 < 2 || var == 0x24 || var == 0x9)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805791C(u8 var)
+{
+ if(var == 0x8E)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057930(u8 var)
+{
+ if(var == 0xE0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057944(u8 var)
+{
+ if(var == 0xE1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057958(u8 var)
+{
+ if(var == 0xE2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_805796C(u8 var)
+{
+ if(var == 0xE3)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057980(u8 var)
+{
+ if(var == 0xE4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_8057994(u8 var)
+{
+ if(var == 0xE5)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 sub_80579A8(u8 var)
+{
+ if(var == 0xE6)
+ return TRUE;
+ else
+ return FALSE;
+}