summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bard_music.c1
-rw-r--r--src/battle_2.c111
-rw-r--r--src/battle_6.c3
-rw-r--r--src/battle_7.c3
-rw-r--r--src/battle_811DA74.c12
-rw-r--r--src/battle_ai.c9
-rw-r--r--src/battle_anim.c21
-rw-r--r--src/battle_anim_80A7E7C.c15
-rw-r--r--src/battle_anim_81258BC.c10
-rw-r--r--src/battle_interface.c25
-rw-r--r--src/battle_party_menu.c47
-rw-r--r--src/battle_records.c5
-rw-r--r--src/battle_setup.c9
-rw-r--r--src/berry.c4
-rw-r--r--src/berry_tag_screen.c4
-rw-r--r--src/bike.c2
-rw-r--r--src/birch_pc.c1
-rw-r--r--src/braille_puzzles.c3
-rw-r--r--src/cable_club.c13
-rw-r--r--src/calculate_base_damage.c13
-rw-r--r--src/clear_save_data_menu.c2
-rw-r--r--src/clock.c13
-rw-r--r--src/contest_painting.c8
-rw-r--r--src/coord_event_weather.c3
-rw-r--r--src/credits.c25
-rw-r--r--src/daycare.c2
-rw-r--r--src/decompress.c1
-rw-r--r--src/decoration.c3
-rw-r--r--src/decoration_inventory.c2
-rw-r--r--src/dewford_trend.c1
-rw-r--r--src/diploma.c3
-rw-r--r--src/easy_chat.c9
-rw-r--r--src/field_camera.c4
-rw-r--r--src/field_control_avatar.c30
-rw-r--r--src/field_door.c2
-rw-r--r--src/field_effect.c6
-rw-r--r--src/field_fadetransition.c18
-rw-r--r--src/field_ground_effect.c20
-rwxr-xr-xsrc/field_map_obj.c30
-rwxr-xr-xsrc/field_map_obj_helpers.c22
-rw-r--r--src/field_message_box.c4
-rw-r--r--src/field_player_avatar.c59
-rw-r--r--src/field_poison.c5
-rw-r--r--src/field_region_map.c17
-rw-r--r--src/field_special_scene.c7
-rw-r--r--src/field_specials.c3
-rw-r--r--src/field_weather.c1
-rw-r--r--src/fieldmap.c33
-rw-r--r--src/fldeff_cut.c17
-rw-r--r--src/fldeff_softboiled.c8
-rw-r--r--src/fldeff_strength.c3
-rw-r--r--src/fldeff_sweetscent.c2
-rw-r--r--src/fldeff_teleport.c9
-rw-r--r--src/hof_pc.c3
-rw-r--r--src/intro.c16
-rw-r--r--src/item.c3
-rw-r--r--src/item_use.c67
-rw-r--r--src/link.c5
-rw-r--r--src/load_save.c1
-rw-r--r--src/lottery_corner.c1
-rw-r--r--src/mail.c8
-rw-r--r--src/mail_data.c7
-rw-r--r--src/main.c3
-rw-r--r--src/main_menu.c4
-rw-r--r--src/map_name_popup.c3
-rw-r--r--src/map_obj_lock.c3
-rw-r--r--src/matsuda_debug_menu.c8
-rw-r--r--src/mauville_old_man.c10
-rw-r--r--src/metatile_behavior.c3
-rw-r--r--src/mori_debug_menu.c4
-rw-r--r--src/mystery_event_menu.c2
-rw-r--r--src/mystery_event_script.c3
-rw-r--r--src/name_string_util.c1
-rw-r--r--src/naming_screen.c12
-rw-r--r--src/new_game.c14
-rw-r--r--src/palette.c1
-rw-r--r--src/party_menu.c93
-rw-r--r--src/player_pc.c26
-rw-r--r--src/pokedex.c24
-rw-r--r--src/pokedex_cry_screen.c2
-rw-r--r--src/pokemon_1.c8
-rw-r--r--src/pokemon_2.c15
-rw-r--r--src/pokemon_3.c41
-rw-r--r--src/pokemon_size_record.c4
-rw-r--r--src/pokemon_storage_system.c1
-rw-r--r--src/pokemon_summary_screen.c11
-rw-r--r--src/pokenav.c17
-rw-r--r--src/post_battle_event_funcs.c3
-rw-r--r--src/record_mixing.c12
-rw-r--r--src/roamer.c2
-rw-r--r--src/rom3.c37
-rw-r--r--src/rom4.c29
-rw-r--r--src/rom6.c8
-rw-r--r--src/rom_8077ABC.c44
-rw-r--r--src/safari_zone.c2
-rw-r--r--src/save.c1
-rw-r--r--src/save_failed_screen.c9
-rw-r--r--src/save_menu_util.c2
-rw-r--r--src/scrcmd.c23
-rw-r--r--src/script.c1
-rw-r--r--src/script_menu.c5
-rw-r--r--src/script_movement.c8
-rw-r--r--src/script_pokemon_util_80C4BF0.c20
-rw-r--r--src/script_pokemon_util_80F99CC.c24
-rw-r--r--src/secret_base.c31
-rw-r--r--src/shop.c27
-rw-r--r--src/slot_machine.c6
-rw-r--r--src/smokescreen.c2
-rw-r--r--src/sound.c4
-rw-r--r--src/sprite.c1
-rw-r--r--src/start_menu.c7
-rw-r--r--src/starter_choose.c4
-rw-r--r--src/strings.c2
-rw-r--r--src/time_events.c8
-rw-r--r--src/title_screen.c3
-rw-r--r--src/trainer_card.c8
-rw-r--r--src/trainer_see.c3
-rw-r--r--src/tv.c107
-rw-r--r--src/unknown_debug_menu.c4
-rw-r--r--src/util.c2
-rw-r--r--src/wallclock.c3
-rw-r--r--src/wild_encounter.c31
122 files changed, 501 insertions, 1089 deletions
diff --git a/src/bard_music.c b/src/bard_music.c
index 43c2923d2..a5514e3f7 100644
--- a/src/bard_music.c
+++ b/src/bard_music.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "asm.h"
struct BardSound
{
diff --git a/src/battle_2.c b/src/battle_2.c
index c147bdb95..451c4f108 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -1,22 +1,31 @@
#include "global.h"
-#include "asm.h"
+#include "abilities.h"
#include "battle.h"
+#include "battle_interface.h"
+#include "battle_setup.h"
#include "data2.h"
+#include "item.h"
+#include "link.h"
#include "main.h"
-#include "text.h"
+#include "name_string_util.h"
#include "palette.h"
-#include "sprite.h"
-#include "task.h"
+#include "party_menu.h"
+#include "pokeball.h"
+#include "pokedex.h"
#include "pokemon.h"
-#include "species.h"
-#include "link.h"
-#include "name_string_util.h"
-#include "battle_setup.h"
#include "rng.h"
-#include "sound.h"
+#include "rom3.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
#include "songs.h"
+#include "sound.h"
+#include "species.h"
+#include "sprite.h"
+#include "task.h"
+#include "text.h"
#include "trig.h"
-#include "abilities.h"
+#include "unknown_task.h"
+#include "util.h"
struct UnknownStruct6
{
@@ -87,8 +96,6 @@ struct UnknownStruct13
extern const u16 gUnknown_08D004E0[];
extern const struct MonCoords gCastformFrontSpriteCoords[];
-extern const struct BaseStats gBaseStats[];
-extern const u32 gBitTable[];
extern u8 ewram[];
#define ewram0 (*(struct UnknownStruct7 *)(ewram + 0x0))
@@ -212,86 +219,6 @@ extern u32 gBattleMoveDamage;
extern struct BattlePokemon gBattleMons[];
extern u8 gBattleMoveFlags;
-extern void sub_800B858(void);
-extern void dp12_8087EA4(void);
-extern void sub_80895F8();
-extern void sub_800D6D4();
-extern void sub_800DAB8();
-extern void sub_800E23C();
-extern void setup_poochyena_battle();
-extern void SetWildMonHeldItem(void);
-extern void AdjustFriendship(struct Pokemon *, u8);
-extern void sub_800DE30(u8);
-extern void sub_800B950(void);
-extern u8 battle_load_something();
-extern void OpenPartyMenu();
-extern void sub_8089668();
-extern void sub_800D74C();
-extern void sub_804777C(u8);
-extern void sub_8043DFC();
-extern u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
-extern void dp01_build_cmdbuf_x00_a_b_0(u8 a, u8 b, u8 c);
-extern void dp01_build_cmdbuf_x04_4_4_4(u8 a);
-extern void dp01_build_cmdbuf_x07_7_7_7(u8 a);
-extern void dp01_build_cmdbuf_x12_a_bb(u8 a, u8 b, u16 c);
-extern void dp01_build_cmdbuf_x2E_a(u8 a, u8 b);
-extern void dp01_build_cmdbuf_x2F_2F_2F_2F(u8 a);
-extern void dp01_build_cmdbuf_x30_TODO(u8 a, u8 *b, u8 c);
-extern void dp01_battle_side_mark_buffer_for_execution();
-extern u8 GetNationalPokedexFlag();
-extern void sub_800C704(u8, u8, u8);
-extern u8 sub_8018324();
-extern u8 sub_801A02C();
-extern u8 sub_8015DFC();
-extern u8 sub_8016558();
-extern u8 sub_80173A4();
-extern u8 sub_80170DC();
-extern u8 ItemId_GetHoldEffect(u16);
-extern void sub_8094C98();
-
-void InitBattle(void);
-void sub_800EC9C(void);
-void sub_800F104(void);
-void sub_800F298(void);
-void sub_800F808(void);
-void sub_800F838(struct Sprite *);
-u8 CreateNPCTrainerParty(struct Pokemon *, u16);
-void sub_800FCFC(void);
-void sub_8010824(void);
-void sub_80101B8(void);
-void c2_081284E0(void);
-void sub_8010278(struct Sprite *);
-void sub_80102AC(struct Sprite *);
-void nullsub_37(struct Sprite *);
-void sub_8010320(struct Sprite *);
-void sub_8010494(struct Sprite *);
-void sub_801053C(struct Sprite *);
-void oac_poke_ally_(struct Sprite *);
-void nullsub_86(struct Sprite *);
-void objc_dp11b_pingpong(struct Sprite *);
-void sub_8010874(void);
-void bc_8012FAC(void);
-void bc_load_battlefield(void);
-void sub_8011384(void);
-void bc_801333C(void);
-void bc_battle_begin_message(void);
-void bc_8013568(void);
-void sub_8011800(void);
-void sub_8011834(void);
-void bc_801362C(void);
-void sub_8011970(void);
-void sub_80119B4(void);
-void sub_8011B00(void);
-void sub_8011E8C(void);
-void sub_8012324(void);
-void sub_8012FBC(u8, u8);
-u8 b_first_side();
-void sub_801365C(u8);
-void sub_801377C(void);
-void sub_80138F0(void);
-void b_cancel_multi_turn_move_maybe(u8);
-void b_std_message();
-void sub_80156DC();
void sub_800E7C4(void)
{
diff --git a/src/battle_6.c b/src/battle_6.c
index bc540ce72..866a66ae3 100644
--- a/src/battle_6.c
+++ b/src/battle_6.c
@@ -1,5 +1,6 @@
#include "global.h"
-#include "asm.h"
+#include "battle.h"
+#include "battle_message.h"
#include "menu_cursor.h"
#include "text.h"
diff --git a/src/battle_7.c b/src/battle_7.c
index 50f348406..9c8b86fb4 100644
--- a/src/battle_7.c
+++ b/src/battle_7.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "asm.h"
#include "battle.h"
#include "battle_anim.h"
#include "battle_interface.h"
@@ -10,6 +9,8 @@
#include "m4a.h"
#include "palette.h"
#include "pokemon.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
#include "songs.h"
#include "sound.h"
#include "species.h"
diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c
index 439e6b3c6..b855f1535 100644
--- a/src/battle_811DA74.c
+++ b/src/battle_811DA74.c
@@ -1,18 +1,24 @@
#include "global.h"
-#include "asm.h"
#include "battle.h"
#include "battle_interface.h"
#include "data2.h"
+#include "battle_811DA74.h"
+#include "battle_anim_813F0F4.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
#include "palette.h"
+#include "pokeball.h"
#include "pokemon.h"
+#include "rom3.h"
+#include "rom_8077ABC.h"
#include "sound.h"
#include "songs.h"
#include "sprite.h"
#include "string_util.h"
+#include "task.h"
#include "text.h"
+#include "util.h"
struct UnknownStruct1
{
@@ -35,7 +41,6 @@ struct UnknownStruct5
u8 unk0_7:1;
};
-extern u32 gBitTable[];
extern u16 gBattleTypeFlags;
extern struct UnknownStruct5 gUnknown_020238C8;
@@ -113,8 +118,6 @@ extern void c3_0802FDF4(u8);
extern void sub_8031F88();
extern void sub_8141828();
extern void c2_8011A1C(void);
-extern void dp01_prepare_buffer_wireless_probably();
-extern void dp01_build_cmdbuf_x1D_1D_numargs_varargs(int, u16, void *);
void sub_811DA94(void);
void sub_811E0A0(void);
@@ -127,6 +130,7 @@ void sub_811FF30(void);
void sub_812071C(u8);
void sub_81208E0(void);
+
void nullsub_74(void)
{
}
diff --git a/src/battle_ai.c b/src/battle_ai.c
index 4f00cc7cb..cb8023251 100644
--- a/src/battle_ai.c
+++ b/src/battle_ai.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "battle_ai.h"
#include "abilities.h"
-#include "asm.h"
#include "battle.h"
#include "battle_move_effects.h"
#include "data2.h"
@@ -9,11 +8,9 @@
#include "moves.h"
#include "pokemon.h"
#include "rng.h"
+#include "rom_8077ABC.h"
#include "species.h"
-
-extern void sub_801CAF8(u8, u8);
-
-extern void move_effectiveness_something(u16, u8, u8);
+#include "util.h"
extern u16 gBattleTypeFlags;
extern u16 gBattleWeather;
@@ -35,9 +32,7 @@ extern struct BattlePokemon gUnknown_02024A8C[];
extern u8 gUnknown_030042E0[];
extern u8 gCritMultiplier;
extern u16 gTrainerBattleOpponent;
-extern u32 gBitTable[];
extern u8 *BattleAIs[];
-extern struct BaseStats gBaseStats[];
/*
gAIScriptPtr is a pointer to the next battle AI cmd command to read.
diff --git a/src/battle_anim.c b/src/battle_anim.c
index bdb34365f..90e5c97c3 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -1,9 +1,14 @@
#include "global.h"
#include "battle_anim.h"
-#include "asm.h"
+#include "battle.h"
+#include "battle_anim_80CA710.h"
+#include "battle_interface.h"
+#include "contest.h"
#include "decompress.h"
#include "m4a.h"
+#include "main.h"
#include "palette.h"
+#include "rom_8077ABC.h"
#include "sound.h"
#include "sprite.h"
#include "task.h"
@@ -57,20 +62,6 @@ extern const struct SpriteSheet gBattleAnimPicTable[];
extern const struct SpritePalette gBattleAnimPaletteTable[];
extern const struct BattleAnimBackground gBattleAnimBackgroundTable[];
-extern void sub_8079E24();
-extern void sub_8043EB4();
-extern u8 sub_8079E90();
-extern u8 sub_8077ABC();
-extern u8 sub_8078874(u8);
-extern void sub_8078914();
-extern u8 sub_80AEB1C();
-extern void sub_80E4EF8(int, int, int, int, u16, u8, int);
-extern u8 sub_80789BC();
-extern void sub_80AB2AC(void);
-extern void sub_800D7B8(void);
-extern u8 obj_id_for_side_relative_to_move();
-extern u8 battle_get_per_side_status_permutated();
-
static void RunAnimScriptCommand(void);
static void ScriptCmd_loadsprite(void);
static void ScriptCmd_unloadsprite(void);
diff --git a/src/battle_anim_80A7E7C.c b/src/battle_anim_80A7E7C.c
index 285a782f3..12b53d7d9 100644
--- a/src/battle_anim_80A7E7C.c
+++ b/src/battle_anim_80A7E7C.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle_anim.h"
+#include "rom_8077ABC.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
@@ -15,20 +16,6 @@ extern u16 gUnknown_0202F7BC;
extern u8 gBattleAnimPlayerMonIndex;
extern u8 gBattleAnimEnemyMonIndex;
-extern u8 obj_id_for_side_relative_to_move(u8 side);
-extern void DestroyAnimVisualTask(u8 task);
-extern u8 battle_get_side_with_given_state(u8 state);
-extern u8 battle_side_get_owner(u8 side);
-extern void oamt_set_x3A_32(struct Sprite *sprite, void(*callback)(struct Sprite*));
-extern void sub_8078458(struct Sprite *sprite);
-extern void move_anim_8072740(struct Sprite *sprite);
-extern void sub_8078A5C(struct Sprite *sprite);
-extern void sub_80784A8(struct Sprite *sprite);
-extern void sub_8078E70(u8 sprite, u8);
-extern void obj_id_set_rotscale(u8 sprite, int, int, u16);
-extern void sub_8078F40(u8 sprite);
-extern void sub_8078F9C(u8 sprite);
-
static void sub_80A7EF0(u8 task);
static void sub_80A808C(u8 task);
static void sub_80A81D8(u8 task);
diff --git a/src/battle_anim_81258BC.c b/src/battle_anim_81258BC.c
index 42a685f4a..fe4e9bd38 100644
--- a/src/battle_anim_81258BC.c
+++ b/src/battle_anim_81258BC.c
@@ -1,7 +1,9 @@
#include "global.h"
-#include "asm.h"
-#include "text.h"
+#include "battle_anim_81258BC.h"
+#include "battle.h"
+#include "battle_message.h"
#include "menu_cursor.h"
+#include "text.h"
extern struct Window gUnknown_03004210;
extern u8 gUnknown_020238CC[];
@@ -11,12 +13,10 @@ extern const u8 gUnknown_08400CBB[];
extern u8 gUnknown_02024A60;
extern const u8 gUnknown_08400D15[];
-extern void* gUnknown_03004330[];
+extern void *gUnknown_03004330[];
extern u16 gUnknown_030042A0;
extern u16 gUnknown_030042A4;
-void bx_battle_menu_t6_2(void);
-
#if ENGLISH
#define SUB_812BB10_TILE_DATA_OFFSET 440
#elif GERMAN
diff --git a/src/battle_interface.c b/src/battle_interface.c
index c5d07e8e9..042861c22 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -1,16 +1,18 @@
#include "global.h"
-#include "asm.h"
#include "battle.h"
-#include "sprite.h"
-#include "string_util.h"
-#include "text.h"
+#include "battle_interface.h"
#include "decompress.h"
-#include "sound.h"
-#include "songs.h"
-#include "battle.h"
#include "palette.h"
#include "pokedex.h"
-#include "battle_interface.h"
+#include "pokemon.h"
+#include "rom_8077ABC.h"
+#include "safari_zone.h"
+#include "songs.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
struct UnknownStruct5
{
@@ -39,9 +41,7 @@ extern u8 gUnknown_02024A72[];
extern u8 gUnknown_03004340[];
extern u16 gBattleTypeFlags;
-extern u8 gNumSafariBalls;
-extern u32 gExperienceTables[8][101];
extern const struct SpriteTemplate gSpriteTemplate_820A4EC[];
extern const struct SpriteTemplate gSpriteTemplate_820A51C[];
extern const struct SpriteTemplate gSpriteTemplate_820A54C;
@@ -71,22 +71,17 @@ extern const u8 gUnknown_0820A81C[];
extern const u8 gUnknown_0820A864[];
extern const u8 gUnknown_0820A89C[];
extern const u8 gUnknown_0820A8B0[];
-extern const struct BaseStats gBaseStats[];
extern const u8 BattleText_SafariBalls[];
extern const u8 BattleText_SafariBallsLeft[];
extern const u8 BattleText_HighlightRed[];
extern const u8 gUnknown_08D1216C[][32];
-extern const u8 *const gNatureNames[];
extern const u16 gBattleInterfaceStatusIcons_DynPal[];
#define ABS(n) ((n) >= 0 ? (n) : -(n))
// Used for computing copy destination addresses
#define MACRO1(n) ((n) - (n) / 8 * 8) + 64 * ((n) / 8)
-extern int sub_8040D3C();
-extern void load_gfxc_health_bar();
-
static void sub_8043D5C(struct Sprite *);
static const void *sub_8043CDC(u8);
static void sub_8044210(u8, s16, u8);
diff --git a/src/battle_party_menu.c b/src/battle_party_menu.c
index 7b4eb0258..c02290e80 100644
--- a/src/battle_party_menu.c
+++ b/src/battle_party_menu.c
@@ -1,10 +1,16 @@
#include "global.h"
#include "battle_party_menu.h"
-#include "asm.h"
+#include "battle.h"
+#include "item_menu.h"
#include "main.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "palette.h"
+#include "party_menu.h"
#include "pokemon.h"
+#include "pokemon_summary_screen.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
#include "songs.h"
#include "sound.h"
#include "string_util.h"
@@ -36,41 +42,6 @@ struct Unk201B000
#define ewram1B000 (*(struct Unk201B000 *)(ewram + 0x1B000))
#define UNK_201606C_ARRAY (ewram + 0x1606C) // lazy define but whatever.
-extern u8 IsLinkDoubleBattle(void);
-extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
-extern void LoadHeldItemIconGraphics(void);
-extern void CreateHeldItemIcons_806DC34();
-extern u8 sub_806BD58(u8, u8);
-extern void PartyMenuPrintMonsLevelOrStatus(void);
-extern void PrintPartyMenuMonNicknames(void);
-extern void PartyMenuTryPrintMonsHP(void);
-extern void nullsub_13(void);
-extern void PartyMenuDrawHPBars(void);
-extern u8 sub_806B58C(u8);
-extern u8 GetItemEffectType();
-extern void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int);
-extern u16 sub_806BD80();
-extern u8 sub_806CA38();
-extern void sub_806D5A4(void);
-extern void sub_802E414(void);
-extern void sub_80A6DCC(void);
-extern void sub_806AF4C();
-extern u8 sub_80F9344(void);
-extern u8 sub_806B124(void);
-extern void sub_806C994();
-extern void sub_806BF74();
-extern void sub_806AEDC(void);
-extern TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8);
-extern void ShowPokemonSummaryScreen(struct Pokemon *, u8, u8, void (*)(u8), int);
-extern void sub_806E7D0(u8, const struct PartyPopupMenu *);
-extern u8 *sub_8040D08();
-extern void sub_8040B8C(void);
-extern void sub_806E6F0();
-extern void sub_806D538();
-extern void nullsub_14();
-extern void OpenPartyMenu();
-extern u8 sub_803FBBC(void);
-
extern u16 gScriptItemId;
extern u8 gPlayerPartyCount;
extern u8 gUnknown_02024A68;
@@ -84,11 +55,13 @@ extern u8 gUnknown_02038473;
extern u8 gUnknown_020384F0;
extern void (*gUnknown_03004AE4)(); //don't know types yet
extern struct PokemonStorage gPokemonStorage;
+extern void nullsub_14();
void sub_8094C98(u8, u8);
+u8 pokemon_order_func(u8);
+
static void sub_8094998(u8[3], u8);
static void sub_8094A74(u8[3], u8, u32);
-u8 pokemon_order_func(u8);
static void sub_8094D60(void);
static void Task_809527C(u8);
static void Task_80952B4(u8);
diff --git a/src/battle_records.c b/src/battle_records.c
index 35fd3284b..cf86787f0 100644
--- a/src/battle_records.c
+++ b/src/battle_records.c
@@ -1,11 +1,8 @@
#include "global.h"
+#include "battle_records.h"
#include "menu.h"
#include "strings2.h"
-void PrintLinkBattleWinsLossesDraws(void *);
-
-void PrintLinkBattleRecord(void *, u8);
-
void ShowLinkBattleRecords(void) {
s32 i;
MenuDrawTextWindow(1, 0, 28, 18);
diff --git a/src/battle_setup.c b/src/battle_setup.c
index cb99bf5f5..e4e83dfa1 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,14 +1,17 @@
#include "global.h"
#include "battle_setup.h"
-#include "asm.h"
#include "battle.h"
+#include "battle_transition.h"
#include "data2.h"
#include "event_data.h"
#include "field_control_avatar.h"
+#include "field_fadetransition.h"
#include "field_map_obj_helpers.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
#include "field_weather.h"
+#include "fieldmap.h"
+#include "fldeff_80C5CD4.h"
#include "main.h"
#include "map_constants.h"
#include "metatile_behavior.h"
@@ -19,6 +22,7 @@
#include "safari_zone.h"
#include "script.h"
#include "script_pokemon_80C4.h"
+#include "secret_base.h"
#include "songs.h"
#include "sound.h"
#include "species.h"
@@ -33,9 +37,6 @@ extern u16 gScriptResult;
extern void (*gFieldCallback)(void);
-extern struct Pokemon gEnemyParty[];
-extern struct Pokemon gPlayerParty[];
-
EWRAM_DATA u16 gTrainerBattleMode = 0;
EWRAM_DATA u16 gTrainerBattleOpponent = 0;
EWRAM_DATA u16 gTrainerMapObjectLocalId = 0;
diff --git a/src/berry.c b/src/berry.c
index 257248e5c..d6fbb955e 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -1,8 +1,10 @@
#include "global.h"
#include "berry.h"
-#include "asm.h"
#include "field_control_avatar.h"
+#include "field_map_obj.h"
+#include "fieldmap.h"
#include "item.h"
+#include "item_menu.h"
#include "items.h"
#include "main.h"
#include "rng.h"
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 394a3691b..5647d4593 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -1,11 +1,13 @@
#include "global.h"
#include "berry_tag_screen.h"
-#include "asm.h"
#include "berry.h"
#include "decompress.h"
+#include "field_map_obj.h"
+#include "item_menu.h"
#include "items.h"
#include "main.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "palette.h"
#include "rom4.h"
#include "songs.h"
diff --git a/src/bike.c b/src/bike.c
index d7175b5e0..f37eb2144 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -1,8 +1,8 @@
#include "global.h"
#include "bike.h"
-#include "asm.h"
#include "field_map_obj.h"
#include "field_player_avatar.h"
+#include "fieldmap.h"
#include "flags.h"
#include "global.fieldmap.h"
#include "metatile_behavior.h"
diff --git a/src/birch_pc.c b/src/birch_pc.c
index f01107b3d..5fb6427c3 100644
--- a/src/birch_pc.c
+++ b/src/birch_pc.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "asm.h"
#include "event_data.h"
#include "field_message_box.h"
#include "pokedex.h"
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 2ee4f91bb..4de945b9c 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -1,10 +1,11 @@
#include "global.h"
#include "braille_puzzles.h"
-#include "asm.h"
#include "event_data.h"
#include "field_camera.h"
#include "field_effect.h"
+#include "fieldmap.h"
#include "flags.h"
+#include "main.h"
#include "map_obj_lock.h"
#include "menu.h"
#include "rom6.h"
diff --git a/src/cable_club.c b/src/cable_club.c
index 45fb347f3..13ae65322 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "asm.h"
+#include "cable_club.h"
#include "field_message_box.h"
#include "link.h"
#include "main.h"
@@ -20,20 +20,9 @@ extern u8 gFieldLinkPlayerCount;
extern u8 gUnknown_081A4932[];
extern const u8 gUnknown_081A4975[];
-void sub_8082D4C();
-void sub_8082D60(u8, u8);
-u16 sub_8082D9C(u8, u8);
-u32 sub_8082DF4(u8);
-u32 sub_8082E28(u8);
-u32 sub_8082EB8(u8);
-void sub_8082FEC(u8 taskId);
static void sub_80830E4(u8 taskId);
-void sub_8083188(u8 taskId);
static void sub_8083288(u8 taskId);
static void sub_8083314(u8 taskId);
-void sub_80833C4(u8 taskId);
-void sub_8083418(u8 taskId);
-u8 sub_8083444(u8 taskId);
void sub_808303C(u8 taskId) {
s32 linkPlayerCount;
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
index 7868a2c67..f3799ab66 100644
--- a/src/calculate_base_damage.c
+++ b/src/calculate_base_damage.c
@@ -16,9 +16,7 @@
#include "text.h"
extern u8 gPlayerPartyCount;
-extern struct Pokemon gPlayerParty[6];
extern u8 gEnemyPartyCount;
-extern struct Pokemon gEnemyParty[6];
extern u16 unk_20160BC[];
extern struct SecretBaseRecord gSecretBaseRecord;
@@ -36,21 +34,10 @@ extern u16 gTrainerBattleOpponent;
extern struct PokemonStorage gPokemonStorage;
extern u8 gBadEggNickname[];
-extern u32 gBitTable[];
-extern struct BaseStats gBaseStats[];
extern struct SpriteTemplate gSpriteTemplate_8208288[];
-extern u8 gTrainerClassToPicIndex[];
-extern u8 gTrainerClassToNameIndex[];
extern u8 gSecretBaseTrainerClasses[];
-extern u8 gUnknown_08208238[];
-extern u8 gUnknown_0820823C[];
-extern u8 gStatStageRatios[];
extern u8 gHoldEffectToType[][2];
-extern u8 battle_side_get_owner(u8);
-extern u8 sub_8018324(u8, u8, u8, u8, u16);
-extern u8 sub_803C348(u8);
-
#define APPLY_STAT_MOD(var, mon, stat, statIndex) \
{ \
(var) = (stat) * (gStatStageRatios)[(mon)->statStages[(statIndex)] * 2]; \
diff --git a/src/clear_save_data_menu.c b/src/clear_save_data_menu.c
index 690ce3f55..498562fe0 100644
--- a/src/clear_save_data_menu.c
+++ b/src/clear_save_data_menu.c
@@ -10,8 +10,6 @@
#include "strings2.h"
#include "task.h"
-extern const struct MenuAction gMenuYesNoItems[];
-
static void VBlankCB_ClearSaveDataScreen(void);
static void Task_InitMenu(u8);
static void Task_ProcessMenuInput(u8);
diff --git a/src/clock.c b/src/clock.c
index b263e99ae..1f2aac9fd 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -1,21 +1,18 @@
#include "global.h"
#include "clock.h"
#include "berry.h"
+#include "dewford_trend.h"
#include "event_data.h"
+#include "field_specials.h"
+#include "field_weather.h"
#include "lottery_corner.h"
#include "main.h"
#include "rom4.h"
#include "rtc.h"
+#include "time_events.h"
+#include "tv.h"
#include "wallclock.h"
-extern void UpdateDewfordTrendPerDay(u16);
-extern void UpdateTVShowsPerDay(u16);
-extern void UpdateWeatherPerDay(u16);
-extern void UpdatePartyPokerusTime(u16);
-extern void UpdateMirageRnd(u16);
-extern void UpdateBirchState(u16);
-extern void SetShoalItemFlag(u16);
-
static void InitTimeBasedEvents(void);
static void UpdatePerDay(struct Time *time);
static void UpdatePerMinute(struct Time *time);
diff --git a/src/contest_painting.c b/src/contest_painting.c
index d7bacb905..eddcc87c1 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "contest_painting.h"
-#include "asm.h"
+#include "cute_sketch.h"
#include "data2.h"
#include "decompress.h"
#include "main.h"
@@ -11,6 +11,7 @@
#include "string_util.h"
#include "strings.h"
#include "text.h"
+#include "unknown_task.h"
extern u8 unk_2000000[];
extern u8 gUnknown_03000750;
@@ -105,11 +106,6 @@ static void VBlankCB_ContestPainting(void);
void sub_8106B90(); //should be static
static void sub_8107090(u8 arg0, u8 arg1);
-extern void sub_80FC7A0(struct Unk03005E20*);
-extern void sub_80FDA18(struct Unk03005E20*);
-extern void sub_80FD8CC(struct Unk03005E20*);
-extern void *species_and_otid_get_pal();
-
__attribute__((naked))
void sub_8106630(u32 arg0)
{
diff --git a/src/coord_event_weather.c b/src/coord_event_weather.c
index f033e5391..9c5a1ca4d 100644
--- a/src/coord_event_weather.c
+++ b/src/coord_event_weather.c
@@ -1,5 +1,6 @@
#include "global.h"
-#include "asm.h"
+#include "coord_event_weather.h"
+#include "field_weather.h"
struct CoordEventWeather
{
diff --git a/src/credits.c b/src/credits.c
index c8de577fc..a7d6191e6 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -1,8 +1,9 @@
#include "global.h"
-#include "asm.h"
#include "data2.h"
#include "decompress.h"
#include "event_data.h"
+#include "hall_of_fame.h"
+#include "intro_credits_graphics.h"
#include "m4a.h"
#include "main.h"
#include "menu.h"
@@ -13,6 +14,7 @@
#include "sound.h"
#include "species.h"
#include "starter_choose.h"
+#include "task.h"
#include "trig.h"
asm(".set REG_BASE, 0x4000000");
@@ -21,8 +23,6 @@ asm(".set OFFSET_REG_BLDALPHA, 0x52");
asm(".set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT");
asm(".set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA");
-extern void *species_and_otid_get_pal(u32, u16, u16);
-
enum
{
PAGE_TITLE,
@@ -187,11 +187,6 @@ extern s16 gUnknown_0203935C;
extern u8 gReservedSpritePaletteCount;
-// data/starter_choose
-extern u16 gBirchBagGrassPal[32];
-extern u8 gBirchGrassTilemap[];
-extern u8 gBirchHelpGfx[];
-
// data/hall_of_fame
extern void *gUnknown_0840B5A0[];
@@ -211,14 +206,6 @@ extern const union AnimCmd *const gSpriteAnimTable_0840CA54[];
extern const union AnimCmd *const gSpriteAnimTable_0840CA94[];
extern struct SpriteTemplate gSpriteTemplate_840CAEC;
-// data/intro_credits_graphics
-extern const struct SpriteSheet gIntro2BrendanSpriteSheet;
-extern const struct SpriteSheet gIntro2MaySpriteSheet;
-extern const struct SpriteSheet gIntro2BicycleSpriteSheet;
-extern const struct SpritePalette gIntro2SpritePalettes[];
-extern const struct SpriteSheet gUnknown_08416E24;
-extern const struct SpriteSheet gUnknown_08416E34;
-
// graphics
extern u8 gCreditsCopyrightEnd_Gfx[];
extern u16 gIntroCopyright_Pal[16];
@@ -246,7 +233,7 @@ static void sub_8145128(u16, u16, u16);
static void sub_81452D0(u16 arg0, u16 palette);
static void spritecb_player_8145378(struct Sprite *sprite);
static void spritecb_rival_8145420(struct Sprite *sprite);
-static u8 sub_81456B4(u16 nationalNum, u16 x, u16 y, u16 position);
+static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position);
static void sub_81458DC(void);
static void vblank_8143948(void)
@@ -461,7 +448,7 @@ void task_a_8143D04(u8 taskIdA)
gReservedSpritePaletteCount = 8;
LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
- LoadPalette(gBirchBagGrassPal + 1, 1, 31 * 2);
+ LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2);
for (i = 0; i < 0x800; i++)
HALL_OF_FAME_SHEET_0[i] = 0x11;
@@ -1508,7 +1495,7 @@ void spritecb_81454E0(struct Sprite *sprite) {
static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position)
{
u32 personality;
- void *palette;
+ const u16 *palette;
u8 spriteId;
u8 spriteId2;
diff --git a/src/daycare.c b/src/daycare.c
index 381450a0b..cded18207 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -1,9 +1,9 @@
#include "global.h"
+#include "daycare.h"
#include "pokemon.h"
#include "species.h"
#include "items.h"
#include "string_util.h"
-#include "asm.h"
extern u8 gLastFieldPokeMenuOpened;
diff --git a/src/decompress.c b/src/decompress.c
index 37aa1e8d5..1d38447b5 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "decompress.h"
-#include "asm.h"
#include "data2.h"
#include "species.h"
#include "text.h"
diff --git a/src/decoration.c b/src/decoration.c
index 6974f7c92..a60870ab8 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "asm.h"
+#include "main.h"
#include "map_object_constants.h"
#include "rom4.h"
#include "sound.h"
@@ -12,6 +12,7 @@
#include "palette.h"
#include "field_player_avatar.h"
#include "field_camera.h"
+#include "field_fadetransition.h"
#include "fieldmap.h"
#include "metatile_behavior.h"
#include "event_data.h"
diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c
index 6463f50dc..35ba7e228 100644
--- a/src/decoration_inventory.c
+++ b/src/decoration_inventory.c
@@ -100,7 +100,7 @@ bool8 sub_8134074(u8 decorIdx)
return TRUE;
}
-bool8 sub_81340A8(u8 decorIdx)
+s8 sub_81340A8(u8 decorIdx)
{
u8 i;
u8 invIdx;
diff --git a/src/dewford_trend.c b/src/dewford_trend.c
index e4ce0c0c7..aaf4dd66a 100644
--- a/src/dewford_trend.c
+++ b/src/dewford_trend.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "dewford_trend.h"
-#include "asm.h"
#include "easy_chat.h"
#include "event_data.h"
#include "link.h"
diff --git a/src/diploma.c b/src/diploma.c
index 80adac8f7..ba7de58aa 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "asm.h"
+#include "diploma.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
@@ -10,6 +10,7 @@
#include "strings2.h"
#include "task.h"
#include "text.h"
+#include "unknown_task.h"
static void VBlankCB(void);
static void MainCB2(void);
diff --git a/src/easy_chat.c b/src/easy_chat.c
index e43ba751f..cc2cd7030 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "easy_chat.h"
-#include "asm.h"
#include "data2.h"
#include "event_data.h"
#include "field_message_box.h"
@@ -11,17 +10,9 @@
#include "strings2.h"
#include "text.h"
-u8 sub_80EB37C(u16);
-u8 sub_80EB8C0(void);
-u8 sub_80EB868(u8);
-u16 sub_80EAE88(u8);
-void sub_80EB890(u8);
-u16 sub_80EB784(u16 group);
-u8 sub_80EAD7C(u8 group);
static bool8 sub_80EB680(u16 *, u16, u16, u16);
static u16 sub_80EB9D8(void);
static u16 sub_80EB960(void);
-u16 sub_80EB72C(u16);
extern void *gEasyChatGroupWords[];
extern const u8 gEasyChatGroupSizes[];
diff --git a/src/field_camera.c b/src/field_camera.c
index df5ccc301..1aed1549b 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "field_camera.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
#include "berry.h"
#include "field_player_avatar.h"
+#include "fieldmap.h"
+#include "rotating_gate.h"
#include "sprite.h"
#include "text.h"
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 8220a144b..2d8140be5 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -1,17 +1,25 @@
#include "global.h"
#include "field_control_avatar.h"
-#include "asm.h"
#include "battle_setup.h"
#include "bike.h"
+#include "coord_event_weather.h"
+#include "daycare.h"
#include "event_data.h"
+#include "field_fadetransition.h"
#include "field_player_avatar.h"
+#include "field_poison.h"
+#include "field_specials.h"
+#include "fieldmap.h"
#include "flags.h"
+#include "item_menu.h"
#include "metatile_behavior.h"
#include "rom4.h"
#include "safari_zone.h"
#include "script.h"
+#include "secret_base.h"
#include "songs.h"
#include "sound.h"
+#include "start_menu.h"
#include "trainer_see.h"
#include "vars.h"
#include "wild_encounter.h"
@@ -22,7 +30,6 @@ struct Coords32
s32 y;
};
-extern const struct Coords32 gUnknown_0821664C[];
extern u16 gScriptLastTalked;
extern u16 gScriptFacing;
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
@@ -82,14 +89,10 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *, u8, u8);
static bool32 sub_8068770(void);
static bool32 sub_80687A4(void);
static bool8 sub_80687E4(struct MapPosition *, u16, u16);
-bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
-bool8 sub_8068870(u16 a);
-bool8 sub_8068894(void);
static void happiness_algorithm_step(void);
static bool8 overworld_poison_step(void);
static bool8 is_it_battle_time_3(u16);
static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8);
-bool8 sub_8068A64(struct MapPosition *, u16);
static bool8 sub_8068B30(u16);
static bool8 is_non_stair_warp_tile(u16, u8);
static s8 map_warp_check_packed(struct MapHeader *, struct MapPosition *);
@@ -98,21 +101,6 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8);
static s8 map_warp_check(struct MapHeader *, u16, u16, u8);
static u8 *mapheader_trigger_activate_at(struct MapHeader *, u16, u16, u8);
static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *, u16, u16, u8);
-u8 sub_8068F18(void);
-
-extern u8 mapheader_run_first_tag2_script_list_match(void);
-extern void sub_8071310(void);
-extern int sub_80A6D1C(void);
-extern u8 sub_80BC050();
-extern u8 sub_80422A0(void);
-extern s32 overworld_poison(void);
-extern void sub_8080E88();
-extern void walkrun_find_lowest_active_bit_in_bitfield(void);
-extern void sub_8080F2C(u8);
-extern void sub_8080F48(void);
-extern void sub_8080F58(void);
-extern void sub_80BC038();
-extern void DoCoordEventWeather(u8);
void FieldClearPlayerInput(struct FieldInput *input)
{
diff --git a/src/field_door.c b/src/field_door.c
index fa763a5d6..791ed4c94 100644
--- a/src/field_door.c
+++ b/src/field_door.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "field_door.h"
-#include "asm.h"
#include "field_camera.h"
+#include "fieldmap.h"
#include "metatile_behavior.h"
#include "task.h"
diff --git a/src/field_effect.c b/src/field_effect.c
index a9e881ba2..b3aff6af9 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "asm.h"
#include "data2.h"
#include "script.h"
#include "trig.h"
@@ -21,6 +20,11 @@
#include "metatile_behavior.h"
#include "field_camera.h"
#include "field_effect.h"
+#include "field_fadetransition.h"
+#include "fieldmap.h"
+#include "field_map_obj.h"
+#include "util.h"
+#include "field_effect_helpers.h"
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c
index b5e6c1039..364d55e51 100644
--- a/src/field_fadetransition.c
+++ b/src/field_fadetransition.c
@@ -1,25 +1,15 @@
#include "global.h"
#include "gba/syscall.h"
+#include "field_fadetransition.h"
+#include "field_player_avatar.h"
#include "field_weather.h"
+#include "fldeff_flash.h"
#include "global.fieldmap.h"
+#include "rom4.h"
#include "script.h"
#include "task.h"
-void palette_bg_fill_white(void);
-void palette_bg_fill_black(void);
-void pal_fill_black(void);
-void task0A_asap_script_env_2_enable_and_set_ctx_running(u8);
-
-extern u8 get_map_light_from_warp0(void);
-extern u8 sav1_map_get_light_level(void);
-extern u8 fade_type_for_given_maplight_pair(u8, u8);
extern u16 gPlttBufferFaded[];
-extern struct MapHeader * warp1_get_mapheader(void);
-extern void sub_8059B88(u8);
-extern void sub_8053E90(void);
-
-extern u8 sub_810CDB8(u8, u8);
-extern int sub_8080E70(void);
void palette_bg_fill_white(void)
{
diff --git a/src/field_ground_effect.c b/src/field_ground_effect.c
index 1aea8f52e..42862d0ff 100644
--- a/src/field_ground_effect.c
+++ b/src/field_ground_effect.c
@@ -1,26 +1,10 @@
#include "global.h"
-#include "asm_fieldmap.h"
+#include "field_ground_effect.h"
+#include "fieldmap.h"
#include "metatile_behavior.h"
extern u32 gUnknown_08376008[];
-void FieldObjectUpdateMetatileBehaviors(struct MapObject *);
-void GetGroundEffectFlags_Reflection(struct MapObject *, u32 *);
-void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *, u32 *);
-void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *, u32 *);
-void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *, u32 *);
-void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Tracks(struct MapObject *, u32 *);
-void GetGroundEffectFlags_SandPile(struct MapObject *, u32 *);
-void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Puddle(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Ripple(struct MapObject *, u32 *);
-void GetGroundEffectFlags_ShortGrass(struct MapObject *, u32 *);
-void GetGroundEffectFlags_HotSprings(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Seaweed(struct MapObject *, u32 *);
-void GetGroundEffectFlags_JumpLanding(struct MapObject *, u32 *);
-u8 FieldObjectCheckForReflectiveSurface(struct MapObject *);
-
void GetAllGroundEffectFlags_OnSpawn(struct MapObject *mapObj, u32 *flags)
{
FieldObjectUpdateMetatileBehaviors(mapObj);
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 8f2eb16d5..436c3beb0 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1,23 +1,22 @@
#include "global.h"
#include "field_map_obj.h"
-#include "field_map_obj_helpers.h"
-#include "fieldmap.h"
-#include "asm.h"
#include "berry.h"
#include "event_data.h"
-#include "field_player_avatar.h"
+#include "field_camera.h"
#include "field_effect.h"
+#include "field_effect_helpers.h"
#include "field_ground_effect.h"
+#include "field_map_obj_helpers.h"
+#include "field_player_avatar.h"
+#include "fieldmap.h"
#include "palette.h"
-#include "rom4.h"
#include "rng.h"
+#include "rom4.h"
#include "sprite.h"
-#include "field_camera.h"
#include "metatile_behavior.h"
#include "map_constants.h"
#include "map_object_constants.h"
#include "trainer_see.h"
-#include "field_effect_helpers.h"
// rodata
@@ -443,28 +442,11 @@ void sub_80634D0(struct MapObject *, struct Sprite *);
extern void pal_patch_for_npc(u16, u16);
extern void CameraObjectReset1(void);
-void sub_805AAB0(void);
-u8 GetFieldObjectIdByLocalId(u8);
-u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8);
-u8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *);
-void FieldObjectHandleDynamicGraphicsId(struct MapObject *);
-void RemoveFieldObjectInternal(struct MapObject *);
-u16 GetFieldObjectFlagIdByFieldObjectId(u8);
-void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables);
-struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8);
-void GetFieldObjectMovingCameraOffset(s16 *, s16 *);
-void sub_805BDF8(u16);
-u8 sub_805BE58(const struct SpritePalette *);
-u8 FindFieldObjectPaletteIndexByTag(u16);
-
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u8 gReservedSpritePaletteCount;
extern struct Camera gUnknown_0202E844;
extern u8 gUnknown_030005A4;
extern u16 gUnknown_030005A6;
-extern const u8 *const gBerryTreeGraphicsIdTablePointers[];
-extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
-extern const u8 *const gBerryTreePaletteSlotTablePointers[];
void npc_clear_ids_and_state(struct MapObject *mapObj)
{
diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c
index afc3c680c..17584c96a 100755
--- a/src/field_map_obj_helpers.c
+++ b/src/field_map_obj_helpers.c
@@ -1,14 +1,14 @@
#include "global.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
+#include "field_map_obj_helpers.h"
#include "field_effect.h"
+#include "field_ground_effect.h"
+#include "field_map_obj.h"
#include "sprite.h"
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
extern u32 gUnknown_0202FF84[];
-extern struct UCoords16 gDirectionToVector[];
extern s16 gUnknown_08376194[];
extern SpriteStepFunc *gUnknown_08376180[];
extern s8 *gUnknown_083761D0[];
@@ -76,26 +76,26 @@ void Step1(struct Sprite *sprite, u8 dir)
void Step2(struct Sprite *sprite, u8 dir)
{
- sprite->pos1.x += 2 * gDirectionToVector[dir].x;
- sprite->pos1.y += 2 * gDirectionToVector[dir].y;
+ sprite->pos1.x += 2 * (u16) gDirectionToVector[dir].x;
+ sprite->pos1.y += 2 * (u16) gDirectionToVector[dir].y;
}
void Step3(struct Sprite *sprite, u8 dir)
{
- sprite->pos1.x += 2 * gDirectionToVector[dir].x + gDirectionToVector[dir].x;
- sprite->pos1.y += 2 * gDirectionToVector[dir].y + gDirectionToVector[dir].y;
+ sprite->pos1.x += 2 * (u16) gDirectionToVector[dir].x + (u16) gDirectionToVector[dir].x;
+ sprite->pos1.y += 2 * (u16) gDirectionToVector[dir].y + (u16) gDirectionToVector[dir].y;
}
void Step4(struct Sprite *sprite, u8 dir)
{
- sprite->pos1.x += 4 * gDirectionToVector[dir].x;
- sprite->pos1.y += 4 * gDirectionToVector[dir].y;
+ sprite->pos1.x += 4 * (u16) gDirectionToVector[dir].x;
+ sprite->pos1.y += 4 * (u16) gDirectionToVector[dir].y;
}
void Step8(struct Sprite *sprite, u8 dir)
{
- sprite->pos1.x += 8 * gDirectionToVector[dir].x;
- sprite->pos1.y += 8 * gDirectionToVector[dir].y;
+ sprite->pos1.x += 8 * (u16) gDirectionToVector[dir].x;
+ sprite->pos1.y += 8 * (u16) gDirectionToVector[dir].y;
}
void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3)
diff --git a/src/field_message_box.c b/src/field_message_box.c
index 798725540..2cd2e66ab 100644
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -1,14 +1,12 @@
#include "global.h"
#include "field_message_box.h"
+#include "menu.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "text_window.h"
extern struct Window gFieldMessageBoxWindow;
-extern u16 gMenuTextWindowContentTileOffset;
-
-extern u16 gMenuTextTileOffset;
static u8 sMessageBoxMode;
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 1e1162350..3cdb45584 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1,23 +1,27 @@
#include "global.h"
#include "field_player_avatar.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
#include "bike.h"
#include "event_data.h"
#include "field_effect.h"
+#include "field_effect_helpers.h"
+#include "field_ground_effect.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
+#include "fieldmap.h"
#include "main.h"
#include "map_object_constants.h"
#include "menu.h"
#include "metatile_behavior.h"
+#include "party_menu.h"
#include "rng.h"
#include "rom4.h"
+#include "rotating_gate.h"
#include "script.h"
#include "songs.h"
#include "sound.h"
#include "strings2.h"
#include "task.h"
+#include "tv.h"
#include "wild_encounter.h"
extern u32 gUnknown_0202FF84[];
@@ -29,41 +33,14 @@ static void MovePlayerAvatarUsingKeypadInput(u8 a, u16 b, u16 c);
static void PlayerAllowForcedMovementIfMovingSameDirection(void);
static u8 TryDoMetatileBehaviorForcedMovement(void);
static u8 GetForcedMovementByMetatileBehavior(void);
-u8 ForcedMovement_None(void);
-u8 ForcedMovement_Slip(void);
-u8 sub_8058AAC(void);
-u8 sub_8058AC4(void);
-u8 sub_8058ADC(void);
-u8 sub_8058AF4(void);
-u8 sub_8058B0C(void);
-u8 sub_8058B24(void);
-u8 sub_8058B3C(void);
-u8 sub_8058B54(void);
-u8 ForcedMovement_SlideSouth(void);
-u8 ForcedMovement_SlideNorth(void);
-u8 ForcedMovement_SlideWest(void);
-u8 ForcedMovement_SlideEast(void);
-u8 sub_8058C04(void);
-u8 sub_8058C10(void);
-u8 ForcedMovement_MuddySlope(void);
static void MovePlayerNotOnBike(u8 a, u16 b);
static u8 CheckMovementInputNotOnBike(u8 a);
-void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys);
-void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys);
-void sub_8058D0C(u8 direction, u16 heldKeys);
static u8 CheckForPlayerAvatarCollision(u8 a);
static u8 sub_8058EF0(s16 a, s16 b, u8 c);
static bool8 ShouldJumpLedge(s16 a, s16 b, u8 c);
static u8 sub_8058F6C(s16 a, s16 b, u8 c);
static void check_acro_bike_metatile(int unused1, int unused2, u8 c, u8 *d);
static void DoPlayerAvatarTransition(void);
-void nullsub_49(struct MapObject *a);
-void PlayerAvatarTransition_Normal(struct MapObject *a);
-void PlayerAvatarTransition_MachBike(struct MapObject *a);
-void PlayerAvatarTransition_AcroBike(struct MapObject *a);
-void PlayerAvatarTransition_Surfing(struct MapObject *a);
-void PlayerAvatarTransition_Underwater(struct MapObject *a);
-void sub_80591F4(struct MapObject *a);
static bool8 player_is_anim_in_certain_ranges(void);
static bool8 sub_80592A4(void);
static bool8 PlayerIsAnimActive(void);
@@ -72,32 +49,8 @@ static void PlayerNotOnBikeCollide(u8 a);
static void PlayCollisionSoundIfNotFacingWarp(u8 a);
static void sub_8059D60(struct MapObject *a);
static void StartStrengthAnim(u8 a, u8 b);
-u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c);
static void sub_8059F94(void);
-u8 sub_805A000(struct Task *task, struct MapObject *mapObject);
static void sub_805A06C(void);
-u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A100(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A178(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject);
-u8 Fishing1(struct Task *task);
-u8 Fishing2(struct Task *task);
-u8 Fishing3(struct Task *task);
-u8 Fishing4(struct Task *task);
-u8 Fishing5(struct Task *task);
-u8 Fishing6(struct Task *task);
-u8 Fishing7(struct Task *task);
-u8 Fishing8(struct Task *task);
-u8 Fishing9(struct Task *task);
-u8 Fishing10(struct Task *task);
-u8 Fishing11(struct Task *task);
-u8 Fishing12(struct Task *task);
-u8 Fishing13(struct Task *task);
-u8 Fishing14(struct Task *task);
-u8 Fishing15(struct Task *task);
-u8 Fishing16(struct Task *task);
static bool8 (*const gUnknown_0830FB58[])(u8) =
{
diff --git a/src/field_poison.c b/src/field_poison.c
index 4d4d4b975..8c9e029e1 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -1,13 +1,14 @@
#include "global.h"
-#include "asm.h"
+#include "field_poison.h"
#include "field_message_box.h"
+#include "fldeff_80C5CD4.h"
#include "pokemon.h"
+#include "pokemon_summary_screen.h"
#include "script.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
-extern struct Pokemon gPlayerParty[6];
extern u16 gScriptResult;
extern u8 fieldPoisonText_PokemonFainted[];
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 66e3d968c..58b0e37bc 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -1,17 +1,12 @@
#include "global.h"
-#include "asm.h"
+#include "field_region_map.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
+#include "region_map.h"
#include "sprite.h"
-#include "text.h"
#include "strings2.h"
-
-extern void sub_80FA8EC(u32, u8);
-extern void sub_80FAB10(void);
-extern u8 sub_80FAB60(void);
-extern void sub_80FBCF0(u32, u8);
-extern void sub_80FBB3C(u16, u16);
+#include "text.h"
struct RegionMapStruct
{
@@ -30,12 +25,6 @@ struct UnkStruct
extern struct UnkStruct unk_2000000;
-void CB2_FieldInitRegionMap(void);
-void CB2_FieldRegionMap(void);
-void VBlankCB_FieldRegionMap(void);
-void sub_813EFDC(void);
-void sub_813F0C8(void);
-
void FieldInitRegionMap(MainCallback callback)
{
SetVBlankCallback(NULL);
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index 9e06ede81..c88ac8f65 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -1,11 +1,16 @@
#include "global.h"
#include "field_special_scene.h"
-#include "asm.h"
#include "event_data.h"
#include "field_camera.h"
+#include "field_fadetransition.h"
+#include "field_map_obj.h"
+#include "field_specials.h"
+#include "fieldmap.h"
+#include "main.h"
#include "palette.h"
#include "rom4.h"
#include "script.h"
+#include "script_movement.h"
#include "songs.h"
#include "sound.h"
#include "sprite.h"
diff --git a/src/field_specials.c b/src/field_specials.c
index 9f5a314e2..2cb2cf795 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1,5 +1,6 @@
#include "global.h"
-#include "asm.h"
+#include "field_specials.h"
+#include "diploma.h"
#include "event_data.h"
#include "field_player_avatar.h"
#include "main.h"
diff --git a/src/field_weather.c b/src/field_weather.c
index ff5d5b507..5ff2eddf9 100644
--- a/src/field_weather.c
+++ b/src/field_weather.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "field_weather.h"
-#include "asm.h"
#include "palette.h"
#include "sprite.h"
#include "task.h"
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 2ed2266f5..e573ec13a 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -1,14 +1,10 @@
#include "global.h"
#include "fieldmap.h"
#include "palette.h"
-
-extern struct MapHeader * const get_mapheader_by_bank_and_number(u8, u8);
-extern void mapheader_run_script_with_tag_x1(void);
-extern void sub_80BB970(struct MapEvents *);
-extern void sub_80BBCCC();
-extern void sub_8056670();
-extern void UpdateTVScreensOnMap();
-extern void sub_80538F0(u8 mapGroup, u8 mapNum);
+#include "rom4.h"
+#include "script.h"
+#include "secret_base.h"
+#include "tv.h"
struct ConnectionFlags
{
@@ -24,8 +20,6 @@ struct Coords32
s32 y;
};
-extern const struct Coords32 gUnknown_0821664C[];
-
EWRAM_DATA static u16 gUnknown_02029828[0x2800] = {0};
EWRAM_DATA struct MapHeader gMapHeader = {0};
EWRAM_DATA struct Camera gUnknown_0202E844 = {0};
@@ -33,17 +27,6 @@ EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0};
static const struct ConnectionFlags sDummyConnectionFlags = {0};
-void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
-void sub_80560AC(struct MapHeader *);
-void map_copy_with_padding(u16 *map, u16 width, u16 height);
-void fillSouthConnection(struct MapHeader *, struct MapHeader *, s32);
-void fillNorthConnection(struct MapHeader *, struct MapHeader *, s32);
-void fillWestConnection(struct MapHeader *, struct MapHeader *, s32);
-void fillEastConnection(struct MapHeader *, struct MapHeader *, s32);
-struct MapConnection *sub_8056A64(u8 direction, int x, int y);
-bool8 sub_8056ABC(u8 direction, int x, int y, struct MapConnection *connection);
-bool8 sub_8056B20(int x, int src_width, int dest_width, int offset);
-
struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection)
{
return get_mapheader_by_bank_and_number(connection->mapGroup, connection->mapNum);
@@ -352,7 +335,7 @@ union Block
u16 value;
};
-u16 MapGridGetZCoordAt(int x, int y)
+u8 MapGridGetZCoordAt(int x, int y)
{
u16 block;
int i;
@@ -378,7 +361,7 @@ u16 MapGridGetZCoordAt(int x, int y)
return block >> 12;
}
-u16 MapGridIsImpassableAt(int x, int y)
+u8 MapGridIsImpassableAt(int x, int y)
{
u16 block;
int i;
@@ -404,7 +387,7 @@ u16 MapGridIsImpassableAt(int x, int y)
return (block & 0xc00) >> 10;
}
-u16 MapGridGetMetatileIdAt(int x, int y)
+u32 MapGridGetMetatileIdAt(int x, int y)
{
u16 block;
int i;
@@ -444,7 +427,7 @@ u32 MapGridGetMetatileBehaviorAt(int x, int y)
return GetBehaviorByMetatileId(metatile) & 0xff;
}
-u16 MapGridGetMetatileLayerTypeAt(int x, int y)
+u8 MapGridGetMetatileLayerTypeAt(int x, int y)
{
u16 metatile;
metatile = MapGridGetMetatileIdAt(x, y);
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 4a2313499..e837dbd45 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -1,17 +1,20 @@
#include "global.h"
-#include "asm.h"
+#include "fldeff_cut.h"
#include "field_camera.h"
#include "field_effect.h"
#include "field_player_avatar.h"
+#include "fieldmap.h"
#include "map_obj_lock.h"
#include "metatile_behavior.h"
#include "metatile_behaviors.h"
+#include "pokemon_menu.h"
#include "rom4.h"
#include "rom6.h"
#include "script.h"
#include "songs.h"
#include "sound.h"
#include "sprite.h"
+#include "task.h"
#include "trig.h"
extern u8 gCutGrassSpriteArray[8]; // seems to be an array of 8 sprite IDs
@@ -28,18 +31,6 @@ extern u32 gUnknown_0202FF84[];
extern u8 UseCutScript;
-extern void sub_808AB90(void); // unknown args
-extern void sub_805BCC0(s16 x, s16 y);
-
-void sub_80A2634(void);
-void sub_80A25E8(void);
-void sub_80A2684(void);
-void sub_80A27A8(s16, s16);
-void sub_80A28F4(s16, s16);
-void objc_8097BBC(struct Sprite *sprite);
-void sub_80A2AB8(void);
-void sub_80A2B00(void); // unknown args
-
bool8 SetUpFieldMove_Cut(void)
{
s16 x, y;
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index d0ee712af..45f319c62 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -1,7 +1,9 @@
#include "global.h"
-#include "asm.h"
+#include "fldeff_softboiled.h"
#include "menu.h"
+#include "party_menu.h"
#include "pokemon.h"
+#include "pokemon_menu.h"
#include "songs.h"
#include "sound.h"
#include "sprite.h"
@@ -62,10 +64,6 @@ extern u8 gLastFieldPokeMenuOpened;
extern u8 unk_2000000[];
extern u8 gUnknown_0202E8F4;
-// Public
-bool8 SetUpFieldMove_SoftBoiled(void);
-void sub_8133D28(u8 taskid);
-
// Static
static void sub_8133D50(u8 taskId);
static void sub_8133E74(u8 taskId);
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index a831676b8..1edae09d4 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -1,8 +1,9 @@
#include "global.h"
-#include "asm.h"
#include "braille_puzzles.h"
#include "field_effect.h"
+#include "party_menu.h"
#include "pokemon.h"
+#include "pokemon_menu.h"
#include "rom6.h"
#include "script.h"
#include "task.h"
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index 3a9281ac2..6e782f4ac 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -1,8 +1,8 @@
#include "global.h"
-#include "asm.h"
#include "field_effect.h"
#include "field_player_avatar.h"
#include "palette.h"
+#include "pokemon_menu.h"
#include "rom6.h"
#include "script.h"
#include "sound.h"
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c
index 952193ff0..df12d3072 100644
--- a/src/fldeff_teleport.c
+++ b/src/fldeff_teleport.c
@@ -1,11 +1,11 @@
#include "global.h"
-#include "asm.h"
+#include "fldeff_teleport.h"
#include "field_effect.h"
#include "field_player_avatar.h"
+#include "pokemon_menu.h"
#include "rom4.h"
#include "rom6.h"
-
-extern void sub_8087BA8(void);
+#include "task.h"
extern u32 gUnknown_0202FF84[];
@@ -13,9 +13,6 @@ extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
-void hm_teleport_run_dp02scr(void);
-void sub_814A404(void);
-
bool8 SetUpFieldMove_Teleport(void)
{
if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE)
diff --git a/src/hof_pc.c b/src/hof_pc.c
index ca0c2f370..4646d171c 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "hall_of_fame.h"
#include "main.h"
#include "palette.h"
#include "rom4.h"
@@ -6,8 +7,8 @@
#include "script_menu.h"
#include "task.h"
-extern void sub_81428CC(void);
extern void (*gFieldCallback)(void);
+extern void (*gUnknown_0300485C)(void);
static void ReshowPCMenuAfterHallOfFamePC(void);
static void Task_WaitForPaletteFade(u8);
diff --git a/src/intro.c b/src/intro.c
index ba2197ae7..f13bd04e6 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -1,9 +1,10 @@
#include "global.h"
#include "gba/m4a_internal.h"
#include "intro.h"
-#include "asm.h"
#include "data2.h"
#include "decompress.h"
+#include "hall_of_fame.h"
+#include "intro_credits_graphics.h"
#include "libgncmultiboot.h"
#include "link.h"
#include "m4a.h"
@@ -18,9 +19,7 @@
#include "task.h"
#include "title_screen.h"
#include "trig.h"
-
-extern void *species_and_otid_get_pal(/*TODO: arg types*/);
-extern void sub_8143680(int, u8);
+#include "unknown_task.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gUnknown_02039318;
@@ -33,16 +32,9 @@ extern u16 gSaveFileStatus;
extern u8 gReservedSpritePaletteCount;
extern const u8 gInterfaceGfx_PokeBall[];
extern const u16 gInterfacePal_PokeBall[];
-extern const struct SpriteSheet gIntro2BrendanSpriteSheet;
-extern const struct SpriteSheet gIntro2MaySpriteSheet;
-extern const struct SpriteSheet gIntro2BicycleSpriteSheet;
-extern const struct SpriteSheet gIntro2LatiosSpriteSheet;
-extern const struct SpriteSheet gIntro2LatiasSpriteSheet;
-extern const struct SpritePalette gIntro2SpritePalettes[];
extern const u8 gIntroCopyright_Gfx[];
extern const u16 gIntroCopyright_Pal[];
extern const u16 gIntroCopyright_Tilemap[];
-extern const u16 gUnknown_08393E64[];
extern void *const gUnknown_0840B5A0[];
//--------------------------------------------------
@@ -1780,7 +1772,7 @@ void sub_813CE30(u16 scrX, u16 scrY, u16 zoom, u16 alpha)
static u16 sub_813CE88(u16 species, s16 x, s16 y, u16 d, u8 front)
{
- void *pal;
+ const u16 *pal;
u8 spriteId;
if (front)
diff --git a/src/item.c b/src/item.c
index ad2b9aed3..920670e8f 100644
--- a/src/item.c
+++ b/src/item.c
@@ -1,10 +1,9 @@
#include "global.h"
#include "item.h"
+#include "berry.h"
#include "string_util.h"
#include "strings.h"
-extern struct Berry *GetBerryInfo(u8 berry);
-
extern u8 gUnknown_02038560;
extern struct Item gItems[];
diff --git a/src/item_use.c b/src/item_use.c
index c04cf9d7a..269c847a5 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -1,15 +1,19 @@
#include "global.h"
-#include "asm.h"
+#include "item_use.h"
#include "battle.h"
#include "berry.h"
+#include "bike.h"
#include "coins.h"
#include "data2.h"
#include "event_data.h"
+#include "field_effect.h"
+#include "field_fadetransition.h"
#include "field_map_obj_helpers.h"
#include "field_player_avatar.h"
#include "field_weather.h"
#include "fieldmap.h"
#include "item.h"
+#include "item_menu.h"
#include "items.h"
#include "mail.h"
#include "main.h"
@@ -18,7 +22,12 @@
#include "menu_helpers.h"
#include "metatile_behavior.h"
#include "palette.h"
+#include "party_menu.h"
+#include "pokeblock.h"
+#include "pokemon_item_effect.h"
+#include "pokemon_menu.h"
#include "rom4.h"
+#include "rom_8094928.h"
#include "script.h"
#include "songs.h"
#include "sound.h"
@@ -29,7 +38,8 @@
extern void (* gUnknown_03005D00)(u8);
extern void (* gFieldCallback)(void);
-extern void (* gUnknown_03004AE4)(u8);
+extern void (* gUnknown_0300485C)(void);
+extern void (* gUnknown_03004AE4)(u8, u16, TaskFunc);
extern u8 gUnknown_02038561;
extern u8 gLastFieldPokeMenuOpened;
@@ -40,62 +50,9 @@ extern u8 gUnknown_081A168F[];
extern u16 gUnknown_02024A6A[];
-extern void HandleItemMenuPaletteFade(u8);
-extern void ExecuteItemUseFromBlackPalette(void);
-extern void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16);
-extern void CleanUpItemMenuMessage(u8);
-extern void CleanUpOverworldMessage(u8);
-extern void ItemUseOnFieldCB_Bike(u8);
-extern void ItemUseOnFieldCB_Rod(u8);
-extern void ItemUseOnFieldCB_Itemfinder(u8);
-extern void sub_80A5D04(void);
-extern bool8 IsBikingDisallowedByPlayer(void);
-extern void GetOnOffBike(u8);
-extern struct MapConnection *sub_8056BA0(s16 x, s16 y); // fieldmap.c
-extern void sub_810BA7C(u8);
-extern void sub_8080E28(void);
-extern void UseMedicine(u8);
-extern void sub_8070048(u8);
-extern void DoPPRecoveryItemEffect(u8);
-extern void DoPPUpItemEffect(u8);
-extern void DoRareCandyItemEffect(u8);
-extern void DoEvolutionStoneItemEffect(u8);
-extern u16 ItemIdToBattleMoveId(u16);
-extern void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32);
-extern void sub_80A3E0C(void);
-extern void TeachMonTMMove(u8);
-extern void sub_80878A8(void);
-extern void sub_8053014(void);
-extern void sub_80A7094(u8);
-extern bool8 ExecuteTableBasedItemEffect_(struct Pokemon *mon, u16, u8, u16);
-extern void sub_8094E4C(void);
-extern u8 ExecuteTableBasedItemEffect__(u8 u8, u16 u16, int i);
-extern u8 GetItemEffectType();
-extern void sub_808B020(void);
-extern void sub_810B96C(void);
-
extern u16 gScriptItemId;
extern u16 gBattleTypeFlags;
-bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId);
-void RunItemfinderResults(u8);
-void ExitItemfinder(u8);
-void sub_80C9720(u8);
-void sub_80C9838(u8, s16, s16);
-u8 GetPlayerDirectionTowardsHiddenItem(s16, s16);
-void SetPlayerDirectionTowardsItem(u8);
-void DisplayItemRespondingMessageAndExitItemfinder(u8);
-void RotatePlayerAndExitItemfinder(u8);
-void sub_80C9D00(u8);
-void sub_80C9D74(u8);
-void sub_80C9EE4(u8);
-void sub_80C9F10(u8);
-void sub_80C9F80(u8);
-void sub_80C9FC0(u8);
-void ItemUseOutOfBattle_TMHM(u8);
-void ItemUseOutOfBattle_EvolutionStone(u8);
-void ItemUseOutOfBattle_CannotUse(u8);
-
static const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
static const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
diff --git a/src/link.c b/src/link.c
index 17e78e0a5..5f6c32370 100644
--- a/src/link.c
+++ b/src/link.c
@@ -1,7 +1,9 @@
#include "global.h"
#include "link.h"
-#include "asm.h"
#include "battle.h"
+#include "berry.h"
+#include "berry_blender.h"
+#include "hall_of_fame.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
@@ -75,6 +77,7 @@ static void sub_80083E0(void);
static void sub_8008454(void);
static void sub_80084C8(void);
static void sub_80084F4(void);
+
static void CheckErrorStatus(void);
static void CB2_PrintErrorMessage(void);
static u8 IsSioMultiMaster(void);
diff --git a/src/load_save.c b/src/load_save.c
index 0add1b0e3..0630f060c 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gba/flash_internal.h"
#include "load_save.h"
-#include "asm.h"
#include "main.h"
#include "pokemon.h"
#include "rom4.h"
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 66e1238ef..c2c25b9ac 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -9,7 +9,6 @@
extern u16 gScriptResult;
extern u16 gSpecialVar_0x8004;
-extern struct Pokemon gPlayerParty[6];
extern struct PokemonStorage gPokemonStorage;
extern u16 gSpecialVar_0x8005;
extern u16 gSpecialVar_0x8006;
diff --git a/src/mail.c b/src/mail.c
index 4ec107011..658d37976 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -1,16 +1,20 @@
#include "global.h"
#include "mail.h"
-#include "asm.h"
+#include "easy_chat.h"
#include "items.h"
+#include "mail_data.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "name_string_util.h"
#include "palette.h"
+#include "pokemon_icon.h"
#include "rom4.h"
#include "sprite.h"
#include "string_util.h"
#include "strings2.h"
#include "task.h"
#include "text.h"
+#include "unknown_task.h"
struct UnkMailStruct
{
@@ -84,7 +88,7 @@ static void sub_80F8FB4(void);
void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2)
{
u16 mailDesign;
- u8 buffer[4];
+ u16 buffer[2];
ewram0.varFF = GAME_LANGUAGE;
ewram0.var100 = 1;
diff --git a/src/mail_data.c b/src/mail_data.c
index 23d22e21f..ae3f4b3e8 100644
--- a/src/mail_data.c
+++ b/src/mail_data.c
@@ -1,15 +1,12 @@
#include "global.h"
+#include "mail_data.h"
#include "items.h"
#include "name_string_util.h"
#include "pokemon.h"
+#include "pokemon_icon.h"
#include "species.h"
#include "text.h"
-void ClearMailStruct(struct MailStruct *);
-u16 SpeciesToMailSpecies(u16, u32);
-bool8 ItemIsMail(u16);
-u16 GetUnownLetterByPersonality(u32);
-
void ClearMailData(void)
{
u8 i;
diff --git a/src/main.c b/src/main.c
index 19891459c..afaa0e77a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,17 +2,18 @@
#include "gba/flash_internal.h"
#include "gba/m4a_internal.h"
#include "main.h"
-#include "asm.h"
#include "intro.h"
#include "link.h"
#include "load_save.h"
#include "m4a.h"
#include "play_time.h"
#include "rng.h"
+#include "rom3.h"
#include "rom4.h"
#include "rtc.h"
#include "siirtc.h"
#include "sound.h"
+#include "unknown_task.h"
extern struct SoundInfo gSoundInfo;
extern u32 IntrMain[];
diff --git a/src/main_menu.c b/src/main_menu.c
index ac26d604d..09fd06d9e 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -1,14 +1,15 @@
#include "global.h"
#include "main_menu.h"
-#include "asm.h"
#include "data2.h"
#include "decompress.h"
#include "event_data.h"
+#include "field_effect.h"
#include "menu.h"
#include "mystery_event_menu.h"
#include "naming_screen.h"
#include "option_menu.h"
#include "palette.h"
+#include "pokeball.h"
#include "rom4.h"
#include "rtc.h"
#include "save_menu_util.h"
@@ -20,6 +21,7 @@
#include "task.h"
#include "text.h"
#include "title_screen.h"
+#include "unknown_task.h"
#define BirchSpeechUpdateWindowText() ((u8)MenuUpdateWindowText_OverrideLineLength(24))
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index c10a3f9de..303cc3d07 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -1,7 +1,8 @@
#include "global.h"
-#include "asm.h"
+#include "map_name_popup.h"
#include "event_data.h"
#include "menu.h"
+#include "region_map.h"
#include "task.h"
EWRAM_DATA static u8 sTaskId = 0;
diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c
index 713ca03f9..bd40bcacc 100644
--- a/src/map_obj_lock.c
+++ b/src/map_obj_lock.c
@@ -1,8 +1,9 @@
#include "global.h"
#include "map_obj_lock.h"
-#include "asm.h"
+#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "field_player_avatar.h"
+#include "script_movement.h"
#include "task.h"
extern u16 gScriptFacing;
diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c
index 018e36567..3665cabd8 100644
--- a/src/matsuda_debug_menu.c
+++ b/src/matsuda_debug_menu.c
@@ -1,7 +1,8 @@
#include "global.h"
#include "matsuda_debug_menu.h"
-#include "asm.h"
#include "contest.h"
+#include "contest_link_80C2020.h"
+#include "contest_link_80C857C.h"
#include "data2.h"
#include "link.h"
#include "main.h"
@@ -13,6 +14,7 @@
#include "string_util.h"
#include "task.h"
#include "text.h"
+#include "unknown_task.h"
extern u8 gUnknown_0203856C;
extern u8 gUnknown_0203857D[][64];
@@ -27,8 +29,6 @@ extern u8 gContestPlayerMonIndex;
extern u16 gScriptContestCategory;
extern u16 gScriptContestRank;
-extern struct Window gMenuWindow;
-
extern u16 gUnknown_030042A4;
extern u16 gUnknown_030042A0;
extern u16 gUnknown_030042C0;
@@ -84,8 +84,6 @@ static void sub_80AA10C(void);
static void sub_80AA5BC(u8);
static void sub_80AA614(u8, u8);
static void sub_80AAD08(struct Sprite *, s8);
-extern void sub_80AB47C(void);
-extern int sub_80B2A7C(u8); //Don't know return type size
u8 unref_sub_80A9B28(void)
{
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index d6fb33917..93684fc60 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -1,20 +1,16 @@
#include "global.h"
-#include "asm.h"
+#include "mauville_old_man.h"
+#include "easy_chat.h"
#include "menu.h"
#include "rng.h"
#include "script.h"
#include "string_util.h"
#include "strings.h"
+#include "trader.h"
extern u16 gScriptResult;
extern u16 gSpecialVar_0x8004;
-extern void sub_80F83F8(void);
-extern void sub_81099CC(void);
-extern void sub_80F83D0(void);
-extern void sub_80F7F80(u8);
-extern u16 sub_80EB8EC(void);
-extern void sub_80F7DC0(void);
extern u32 gUnknown_083E5388[];
extern u32 gUnknown_083E53A8[];
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index befd6f20d..d05ba0b89 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "metatile_behavior.h"
#include "metatile_behaviors.h"
#define TILE_ATTRIBUTES(three, two, one) (((one) ? 1 : 0) | ((two) ? 2 : 0) | ((three) ? 4 : 0))
@@ -247,8 +248,6 @@ static const u8 sTileBitAttributes[] =
TILE_ATTRIBUTES(FALSE, FALSE, FALSE)
};
-bool8 MetatileBehavior_IsWaterfall(u8);
-
// only used as default case for checking jump landing in field_ground_effect.
bool8 MetatileBehavior_IsATile(u8 var)
{
diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c
index 18c65b7e6..ba79261c0 100644
--- a/src/mori_debug_menu.c
+++ b/src/mori_debug_menu.c
@@ -1,10 +1,12 @@
#include "global.h"
#include "mori_debug_menu.h"
-#include "asm.h"
#include "data2.h"
+#include "daycare.h"
+#include "learn_move.h"
#include "link.h"
#include "main.h"
#include "menu.h"
+#include "pokeblock.h"
#include "start_menu.h"
#include "string_util.h"
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 77c959b07..4be5dec1c 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "mystery_event_menu.h"
-#include "asm.h"
#include "link.h"
#include "main.h"
#include "menu.h"
+#include "mystery_event_script.h"
#include "palette.h"
#include "save.h"
#include "songs.h"
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 515a0722f..e3d533d28 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "mystery_event_script.h"
#include "script.h"
#include "string_util.h"
#include "text.h"
@@ -16,8 +17,6 @@ extern ScrCmdFunc gScriptFuncs_End[];
extern u8 gOtherText_DataCannotUseVersion[];
-void sub_8126160(u32 val);
-
bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4)
{
if (!(a1 & 0x2))
diff --git a/src/name_string_util.c b/src/name_string_util.c
index a1812d5e9..f1a935453 100644
--- a/src/name_string_util.c
+++ b/src/name_string_util.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "name_string_util.h"
#include "string_util.h"
#include "text.h"
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 53ee5ff19..88059e669 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -1,10 +1,13 @@
#include "global.h"
#include "naming_screen.h"
-#include "asm.h"
#include "data2.h"
+#include "field_effect.h"
+#include "field_map_obj.h"
+#include "field_player_avatar.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
+#include "pokemon_icon.h"
#include "songs.h"
#include "sound.h"
#include "sprite.h"
@@ -13,11 +16,7 @@
#include "task.h"
#include "text.h"
#include "trig.h"
-
-extern u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
-extern u8 CreateMonIcon();
-extern void sub_809D51C(void);
-extern void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
+#include "util.h"
extern u16 gKeyRepeatStartDelay;
@@ -51,7 +50,6 @@ extern const struct SpriteTemplate gSpriteTemplate_83CE688;
extern const struct SpriteSheet gUnknown_083CE6A0[];
extern const struct SpritePalette gUnknown_083CE708[];
extern const u8 gNamingScreenMenu_Gfx[];
-extern u16 gMenuMessageBoxContentTileOffset;
extern const u16 gNamingScreenPalettes[];
extern const u16 gUnknown_083CE748[];
extern const u16 gUnknown_083CEBF8[];
diff --git a/src/new_game.c b/src/new_game.c
index 12e04a4ef..33aacd10a 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -1,18 +1,30 @@
#include "global.h"
#include "new_game.h"
-#include "asm.h"
+#include "battle_records.h"
#include "berry.h"
+#include "contest.h"
+#include "decoration_inventory.h"
#include "dewford_trend.h"
+#include "easy_chat.h"
#include "event_data.h"
+#include "field_specials.h"
+#include "item_menu.h"
#include "lottery_corner.h"
+#include "mail_data.h"
+#include "mauville_old_man.h"
#include "play_time.h"
+#include "player_pc.h"
+#include "pokeblock.h"
#include "pokedex.h"
#include "pokemon_size_record.h"
+#include "pokemon_storage_system.h"
#include "rng.h"
#include "roamer.h"
#include "rom4.h"
#include "rtc.h"
#include "script.h"
+#include "secret_base.h"
+#include "tv.h"
extern u8 gDifferentSaveFile;
diff --git a/src/palette.c b/src/palette.c
index a610049bc..94a4f8092 100644
--- a/src/palette.c
+++ b/src/palette.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "palette.h"
-#include "asm.h"
#include "blend_palette.h"
#include "decompress.h"
diff --git a/src/party_menu.c b/src/party_menu.c
index ad0007695..be0db4dc4 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -1,20 +1,28 @@
#include "global.h"
-#include "asm.h"
+#include "party_menu.h"
+#include "battle.h"
+#include "battle_interface.h"
+#include "battle_party_menu.h"
#include "data2.h"
+#include "event_data.h"
+#include "item.h"
+#include "mail_data.h"
+#include "main.h"
#include "menu.h"
+#include "palette.h"
#include "pokemon.h"
+#include "pokemon_item_effect.h"
+#include "pokemon_menu.h"
+#include "pokemon_summary_screen.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
#include "songs.h"
#include "sound.h"
+#include "species.h"
+#include "sprite.h"
#include "string_util.h"
#include "strings.h"
#include "task.h"
-#include "sprite.h"
-#include "palette.h"
-#include "event_data.h"
-#include "main.h"
-#include "item.h"
-#include "battle_interface.h"
-#include "species.h"
#define DATA_COUNT (6)
@@ -88,75 +96,8 @@ extern const u16 gUnknown_08376504[];
extern void (*const gUnknown_08376B54[])(u8);
extern const u8 *const gUnknown_08376D04[DATA_COUNT];
extern const struct UnknownStruct5 gUnknown_08376BB4[][6];
-extern const u8 *const gItemEffectTable[];
-
-extern bool8 IsDoubleBattle(void);
-extern void SetUpBattlePokemonMenu(u8);
-extern void sub_808B0C0(u8);
-extern u8 GiveMailToMon(struct Pokemon *, u16);
-extern bool8 ItemIsMail(u16);
-extern void ClearMailStruct(struct MailStruct *);
-extern u8 GiveMailToMon2(struct Pokemon *, struct MailStruct *);
-extern void TakeMailFromMon(struct Pokemon *);
-extern u8 TakeMailFromMon2(struct Pokemon *);
-extern u32 CanMonLearnTMHM(struct Pokemon *, u8);
-extern void sub_809D9F0(struct Pokemon *, u8, u8, void *, u32);
-extern void sub_808B564();
-extern u8 sub_809FA30(void);
-extern void sub_808B508(u8);
-extern void sub_8032638();
-extern u8 sub_8094C20();
-extern bool8 ExecuteTableBasedItemEffect_();
-extern u8 GetMonStatusAndPokerus();
-
-u8 sub_806CA38(u8);
-void task_pc_turn_off();
-static void sub_806E884(u8 taskId);
-void sub_806F8AC(u8 taskId);
-void sub_806FB0C(u8 taskId);
-void PartyMenuUpdateLevelOrStatus(struct Pokemon *, u8);
-bool8 ExecuteTableBasedItemEffect__(u8, u16, u8);
-void sub_80701DC(u8 taskId);
-void DoRecoverPP(u8);
-void Task_RareCandy1(u8);
-void Task_RareCandy2(u8);
-void Task_RareCandy3(u8);
-void sub_806D538();
-void sub_806D5A4(void);
-void sub_806E8D0(u8 taskId, u16 b, TaskFunc c);
-void GetMedicineItemEffectMessage(u16);
-void sub_8070A20();
-void sub_8070848(u8 taskId);
-void sub_8070968();
-void party_menu_link_mon_held_item_object(u8);
-void Task_ConfirmGiveHeldItem(u8);
-void DisplayGiveHeldItemMessage(u8, u16, u8);
-void SetHeldItemIconVisibility();
-void DisplayTakeHeldItemMessage(u8, u16, u8);
-void Task_ConfirmTakeHeldMail(u8);
-void Task_TeamMonTMMove(u8);
-void Task_TeamMonTMMove2(u8);
-void Task_TeamMonTMMove3(u8);
-void Task_TeamMonTMMove4(u8);
-void sub_806F358(u8);
-void sub_806F390(u8);
-void sub_806F44C(u8);
-void TMMoveUpdateMoveSlot(u8);
-void StopTryingToTeachMove_806F614(u8);
-void StopTryingToTeachMove_806F67C(u8);
-void StopTryingToTeachMove_806F6B4(u8);
-void sub_806FB44(u8);
-void sub_8070C54();
-void SetMonIconAnim();
-u8 GetMonIconSpriteId_maybe();
-void PartyMenuDoPrintHP(u8, int, u16, u16);
-void PartyMenuClearLevelStatusTilemap();
-void PartyMenuPrintMonLevelOrStatus();
-u8 GetItemEffectType();
-bool8 IsBlueYellowRedFlute(u16);
-void TryPrintPartyMenuMonNickname();
-void sub_8070088(u8);
+static void sub_806E884(u8 taskId);
/*
void sub_806AEDC(void)
diff --git a/src/player_pc.c b/src/player_pc.c
index 1d4165c17..9cb395432 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -1,7 +1,10 @@
#include "global.h"
-#include "asm.h"
+#include "player_pc.h"
+#include "decoration.h"
+#include "field_fadetransition.h"
#include "field_weather.h"
#include "item.h"
+#include "item_menu.h"
#include "items.h"
#include "main.h"
#include "menu.h"
@@ -24,7 +27,6 @@ extern void BuyMenuFreeMemory(void);
extern void DestroyVerticalScrollIndicator(u8);
extern void PauseVerticalScrollIndicator(u8);
extern void StartVerticalScrollIndicators(int);
-extern void CreateVerticalScrollIndicators(u32, u32, u32); // unknown args
extern void LoadScrollIndicatorPalette(void);
extern void ClearMailStruct(struct MailStruct *);
extern u8 sub_807D770(void);
@@ -180,6 +182,26 @@ static const u16 gUnknown_08406334[3] =
static const u8 gHighlightedMoveToBagFormatText[] = _("{COLOR RED}{STR_VAR_1}");
+extern u8 *gUnknown_02039314;
+extern struct MenuAction gUnknown_08406298[];
+
+extern u8 gUnknown_084062B8[];
+extern u8 gUnknown_084062BC[];
+extern u8 gUnknown_0840632A[];
+extern u8 gUnknown_08406327[];
+extern u8 gUnknown_0840631E[];
+extern u8 gUnknown_08406318[];
+
+extern u8 gUnknown_030007B4;
+extern u8 unk_201FE00[];
+
+extern u8 gUnknown_08152850;
+extern u8 gUnknown_08152C75;
+
+extern u32 gUnknown_08406288[];
+extern const struct MenuAction gUnknown_084062C0[];
+extern const struct YesNoFuncTable gUnknown_084062E0;
+
void NewGameInitPCItems(void)
{
u8 i;
diff --git a/src/pokedex.c b/src/pokedex.c
index be6ef03a9..8674c3d2b 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,7 +1,8 @@
+
#include "global.h"
#include "gba/m4a_internal.h"
#include "pokedex.h"
-#include "asm.h"
+#include "battle.h"
#include "data2.h"
#include "decompress.h"
#include "event_data.h"
@@ -11,7 +12,11 @@
#include "menu.h"
#include "menu_cursor.h"
#include "palette.h"
+#include "pokedex_area_screen.h"
+#include "pokedex_cry_screen.h"
+#include "pokemon.h"
#include "rng.h"
+#include "rom4.h"
#include "songs.h"
#include "sound.h"
#include "species.h"
@@ -19,6 +24,7 @@
#include "strings.h"
#include "task.h"
#include "trig.h"
+#include "unknown_task.h"
#define NATIONAL_DEX_COUNT 386
@@ -159,26 +165,13 @@ extern const u16 gPokedexMenu2_Pal[];
extern const struct SpriteSheet gTrainerFrontPicTable[];
extern const struct MonCoords gTrainerFrontPicCoords[];
extern const struct PokedexEntry gPokedexEntries[];
-extern const struct BaseStats gBaseStats[];
extern const u8 gPokedexMenuSearch_Gfx[];
extern const u8 gUnknown_08E96D2C[];
extern const u16 gPokedexMenuSearch_Pal[];
extern const u8 gTypeNames[][7];
extern const u8 gPokedexMenu2_Gfx[];
-extern u16 NationalPokedexNumToSpecies(u16);
-extern void ShowPokedexAreaScreen(u16 species, u8 *string);
-extern void sub_814AD7C(u8, u8);
-extern void sub_800D74C();
-extern const u16 *species_and_otid_get_pal(u16, u32, u32);
-extern void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume);
-extern bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16);
-extern void remove_some_task(void);
-extern u8 sub_8091E3C(void);
-extern void DisableNationalPokedex(void);
-extern void sub_805469C(void);
-extern u16 HoennToNationalOrder(u16);
-extern u16 NationalToHoennOrder(u16);
+static u8 sub_8091E3C(void);
static const u16 sPokedexSearchPalette[] = INCBIN_U16("graphics/pokedex/search.gbapal");
static const u16 sNationalPokedexPalette[] = INCBIN_U16("graphics/pokedex/national.gbapal");
@@ -1297,6 +1290,7 @@ static u8 sub_8092E10(u8, u8);
static void sub_8092EB0(u8);
static void sub_809308C(u8);
+
void ResetPokedex(void)
{
u16 i;
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
index 53807befc..92fd832fc 100644
--- a/src/pokedex_cry_screen.c
+++ b/src/pokedex_cry_screen.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "asm.h"
+#include "pokedex_cry_screen.h"
#include "palette.h"
#include "sprite.h"
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index dacbb81c3..c55105ef3 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "asm.h"
#include "data2.h"
#include "items.h"
#include "main.h"
@@ -17,17 +16,10 @@
//Extracts the lower 16 bits of a 32-bit number
#define LOHALF(n) ((n) & 0xFFFF)
-extern struct Pokemon gPlayerParty[6]; // 0x3004360
-extern struct Pokemon gEnemyParty[6]; // 0x30045C0
-
extern u8 unk_2000000[];
extern u16 word_2024E82;
extern u8 byte_2024E88;
-extern u32 gExperienceTables[8][101];
-extern struct BaseStats gBaseStats[];
-extern const u16 *gLevelUpLearnsets[];
-
void ZeroBoxMonData(struct BoxPokemon *boxMon)
{
u8 *raw = (u8 *)boxMon;
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index 7fbfc1271..91cd77f86 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -1,20 +1,20 @@
#include "global.h"
-#include "asm.h"
+#include "battle.h"
#include "data2.h"
#include "event_data.h"
#include "main.h"
#include "pokemon.h"
#include "rng.h"
+#include "rom_8077ABC.h"
#include "species.h"
#include "sprite.h"
#include "string_util.h"
-#include "text.h"
#include "strings2.h"
+#include "text.h"
+#include "util.h"
extern u8 gPlayerPartyCount;
-extern struct Pokemon gPlayerParty[6];
extern u8 gEnemyPartyCount;
-extern struct Pokemon gEnemyParty[6];
extern u16 unk_20160BC[];
extern struct SecretBaseRecord gSecretBaseRecord;
@@ -36,16 +36,9 @@ extern u16 gTrainerBattleOpponent;
extern struct PokemonStorage gPokemonStorage;
extern u8 gBadEggNickname[];
-extern u32 gBitTable[];
-extern struct BaseStats gBaseStats[];
extern const struct SpriteTemplate gSpriteTemplate_8208288[];
//array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.)
-extern u8 gTrainerClassToPicIndex[];
-extern u8 gTrainerClassToNameIndex[];
extern u8 gSecretBaseTrainerClasses[];
-extern u8 gUnknown_08208238[];
-extern u8 gUnknown_0820823C[];
-extern u8 gStatStageRatios[][2];
extern u8 gHoldEffectToType[][2];
u8 sub_803C348(u8 a1)
diff --git a/src/pokemon_3.c b/src/pokemon_3.c
index f4eac79a7..9e69a3850 100644
--- a/src/pokemon_3.c
+++ b/src/pokemon_3.c
@@ -1,17 +1,19 @@
#include "global.h"
-#include "asm.h"
#include "battle.h"
+#include "battle_message.h"
#include "data2.h"
#include "event_data.h"
#include "hold_effects.h"
#include "item.h"
#include "items.h"
#include "link.h"
-#include "main.h"
#include "m4a.h"
+#include "main.h"
#include "pokemon.h"
#include "rng.h"
#include "rom4.h"
+#include "rom_8077ABC.h"
+#include "rom_8094928.h"
#include "rtc.h"
#include "songs.h"
#include "sound.h"
@@ -19,6 +21,7 @@
#include "sprite.h"
#include "string_util.h"
#include "text.h"
+#include "util.h"
#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
@@ -36,18 +39,6 @@
#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
-struct Evolution
-{
- u16 method;
- u16 param;
- u16 targetSpecies;
-};
-
-struct EvolutionData
-{
- struct Evolution evolutions[5];
-};
-
struct SpindaSpot
{
u8 x, y;
@@ -55,14 +46,10 @@ struct SpindaSpot
};
extern u8 gPlayerPartyCount;
-extern struct Pokemon gPlayerParty[6];
extern u8 gEnemyPartyCount;
-extern struct Pokemon gEnemyParty[6];
extern struct BattlePokemon gBattleMons[4];
-extern u8 * const gItemEffectTable[];
extern u8 gUnknown_02024A60;
extern struct BattleEnigmaBerry gEnigmaBerries[];
-extern struct EvolutionData gEvolutionTable[];
extern u16 gSpeciesToHoennPokedexNum[];
extern u16 gSpeciesToNationalPokedexNum[];
extern u16 gHoennToNationalOrder[];
@@ -79,11 +66,7 @@ extern s8 gNatureStatTable[][5];
extern s8 gUnknown_082082FE[][3];
extern u16 gTrainerBattleOpponent;
extern u16 gBattleTypeFlags;
-extern struct BaseStats gBaseStats[];
-extern u32 gBitTable[];
-extern u32 gExperienceTables[8][101];
extern u32 gTMHMLearnsets[][2];
-extern const u16 *gLevelUpLearnsets[];
extern u8 gBattleMonForms[];
extern const u8 BattleText_Wally[];
extern const u16 gHMMoves[];
@@ -100,8 +83,6 @@ extern u8 gUnknown_083FEE5D[];
extern u8 gUnknown_083FEE92[];
extern u8 *gUnknown_08400F58[];
-u8 CheckPartyHasHadPokerus(struct Pokemon *, u8);
-
bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId)
{
u32 status = GetMonData(mon, MON_DATA_STATUS, 0);
@@ -131,7 +112,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
offset = 6;
- temp = gItemEffectTable[itemId - 13];
+ temp = (u8 *) gItemEffectTable[itemId - 13];
if (!temp && itemId != ITEM_ENIGMA_BERRY)
return 0;
@@ -259,7 +240,7 @@ u8 *sub_803F378(u16 itemId)
}
else
{
- itemEffect = gItemEffectTable[itemId - 13];
+ itemEffect = (u8 *) gItemEffectTable[itemId - 13];
}
gUnknown_02024C0B = gUnknown_02024E6C;
@@ -1191,8 +1172,6 @@ void current_map_music_set__default_for_battle(u16 song)
PlayNewMapMusic(sub_8040728());
}
-const u16 *species_and_otid_get_pal(u16, u32, u32);
-
const u16 *pokemon_get_pal(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
@@ -1207,7 +1186,7 @@ const u16 *pokemon_get_pal(struct Pokemon *mon)
//Extracts the lower 16 bits of a 32-bit number
#define LOHALF(n) ((n) & 0xFFFF)
-const u16 *species_and_otid_get_pal(u16 species, u32 otId , u32 personality)
+const u16 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;
@@ -1221,8 +1200,6 @@ const u16 *species_and_otid_get_pal(u16 species, u32 otId , u32 personality)
return gMonPaletteTable[species].data;
}
-const struct SpritePalette *sub_80409C8(u16, u32, u32);
-
const struct SpritePalette *sub_8040990(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
@@ -1270,8 +1247,6 @@ s8 sub_8040A7C(u32 personality, u8 a2)
return gUnknown_083F7E28[nature * 5 + a2];
}
-bool8 IsOtherTrainer(u32, u8 *);
-
bool8 IsTradedMon(struct Pokemon *mon)
{
u8 otName[8];
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index b2f8a1569..f293190e8 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -2,14 +2,12 @@
#include "pokemon_size_record.h"
#include "data2.h"
#include "event_data.h"
+#include "pokedex.h"
#include "species.h"
#include "string_util.h"
#include "strings2.h"
#include "text.h"
-extern u16 SpeciesToNationalPokedexNum(u16);
-extern u16 GetPokedexHeightWeight(u16, u8);
-
struct UnknownStruct
{
u16 unk0;
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 679ec0bc4..fb837f1f6 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "pokemon_storage_system.h"
#include "menu.h"
#include "string_util.h"
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 56a56e455..61ae11438 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -1,20 +1,15 @@
#include "global.h"
-#include "asm.h"
+#include "pokemon_summary_screen.h"
#include "link.h"
#include "menu.h"
#include "pokemon.h"
+#include "region_map.h"
#include "string_util.h"
#include "strings2.h"
+#include "tv.h"
extern struct Pokemon *unk_2018000;
-extern u8 *(gNatureNames[]);
-
-u8 *sub_80A1E9C(u8 *dest, u8 *src, u8);
-u8 PokemonSummaryScreen_CheckOT(struct Pokemon *pokemon);
-u8 *PokemonSummaryScreen_CopyPokemonLevel(u8 *dest, u8 level);
-u32 GetPlayerTrainerId(void);
-
bool8 PokemonSummaryScreen_CheckOT(struct Pokemon *mon)
{
u32 trainerId;
diff --git a/src/pokenav.c b/src/pokenav.c
index f50f039f8..24253e878 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -1,24 +1,9 @@
#include "global.h"
+#include "pokenav.h"
#include "battle.h"
#include "data2.h"
#include "string_util.h"
-struct UnkPokenavStruct_Sub {
- /*0x0*/ u16 unk0;
- /*0x2*/ u8 filler2[6];
-};
-
-
-struct UnkPokenavStruct {
- /*0x0000*/ u8 filler0000[0xCEE8];
- /*0xCEE8*/ struct UnkPokenavStruct_Sub unkCEE8[78];
- /*0xD158*/ u16 unkD158;
-
-};
-
-extern struct UnkPokenavStruct *gUnknown_083DFEC4;
-
-
void sub_80F700C(u8 *arg0, u16 arg1) {
struct Trainer *trainer;
u8 *ptr;
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
index f0b88025c..8d85705c8 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/post_battle_event_funcs.c
@@ -1,13 +1,12 @@
#include "global.h"
#include "event_data.h"
+#include "hall_of_fame.h"
#include "load_save.h"
#include "main.h"
#include "pokemon.h"
#include "rom4.h"
#include "script_pokemon_80C4.h"
-extern void sub_8141F90(void);
-
extern u8 gUnknown_02039324;
int GameClear(void)
diff --git a/src/record_mixing.c b/src/record_mixing.c
index f9cb4116e..e1a72cf2e 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -1,17 +1,24 @@
#include "global.h"
#include "record_mixing.h"
-#include "asm.h"
+#include "battle_tower.h"
+#include "cable_club.h"
+#include "daycare.h"
#include "dewford_trend.h"
#include "event_data.h"
+#include "fldeff_80C5CD4.h"
#include "link.h"
+#include "mauville_old_man.h"
#include "menu.h"
+#include "mystery_event_script.h"
#include "rom4.h"
#include "script.h"
+#include "secret_base.h"
#include "songs.h"
#include "sound.h"
#include "string_util.h"
#include "strings2.h"
#include "task.h"
+#include "tv.h"
extern void *recordMixingSecretBases;
@@ -53,9 +60,6 @@ struct PlayerRecords {
extern struct PlayerRecords unk_2008000;
extern struct PlayerRecords unk_2018000;
-void sub_80BC300();
-void sub_80C045C();
-
void RecordMixing_PrepareExchangePacket(void)
{
sub_80BC300();
diff --git a/src/roamer.c b/src/roamer.c
index 394f81c75..948828d5e 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -1,7 +1,7 @@
#include "global.h"
+#include "roamer.h"
#include "pokemon.h"
#include "rng.h"
-#include "roamer.h"
#include "species.h"
#ifdef SAPPHIRE
diff --git a/src/rom3.c b/src/rom3.c
index be6ae0b27..93f0f0356 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -1,11 +1,19 @@
#include "global.h"
-#include "asm.h"
+#include "rom3.h"
#include "battle.h"
+#include "battle_811DA74.h"
+#include "battle_ai.h"
+#include "battle_anim.h"
+#include "battle_anim_81258BC.h"
+#include "battle_anim_8137220.h"
+#include "cable_club.h"
#include "items.h"
#include "link.h"
#include "pokemon.h"
+#include "rom_8094928.h"
#include "species.h"
#include "task.h"
+#include "util.h"
extern u8 unk_2000000[];
@@ -13,7 +21,6 @@ extern u8 unk_2000000[];
#define EWRAM_15000 ((u8 *)(unk_2000000 + 0x15000))
extern u16 gBattleTypeFlags;
-extern const u32 gBitTable[];
extern u16 gBattleWeather;
extern struct BattlePokemon gBattleMons[];
@@ -49,32 +56,6 @@ extern u8 gUnknown_030042B0[];
extern void (*gUnknown_030042D4)(void);
extern void (*gUnknown_03004330[])(void);
-extern void sub_800BF28(void);
-extern void sub_8083C50(u8);
-extern void nullsub_41(void);
-extern void nullsub_91(void);
-extern void battle_anim_clear_some_data(void);
-extern void ClearBattleMonForms(void);
-extern void BattleAI_HandleItemUseBeforeAISetup(void);
-extern void sub_8094978(u8, int);
-extern void sub_800BA78(void);
-extern void sub_800B9A8(void);
-extern void sub_800BD54(void);
-extern void sub_8010800(void);
-extern void sub_812B468(void);
-extern void sub_8137224(void);
-extern void sub_802BF74(void);
-extern void sub_8032AE0(void);
-extern void sub_8037510(void);
-extern void sub_811DA78(void);
-extern void dp01_prepare_buffer_wireless_probably(u8 a, u16, u8 *c);
-extern void sub_800C1A8(u8);
-extern void sub_800C47C(u8);
-extern void sub_8007F4C(void);
-extern u8 sub_8007ECC(void);
-extern void sub_80155A4();
-extern u8 sub_8018324();
-
void sub_800B858(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
diff --git a/src/rom4.c b/src/rom4.c
index 98060c3b1..2ddd5ed9f 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -1,24 +1,31 @@
#include "global.h"
#include "rom4.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
#include "battle_setup.h"
#include "berry.h"
+#include "cable_club.h"
#include "clock.h"
#include "event_data.h"
#include "field_camera.h"
#include "field_control_avatar.h"
#include "field_effect.h"
+#include "field_fadetransition.h"
+#include "field_ground_effect.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
-#include "field_weather.h"
+#include "field_screen_effect.h"
#include "field_special_scene.h"
+#include "field_specials.h"
+#include "field_tasks.h"
+#include "field_weather.h"
+#include "fieldmap.h"
+#include "fldeff_flash.h"
#include "heal_location.h"
#include "link.h"
#include "load_save.h"
#include "main.h"
+#include "map_name_popup.h"
#include "menu.h"
#include "metatile_behavior.h"
#include "new_game.h"
@@ -26,14 +33,19 @@
#include "play_time.h"
#include "rng.h"
#include "roamer.h"
+#include "rotating_gate.h"
#include "safari_zone.h"
#include "script.h"
#include "script_pokemon_80C4.h"
+#include "secret_base.h"
#include "songs.h"
#include "sound.h"
#include "start_menu.h"
#include "task.h"
#include "tileset_anim.h"
+#include "time_events.h"
+#include "tv.h"
+#include "unknown_task.h"
#include "wild_encounter.h"
#ifdef SAPPHIRE
@@ -48,11 +60,6 @@ struct UnkTVStruct
u32 tv_field_4;
};
-struct UCoords32
-{
- u32 x, y;
-};
-
extern struct WarpData gUnknown_020297F0;
extern struct WarpData gUnknown_020297F8;
extern struct WarpData gUnknown_02029800;
@@ -71,8 +78,6 @@ extern void (*gFieldCallback)(void);
extern u8 gUnknown_03004860;
extern u8 gFieldLinkPlayerCount;
-extern struct UnkTVStruct gUnknown_03004870;
-
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;
@@ -97,8 +102,6 @@ extern u8 TradeRoom_PromptToCancelLink[];
extern u8 TradeRoom_TerminateLink[];
extern u8 gUnknown_081A4508[];
-extern struct UCoords32 gUnknown_0821664C[];
-
extern u8 (*gUnknown_082166A0[])(struct LinkPlayerMapObject *, struct MapObject *, u8);
extern u8 (*gUnknown_082166AC[])(struct LinkPlayerMapObject *, struct MapObject *, u8);
extern void (*gUnknown_082166D8[])(struct LinkPlayerMapObject *, struct MapObject *);
@@ -567,7 +570,7 @@ void sub_8053994(u32 a1)
not_trainer_hill_battle_pyramid();
if (a1 != 1 && v3)
{
- UpdateTVScreensOnMap(gUnknown_03004870.tv_field_0, gUnknown_03004870.tv_field_4);
+ UpdateTVScreensOnMap(gUnknown_03004870.width, gUnknown_03004870.height);
sub_80BBCCC(1);
}
}
diff --git a/src/rom6.c b/src/rom6.c
index a8233eb5b..759aed93f 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -1,9 +1,11 @@
#include "global.h"
#include "rom6.h"
-#include "asm.h"
#include "braille_puzzles.h"
#include "field_effect.h"
+#include "field_map_obj.h"
#include "field_player_avatar.h"
+#include "item_use.h"
+#include "pokemon_menu.h"
#include "rom4.h"
#include "script.h"
#include "songs.h"
@@ -19,10 +21,6 @@ extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
extern u8 UseRockSmashScript[];
-extern void sub_808AB90(void);
-extern void task08_080A1C44(u8);
-extern u8 sub_80CA1C8(void);
-
static void task08_080C9820(u8);
static void sub_810B3DC(u8);
static void sub_810B428(u8);
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 9561db690..a31a764fb 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -1,13 +1,17 @@
#include "global.h"
+#include "rom_8077ABC.h"
#include "battle.h"
+#include "battle_anim.h"
#include "blend_palette.h"
#include "data2.h"
#include "decompress.h"
#include "palette.h"
+#include "pokemon_icon.h"
#include "species.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
+#include "util.h"
#define GET_UNOWN_LETTER(personality) ((\
(((personality & 0x03000000) >> 24) << 6) \
@@ -89,7 +93,6 @@ struct BGCnt {
extern struct OamData gOamData_837DF9C[];
extern const union AnimCmd *const gDummySpriteAnimTable[];
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
-extern u8 gMiscBlank_Gfx[];
extern struct Struct_unk_2019348 unk_2019348;
extern struct TransformStatus gTransformStatuses[];
@@ -108,45 +111,6 @@ extern struct OamMatrix gOamMatrices[];
extern struct Struct_2017810 unk_2017810[];
extern u8 gUnknown_0202F7BE;
-extern u8 IsContest();
-extern bool8 sub_8078874(u8);
-extern bool8 b_side_obj__get_some_boolean(u8);
-extern void UpdateMonIconFrame(struct Sprite *sprite);
-extern void CalcCenterToCornerVec(struct Sprite *sprite, u8 shape, u8 size, u8 affineMode);
-extern void *species_and_otid_get_pal(u32, u32, u32);
-extern void FreeSpriteOamMatrix(struct Sprite *sprite);
-extern void ResetPaletteStructByUid(u16);
-extern void DestroyAnimVisualTask(u8 task);
-extern u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *));
-
-u8 sub_8077E44(u8 slot, u16 species, u8 a3);
-u8 battle_get_per_side_status(u8 slot);
-u8 battle_side_get_owner(u8 slot);
-void sub_8078314(struct Sprite *sprite);
-void sub_8078364(struct Sprite *sprite);
-void move_anim_8072740(struct Sprite *sprite);
-void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite);
-bool8 sub_8078B5C(struct Sprite *sprite);
-u8 battle_get_per_side_status_permutated(u8 slot);
-void sub_8078A5C(struct Sprite *sprite);
-void sub_8078BB8(struct Sprite *sprite);
-void sub_8078D44(struct Sprite *sprite);
-bool8 sub_8078E38();
-void sub_8079518(struct Sprite *sprite);
-void sub_80796F8(u8 task);
-void sub_80797EC(struct Task *task);
-void sub_8079814(u8 taskId);
-void sub_8079BF4(s16 *bottom, s16 *top, void *ptr);
-void *sub_8079BFC(s16 bottom, s16 top);
-void sub_8079A64(u8 sprite);
-u16 sub_8079B10(u8 sprite);
-u8 sub_8079E90(u8 slot);
-void sub_807A784(u8 taskId);
-void sub_807A850(struct Task *task, u8 taskId);
-void sub_807A8D4(struct Sprite *sprite);
-void sub_807A960(struct Sprite *sprite);
-
-
EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL;
EWRAM_DATA u32 filler_0202F7D8[3] = {0};
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 986412826..fa6c11f52 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "safari_zone.h"
-#include "asm.h"
#include "event_data.h"
+#include "field_fadetransition.h"
#include "field_player_avatar.h"
#include "main.h"
#include "rom4.h"
diff --git a/src/save.c b/src/save.c
index 9ab6e83f6..570210fb0 100644
--- a/src/save.c
+++ b/src/save.c
@@ -2,7 +2,6 @@
#include "gba/gba.h"
#include "gba/flash_internal.h"
#include "save.h"
-#include "asm.h"
#include "load_save.h"
#include "rom4.h"
#include "save_failed_screen.h"
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index a3de0bd00..a64b3eb5f 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -1,12 +1,13 @@
#include "global.h"
#include "gba/flash_internal.h"
-#include "asm.h"
+#include "save_failed_screen.h"
#include "m4a.h"
#include "main.h"
#include "menu.h"
#include "palette.h"
#include "save.h"
#include "sprite.h"
+#include "starter_choose.h"
#include "strings.h"
#include "task.h"
#include "text.h"
@@ -35,12 +36,6 @@ extern struct SaveFailedClockStruct gSaveFailedClockInfo;
extern u32 gDamagedSaveSectors;
extern u32 gGameContinueCallback;
-extern u8 gBirchHelpGfx[];
-
-extern u8 gBirchGrassTilemap[];
-extern u8 gBirchBagTilemap[];
-extern u8 gBirchBagGrassPal[0x40];
-
static const struct OamData sClockOamData =
{
160, // Y
diff --git a/src/save_menu_util.c b/src/save_menu_util.c
index 8910bb300..b2dd662d6 100644
--- a/src/save_menu_util.c
+++ b/src/save_menu_util.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "save_menu_util.h"
-#include "asm.h"
#include "event_data.h"
#include "menu.h"
#include "pokedex.h"
+#include "region_map.h"
#include "string_util.h"
#include "strings2.h"
diff --git a/src/scrcmd.c b/src/scrcmd.c
index f2b5090af..a394f2a55 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1,43 +1,52 @@
#include "global.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
#include "battle_setup.h"
#include "berry.h"
#include "clock.h"
#include "coins.h"
+#include "contest_link_80C2020.h"
#include "contest_painting.h"
#include "data2.h"
#include "decoration.h"
+#include "decoration_inventory.h"
#include "event_data.h"
#include "field_door.h"
#include "field_effect.h"
+#include "field_fadetransition.h"
+#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
+#include "field_screen_effect.h"
+#include "field_specials.h"
+#include "field_tasks.h"
#include "field_weather.h"
+#include "fieldmap.h"
#include "item.h"
#include "main.h"
#include "map_obj_lock.h"
#include "menu.h"
#include "money.h"
+#include "mystery_event_script.h"
#include "palette.h"
+#include "party_menu.h"
#include "pokemon.h"
#include "rng.h"
#include "rom4.h"
#include "rtc.h"
#include "script.h"
#include "script_menu.h"
+#include "script_movement.h"
#include "script_pokemon_80C4.h"
#include "script_pokemon_80F9.h"
+#include "shop.h"
+#include "slot_machine.h"
#include "sound.h"
#include "string_util.h"
+#include "tv.h"
typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void);
-extern struct Pokemon gPlayerParty[6]; // 0x3004360
-extern struct Pokemon gEnemyParty[6]; // 0x30045C0
-
extern u32 gUnknown_0202E8AC;
extern u32 gUnknown_0202E8B0;
extern u16 gUnknown_0202E8B4;
@@ -60,8 +69,6 @@ extern SpecialFunc gSpecials[];
extern u8 *gStdScripts[];
extern u8 *gStdScripts_End[];
-extern u8 * const gUnknown_083CE048[];
-
// This is defined in here so the optimizer can't see its value when compiling
// script.c.
void * const gNullScriptPtr = NULL;
@@ -1409,7 +1416,7 @@ bool8 ScrCmd_bufferstd(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
- StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index]);
+ StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index].text);
return FALSE;
}
diff --git a/src/script.c b/src/script.c
index 7a9c8e102..488a67de1 100644
--- a/src/script.c
+++ b/src/script.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "script.h"
-#include "asm_fieldmap.h"
#include "event_data.h"
#define RAM_SCRIPT_MAGIC 51
diff --git a/src/script_menu.c b/src/script_menu.c
index d6e328eb4..23e8bf2d9 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "script_menu.h"
#include "event_data.h"
+#include "field_effect.h"
#include "menu.h"
#include "palette.h"
#include "script.h"
@@ -573,10 +574,6 @@ extern u8 gPCText_WhichPCShouldBeAccessed[];
extern u16 gScriptResult;
-// field_effect
-extern void FreeResourcesAndDestroySprite(struct Sprite *sprite);
-extern u8 CreateMonSprite_PicBox(u16, s16, s16, u8);
-
bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4)
{
if (FuncIsActiveTask(sub_80B52B4) == 1)
diff --git a/src/script_movement.c b/src/script_movement.c
index 2dc816532..31143ed6f 100644
--- a/src/script_movement.c
+++ b/src/script_movement.c
@@ -1,14 +1,12 @@
#include "global.h"
-#include "asm.h"
+#include "script_movement.h"
+#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "task.h"
+#include "util.h"
-extern const u32 gBitTable[];
extern u8 *gUnknown_020384F8[];
-extern void UnfreezeMapObject(struct MapObject *);
-extern bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
-
static void sub_80A2198(u8);
static u8 sub_80A21E0(void);
static bool8 sub_80A21F4(u8, u8, u8 *);
diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c
index abc4dbc9e..c8171db52 100644
--- a/src/script_pokemon_util_80C4BF0.c
+++ b/src/script_pokemon_util_80C4BF0.c
@@ -1,9 +1,13 @@
#include "global.h"
-#include "asm.h"
#include "battle.h"
#include "berry.h"
+#include "choose_party.h"
#include "contest.h"
+#include "contest_link_80C2020.h"
+#include "contest_painting.h"
#include "data2.h"
+#include "daycare.h"
+#include "debug.h"
#include "decompress.h"
#include "event_data.h"
#include "items.h"
@@ -22,19 +26,7 @@
#define CONTEST_ENTRY_PIC_LEFT 10
#define CONTEST_ENTRY_PIC_TOP 3
-extern void sub_80C46EC(void);
-extern void sub_80C4740(void);
-extern void sub_80C48F4(void);
-extern void sub_80B2A7C(u8);
-extern void sub_80AAF30(void); // matsuda debug?
-extern u8 sub_80B2C4C(u8, u8);
-extern void CB2_ContestPainting(void);
-extern void sub_8042044(struct Pokemon *mon, u16, u8);
-extern void sub_8121E10(void);
-extern void sub_8121E34(void);
-
extern struct SpriteTemplate gUnknown_02024E8C;
-extern struct SpritePalette *sub_80409C8(u16, u32, u32);
extern u8 gContestPlayerMonIndex;
extern u8 gIsLinkContest;
@@ -436,7 +428,7 @@ void ShowContestEntryMonPic(void)
HandleLoadSpecialPokePic((struct SpriteSheet *)&gMonFrontPicTable[species].data,
gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset,
(u32)gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], species, var1);
- paletteData = sub_80409C8(species, var2, var1);
+ paletteData = (struct SpritePalette *) sub_80409C8(species, var2, var1);
LoadCompressedObjectPalette(paletteData);
GetMonSpriteTemplate_803C56C(species, 1);
gUnknown_02024E8C.paletteTag = paletteData->tag;
diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c
index ee140187f..606cd9dd4 100644
--- a/src/script_pokemon_util_80F99CC.c
+++ b/src/script_pokemon_util_80F99CC.c
@@ -1,9 +1,13 @@
#include "global.h"
-#include "asm.h"
#include "battle_party_menu.h"
+#include "choose_party.h"
+#include "contest.h"
#include "data2.h"
+#include "field_fadetransition.h"
#include "palette.h"
+#include "party_menu.h"
#include "pokemon.h"
+#include "pokemon_summary_screen.h"
#include "rom4.h"
#include "script.h"
#include "script_pokemon_80F9.h"
@@ -20,22 +24,6 @@ extern u16 gScriptResult;
extern void (*gFieldCallback)(void);
-extern void OpenPartyMenu(u8, u8);
-extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
-extern void LoadHeldItemIconGraphics(void);
-extern void CreateHeldItemIcons_806DC34(); // undefined args
-extern u8 sub_806BD58(u8, u8);
-extern void PartyMenuPrintMonsLevelOrStatus(void);
-extern void PrintPartyMenuMonNicknames(void);
-extern u8 sub_806B58C(u8);
-extern u8 sub_80AE47C(struct Pokemon *party);
-extern void sub_806BC3C(u8, u8);
-extern u16 sub_806BD80(); // undefined args in battle_party_menu.c
-extern u8 sub_806CA38();
-extern void sub_8123138(u8);
-extern u8 sub_8040574(struct Pokemon *party);
-extern void sub_809D9F0(struct Pokemon *party, u8, u8, void *, u32);
-
void sub_80F99CC(void)
{
u8 taskId;
@@ -71,7 +59,7 @@ void sub_80F9A8C(u8 taskId)
if(!gPaletteFade.active)
{
gPaletteFade.bufferTransferDisabled = 1;
- OpenPartyMenu(gTasks[taskId].data[0], 0);
+ OpenPartyMenu((u8) gTasks[taskId].data[0], 0);
DestroyTask(taskId);
}
}
diff --git a/src/secret_base.c b/src/secret_base.c
index adcd47d66..6291051a6 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -1,22 +1,25 @@
#include "global.h"
-#include "string_util.h"
-#include "strings.h"
-#include "text.h"
+#include "secret_base.h"
+#include "decoration.h"
#include "event_data.h"
-#include "vars.h"
-#include "rom4.h"
-#include "asm.h"
-#include "script.h"
-#include "field_player_avatar.h"
#include "field_camera.h"
-#include "map_constants.h"
-#include "task.h"
-#include "palette.h"
+#include "field_fadetransition.h"
+#include "field_player_avatar.h"
#include "field_weather.h"
+#include "fieldmap.h"
+#include "main.h"
+#include "map_constants.h"
+#include "map_name_popup.h"
#include "metatile_behavior.h"
+#include "palette.h"
#include "pokemon.h"
+#include "rom4.h"
#include "script.h"
-#include "decoration.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "vars.h"
extern u8 gUnknown_020387DC;
extern u16 gSpecialVar_0x8004;
@@ -30,8 +33,8 @@ extern const struct
u16 unk_083D1358_1;
} gUnknown_083D1358[7];
extern const u8 gUnknown_083D1374[4 * 16];
+extern void *gUnknown_0300485C;
extern const u8 gUnknown_083D13EC[12];
-extern const u8 sub_80BCCA4(u8);
extern u8 gUnknown_081A2E14[];
@@ -823,8 +826,6 @@ u8 sub_80BC14C(u8 sbid)
return 0;
}
-
-
u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190
u8 local1;
u8 *str;
diff --git a/src/shop.c b/src/shop.c
index cd39b075a..d53646a88 100644
--- a/src/shop.c
+++ b/src/shop.c
@@ -1,9 +1,12 @@
#include "global.h"
-#include "asm.h"
+#include "shop.h"
#include "decompress.h"
+#include "field_fadetransition.h"
#include "field_weather.h"
+#include "item_menu.h"
#include "main.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "money.h"
#include "palette.h"
#include "script.h"
@@ -11,6 +14,8 @@
#include "sprite.h"
#include "strings.h"
#include "task.h"
+#include "tv.h"
+#include "unknown_task.h"
struct UnknownShopStruct
{
@@ -35,26 +40,6 @@ extern u16 gBuyMenuFrame_Tilemap[];
extern u16 gMenuMoneyPal[16];
extern u16 gUnknown_083CC710[2];
-extern void sub_80A6300(void);
-extern void sub_80BE3BC(void);
-extern void DisplayItemMessageOnField(u8, const u8*, TaskFunc, u16);
-extern u8 sub_807D770(void);
-extern void pal_fill_black(void);
-extern void sub_80B3764(int, int);
-extern void sub_80B37EC(void);
-extern void sub_80B40E8(u8);
-extern void BuyMenuDrawMapGraphics(void);
-extern void sub_80F944C(void);
-extern void CreateVerticalScrollIndicators(u32, u32, u32); // unknown args
-extern void sub_80F979C(u32, u32); // unknown args
-
-void sub_80B2E38(u8);
-void HandleShopMenuQuit(u8);
-void sub_80B2FA0(u8);
-void BuyMenuDrawGraphics(void);
-void sub_80B3240(void);
-void sub_80B3270(void);
-
u8 CreateShopMenu(bool8 var)
{
ScriptContext2_Enable();
diff --git a/src/slot_machine.c b/src/slot_machine.c
index c087bf6b4..c9a06a758 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "slot_machine.h"
#include "decompress.h"
#include "palette.h"
#include "task.h"
@@ -31,11 +32,6 @@ extern const u16 gUnknown_08E95A18[];
extern u16 gUnknown_08E95AB8[];
extern u16 gUnknown_08E95FB8[];
-
-void sub_8104DA4(void);
-
-u8 sub_8105BB4(u8, u8, s16);
-
static void LoadSlotMachineWheelOverlay(void);
void sub_8104CAC(u8 arg0) {
diff --git a/src/smokescreen.c b/src/smokescreen.c
index 0406c1cb3..8345cb6ad 100644
--- a/src/smokescreen.c
+++ b/src/smokescreen.c
@@ -2,8 +2,8 @@
#include "data2.h"
#include "decompress.h"
#include "sprite.h"
+#include "util.h"
-extern u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
static void sub_8046388(struct Sprite *);
diff --git a/src/sound.c b/src/sound.c
index ed69ca01d..c9c4916b0 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "gba/m4a_internal.h"
#include "sound.h"
-#include "asm.h"
#include "battle.h"
#include "m4a.h"
+#include "main.h"
#include "songs.h"
#include "task.h"
@@ -13,7 +13,7 @@ struct Fanfare
u16 duration;
};
-// Hack: different prototype than definition
+// FIXME: different prototype than definition
u32 SpeciesToCryId(u32);
extern u16 gBattleTypeFlags;
diff --git a/src/sprite.c b/src/sprite.c
index 409c66cfa..fb8c2b648 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -57,7 +57,6 @@ static void ClearSpriteCopyRequests(void);
static void ResetOamMatrices(void);
static void ResetSprite(struct Sprite *sprite);
static s16 AllocSpriteTiles(u16 tileCount);
-u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images);
static void ResetAllSprites(void);
static void BeginAnim(struct Sprite *sprite);
diff --git a/src/start_menu.c b/src/start_menu.c
index 80080cd43..e05f3a999 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -1,10 +1,11 @@
#include "global.h"
#include "start_menu.h"
-#include "asm.h"
#include "event_data.h"
#include "field_map_obj_helpers.h"
#include "field_player_avatar.h"
#include "field_weather.h"
+#include "fieldmap.h"
+#include "item_menu.h"
#include "load_save.h"
#include "main.h"
#include "map_obj_lock.h"
@@ -12,6 +13,8 @@
#include "option_menu.h"
#include "palette.h"
#include "pokedex.h"
+#include "pokemon_menu.h"
+#include "pokenav.h"
#include "rom4.h"
#include "safari_zone.h"
#include "save.h"
@@ -25,6 +28,7 @@
#include "strings2.h"
#include "task.h"
#include "trainer_card.h"
+#include "unknown_task.h"
//Menu actions
enum {
@@ -49,7 +53,6 @@ extern u16 gSaveFileStatus;
extern u16 gScriptResult;
extern u8 (*gCallback_03004AE8)(void);
extern u8 gUnknown_03004860;
-extern u8 gNumSafariBalls;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 0ed8315fc..f30be8e08 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "starter_choose.h"
-#include "asm.h"
#include "data2.h"
#include "decompress.h"
#include "main.h"
@@ -15,6 +14,7 @@
#include "strings.h"
#include "task.h"
#include "trig.h"
+#include "unknown_task.h"
extern u16 gScriptResult;
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -23,7 +23,7 @@ extern struct SpriteTemplate gUnknown_02024E8C;
// Graphics Data
//--------------------------------------------------
-const u16 gBirchBagGrassPal[][16] =
+const u16 gBirchBagGrassPal[2][16] =
{
INCBIN_U16("graphics/misc/birch_bag.gbapal"),
INCBIN_U16("graphics/misc/birch_grass.gbapal"),
diff --git a/src/strings.c b/src/strings.c
index fa083f00d..cc0641dce 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "strings.h"
#if ENGLISH
// placeholder strings
@@ -923,7 +924,6 @@ const u8 gSystemText_NoSaveFileNoTime[] = _("There is no save file, so the time\
const u8 gSystemText_ClockAdjustmentUsable[] = _("The in-game clock adjustment system\nis now useable.");
const u8 gSystemText_Saving[] = _("SAVING...\nDON’T TURN OFF THE POWER.");
#elif GERMAN
-#include "global.h"
// placeholder strings
const u8 gExpandedPlaceholder_Empty[] = _("");
diff --git a/src/time_events.c b/src/time_events.c
index 8cbf52a1a..e1b9a2e9e 100644
--- a/src/time_events.c
+++ b/src/time_events.c
@@ -1,5 +1,7 @@
#include "global.h"
+#include "time_events.h"
#include "event_data.h"
+#include "field_weather.h"
#include "pokemon.h"
#include "rng.h"
#include "rom4.h"
@@ -7,16 +9,14 @@
#include "script.h"
#include "task.h"
-extern bool8 sub_807DDFC(void);
-
-u32 GetMirageRnd(void)
+static u32 GetMirageRnd(void)
{
u32 hi = VarGet(VAR_MIRAGE_RND_H);
u32 lo = VarGet(VAR_MIRAGE_RND_L);
return (hi << 16) | lo;
}
-void SetMirageRnd(u32 rnd)
+static void SetMirageRnd(u32 rnd)
{
VarSet(VAR_MIRAGE_RND_H, rnd >> 16);
VarSet(VAR_MIRAGE_RND_L, rnd);
diff --git a/src/title_screen.c b/src/title_screen.c
index 241e5489e..12c31d10a 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "gba/m4a_internal.h"
#include "title_screen.h"
-#include "asm.h"
#include "clear_save_data_menu.h"
#include "decompress.h"
#include "event_data.h"
@@ -10,9 +9,11 @@
#include "main.h"
#include "main_menu.h"
#include "palette.h"
+#include "reset_rtc_screen.h"
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "unknown_task.h"
extern u8 gReservedSpritePaletteCount;
extern struct MusicPlayerInfo gMPlay_BGM;
diff --git a/src/trainer_card.c b/src/trainer_card.c
index ef3a2d857..b2a1ad71b 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -1,7 +1,8 @@
#include "global.h"
#include "trainer_card.h"
-#include "asm.h"
+#include "easy_chat.h"
#include "event_data.h"
+#include "field_effect.h"
#include "link.h"
#include "main.h"
#include "menu.h"
@@ -16,6 +17,8 @@
#include "string_util.h"
#include "strings2.h"
#include "task.h"
+#include "unknown_task.h"
+#include "util.h"
typedef void (*Callback)(void);
@@ -68,9 +71,8 @@ extern u16 gUnknown_08E8D9C0[];
extern bool8 (*const gUnknown_083B5EBC[])(struct Task *);
extern bool8 (*const gUnknown_083B5ED8[])(struct Task *);
-// Other signature than on save_menu_util.h
+// FIXME: Other signature than on save_menu_util.h
void FormatPlayTime(u8 *playtime, u16 hours, u16 minutes, s16 colon);
-
u16 GetPokedexSeenCount(void);
enum
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 6c2bf0ab0..9b7a47f6b 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -1,7 +1,5 @@
#include "global.h"
#include "trainer_see.h"
-#include "asm.h"
-#include "asm_fieldmap.h"
#include "battle_setup.h"
#include "field_effect.h"
#include "field_map_obj.h"
@@ -9,6 +7,7 @@
#include "script.h"
#include "sprite.h"
#include "task.h"
+#include "util.h"
extern bool8 (*gIsTrainerInRange[])(struct MapObject *, u16, s16, s16);
extern bool8 (*gTrainerSeeFuncList[])(u8, struct Task *, struct MapObject *);
diff --git a/src/tv.c b/src/tv.c
index 76d9d1836..ca9785da6 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -1,7 +1,9 @@
#include "global.h"
-#include "asm.h"
#include "tv.h"
+#include "battle_tower.h"
+#include "contest_painting.h"
#include "data2.h"
+#include "easy_chat.h"
#include "event_data.h"
#include "fieldmap.h"
#include "field_message_box.h"
@@ -19,10 +21,23 @@
#include "battle.h"
#include "link.h"
#include "easy_chat.h"
+#include "field_map_obj.h"
+#include "field_specials.h"
#include "item.h"
#include "items.h"
-#include "contest_painting.h"
+#include "link.h"
+#include "map_constants.h"
+#include "naming_screen.h"
+#include "pokedex.h"
+#include "region_map.h"
+#include "rng.h"
+#include "rom4.h"
#include "rtc.h"
+#include "script_menu.h"
+#include "species.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
struct UnkTvStruct
{
@@ -40,13 +55,13 @@ struct OutbreakPokemon
/*0x0B*/ u8 location;
};
-extern u8 *gUnknown_083D1464[3];
-extern u8 gUnknown_02038694;
-
struct TVSaleItem {
u16 item_id;
u16 item_amount;
};
+
+extern u8 gUnknown_02038694;
+
extern struct TVSaleItem gUnknown_02038724[3];
extern u16 gSpecialVar_0x8004;
@@ -73,11 +88,8 @@ extern u8 *gTVFishingGuruAdviceTextGroup[];
extern u8 *gTVWorldOfMastersTextGroup[];
extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
-extern void sub_80BEBF4(void);
-
extern u16 gUnknown_020387E0;
extern u16 gUnknown_020387E2;
-extern const u8 *gUnknown_083CE048[];
extern const u8 *gTVNewsTextGroup1[];
extern const u8 *gTVNewsTextGroup2[];
@@ -85,7 +97,20 @@ extern const u8 *gTVNewsTextGroup3[];
extern u16 gScriptLastTalked;
-u32 GetPlayerTrainerId(void);
+
+extern u8 gScriptContestCategory;
+extern u8 gScriptContestRank;
+extern u8 gUnknown_03004316[11];
+extern u8 gUnknown_02024D26;
+
+extern u16 gUnknown_02024C04;
+
+extern u8 ewram[];
+#define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000))
+extern u8 gUnknown_020387E4;
+
+extern u8 gUnknown_03000720;
+extern s8 gUnknown_03000722;
void ClearTVShowData(void)
{
@@ -302,7 +327,7 @@ void SetTVMetatilesOnMap(int, int, u16);
bool8 sub_80BECA0(void);
bool8 IsTVShowInSearchOfTrainersAiring(void);
-void UpdateTVScreensOnMap(int a0, int a1)
+void UpdateTVScreensOnMap(int width, int height)
{
u8 bigMovieOrEmergencyNewsOnTv;
FlagSet(SYS_TV_WATCH);
@@ -310,19 +335,19 @@ void UpdateTVScreensOnMap(int a0, int a1)
switch (bigMovieOrEmergencyNewsOnTv)
{
case 1:
- SetTVMetatilesOnMap(a0, a1, 0x3);
+ SetTVMetatilesOnMap(width, height, 0x3);
break;
case 2:
break;
default:
if (gSaveBlock1.location.mapGroup == MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F && gSaveBlock1.location.mapNum == MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F)
{
- SetTVMetatilesOnMap(a0, a1, 0x3);
+ SetTVMetatilesOnMap(width, height, 0x3);
}
else if (FlagGet(SYS_TV_START) && (sub_80BD8B8() != 0xff || sub_80BECA0() != 0xff || IsTVShowInSearchOfTrainersAiring()))
{
FlagReset(SYS_TV_WATCH);
- SetTVMetatilesOnMap(a0, a1, 0x3);
+ SetTVMetatilesOnMap(width, height, 0x3);
}
}
}
@@ -1141,8 +1166,6 @@ void UpdateMassOutbreakTimeLeft(u16 arg0)
gSaveBlock1.outbreakUnk5 -= arg0;
}
-void sub_80BE9D4();
-
void sub_80BE97C(bool8 flag)
{
u8 var0, var1;
@@ -1241,15 +1264,6 @@ void sub_80BEA88(void)
}
}
-int sub_80BEBC8(struct UnknownSaveStruct2ABC *arg0);
-void sub_80BEC10(u8);
-void sub_80BF588(TVShow tvShows[]);
-void sub_80BF6D8(void);
-bool8 sub_80BF77C(u16);
-bool8 sub_80BEE48(u8);
-
-bool8 IsPriceDiscounted(u8);
-
void sub_80BEB20(void) {
u16 rval;
struct SaveBlock1 *save;
@@ -1453,16 +1467,16 @@ void sub_80BEF10(u8 strvaridx, u8 rank)
switch (rank)
{
case NORMAL_RANK:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5].text);
break;
case SUPER_RANK:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5].text);
break;
case HYPER_RANK:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5].text);
break;
case MASTER_RANK:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5].text);
break;
}
}
@@ -1472,19 +1486,19 @@ void CopyContestCategoryToStringVar(u8 strvaridx, u8 category)
switch (category)
{
case CONTEST_COOL:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL].text);
break;
case CONTEST_BEAUTY:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY].text);
break;
case CONTEST_CUTE:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE].text);
break;
case CONTEST_SMART:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART].text);
break;
case CONTEST_TOUGH:
- StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH]);
+ StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH].text);
break;
}
}
@@ -2158,10 +2172,6 @@ void sub_80BFD20(void)
RemoveFieldObjectByLocalIdAndMap(5, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
}
-extern u8 ewram[];
-#define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000))
-extern u8 gUnknown_020387E4;
-
typedef union ewramStruct_02007000 {
TVShow tvshows[4][25];
struct UnknownSaveStruct2ABC unknown_2abc[4][16];
@@ -2450,9 +2460,6 @@ s8 sub_80C019C(TVShow tvShows[]) {
return -1;
}
-void sub_80C03A8(u8 showidx);
-void sub_80C03C8(u16 species, u8 showidx);
-
#ifdef NONMATCHING
void sub_80C01D4(void)
{
@@ -2875,22 +2882,6 @@ void sub_80C05C4(struct UnknownSaveStruct2ABC a0[16], struct UnknownSaveStruct2A
}
}
-void DoTVShowPokemonFanClubLetter(void);
-void DoTVShowRecentHappenings(void);
-void DoTVShowPokemonFanClubOpinions(void);
-void nullsub_22(void);
-void DoTVShowPokemonNewsMassOutbreak(void);
-void DoTVShowBravoTrainerPokemonProfile(void);
-void DoTVShowBravoTrainerBattleTowerProfile(void);
-void DoTVShowPokemonTodaySuccessfulCapture(void);
-void DoTVShowTodaysSmartShopper(void);
-void DoTVShowTheNameRaterShow(void);
-void DoTVShowPokemonTodayFailedCapture(void);
-void DoTVShowPokemonAngler(void);
-void DoTVShowTheWorldOfMasters(void);
-
-bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2ABC *arg1, s8 arg2);
-
void sub_80C06BC(struct UnknownSaveStruct2ABC *arg0[16], struct UnknownSaveStruct2ABC *arg1[16]) {
struct UnknownSaveStruct2ABC *str0;
struct UnknownSaveStruct2ABC *str1;
@@ -3298,10 +3289,6 @@ void DoTVShowTodaysSmartShopper(void)
ShowFieldMessage(gTVSmartShopperTextGroup[switchval]);
}
-void TVShowConvertInternationalString(u8 *, u8 *, u8);
-
-void TakeTVShowInSearchOfTrainersOffTheAir(void);
-
void DoTVShowTheNameRaterShow(void) {
TVShow *tvShow;
u8 switchval;
diff --git a/src/unknown_debug_menu.c b/src/unknown_debug_menu.c
index bbaeef63a..2cdcbaabd 100644
--- a/src/unknown_debug_menu.c
+++ b/src/unknown_debug_menu.c
@@ -7,7 +7,7 @@ extern u8 (*gCallback_03004AE8)(void);
extern const struct MenuAction gUnknown_0842C29C[];
-u8 sub_814A464(void);
+static u8 sub_814A464(void);
int unref_sub_814A414(void)
{
@@ -19,7 +19,7 @@ int unref_sub_814A414(void)
return 0;
}
-u8 sub_814A464(void)
+static u8 sub_814A464(void)
{
s8 result = ProcessMenuInput();
if (result == -2)
diff --git a/src/util.c b/src/util.c
index 55608854c..c83fe8c8a 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "sprite.h"
+#include "util.h"
extern const struct SpriteTemplate gInvisibleSpriteTemplate;
extern const u8 gSpriteDimensions[3][4][2];
diff --git a/src/wallclock.c b/src/wallclock.c
index d55d14edb..efc7dd42a 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "wallclock.h"
-#include "asm.h"
#include "decompress.h"
#include "main.h"
#include "menu.h"
@@ -11,12 +10,12 @@
#include "strings2.h"
#include "task.h"
#include "trig.h"
+#include "unknown_task.h"
extern u16 gSpecialVar_0x8004;
extern u8 gMiscClock_Gfx[];
extern u8 gUnknown_08E95774[];
extern u8 gUnknown_08E954B0[];
-extern const struct MenuAction gMenuYesNoItems[];
extern u16 gMiscClockMale_Pal[];
extern u16 gMiscClockFemale_Pal[];
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 9dfcf0e5c..96f47c067 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -1,41 +1,19 @@
#include "global.h"
#include "wild_encounter.h"
#include "abilities.h"
-#include "asm.h"
#include "battle_setup.h"
#include "event_data.h"
#include "field_player_avatar.h"
+#include "fieldmap.h"
#include "metatile_behavior.h"
+#include "pokeblock.h"
#include "rng.h"
#include "roamer.h"
#include "rom4.h"
#include "safari_zone.h"
#include "script.h"
#include "species.h"
-
-struct WildPokemon
-{
- u8 minLevel;
- u8 maxLevel;
- u16 species;
-};
-
-struct WildPokemonInfo
-{
- u8 encounterRate;
- const struct WildPokemon *wildPokemon;
-};
-
-struct WildPokemonHeader
-{
- u8 mapGroup;
- u8 mapNum;
- struct WildPokemonInfo *landMonsInfo;
- struct WildPokemonInfo *waterMonsInfo;
- struct WildPokemonInfo *rockSmashMonsInfo;
- struct WildPokemonInfo *fishingMonsInfo;
-};
-
+#include "tv.h"
const struct WildPokemon PetalburgCity_WaterMons [] =
{
@@ -2921,9 +2899,6 @@ const struct WildPokemonInfo Underwater2_WaterMonsInfo = {4, Underwater2_WaterMo
extern u16 gRoute119WaterTileData[];
-extern struct WildPokemonHeader gWildMonHeaders[];
-extern struct Pokemon gEnemyParty[6];
-extern struct Pokemon gPlayerParty[6];
extern u16 gScriptResult;
extern struct WildPokemon gWildFeebasRoute119Data;
extern u8 Event_RepelWoreOff[];