summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h2
-rw-r--r--include/battle_frontier_2.h5
-rw-r--r--include/battle_message.h10
-rw-r--r--include/constants/battle.h4
-rwxr-xr-x[-rw-r--r--]include/constants/metatile_behaviors.h (renamed from include/metatile_behaviors.h)132
-rw-r--r--include/field_effect.h2
-rw-r--r--include/fieldmap.h7
-rw-r--r--include/gba/defines.h3
-rw-r--r--include/gba/m4a_internal.h2
-rw-r--r--include/main_menu.h2
-rw-r--r--include/menu.h2
-rw-r--r--include/metatile_behavior.h26
-rw-r--r--include/pokemon.h8
-rw-r--r--include/rom_8034C54.h2
-rw-r--r--include/rom_81520A8.h33
-rw-r--r--include/sprite.h6
16 files changed, 182 insertions, 64 deletions
diff --git a/include/battle.h b/include/battle.h
index 497faaeb6..3e638c6ef 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -719,7 +719,7 @@ extern u8 gCurrMovePos;
extern u8 gChosenMovePos;
extern u16 gCurrentMove;
extern u16 gChosenMove;
-extern u16 gRandomMove;
+extern u16 gCalledMove;
extern s32 gBattleMoveDamage;
extern s32 gHpDealt;
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h
index 4ef860e80..d032f9f74 100644
--- a/include/battle_frontier_2.h
+++ b/include/battle_frontier_2.h
@@ -1,6 +1,11 @@
#ifndef GUARD_BATTLE_FRONTIER_2_H
#define GUARD_BATTLE_FRONTIER_2_H
+#define FRONTIER_BEFORE_TEXT 0
+#define FRONTIER_WIN_TEXT 1
+#define FRONTIER_LOSE_TEXT 2
+
+void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
void sub_81A8934(u8);
void sub_81A895C(void);
u16 sub_81A89A0(u8);
diff --git a/include/battle_message.h b/include/battle_message.h
index 94f584935..5d811fe69 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -34,11 +34,11 @@
#define B_TXT_EFF_ABILITY 0x1B
#define B_TXT_TRAINER1_CLASS 0x1C
#define B_TXT_TRAINER1_NAME 0x1D
-#define B_TXT_1E 0x1E // trainer name for a link player
-#define B_TXT_1F 0x1F // trainer name for a link player
-#define B_TXT_20 0x20 // trainer name for a link player
-#define B_TXT_21 0x21 // trainer name for a link player
-#define B_TXT_22 0x22 // trainer name for a link player
+#define B_TXT_LINK_PLAYER_NAME 0x1E
+#define B_TXT_LINK_PARTNER_NAME 0x1F
+#define B_TXT_LINK_OPPONENT1_NAME 0x20
+#define B_TXT_LINK_OPPONENT2_NAME 0x21
+#define B_TXT_LINK_SCR_TRAINER_NAME 0x22
#define B_TXT_PLAYER_NAME 0x23
#define B_TXT_TRAINER1_LOSE_TEXT 0x24
#define B_TXT_TRAINER1_WIN_TEXT 0x25
diff --git a/include/constants/battle.h b/include/constants/battle.h
index bbdc54a8e..acb0f6689 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -46,7 +46,7 @@
// Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
-#define BATTLE_TYPE_WILD 0x0004
+#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set.
#define BATTLE_TYPE_TRAINER 0x0008
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
#define BATTLE_TYPE_20 0x0020
@@ -70,7 +70,7 @@
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
-#define BATTLE_TYPE_x4000000 0x4000000
+#define BATTLE_TYPE_TRAINER_HILL 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYOGRE 0x20000000
diff --git a/include/metatile_behaviors.h b/include/constants/metatile_behaviors.h
index dd3a8b4f4..d8d75066c 100644..100755
--- a/include/metatile_behaviors.h
+++ b/include/constants/metatile_behaviors.h
@@ -2,16 +2,17 @@
#define GUARD_METATILE_BEHAVIORS
#define MB_NORMAL 0x00
+#define MB_SECRET_BASE_WALL 0x01
#define MB_TALL_GRASS 0x02
#define MB_LONG_GRASS 0x03
-#define MB_04 0x04
-#define MB_05 0x05
+#define MB_UNUSED_04 0x04
+#define MB_UNUSED_05 0x05
#define MB_DEEP_SAND 0x06
#define MB_SHORT_GRASS 0x07
-#define MB_CAVE 0x08
+#define MB_UNUSED_CAVE 0x08
#define MB_LONG_GRASS_SOUTH_EDGE 0x09
#define MB_NO_RUNNING 0x0A
-#define MB_0B 0x0B
+#define MB_INDOOR_ENCOUNTER 0x0B
#define MB_MOUNTAIN_TOP 0x0C
#define MB_BATTLE_PYRAMID_WARP 0x0D
#define MB_MOSSDEEP_GYM_WARP 0x0E
@@ -24,22 +25,30 @@
#define MB_OCEAN_WATER 0x15
#define MB_PUDDLE 0x16
#define MB_SHALLOW_WATER 0x17
-#define MB_18 0x18
+#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER 0x18
#define MB_NO_SURFACING 0x19
-#define MB_1A 0x1A
+#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A
#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B
#define MB_SHOAL_CAVE_ENTRANCE 0x1C
+#define MB_UNUSED_1D 0x1D
+#define MB_UNUSED_1E 0x1E
+#define MB_UNUSED_1F 0x1F
#define MB_ICE 0x20
#define MB_SAND 0x21
#define MB_SEAWEED 0x22
+#define MB_UNUSED_23 0x23
#define MB_ASHGRASS 0x24
-#define MB_25 0x25
+#define MB_FOOTPRINTS 0x25
#define MB_THIN_ICE 0x26
#define MB_CRACKED_ICE 0x27
#define MB_HOT_SPRINGS 0x28
#define MB_LAVARIDGE_GYM_B1F_WARP 0x29
#define MB_SEAWEED_NO_SURFACING 0x2A
#define MB_REFLECTION_UNDER_BRIDGE 0x2B
+#define MB_UNUSED_2C 0x2C
+#define MB_UNUSED_2D 0x2D
+#define MB_UNUSED_2E 0x2E
+#define MB_UNUSED_2F 0x2F
#define MB_IMPASSABLE_EAST 0x30
#define MB_IMPASSABLE_WEST 0x31
#define MB_IMPASSABLE_NORTH 0x32
@@ -52,6 +61,8 @@
#define MB_JUMP_WEST 0x39
#define MB_JUMP_NORTH 0x3A
#define MB_JUMP_SOUTH 0x3B
+#define MB_JUMP_NORTHEAST 0x3C
+#define MB_JUMP_NORTHWEST 0x3D
#define MB_JUMP_SOUTHEAST 0x3E
#define MB_JUMP_SOUTHWEST 0x3F
#define MB_WALK_EAST 0x40
@@ -63,10 +74,29 @@
#define MB_SLIDE_NORTH 0x46
#define MB_SLIDE_SOUTH 0x47
#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48
+#define MB_UNUSED_49 0x49
+#define MB_UNUSED_4A 0x4A
+#define MB_UNUSED_4B 0x4B
+#define MB_UNUSED_4C 0x4C
+#define MB_UNUSED_4D 0x4D
+#define MB_UNUSED_4E 0x4E
+#define MB_UNUSED_4F 0x4F
#define MB_EASTWARD_CURRENT 0x50
#define MB_WESTWARD_CURRENT 0x51
#define MB_NORTHWARD_CURRENT 0x52
#define MB_SOUTHWARD_CURRENT 0x53
+#define MB_UNUSED_54 0x54
+#define MB_UNUSED_55 0x55
+#define MB_UNUSED_56 0x56
+#define MB_UNUSED_57 0x57
+#define MB_UNUSED_58 0x58
+#define MB_UNUSED_59 0x59
+#define MB_UNUSED_5A 0x5A
+#define MB_UNUSED_5B 0x5B
+#define MB_UNUSED_5C 0x5C
+#define MB_UNUSED_5D 0x5D
+#define MB_UNUSED_5E 0x5E
+#define MB_UNUSED_5F 0x5F
#define MB_NON_ANIMATED_DOOR 0x60
#define MB_LADDER 0x61
#define MB_EAST_ARROW_WARP 0x62
@@ -82,8 +112,9 @@
#define MB_WATER_DOOR 0x6C
#define MB_WATER_SOUTH_ARROW_WARP 0x6D
#define MB_DEEP_SOUTH_WARP 0x6E
+#define MB_UNUSED_6F 0x6F
#define MB_WARP_OR_BRIDGE 0x70
-#define MB_71 0x71
+#define MB_UNUSED_71 0x71
#define MB_ROUTE120_NORTH_BRIDGE_1 0x72
#define MB_ROUTE120_NORTH_BRIDGE_2 0x73
#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74
@@ -91,23 +122,27 @@
#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76
#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77
#define MB_FORTREE_BRIDGE 0x78
+#define MB_UNUSED_79 0x79
#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A
#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B
#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C
#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D
-#define MB_7E 0x7E
+#define MB_UNUSED_7E 0x7E
#define MB_ROUTE110_BRIDGE 0x7F
#define MB_COUNTER 0x80
+#define MB_UNUSED_81 0x81
+#define MB_UNUSED_82 0x82
#define MB_PC 0x83
#define MB_CABLE_BOX_RESULTS_1 0x84
#define MB_REGION_MAP 0x85
#define MB_TELEVISION 0x86
#define MB_POKEBLOCK_FEEDER 0x87
+#define MB_UNUSED_88 0x88
#define MB_SLOT_MACHINE 0x89
#define MB_ROULETTE 0x8A
-#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B
+#define MB_CLOSED_SOOTOPOLIS_DOOR 0x8B
#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C
-#define MB_8D 0x8D
+#define MB_PETALBURG_GYM_DOOR 0x8D
#define MB_RUNNING_SHOES_INSTRUCTION 0x8E
#define MB_QUESTIONNAIRE 0x8F
#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90
@@ -124,39 +159,56 @@
#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B
#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C
#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D
+#define MB_UNUSED_9E 0x9E
+#define MB_UNUSED_9F 0x9F
#define MB_BERRY_TREE_SOIL 0xA0
+#define MB_UNUSED_A1 0xA1
+#define MB_UNUSED_A2 0xA2
+#define MB_UNUSED_A3 0xA3
+#define MB_UNUSED_A4 0xA4
+#define MB_UNUSED_A5 0xA5
+#define MB_UNUSED_A6 0xA6
+#define MB_UNUSED_A7 0xA7
+#define MB_UNUSED_A8 0xA8
+#define MB_UNUSED_A9 0xA9
+#define MB_UNUSED_AA 0xAA
+#define MB_UNUSED_AB 0xAB
+#define MB_UNUSED_AC 0xAC
+#define MB_UNUSED_AD 0xAD
+#define MB_UNUSED_AE 0xAE
+#define MB_UNUSED_AF 0xAF
#define MB_SECRET_BASE_PC 0xB0
#define MB_SECRET_BASE_REGISTER_PC 0xB1
-#define MB_B2 0xB2
-#define MB_B3 0xB3
-#define MB_B4 0xB4
-#define MB_B5 0xB5
-#define MB_B6 0xB6
-#define MB_B7 0xB7
+#define MB_SECRET_BASE_UNUSED 0xB2
+#define MB_BLOCK_DECORATION 0xB3
+#define MB_SECRET_BASE_DECORATION 0xB4
+#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5
+#define MB_UNUSED_B6 0xB6
+#define MB_SECRET_BASE_NORTH_WALL 0xB7
#define MB_SECRET_BASE_BALLOON 0xB8
-#define MB_B9 0xB9
+#define MB_SECRET_BASE_IMPASSABLE 0xB9
#define MB_SECRET_BASE_GLITTER_MAT 0xBA
#define MB_SECRET_BASE_JUMP_MAT 0xBB
#define MB_SECRET_BASE_SPIN_MAT 0xBC
#define MB_SECRET_BASE_SOUND_MAT 0xBD
-#define MB_BE 0xBE
-#define MB_BF 0xBF
-#define MB_BED 0xC0
-#define MB_C1 0xC1
-#define MB_C2 0xC2
-#define MB_C3 0xC3
+#define MB_SECRET_BASE_BREAKABLE_DOOR 0xBE
+#define MB_SECRET_BASE_SAND_ORNAMENT 0xBF
+#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0
+#define MB_IMPASSABLE_WEST_AND_EAST 0xC1
+#define MB_SECRET_BASE_HOLE 0xC2
+#define MB_LARGE_MAT_CENTER 0xC3
#define MB_SECRET_BASE_TV_SHIELD 0xC4
-#define MB_C5 0xC5
+#define MB_PLAYER_ROOM_PC_ON 0xC5
#define MB_C6 0xC6
#define MB_SECRET_BASE_POSTER 0xC7
-#define MB_C8 0xC8
-#define MB_C9 0xC9
-#define MB_CA 0xCA
-#define MB_CB 0xCB
-#define MB_CC 0xCC
-#define MB_CD 0xCD
-#define MB_CE 0xCE
-#define MB_CF 0xCF
+#define MB_UNUSED_C8 0xC8
+#define MB_UNUSED_C9 0xC9
+#define MB_UNUSED_CA 0xCA
+#define MB_UNUSED_CB 0xCB
+#define MB_UNUSED_CC 0xCC
+#define MB_UNUSED_CD 0xCD
+#define MB_UNUSED_CE 0xCE
+#define MB_UNUSED_CF 0xCF
#define MB_MUDDY_SLOPE 0xD0
#define MB_BUMPY_SLOPE 0xD1
#define MB_CRACKED_FLOOR 0xD2
@@ -164,6 +216,15 @@
#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4
#define MB_VERTICAL_RAIL 0xD5
#define MB_HORIZONTAL_RAIL 0xD6
+#define MB_UNUSED_D7 0xD7
+#define MB_UNUSED_D8 0xD8
+#define MB_UNUSED_D9 0xD9
+#define MB_UNUSED_DA 0xDA
+#define MB_UNUSED_DB 0xDB
+#define MB_UNUSED_DC 0xDC
+#define MB_UNUSED_DD 0xDD
+#define MB_UNUSED_DE 0xDE
+#define MB_UNUSED_DF 0xDF
#define MB_PICTURE_BOOK_SHELF 0xE0
#define MB_BOOKSHELF 0xE1
#define MB_POKEMON_CENTER_BOOKSHELF 0xE2
@@ -175,5 +236,10 @@
#define MB_WIRELESS_BOX_RESULTS 0xE8
#define MB_TRAINER_HILL_TIMER 0xE9
#define MB_UNKNOWN_CLOSED_DOOR 0xEA
+#define MB_UNUSED_EB 0xEB
+#define MB_UNUSED_EC 0xEC
+#define MB_UNUSED_ED 0xED
+#define MB_UNUSED_EE 0xEE
+#define MB_UNUSED_EF 0xEF
#endif // GUARD_METATILE_BEHAVIORS
diff --git a/include/field_effect.h b/include/field_effect.h
index cdabd5c99..e05ded621 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -236,4 +236,6 @@ void sub_80B9CDC(s16*, u8);
void sub_80B7CAC(struct Sprite*);
void sub_80B7A58(struct Sprite*);
+void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
+
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 05ffb2edc..8287229ed 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -1,6 +1,13 @@
#ifndef GUARD_FIELDMAP_H
#define GUARD_FIELDMAP_H
+#define NUM_TILES_IN_PRIMARY 512
+#define NUM_TILES_TOTAL 1024
+#define NUM_METATILES_IN_PRIMARY 512
+#define NUM_METATILES_TOTAL 1024
+#define NUM_PALS_IN_PRIMARY 6
+#define NUM_PALS_TOTAL 13
+
extern struct BackupMapLayout gUnknown_03005DC0;
u32 MapGridGetMetatileIdAt(int, int);
diff --git a/include/gba/defines.h b/include/gba/defines.h
index 1eed6303d..16f1315d0 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -61,6 +61,9 @@
#define TILE_SIZE_4BPP 32
#define TILE_SIZE_8BPP 64
+#define TILE_OFFSET_4BPP(n) ((n) * TILE_SIZE_4BPP)
+#define TILE_OFFSET_8BPP(n) ((n) * TILE_SIZE_8BPP)
+
#define TOTAL_OBJ_TILE_COUNT 1024
#define WIN_RANGE(a, b) (((a) << 8) | (b))
diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h
index 659302fd5..339a0774e 100644
--- a/include/gba/m4a_internal.h
+++ b/include/gba/m4a_internal.h
@@ -368,7 +368,7 @@ extern const u8 gNoiseTable[];
extern const struct PokemonCrySong gPokemonCrySongTemplate;
-extern const struct ToneData voicegroup_pokemon_cry;
+extern const struct ToneData voicegroup000;
extern char gNumMusicPlayers[];
extern char gMaxLines[];
diff --git a/include/main_menu.h b/include/main_menu.h
index 4f75b1767..1944f4ecc 100644
--- a/include/main_menu.h
+++ b/include/main_menu.h
@@ -2,6 +2,6 @@
#define GUARD_MAIN_MENU_H
void CB2_InitMainMenu(void);
-void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f);
+void CreateYesNoMenuParameterized(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f);
#endif // GUARD_MAIN_MENU_H
diff --git a/include/menu.h b/include/menu.h
index 309667b19..cddab0870 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -22,7 +22,7 @@ extern const u16 gUnknown_0860F074[];
void sub_81971D0(void);
void sub_8197200(void);
-u16 sub_8197224(void);
+u16 RunTextPrintersAndIsPrinter0Active(void);
void sub_81973A4(void);
void NewMenuHelpers_DrawDialogueFrame(u8, u8);
void sub_819746C(u8 windowId, bool8 copyToVram);
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index 86a67ab3e..edffc711f 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -25,7 +25,7 @@ bool8 MetatileBehavior_IsWestArrowWarp(u8);
bool8 MetatileBehavior_IsNorthArrowWarp(u8);
bool8 MetatileBehavior_IsSouthArrowWarp(u8);
bool8 MetatileBehavior_IsArrowWarp(u8);
-bool8 MetatileBehavior_IsMoveTile(u8);
+bool8 MetatileBehavior_IsForcedMovementTile(u8);
bool8 MetatileBehavior_IsIce_2(u8);
bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
bool8 MetatileBehavior_IsMB_05(u8);
@@ -45,43 +45,43 @@ bool8 MetatileBehavior_IsCounter(u8);
bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir);
bool8 MetatileBehavior_IsPC(u8);
bool8 MetatileBehavior_IsCableBoxResults1(u8);
-bool8 MetatileBehavior_IsSecretBaseOpen(u8);
+bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8);
bool8 MetatileBehavior_IsSecretBaseCave(u8);
bool8 MetatileBehavior_IsSecretBaseTree(u8);
bool8 MetatileBehavior_IsSecretBaseShrub(u8);
bool8 MetatileBehavior_IsSecretBasePC(u8);
bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8);
bool8 MetatileBehavior_IsMB_B2(u8);
-bool8 MetatileBehavior_IsMB_B3(u8);
-bool8 MetatileBehavior_IsMB_B9(u8);
+bool8 MetatileBehavior_IsBlockDecoration(u8);
+bool8 MetatileBehavior_IsSecretBaseImpassable(u8);
bool8 MetatileBehavior_IsMB_C6(u8);
bool8 MetatileBehavior_IsSecretBasePoster(u8);
bool8 MetatileBehavior_IsNormal(u8);
-bool8 MetatileBehavior_IsMB_B7(u8);
+bool8 MetatileBehavior_IsSecretBaseNorthWall(u8);
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
-bool8 MetatileBehavior_IsMB_B5(u8);
-bool8 MetatileBehavior_IsMB_C3(u8);
-bool8 MetatileBehavior_IsMB_C2(u8);
+bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8);
+bool8 MetatileBehavior_IsLargeMatCenter(u8);
+bool8 MetatileBehavior_IsSecretBaseHole(u8);
bool8 MetatileBehavior_IsSecretBaseBalloon(u8);
-bool8 MetatileBehavior_IsMB_BE(u8);
+bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);
bool8 MetatileBehavior_IsSecretBaseSoundMat(u8);
bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8);
-bool8 MetatileBehavior_IsMB_BF(u8);
+bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8);
bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8);
-bool8 MetatileBehavior_IsMB_C5(u8);
+bool8 MetatileBehavior_IsPlayerRoomPCOn(u8);
bool8 MetatileBehavior_HasRipples(u8);
bool8 MetatileBehavior_IsPuddle(u8);
bool8 MetatileBehavior_IsTallGrass(u8);
bool8 MetatileBehavior_IsLongGrass(u8);
bool8 MetatileBehavior_IsBerryTreeSoil(u8);
bool8 MetatileBehavior_IsAshGrass(u8);
-bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8);
+bool8 MetatileBehavior_IsFootprints(u8);
bool8 MetatileBehavior_IsBridge(u8);
u8 MetatileBehavior_GetBridgeSth(u8);
u8 MetatileBehavior_8089510(u8);
bool8 MetatileBehavior_IsLandWildEncounter(u8);
bool8 MetatileBehavior_IsWaterWildEncounter(u8);
-bool8 MetatileBehavior_IsMB_0B(u8);
+bool8 MetatileBehavior_IsIndoorEncounter(u8);
bool8 MetatileBehavior_IsMountain(u8);
bool8 MetatileBehavior_IsDiveable(u8);
bool8 MetatileBehavior_IsUnableToEmerge(u8);
diff --git a/include/pokemon.h b/include/pokemon.h
index abfb360f0..9eddd8155 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -268,12 +268,12 @@ struct UnknownPokemonStruct3
struct Unknown_806F160_Struct
{
- u8 field_0_0 : 4;
- u8 field_0_1 : 4;
+ u8 field_0_0:4;
+ u8 field_0_1:4;
u8 field_1;
u8 magic;
- u8 field_3_0 : 4;
- u8 field_3_1 : 4;
+ u8 field_3_0:4;
+ u8 field_3_1:4;
void *bytes;
u8 **byteArrays;
struct SpriteTemplate *templates;
diff --git a/include/rom_8034C54.h b/include/rom_8034C54.h
index 9ad84ca13..4da324dd1 100644
--- a/include/rom_8034C54.h
+++ b/include/rom_8034C54.h
@@ -21,6 +21,6 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2);
void sub_8035044(u32 id, s32 arg1);
void sub_80353DC(u32 id);
void sub_803547C(u32 id, bool32 arg1);
-u8 sub_80355F8(u32 arg0, u32 arg1);
+u8 sub_80355F8(u32 shape, u32 size);
#endif // GUARD_ROM_8034C54_H
diff --git a/include/rom_81520A8.h b/include/rom_81520A8.h
new file mode 100644
index 000000000..2be12200f
--- /dev/null
+++ b/include/rom_81520A8.h
@@ -0,0 +1,33 @@
+#ifndef GUARD_ROM_81520A8_H
+#define GUARD_ROM_81520A8_H
+
+struct UnkStruct_81520A8
+{
+ struct OamData oam;
+ s16 x;
+ s16 y;
+ s16 xDelta;
+ s16 yDelta;
+ u16 tileTag;
+ u16 palTag;
+ u16 tileNum;
+ u8 id;
+ u8 filler17; // Unused.
+ u8 unk18;
+ u8 unk19_0:1;
+ u8 unk19_1:1;
+ u8 unk19_2:1;
+ u8 priority:2;
+ s16 data[8];
+ void (*callback)(struct UnkStruct_81520A8 *);
+};
+
+bool32 sub_81521C0(u8 count);
+bool32 sub_8152254(void);
+bool32 sub_81522D4(void);
+u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *));
+u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue);
+u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority);
+u8 sub_81525D0(u8 id);
+
+#endif // GUARD_ROM_81520A8_H
diff --git a/include/sprite.h b/include/sprite.h
index 26263737b..8fc45d501 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -160,6 +160,8 @@ struct SubspriteTable
struct Sprite;
+typedef void (*SpriteCallback)(struct Sprite *);
+
struct SpriteTemplate
{
u16 tileTag;
@@ -168,7 +170,7 @@ struct SpriteTemplate
const union AnimCmd *const *anims;
const struct SpriteFrameImage *images;
const union AffineAnimCmd *const *affineAnims;
- void (*callback)(struct Sprite *);
+ SpriteCallback callback;
};
struct Sprite
@@ -179,7 +181,7 @@ struct Sprite
/*0x10*/ const union AffineAnimCmd *const *affineAnims;
/*0x14*/ const struct SpriteTemplate *template;
/*0x18*/ const struct SubspriteTable *subspriteTables;
- /*0x1C*/ void (*callback)(struct Sprite *);
+ /*0x1C*/ SpriteCallback callback;
/*0x20*/ struct Coords16 pos1;
/*0x24*/ struct Coords16 pos2;