summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/bg_music.h40
-rw-r--r--include/dungeon_ai_movement.h9
-rw-r--r--include/dungeon_capabilities_1.h2
-rw-r--r--include/dungeon_engine.h7
-rw-r--r--include/dungeon_movement.h6
-rw-r--r--include/map.h48
6 files changed, 63 insertions, 49 deletions
diff --git a/include/constants/bg_music.h b/include/constants/bg_music.h
index 86fb4e9..53bfade 100644
--- a/include/constants/bg_music.h
+++ b/include/constants/bg_music.h
@@ -1,51 +1,51 @@
#ifndef GUARD_CONSTANTS_BG_MUSIC_H
-#define GUARD_CONSTANTS_BG_MUSIC_H
+#define GUARD_CONSTANTS_BG_MUSIC_H
-#define MUS_TEAM_BASE 1
+#define MUS_RESCUE_TEAM_BASE 1
#define MUS_FRIEND_AREA_SWAMP 2
#define MUS_FRIEND_AREA_CAVES 3
#define MUS_DREAM 4
-#define MUS_BENEVOLENT_SPIRT 5
+#define MUS_BENEVOLENT_SPIRIT 5
#define MUS_LEGEND_OF_NINETALES 6
#define MUS_POKEMON_SQUARE 7
-#define MUS_LOADING_SCREEN 8
+#define MUS_FILE_SELECT 8
#define MUS_RISING_FEAR 9
#define MUS_THERES_TROUBLE 10
-#define MUS_DECISIVE_BATTLE 11
-#define MUS_WELCOME_TO_WORLD_POKEMON 12
-#define MUS_BURIED_RELIC 13
+#define MUS_BOSS_BATTLE 11
+#define MUS_WELCOME_TO_THE_WORLD_OF_POKEMON 12
+#define MUS_A_NEW_ADVENTURE 13 // Plays in Buried Relic and Southern Cavern
#define MUS_THUNDERWAVE_CAVE 14
#define MUS_SINISTER_WOODS 15
#define MUS_FRIEND_AREA_POND 16
#define MUS_KECLEON_SHOP 17
#define MUS_STOP_THIEF 18
#define MUS_WORLD_CALAMITY 19 // GIANT_STAR_APPROACHING
-#define MUS_GRAND_CANYON 20
+#define MUS_GREAT_CANYON 20
#define MUS_STORMY_SEA 21
#define MUS_SKY_TOWER 22
#define MUS_SKY_TOWER_SUMMIT 23
-#define MUS_RUN_AWAY 24
+#define MUS_THE_ESCAPE 24
#define MUS_MT_BLAZE 25
-#define MUS_SKY_TOWER_END 26
+#define MUS_RAYQUAZAS_DOMAIN 26
#define MUS_FRIEND_AREA_STRATOS_LOOKOUT 27
#define MUS_FRIEND_AREA_RAINBOW_PEAK 28
-#define MUS_GENGAR_DREAM 29
+#define MUS_DREAM_EATER 29
#define MUS_FRIEND_AREA_DEEPSEA_CURRENT 30
#define MUS_FRIEND_AREA_SEAFLOOR_CAVE 31
-#define MUS_LAST_BATTLE 32
+#define MUS_BATTLE_WITH_RAYQUAZA 32
#define MUS_MT_BLAZE_PEAK 33
#define MUS_FRIEND_AREA_VOLCANIC_PIT 34
#define MUS_FRIEND_AREA_CRYPTIC_CAVE 35
-#define MUS_THROUGH_THE_LAND_OF_ICE_AND_SNOW 36
-#define MUS_GENGAR_DARK_WORLD 37
-#define MUS_MT_BLAZE_END 38
+#define MUS_ESCAPE_THROUGH_THE_SNOW 36
+#define MUS_THE_OTHER_SIDE 37
+#define MUS_THE_MOUNTAIN_OF_FIRE 38
#define MUS_FROSTY_GROTTO 39
#define MUS_INTRO 40
-#define MUS_AFTER_THE_BATTLE 41
-#define MUS_NEVER_FORGET 42
+#define MUS_AFTERMATH 41
+#define MUS_FAREWELL 42
#define MUS_TITLE_SCREEN 43
#define MUS_CREDITS 44
-#define MUS_EPILOGUE 45
+#define MUS_TIME_OF_REUNION 45
#define MUS_OPENING_TITLE 46
#define MUS_DUNGEON_FAIL 51
#define MUS_DUNGEON_COMPLETE 52
@@ -53,7 +53,7 @@
// 53 - 99 are blank/empty slots for BG Music
#define MUS_FRIEND_AREA_UNUSED_1 100
-#define MUS_MEETING_WITH_PARTNER 101
+#define MUS_HEARTWARMING 101
#define MUS_LAPIS_CAVE 102
#define MUS_A_SUCCESSFUL_RESCUE 103
#define MUS_FROSTY_FOREST 104
@@ -66,7 +66,7 @@
#define MUS_MT_THUNDER 111
#define MUS_FRIEND_AREA_LAB 112
#define MUS_SILENT_CHASM 113
-#define MUS_IN_THE_DEPTHS_OF_PIT 114
+#define MUS_IN_THE_DEPTHS_OF_THE_PIT 114
#define MUS_MT_FREEZE 115
#define MUS_FRIEND_AREA_WILDS 116
#define MUS_FRIEND_AREA_LEGENDARY_ISLAND 117
diff --git a/include/dungeon_ai_movement.h b/include/dungeon_ai_movement.h
new file mode 100644
index 0000000..27bb00f
--- /dev/null
+++ b/include/dungeon_ai_movement.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_DUNGEON_AI_MOVEMENT_H
+#define GUARD_DUNGEON_AI_MOVEMENT_H
+
+#include "dungeon_entity.h"
+
+// 0x75990
+void DecideAction(struct DungeonEntity *pokemon);
+
+#endif
diff --git a/include/dungeon_capabilities_1.h b/include/dungeon_capabilities_1.h
index 1d10a0f..c19391b 100644
--- a/include/dungeon_capabilities_1.h
+++ b/include/dungeon_capabilities_1.h
@@ -7,5 +7,7 @@
bool8 CannotUseItems(struct DungeonEntity *pokemon);
// 0x70CD0
bool8 CannotAct(struct DungeonEntity *pokemon);
+// 0x70D6C
+bool8 CanMoveInDirection(struct DungeonEntity *pokemon, u32 facingDir);
#endif
diff --git a/include/dungeon_engine.h b/include/dungeon_engine.h
new file mode 100644
index 0000000..f987b11
--- /dev/null
+++ b/include/dungeon_engine.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_DUNGEON_ENGINE_H
+#define GUARD_DUNGEON_ENGINE_H
+
+// 0x441E8
+bool8 IsFixedDungeon();
+
+#endif
diff --git a/include/dungeon_movement.h b/include/dungeon_movement.h
index e3ab174..d15ef1b 100644
--- a/include/dungeon_movement.h
+++ b/include/dungeon_movement.h
@@ -1,9 +1,7 @@
#ifndef GUARD_DUNGEON_MOVEMENT_H
#define GUARD_DUNGEON_MOVEMENT_H
-#include "dungeon_entity.h"
-
-// 0x75990
-void DecideAction(struct DungeonEntity *pokemon);
+// 0x70328
+u8 GetCrossableTerrain(s16 species);
#endif
diff --git a/include/map.h b/include/map.h
index bb991ff..9122f00 100644
--- a/include/map.h
+++ b/include/map.h
@@ -7,6 +7,27 @@
#define MAX_ROOM_COUNT 24 // Empirical max, not sure if the code supports any more.
#define CORRIDOR_ROOM_INDEX 0xFF
+enum TileType
+{
+ TILE_TYPE_FLOOR = 1 << 0,
+ TILE_TYPE_LIQUID = 1 << 1, // Water or lava depending on the dungeon.
+ TILE_TYPE_UNK_2 = 1 << 2,
+ TILE_TYPE_ROOM_EXIT = 1 << 3,
+ TILE_TYPE_MAP_EDGE = 1 << 4,
+ TILE_TYPE_SHOP = 1 << 5,
+ TILE_TYPE_MONSTER_HOUSE = 1 << 6,
+ TILE_TYPE_STAIRS = 1 << 9
+};
+
+enum CrossableTerrain
+{
+ CROSSABLE_TERRAIN_REGULAR = 0,
+ CROSSABLE_TERRAIN_LIQUID = 1,
+ CROSSABLE_TERRAIN_CREVICE = 2,
+ CROSSABLE_TERRAIN_WALL = 3,
+ NUM_CROSSABLE_TERRAIN
+};
+
struct MapTile
{
// Uses the TileType bit flags.
@@ -17,11 +38,8 @@ struct MapTile
u8 unk8;
/* 0x9 */ u8 roomIndex;
// Bitwise flags for whether Pokémon can move to an adjacent tile. Bits correspond to directions in direction.h.
- // Different sets of flags are used for Pokémon that can cross special terrain.
- /* 0xA */ u8 canMoveAdjacent;
- /* 0xB */ u8 canMoveAdjacentLiquid;
- /* 0xC */ u8 canMoveAdjacentCrevice;
- /* 0xD */ u8 canMoveAdjacentWall;
+ // Different sets of flags are used for Pokémon that can cross special terrain, corresponding to Cthe rossableTerrain enum.
+ /* 0xA */ u8 canMoveAdjacent[NUM_CROSSABLE_TERRAIN];
u8 fillE[0x10 - 0xE];
/* 0x10 */ struct DungeonEntity *pokemon; // Pokémon on the tile.
/* 0x14 */ struct DungeonEntity *mapObject; // Item or trap on the tile.
@@ -39,24 +57,4 @@ struct MapRoom
u8 fillA[0x1A - 0xA];
};
-enum TileType
-{
- TILE_TYPE_FLOOR = 1 << 0,
- TILE_TYPE_LIQUID = 1 << 1, // Water or lava depending on the dungeon.
- TILE_TYPE_UNK_2 = 1 << 2,
- TILE_TYPE_ROOM_EXIT = 1 << 3,
- TILE_TYPE_MAP_EDGE = 1 << 4,
- TILE_TYPE_SHOP = 1 << 5,
- TILE_TYPE_MONSTER_HOUSE = 1 << 6,
- TILE_TYPE_STAIRS = 1 << 9
-};
-
-enum CrossableTerrain
-{
- CROSSABLE_TERRAIN_REGULAR = 0,
- CROSSABLE_TERRAIN_LIQUID = 1,
- CROSSABLE_TERRAIN_CREVICE = 2,
- CROSSABLE_TERRAIN_WALL = 3,
-};
-
#endif