diff options
95 files changed, 252 insertions, 319 deletions
| diff --git a/include/agb_flash.h b/include/agb_flash.h index 27e45e8fa..ba5820f01 100644 --- a/include/agb_flash.h +++ b/include/agb_flash.h @@ -8,5 +8,7 @@  // Exported ROM declarations  u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); +u16 IdentifyFlash(void); +u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src);  #endif //GUARD_AGB_FLASH_H diff --git a/include/battle_anim.h b/include/battle_anim.h index d0d323216..b3350f893 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -204,6 +204,9 @@ void sub_80A718C(struct Sprite *sprite);  #define STAT_ANIM_MULTIPLE_MINUS2 58  void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +// battle_anim_8170478.c +void sub_8172EF0(u8 battler, struct Pokemon *mon); +  // ground.c  void sub_81152DC(u8 taskId); @@ -216,6 +219,19 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes,  void sub_8116EB4(u8);  void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); +// battle_anim_effects_1.c +void sub_810310C(u8 battler, struct Sprite* sprite); +void AnimMoveTwisterParticle(struct Sprite* sprite); + +// water.c +void sub_8108C94(struct Sprite *sprite); + +// flying.c +void sub_810E2C8(struct Sprite *sprite); + +// smokescreen.c +u8 sub_807521C(s16 x, s16 y, u8 a3); +  u32 UnpackSelectedBattleAnimPalettes(s16);  u8 GetBattlerSpriteFinal_Y(u8, u16, u8); diff --git a/include/contest.h b/include/contest.h index e4391a327..8146486cb 100644 --- a/include/contest.h +++ b/include/contest.h @@ -478,5 +478,6 @@ bool32 sub_80FC4F4(void *, u16);  bool8 sub_80FC55C(void);  bool8 sub_80FC530(u8);  u8 sub_80F86E0(u8 *); +void sub_80FC9F8(u8 taskId);  #endif //GUARD_CONTEST_H diff --git a/include/dewford_trend.h b/include/dewford_trend.h index 608a925f5..bdb0fc95c 100644 --- a/include/dewford_trend.h +++ b/include/dewford_trend.h @@ -5,5 +5,7 @@ void InitDewfordTrend(void);  void UpdateDewfordTrendPerDay(u16);  void UpdateDewfordTrendPerDay(u16 days);  bool8 sub_81226D8(u16 *a); +void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t b, u8 unused); +  #endif // GUARD_DEWFORDTREND_H diff --git a/include/easy_chat.h b/include/easy_chat.h index 2efdc4e5d..84ac15422 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -134,5 +134,6 @@ u16 EasyChat_GetNumWordsInGroup(u8);  u16 sub_811EE90(u16);  void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);  void sub_811F8BC(void); +void sub_811EFC0(u8 additionalPhraseId);  #endif // GUARD_EASYCHAT_H diff --git a/include/event_obj_lock.h b/include/event_obj_lock.h index 59532fdcb..2f09ad36a 100644 --- a/include/event_obj_lock.h +++ b/include/event_obj_lock.h @@ -7,5 +7,6 @@ bool8 sub_809847C(void);  void LockSelectedEventObject(void);  void sub_8098630(void);  bool8 sub_8098734(void); +void ScriptUnfreezeEventObjects(void);  #endif // GUARD_EVENT_OBJ_LOCK_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 284bbe8db..63ac09f2d 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -193,6 +193,9 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);  s16 sub_809773C(s16 a1);  s16 sub_8097728(s16 a1);  void CameraObjectReset2(void); +u8 EventObjectGetBerryTreeId(u8 eventObjectId); +void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); +bool8 IsBerryTreeSparkling(u8, u8, u8);  void MovementType_None(struct Sprite *);  void MovementType_LookAround(struct Sprite *); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 738cceb3e..feb20cef6 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -39,5 +39,6 @@ int SetCableClubWarp(void);  u8 TrySetDiveWarp(void);  const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction);  u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position); +void ClearPoisonStepCounter(void);  #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_effect.h b/include/field_effect.h index 205dbb68a..1f5f4ee29 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -36,6 +36,10 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val);  bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);  bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);  bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); +void sub_80B6B68(void); +void sub_80B6E4C(u8 a0, u8 priority); +void sub_80B75D8(u8 priority); +void sub_80B7A74(u8 priority);  void sub_80B9C28(s16*, u8);  void sub_80B9C54(s16*, u8); @@ -47,5 +51,6 @@ void sub_80B7A58(struct Sprite*);  void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);  void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);  u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority); +void StartEscapeRopeFieldEffect(void);  #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 6022467e4..6ea9771e6 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -34,5 +34,6 @@ void UpdateSparkleFieldEffect(struct Sprite*);  void SetSpriteInvisible(u8 spriteId);  void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);  void sub_8155604(u8 spriteId, u8 value, s16 data1); +void sub_81555D8(u8 spriteId, u8 value);  #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 45cd0dbd9..ca3d41546 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -63,5 +63,15 @@ u8 sub_808BCD0(void);  void sub_808B578(void);  u8 GetFRLGAvatarGraphicsIdByGender(u8);  u8 GetRSAvatarGraphicsIdByGender(u8); +void sub_808B980(u8 direction); +void sub_808B9BC(u8 direction); +void sub_808B9A4(u8 direction); +void sub_808C1B4(u8 direction); +void sub_808B9D4(u8 direction); +void sub_808D194(void); +void sub_808D1C8(void); +bool32 sub_808D1B4(void); +bool32 sub_808D1E8(void); +void sub_808C0A8(u8 a);  #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 2b8b3a5a3..b4429c167 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -41,5 +41,6 @@ void sub_80B0534(void);  void sub_80B058C(void);  void sub_80B05B4(void);  void WriteFlashScanlineEffectBuffer(u8 flashLevel); +bool8 walkrun_is_standing_still(void);  #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_special_scene.h b/include/field_special_scene.h index 240e9ecb6..2219c9433 100644 --- a/include/field_special_scene.h +++ b/include/field_special_scene.h @@ -10,5 +10,6 @@ void Task_HandleTruckSequence(u8 taskId);  void ExecuteTruckSequence(void);  void EndTruckSequence(u8);  void sub_80C791C(void); +void sub_80FB768(void);  #endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/field_specials.h b/include/field_specials.h index 28e47fead..68b233074 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -26,6 +26,7 @@ void UpdateFrontierGambler(u16 a0);  void ResetCyclingRoadChallengeData(void);  bool8 warp0_in_pokecenter(void);  void ResetFanClub(void); - +bool8 sub_813B21C(void); +void set_unknown_box_id(u8 id);  #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 24bc4989a..bb5b0e290 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -9,6 +9,8 @@  #define NUM_PALS_TOTAL 13  #define MAX_MAP_DATA_SIZE 0x2800 +#include "main.h" +  extern struct BackupMapLayout gBackupMapLayout;  u32 MapGridGetMetatileIdAt(int, int); @@ -37,11 +39,16 @@ void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout);  void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout);  void apply_map_tileset2_palette(struct MapLayout const *mapLayout);  void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout); -extern void copy_map_tileset1_to_vram(const struct MapLayout *); -extern void copy_map_tileset2_to_vram(const struct MapLayout *); +void copy_map_tileset1_to_vram(const struct MapLayout *); +void copy_map_tileset2_to_vram(const struct MapLayout *); +struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection); +struct MapConnection *sub_8088A8C(s16 x, s16 y);  void SpriteCB_PokeballGlow(struct Sprite *);  void SpriteCB_PokecenterMonitor(struct Sprite *);  void SpriteCB_HallOfFameMonitor(struct Sprite *); +// field_region_map.c +void FieldInitRegionMap(MainCallback callback); +  #endif //GUARD_FIELDMAP_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index d35ecf268..5c8a01bcb 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -6,4 +6,7 @@ void CB2_DoHallOfFameScreenDontSaveData(void);  void CB2_DoHallOfFamePC(void);  void sub_8175280(void); +// hof_pc.c +void ReturnFromHallOfFamePC(void); +  #endif // GUARD_HALL_OF_FAME_H diff --git a/include/item_menu.h b/include/item_menu.h index 2ca1af200..70d6b5a94 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -2,6 +2,7 @@  #define GUARD_item_menu_H  #include "item.h" +#include "menu_helpers.h"  #define RETURN_LOCATION_FIELD 0  #define RETURN_LOCATION_BATTLE 1 @@ -71,6 +72,7 @@ void sub_81AAC14(void);  void sub_81AAC50(void);  void sub_81AAC70(void);  void sub_81AAC28(void); +void sub_81AABB0(void);  void SetInitialScrollAndCursorPositions(u8 pocketId);  void bag_menu_mail_related(void);  void CB2_BagMenuFromStartMenu(void); @@ -80,6 +82,11 @@ void CB2_GoToSellMenu(void);  void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());  void DoWallyTutorialBagMenu(void);  void ResetBagScrollPositions(void); +void sub_81AABF0(void (*callback)(void)); +void CB2_ChooseBerry(void); +void unknown_ItemMenu_Confirm(u8 taskId); +void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); +void sub_81AB9A8(u8 pocketId);  #endif //GUARD_item_menu_H diff --git a/include/link.h b/include/link.h index 83deab88f..24a834c68 100644 --- a/include/link.h +++ b/include/link.h @@ -261,6 +261,8 @@ void sub_800B3A4(u32 who);  bool32 sub_800A07C(void);  void sub_800AB98(void);  void sub_800AA04(u8 a0); +void sub_800B4C0(void); +bool32 sub_800B504(void);  extern u16 gLinkPartnersHeldKeys[6];  extern u32 gLinkDebugSeed; diff --git a/include/main.h b/include/main.h index 2c241bf97..4f9a9e61a 100644 --- a/include/main.h +++ b/include/main.h @@ -68,7 +68,7 @@ void ClearPokemonCrySongs(void);  void RestoreSerialTimer3IntrHandlers(void);  void StartTimer1(void);  void SeedRngAndSetTrainerId(void); -extern u16 GetGeneratedTrainerIdLower(void); +u16 GetGeneratedTrainerIdLower(void);  #endif // GUARD_MAIN_H diff --git a/include/match_call.h b/include/match_call.h index 17d40d41c..6803d2f26 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -12,5 +12,9 @@ enum {  s32 GetRematchIdxByTrainerIdx(s32 trainerIdx);  void InitMatchCallCounters(void); +bool32 TryStartMatchCall(void); +bool32 IsMatchCallTaskActive(void); +void StartMatchCallFromScript(u8* script); +void sub_8197080(u8 *destStr);  #endif //GUARD_MATCH_CALL_H diff --git a/include/pokedex.h b/include/pokedex.h index 6136f7786..a1b7378bf 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -43,5 +43,7 @@ s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);  u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16);  bool16 HasAllHoennMons(void);  void ResetPokedexScrollPositions(void); +u16 sub_80C0944(void); +void CB2_Pokedex(void);  #endif // GUARD_POKEDEX_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 4f27ef281..c7b895028 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -23,5 +23,6 @@ void LoadMonIconPalette(u16 species);  void sub_80D328C(struct Sprite *sprite);  void sub_80D3014(struct Sprite *sprite);  void sub_80D32C8(struct Sprite *sprite, u8 animNum); +u8 sub_80D30A0(u16 species);  #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokenav.h b/include/pokenav.h index e5dba8ae0..29ccaec3e 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -30,5 +30,6 @@ u32 sub_81D427C(void);  void sub_81D4998(void);  void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);  void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void CB2_InitPokeNav(void);  #endif //GUARD_POKENAV_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index faffd3375..ac9bbb5c3 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -17,5 +17,7 @@ u16 mevent_081445C0(u8);  void sub_801B990(u32, u32);  u8 sub_8013F78(void);  bool32 sub_802C908(u16); +void nullsub_89(u8 taskId); +void var_800D_set_xB(void);  #endif //GUARD_rom_8011DC0_H diff --git a/include/save.h b/include/save.h index 7ce86de70..88e5f2280 100644 --- a/include/save.h +++ b/include/save.h @@ -92,4 +92,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst);  u32 sub_8153634(u8 sector, u8* src);  void sub_8153688(u8 taskId); +// save_failed_screen.c +void DoSaveFailedScreen(u8 saveType); +  #endif // GUARD_SAVE_H diff --git a/include/script.h b/include/script.h index 386b388d0..34f4635bb 100644 --- a/include/script.h +++ b/include/script.h @@ -61,4 +61,7 @@ bool32 sub_80991F8(void);  u8 *sub_8099244(void);  void sub_80992A0(u8 *script, u16 scriptSize); +// srccmd.h +void sub_809BE48(u16 npcId); +  #endif // GUARD_SCRIPT_H diff --git a/include/script_menu.h b/include/script_menu.h index a6d52c31e..1f4e549fe 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -14,5 +14,7 @@ u8 CreateWindowFromRect(u8, u8, u8, u8);  void sub_80E2A78(u8);  int display_text_and_get_width(const u8*, int);  int sub_80E2D5C(int arg0, int tileWidth); +bool16 ScrSpecial_CreatePCMenu(void); +void ScriptMenu_DisplayPCStartupPrompt(void);  #endif //GUARD_SCRIPT_MENU_H diff --git a/include/secret_base.h b/include/secret_base.h index 699158d0e..17efc314d 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -33,6 +33,8 @@ void sub_80E8B6C(void);  void sub_80E8BC8(void);  void sub_80E8D4C(void);  void EnableBothScriptContexts(void); +void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); +  #endif //GUARD_SECRET_BASE_H diff --git a/include/text.h b/include/text.h index 96c5a4507..d8f2fd8a3 100644 --- a/include/text.h +++ b/include/text.h @@ -284,4 +284,8 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese);  u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese);  void DecompressGlyphFont9(u16 glyphId); +// unk_text_util_2.c +u16 Font6Func(struct TextPrinter *textPrinter); +u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); +  #endif // GUARD_TEXT_H diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index ee6676e64..80b3258b4 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -16,9 +16,6 @@  #include "constants/rgb.h"  #include "constants/songs.h" -extern void sub_8108C94(struct Sprite *); -extern void sub_810310C(u8, struct Sprite *); -  void sub_8103448(struct Sprite *);  void sub_8103498(struct Sprite *);  void sub_810358C(struct Sprite *); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 49fb69342..efa2620fd 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -24,9 +24,6 @@  #include "constants/species.h"  #include "constants/weather.h" -extern u8 sub_807521C(s16 x, s16 y, u8 a3); -extern void sub_810E2C8(struct Sprite *); -  extern const struct SpriteTemplate gUnknown_08593114;  extern const union AffineAnimCmd *const gUnknown_082FF6C0[];  extern const union AffineAnimCmd *const gUnknown_082FF694[]; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 28ab4c279..23d469c27 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -27,13 +27,12 @@  #include "constants/battle_anim.h"  #include "constants/songs.h"  #include "constants/trainers.h" +#include "recorded_battle.h"  extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void LinkOpponentHandleGetMonData(void);  static void LinkOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 06a8d4a6a..22633c5bc 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -27,12 +27,11 @@  #include "constants/battle_anim.h"  #include "constants/songs.h"  #include "constants/trainers.h" +#include "recorded_battle.h"  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void LinkPartnerHandleGetMonData(void);  static void LinkPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index cdb886e5d..7d940cb89 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -32,14 +32,12 @@  #include "constants/moves.h"  #include "constants/songs.h"  #include "constants/trainers.h" +#include "trainer_hill.h"  extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); -  // this file's functions  static void OpponentHandleGetMonData(void);  static void OpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index a0d92f23a..b377ecf64 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -39,10 +39,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_81AABB0(void); -extern void sub_81851A8(u8 *); -  // this file's functions  static void PlayerHandleGetMonData(void);  static void PlayerHandleSetMonData(void); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 787a4f77c..2c53938c1 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -30,9 +30,6 @@  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_81358F4(void); -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void PlayerPartnerHandleGetMonData(void);  static void PlayerPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 79065c2e2..e43c5f8ae 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -33,8 +33,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void RecordedOpponentHandleGetMonData(void);  static void RecordedOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index e5e934761..412c49f17 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -30,8 +30,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void RecordedPlayerHandleGetMonData(void);  static void RecordedPlayerHandleGetRawMonData(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 247f00627..e9da16252 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -25,8 +25,6 @@  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_81358F4(void); -  // this file's functions  static void SafariHandleGetMonData(void);  static void SafariHandleGetRawMonData(void); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 7f4fe4761..f1b783b21 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -33,8 +33,6 @@  extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -  // this file's functions  static void WallyHandleGetMonData(void);  static void WallyHandleGetRawMonData(void); diff --git a/src/battle_main.c b/src/battle_main.c index 853dafe01..2b0c5980e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -57,6 +57,7 @@  #include "constants/songs.h"  #include "constants/species.h"  #include "constants/trainers.h" +#include "cable_club.h"  extern struct MusicPlayerInfo gMPlayInfo_SE1;  extern struct MusicPlayerInfo gMPlayInfo_SE2; @@ -69,9 +70,6 @@ extern const u8 *const gBattlescriptsForRunningByItem[];  extern const u8 *const gBattlescriptsForUsingItem[];  extern const u8 *const gBattlescriptsForSafariActions[]; -// functions -extern void sub_80B3AF8(u8 taskId); // cable club -  // this file's functions  static void CB2_InitBattleInternal(void);  static void CB2_PreInitMultiBattle(void); diff --git a/src/battle_records.c b/src/battle_records.c index 6997e40dd..fdd915d07 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -21,8 +21,7 @@  #include "alloc.h"  #include "gpu_regs.h"  #include "constants/game_stat.h" - -extern void PrintOnTrainerHillRecordsWindow(void); // pokenav.s +#include "trainer_hill.h"  // this file's functions  static void Task_CloseTrainerHillRecordsOnButton(u8 taskId); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 620366b52..ac9fb3073 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -48,6 +48,7 @@  #include "battle_pyramid.h"  #include "field_specials.h"  #include "pokemon_summary_screen.h" +#include "pokenav.h"  extern struct MusicPlayerInfo gMPlayInfo_BGM; @@ -55,9 +56,6 @@ extern const u8* const gBattleScriptsForMoveEffects[];  // functions  extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s -extern void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s -extern void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s -extern u8 sub_813B21C(void);  #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) diff --git a/src/battle_setup.c b/src/battle_setup.c index 40423697e..347486a0b 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -44,6 +44,7 @@  #include "mirage_tower.h"  #include "constants/map_types.h"  #include "constants/battle_frontier.h" +#include "field_screen_effect.h"  enum  { @@ -62,10 +63,6 @@ struct TrainerBattleParameter      u8 ptrType;  }; -extern void ClearPoisonStepCounter(void); -extern void sub_808BCF4(void); -extern void sub_80AF6F0(void); -  // this file's functions  static void DoBattlePikeWildBattle(void);  static void DoSafariBattle(void); diff --git a/src/berry.c b/src/berry.c index bd596db7f..cbac06a3d 100644 --- a/src/berry.c +++ b/src/berry.c @@ -11,11 +11,9 @@  #include "text.h"  #include "constants/event_object_movement_constants.h"  #include "constants/items.h" +#include "event_object_movement.h" + -extern u8 EventObjectGetBerryTreeId(u8 eventObjectId); -extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); -extern void CB2_ChooseBerry(void); -extern bool8 IsBerryTreeSparkling(u8, u8, u8);  extern const u8 BerryTreeScript[]; diff --git a/src/berry_blender.c b/src/berry_blender.c index 8d852819b..450bcae42 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -142,9 +142,6 @@ extern const u8 gText_Space[];  extern const u8 gText_BlenderMaxSpeedRecord[];  extern const u8 gText_234Players[]; -extern void sub_81AABF0(void (*callback)(void)); -extern void sub_800B4C0(void); -  // this file's functions  static void BerryBlender_SetBackgroundsPos(void);  static void sub_8080EA4(u8 taskId); diff --git a/src/bike.c b/src/bike.c index 1e91baab0..530742bdf 100644 --- a/src/bike.c +++ b/src/bike.c @@ -14,12 +14,6 @@  extern bool8 gBikeCyclingChallenge;  extern u8 gBikeCollisions; -extern u8 sub_808B980(u8 direction); -extern u8 sub_808B9BC(u8 direction); -extern u8 sub_808B9A4(u8 direction); -extern u8 sub_808C1B4(u8 direction); -extern u8 sub_808B9D4(u8 direction); -  // this file's functions  static void MovePlayerOnMachBike(u8, u16, u16);  static u8 GetMachBikeTransition(u8 *); diff --git a/src/contest.c b/src/contest.c index e9353596b..114a1fb69 100644 --- a/src/contest.c +++ b/src/contest.c @@ -45,8 +45,6 @@  #include "constants/rgb.h"  #include "contest_ai.h" -extern void sub_80FC9F8(u8); // contest_link_80FC4F4.c -  // This file's functions.  static void sub_80D782C(void);  static void sub_80D7C7C(u8 taskId); diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index b2ce52757..a4b88c074 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -39,6 +39,7 @@  #include "constants/rgb.h"  #include "constants/songs.h"  #include "constants/vars.h" +#include "contest.h"  struct ContestLinkUnk0  { @@ -99,8 +100,6 @@ extern const struct SpriteSheet gUnknown_0858D810[];  extern const struct SpritePalette gUnknown_0858D850;  extern const struct SpriteTemplate gSpriteTemplate_858D860; -extern void sub_81D9DE4(u8); -  static void sub_80F6A9C(void);  static void sub_80F71C8(void);  u8 sub_80F7310(u8, u8); diff --git a/src/dewford_trend.c b/src/dewford_trend.c index cad5ef9c2..ee310af04 100644 --- a/src/dewford_trend.c +++ b/src/dewford_trend.c @@ -159,7 +159,7 @@ static void sub_8122804(struct EasyChatPair *s, u16 b, u8 c)      }  } -void ReceiveEasyChatPairsData(void *a, u32 b, u8 unused) +void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t size, u8 unused)  {      u16 i, j, r3, players;      struct EasyChatPair *buffer1, *buffer2, *src, *dst, *foo_of_buffer2; @@ -176,7 +176,7 @@ void ReceiveEasyChatPairsData(void *a, u32 b, u8 unused)          {              players = GetLinkPlayerCount();              for (i = 0; i < players; i++) -                memcpy(&(buffer1[i * 5]), (u8 *)a + i * b, 40); +                memcpy(&(buffer1[i * 5]), (u8 *)a + i * size, 40);              src = buffer1;              dst = buffer2;              r3 = 0; diff --git a/src/diploma.c b/src/diploma.c index 716495034..2113b09ed 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -13,8 +13,7 @@  #include "text.h"  #include "overworld.h"  #include "menu.h" - -extern bool16 sub_80C0944(void); +#include "pokedex.h"  extern const u8 gText_DexNational[];  extern const u8 gText_DexHoenn[]; diff --git a/src/electric.c b/src/electric.c index 142a9ca09..5e7729842 100644 --- a/src/electric.c +++ b/src/electric.c @@ -5,9 +5,6 @@  #include "constants/songs.h"  #include "sound.h" -extern void sub_810E2C8(struct Sprite *); -extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); -  static void sub_810A1A8(struct Sprite *);  static void sub_810A1F8(struct Sprite *);  static void sub_810A214(struct Sprite *); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 8a7076591..680191bb3 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -32,8 +32,7 @@  #include "constants/map_types.h"  #include "constants/maps.h"  #include "constants/songs.h" - -extern bool32 TryStartMatchCall(void); +#include "match_call.h"  static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0;  static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; diff --git a/src/field_effect.c b/src/field_effect.c index 158d4dead..ee9dcb987 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -240,12 +240,6 @@ static IWRAM_DATA u8 sActiveList[32];  extern u8 *gFieldEffectScriptPointers[];  extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; -extern void sub_81555D8(u8, u8); -extern void pal_fill_for_maplights(void); -extern void sub_80E1558(u8); -extern void sub_80E1570(void); -extern bool8 sub_80E1584(void); -extern void WarpFadeScreen(void);  // .rodata  const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); diff --git a/src/field_message_box.c b/src/field_message_box.c index ac5e7a4bb..1c554b6c6 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -4,9 +4,7 @@  #include "string_util.h"  #include "task.h"  #include "text.h" - -extern bool32 IsMatchCallTaskActive(void); -extern void StartMatchCallFromScript(u8*); +#include "match_call.h"  static EWRAM_DATA u8 sFieldMessageBoxMode = 0; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 96e679dd7..a070fe0e1 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -2125,7 +2125,7 @@ void sub_808D194(void)      sub_808D1FC(CreateTask(sub_808D1FC, 0));  } -bool8 sub_808D1B4(void) +bool32 sub_808D1B4(void)  {      return FuncIsActiveTask(sub_808D1FC);  } @@ -2135,7 +2135,7 @@ void sub_808D1C8(void)      sub_808D094(CreateTask(sub_808D094, 0));  } -bool8 sub_808D1E8(void) +bool32 sub_808D1E8(void)  {      return FuncIsActiveTask(sub_808D094);  } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index e7476dea3..b6dcf212c 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -10,7 +10,6 @@  #include "field_screen_effect.h"  #include "field_special_scene.h"  #include "field_weather.h" -// #include "fldeff_flash.h"  #include "gpu_regs.h"  #include "link.h"  #include "link_rfu.h" @@ -31,22 +30,9 @@  #include "constants/event_object_movement_constants.h"  #include "constants/songs.h"  #include "constants/rgb.h" - -extern bool32 sub_81D6534(void); -extern bool8 walkrun_is_standing_still(void); -extern void ScriptUnfreezeEventObjects(void); -extern void sub_80FB768(void); -extern void sub_808D194(void); -extern void sub_808D1C8(void); -extern bool32 sub_808D1B4(void); -extern bool32 sub_808D1E8(void); -extern void sub_80B6B68(void); -extern void sub_80B6E4C(u8, u8); -extern void sub_80B75D8(u8); -extern void sub_80B7A74(u8); -extern void sub_808C0A8(u8); -extern u8 GetMapPairFadeToType(u8, u8); -extern u8 GetMapPairFadeFromType(u8, u8); +#include "trainer_hill.h" +#include "event_obj_lock.h" +#include "fldeff.h"  extern const u16 gUnknown_82EC7CC[]; diff --git a/src/field_specials.c b/src/field_specials.c index a6e0ef746..436b06f53 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -55,6 +55,7 @@  #include "constants/vars.h"  #include "constants/battle_frontier.h"  #include "constants/weather.h" +#include "palette.h"  EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;  EWRAM_DATA u8 gBikeCollisions = 0; @@ -80,9 +81,6 @@ extern const u16 gEventObjectPalette17[];  extern const u16 gEventObjectPalette33[];  extern const u16 gEventObjectPalette34[]; -extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match -extern void BlendPalettes(u32, u8, u16); -extern void FieldInitRegionMap(MainCallback callback);  void UpdateMovedLilycoveFanClubMembers(void);  void sub_813BF60(void); @@ -591,7 +589,9 @@ void SpawnLinkPartnerEventObject(void)  static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum)  { -    paletteNum += 6; +    u8 adjustedPaletteNum; +    // Note: This temp var is necessary; paletteNum += 6 doesn't match. +    adjustedPaletteNum = paletteNum + 6;      if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN ||          graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY ||          graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || @@ -602,21 +602,21 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent          {              u8 spriteId = gEventObjects[obj].spriteId;              struct Sprite *sprite = &gSprites[spriteId]; -            sprite->oam.paletteNum = paletteNum; +            sprite->oam.paletteNum = adjustedPaletteNum;              switch (graphicsId)              {                  case EVENT_OBJ_GFX_LINK_RS_BRENDAN: -                    LoadPalette(gEventObjectPalette33, 0x100 + paletteNum * 16, 0x20); +                    LoadPalette(gEventObjectPalette33, 0x100 + (adjustedPaletteNum << 4), 0x20);                      break;                  case EVENT_OBJ_GFX_LINK_RS_MAY: -                    LoadPalette(gEventObjectPalette34, 0x100 + paletteNum * 16, 0x20); +                    LoadPalette(gEventObjectPalette34, 0x100 + (adjustedPaletteNum << 4), 0x20);                      break;                  case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: -                    LoadPalette(gEventObjectPalette8, 0x100 + paletteNum * 16, 0x20); +                    LoadPalette(gEventObjectPalette8, 0x100 + (adjustedPaletteNum << 4), 0x20);                      break;                  case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: -                    LoadPalette(gEventObjectPalette17, 0x100 + paletteNum * 16, 0x20); +                    LoadPalette(gEventObjectPalette17, 0x100 + (adjustedPaletteNum << 4), 0x20);                      break;              }          } @@ -3379,7 +3379,7 @@ u16 get_unknown_box_id(void)      return gUnknown_0203AB6F;  } -bool32 sub_813B21C(void) +bool8 sub_813B21C(void)  {      if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE)      { diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 348a1f46c..a715608c5 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -20,7 +20,6 @@  #include "constants/field_effects.h"  #include "constants/songs.h" -extern void ScriptUnfreezeEventObjects(void);  extern bool8 IsMewPlayingHideAndSeek(void);  extern struct MapPosition gPlayerFacingPosition; diff --git a/src/frontier_util.c b/src/frontier_util.c index 0c68bf119..bce7b926f 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -35,8 +35,7 @@  #include "constants/moves.h"  #include "constants/items.h"  #include "constants/event_objects.h" - -extern u8 gSelectedOrderFromParty[]; +#include "party_menu.h"  struct FrontierBrainMon  { @@ -48,8 +47,6 @@ struct FrontierBrainMon      u16 moves[4];  }; -extern void sub_81B8558(void); -  // This file's functions.  static void sub_81A17A0(void);  static void sub_81A1830(void); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 53577e166..2c31dba01 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -66,8 +66,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;  #define HALL_OF_FAME_MAX_TEAMS 50 -extern void ReturnFromHallOfFamePC(void); -  // this file's functions  static void ClearVramOamPltt_LoadHofPal(void);  static void sub_8174F70(void); diff --git a/src/hof_pc.c b/src/hof_pc.c index 2cea5540a..d76f04372 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -7,10 +7,6 @@  #include "script_menu.h"  #include "task.h" -extern void Overworld_PlaySpecialMapMusic(void); -extern bool16 ScrSpecial_CreatePCMenu(void); -extern void ScriptMenu_DisplayPCStartupPrompt(void); -  static void ReshowPCMenuAfterHallOfFamePC(void);  static void Task_WaitForPaletteFade(u8); @@ -21,30 +21,29 @@ struct HailStruct {  };  static void sub_810B6C4(struct Sprite *); -extern void sub_810B848(struct Sprite *); -extern void AnimIcePunchSwirlingParticle(struct Sprite *); -extern void AnimIceBeamParticle(struct Sprite *); -extern void AnimIceEffectParticle(struct Sprite *); -extern void AnimFlickerIceEffectParticle(struct Sprite *); -extern void AnimSwirlingSnowball_Step1(struct Sprite *); -extern void AnimSwirlingSnowball_Step2(struct Sprite *); -extern void AnimSwirlingSnowball_Step3(struct Sprite *); -extern void AnimSwirlingSnowball_End(struct Sprite *); -extern void AnimMoveParticleBeyondTarget(struct Sprite *); -extern void AnimWiggleParticleTowardsTarget(struct Sprite *); -extern void AnimWaveFromCenterOfTarget(struct Sprite *); -extern void InitSwirlingFogAnim(struct Sprite *); -extern void AnimSwirlingFogAnim(struct Sprite *); -extern void AnimThrowMistBall(struct Sprite *); -extern void InitPoisonGasCloudAnim(struct Sprite *); -extern void MovePoisonGasCloud(struct Sprite *); -extern void AnimHailBegin(struct Sprite *); -extern void AnimHailContinue(struct Sprite *); -extern void sub_80A8EE4(struct Sprite *); -extern void InitIceBallAnim(struct Sprite *); -extern void AnimThrowIceBall(struct Sprite *); -extern void InitIceBallParticle(struct Sprite *); -extern void AnimIceBallParticle(struct Sprite *); +void sub_810B848(struct Sprite *); +void AnimIcePunchSwirlingParticle(struct Sprite *); +void AnimIceBeamParticle(struct Sprite *); +void AnimIceEffectParticle(struct Sprite *); +void AnimFlickerIceEffectParticle(struct Sprite *); +void AnimSwirlingSnowball_Step1(struct Sprite *); +void AnimSwirlingSnowball_Step2(struct Sprite *); +void AnimSwirlingSnowball_Step3(struct Sprite *); +void AnimSwirlingSnowball_End(struct Sprite *); +void AnimMoveParticleBeyondTarget(struct Sprite *); +void AnimWiggleParticleTowardsTarget(struct Sprite *); +void AnimWaveFromCenterOfTarget(struct Sprite *); +void InitSwirlingFogAnim(struct Sprite *); +void AnimSwirlingFogAnim(struct Sprite *); +void AnimThrowMistBall(struct Sprite *); +void InitPoisonGasCloudAnim(struct Sprite *); +void MovePoisonGasCloud(struct Sprite *); +void AnimHailBegin(struct Sprite *); +void AnimHailContinue(struct Sprite *); +void InitIceBallAnim(struct Sprite *); +void AnimThrowIceBall(struct Sprite *); +void InitIceBallParticle(struct Sprite *); +void AnimIceBallParticle(struct Sprite *);  void AnimTask_Haze2(u8);  void AnimTask_OverlayFogTiles(u8);  void AnimTask_Hail2(u8); diff --git a/src/item_menu.c b/src/item_menu.c index 5b9946e62..5738757bd 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -141,7 +141,6 @@ void unknown_ItemMenu_Confirm2(u8 taskId);  void unknown_item_menu_type(u8 taskId);  void item_menu_type_2(u8 taskId);  void display_sell_item_ask_str(u8 taskId); -void unknown_ItemMenu_Confirm(u8 taskId);  void display_deposit_item_ask_str(u8 taskId);  void item_menu_type_b(u8 taskId);  void BagMenuActuallyToss(u8 taskId); @@ -476,7 +475,7 @@ void CB2_ChooseBerry(void)      GoToBagMenu(RETURN_LOCATION_FIELD_2, BERRIES_POCKET, CB2_ReturnToFieldContinueScript);  } -void sub_81AABF0(void(*callback)(void)) +void sub_81AABF0(void (*callback)(void))  {      GoToBagMenu(RETURN_LOCATION_FIELD_3, BERRIES_POCKET, callback);  } diff --git a/src/item_use.c b/src/item_use.c index 2281cc198..e646a18ee 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -8,13 +8,15 @@  #include "coins.h"  #include "data2.h"  #include "event_data.h" -#include "fieldmap.h"  #include "event_object_movement.h" +#include "fieldmap.h" +#include "field_effect.h"  #include "field_player_avatar.h"  #include "field_screen_effect.h"  #include "field_weather.h"  #include "item.h"  #include "item_menu.h" +#include "item_use.h"  #include "mail.h"  #include "main.h"  #include "menu.h" @@ -37,31 +39,15 @@  #include "constants/items.h"  #include "constants/songs.h"  #include "constants/vars.h" +#include "event_obj_lock.h" -extern void unknown_ItemMenu_Confirm(u8 taskId); -extern void sub_81C5B14(u8 taskId); -extern void ScriptUnfreezeEventObjects(void); -extern void ItemUseOutOfBattle_TMHM(u8 a); -extern void ItemUseOutOfBattle_EvolutionStone(u8 b); -extern bool8 IsPlayerFacingSurfableFishableWater(void); -extern bool8 sub_81221AC(void);  extern u8 Route102_EventScript_274482[];  extern u8 Route102_EventScript_2744C0[];  extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; -extern int sub_80247BC(void); -extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); -extern void SetUpItemUseCallback(u8 taskId); -extern void ItemUseCB_Medicine(u8, TaskFunc); -extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); -extern void sub_81C5924(void); -extern void sub_81C59BC(void); -extern void sub_81AB9A8(u8); -extern void StartEscapeRopeFieldEffect(void); -extern u8* sub_806CF78(u16); -extern void sub_81B89F0(void); -extern u8 GetItemEffectType(u16); -extern struct MapConnection *sub_8088A8C(s16, s16); +extern s32 sub_80247BC(void); + +void SetUpItemUseCallback(u8 taskId);  void MapPostLoadHook_UseItem(void);  void sub_80AF6D4(void);  void Task_CallItemUseOnFieldCallback(u8 taskId); @@ -404,12 +390,12 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y)  bool8 sub_80FD730(struct MapConnection *connection, int x, int y)  { -    struct MapHeader *mapHeader; +          u16 localX, localY;      u32 localOffset;      s32 localLength; -    mapHeader = mapconnection_get_mapheader(connection); +    struct MapHeader const *const mapHeader = mapconnection_get_mapheader(connection);      switch (connection->direction)      { diff --git a/src/link.c b/src/link.c index a49ffaca8..525d50d7c 100644 --- a/src/link.c +++ b/src/link.c @@ -1893,7 +1893,7 @@ u32 GetLinkRecvQueueLength(void)      return gLink.recvQueue.count;  } -bool8 sub_800B504(void) +bool32 sub_800B504(void)  {      if (GetLinkRecvQueueLength() > 2)      { diff --git a/src/link_rfu.c b/src/link_rfu.c index 8da6b166a..d80ff2ae9 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -17,9 +17,9 @@  #include "text.h"  #include "constants/species.h"  #include "save.h" +#include "rom_8011DC0.h"  extern u16 gHeldKeyCodeToSend; -extern void nullsub_89(u8 taskId);  struct UnkRfuStruct_1 gUnknown_03004140;  struct UnkRfuStruct_2 gUnknown_03005000; diff --git a/src/load_save.c b/src/load_save.c index 7d307ec1b..d6785254f 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -11,10 +11,10 @@  #include "trainer_hill.h"  #include "gba/flash_internal.h"  #include "decoration_inventory.h" +#include "agb_flash.h"  static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); -extern bool16 IdentifyFlash(void);  extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);  #define SAVEBLOCK_MOVE_RANGE    128 diff --git a/src/main.c b/src/main.c index 3049f4f90..40381bb68 100644 --- a/src/main.c +++ b/src/main.c @@ -24,9 +24,6 @@  #include "main.h"  #include "trainer_hill.h" -extern void sub_800B9B8(void); -extern u8 gUnknown_03002748; -  static void VBlankIntr(void);  static void HBlankIntr(void);  static void VCountIntr(void); @@ -313,8 +310,6 @@ void SetSerialCallback(IntrCallback callback)      gMain.serialCallback = callback;  } -extern void CopyBufferedValuesToGpuRegs(void); -  static void VBlankIntr(void)  {      if (gWirelessCommType != 0) diff --git a/src/match_call.c b/src/match_call.c index cca55fcb6..641079ba9 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -111,8 +111,6 @@ static void PopulateSpeciesFromTrainerParty(int, u8 *);  static void PopulateBattleFrontierFacilityName(int, u8 *);  static void PopulateBattleFrontierStreak(int, u8 *); -extern void sub_81973A4(void); -  #define TEXT_ID(topic, id) (((topic) << 8) | ((id) & 0xFF))  static const struct MatchCallTrainerTextInfo sMatchCallTrainers[] = diff --git a/src/menu.c b/src/menu.c index 8cb7ac0b2..b04572b81 100644 --- a/src/menu.c +++ b/src/menu.c @@ -122,20 +122,18 @@ const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] =      {  8,  8, 0xAF },       // Unused (Small dark pokeball)  }; +  // Forward declarations -extern void sub_81973A4(void); -extern void WindowFunc_DrawStandardFrame(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_DrawDialogueFrame(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_ClearStdWindowAndFrame(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_ClearDialogWindowAndFrame(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8); -extern void WindowFunc_ClearStdWindowAndFrameToTransparent(u8, u8, u8, u8, u8, u8); -extern u8 Menu_MoveCursor(s8); -extern u8 sub_8199134(s8, s8); -extern void sub_8198C78(void); -extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); +void WindowFunc_DrawStandardFrame(u8, u8, u8, u8, u8, u8); +void WindowFunc_DrawDialogueFrame(u8, u8, u8, u8, u8, u8); +void WindowFunc_ClearStdWindowAndFrame(u8, u8, u8, u8, u8, u8); +void WindowFunc_ClearDialogWindowAndFrame(u8, u8, u8, u8, u8, u8); +void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8); +void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8, u8, u8, u8, u8, u8); +void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8); +void WindowFunc_ClearStdWindowAndFrameToTransparent(u8, u8, u8, u8, u8, u8); +void sub_8198C78(void); +void task_free_buf_after_copying_tile_data_to_vram(u8 taskId);  void InitStandardTextBoxWindows(void)  { diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 25058abf9..3fb5ca40d 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -18,8 +18,6 @@  #include "constants/items.h"  #include "constants/maps.h" -extern bool32 sub_800B504(void); -  // this file's functions  static void Task_ContinueTaskAfterMessagePrints(u8 taskId);  static void Task_CallYesOrNoCallback(u8 taskId); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 4196bb34c..dba914b51 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -17,8 +17,6 @@  #include "mystery_event_msg.h"  #include "pokemon_storage_system.h" -extern void sub_811EFC0(u8); -  extern ScrCmdFunc gMysteryEventScriptCmdTable[];  extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; diff --git a/src/normal.c b/src/normal.c index 87c8792f1..2b592e199 100644 --- a/src/normal.c +++ b/src/normal.c @@ -36,8 +36,6 @@ static void sub_81162F8(u8);  static void sub_81163D0(struct Sprite *);  static void sub_81165E4(struct Sprite *); -extern void sub_810E2C8(struct Sprite *); -  const union AnimCmd gUnknown_0859722C[] =  {      ANIMCMD_FRAME(0, 8), diff --git a/src/option_menu.c b/src/option_menu.c index 1766f0bdb..2fc0d6f3e 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -13,8 +13,7 @@  #include "text_window.h"  #include "international_string_util.h"  #include "strings.h" - -extern void SetPokemonCryStereo(u32 val); +#include "gba/m4a_internal.h"  // Task data  enum diff --git a/src/poison.c b/src/poison.c index c86ec2cd8..9af981694 100644 --- a/src/poison.c +++ b/src/poison.c @@ -3,8 +3,6 @@  #include "trig.h"  #include "constants/rgb.h" -extern void sub_80A77C8(struct Sprite *); -  void sub_810DBAC(struct Sprite *);  void sub_810DC2C(struct Sprite *);  void sub_810DCD0(struct Sprite *); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index d72a9ffbe..da803f454 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -55,8 +55,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;  extern const struct CompressedSpriteSheet gMonFrontPicTable[];  extern const u16 gUnknown_0860F074[]; -extern bool8 sub_81221EC(void); -  // this file's functions  static void HandleInitBackgrounds(void);  static void HandleInitWindows(void); diff --git a/src/pokemon.c b/src/pokemon.c index a35033d49..a984abbb9 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -10,6 +10,7 @@  #include "battle_tower.h"  #include "event_data.h"  #include "evolution_scene.h" +#include "field_specials.h"  #include "item.h"  #include "link.h"  #include "main.h" @@ -72,10 +73,6 @@ extern const struct CompressedSpritePalette gMonPaletteTable[];  extern const struct CompressedSpritePalette gMonShinyPaletteTable[];  extern const u8 gTrainerClassNames[][13]; -extern u16 get_unknown_box_id(void); -extern void set_unknown_box_id(u8); -extern bool8 sub_806F104(void); -  // this file's functions  static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);  static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index b0e14d2b1..98d83d8ce 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,5 +1,6 @@  #include "global.h"  #include "event_data.h" +#include "pokedex.h"  #include "pokemon.h"  #include "pokemon_size_record.h"  #include "string_util.h" @@ -15,9 +16,6 @@ struct UnknownStruct      u16 unk4;  }; -extern u16 GetPokedexHeightWeight(u16 dexNo, bool8 height); -extern u16 SpeciesToNationalPokedexNum(u16 species); -  static const struct UnknownStruct sBigMonSizeTable[] =  {      {  290,   1,      0 }, diff --git a/src/pokenav.c b/src/pokenav.c index 8eb82ffa5..42114a4b2 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -141,7 +141,7 @@ void sub_81C7710(void);  static void InitKeys_(void);  static void FreeVars(void);  static void VblankCb_Pokenav(void); -static void Cb2_Pokenav(void); +static void CB2_Pokenav(void);  void sub_81C7C28(void);  void sub_81C72BC(void);  void sub_81C7B74(void); @@ -485,7 +485,7 @@ void sub_81C71E4(u8 taskId)      }  } -void CB2_PokeNav(void) +void CB2_InitPokeNav(void)  {      gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40));      if (gUnknown_0203CF40 == NULL) @@ -498,7 +498,7 @@ void CB2_PokeNav(void)          ResetTasks();          SetVBlankCallback(NULL);          CreateTask(sub_81C742C, 0); -        SetMainCallback2(Cb2_Pokenav); +        SetMainCallback2(CB2_Pokenav);          SetVBlankCallback(VblankCb_Pokenav);      }  } @@ -529,7 +529,7 @@ void sub_81C72BC(void)          FreeAllSpritePalettes();          SetVBlankCallback(NULL);          CreateTask(sub_81C742C, 0); -        SetMainCallback2(Cb2_Pokenav); +        SetMainCallback2(CB2_Pokenav);          SetVBlankCallback(VblankCb_Pokenav);      }  } @@ -588,7 +588,7 @@ static bool32 AnyMonHasRibbon(void)      return FALSE;  } -static void Cb2_Pokenav(void) +static void CB2_Pokenav(void)  {      RunTasks();      AnimateSprites(); diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c index 53f9f0548..b775ed10e 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call.c @@ -1,13 +1,11 @@ - -// Includes  #include "global.h"  #include "battle_setup.h"  #include "event_data.h"  #include "string_util.h"  #include "battle.h"  #include "gym_leader_rematch.h" +#include "match_call.h" -extern void sub_8197080(u8 *dest);  extern const u8 gTrainerClassNames[][13];  // Static type declarations diff --git a/src/record_mixing.c b/src/record_mixing.c index ad34bc432..3a16f817e 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -34,9 +34,8 @@  #include "daycare.h"  #include "international_string_util.h"  #include "constants/battle_frontier.h" +#include "dewford_trend.h" -extern void ReceiveSecretBasesData(struct SecretBaseRecord *, size_t, u8); -extern void ReceiveEasyChatPairsData(struct EasyChatPair *, size_t, u8);  // Static type declarations diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 0926d4569..dd177f884 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -2,6 +2,7 @@  #include "reshow_battle_screen.h"  #include "battle.h"  #include "palette.h" +#include "pokemon.h"  #include "main.h"  #include "scanline_effect.h"  #include "text.h" @@ -18,8 +19,6 @@  extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; -extern void SetMultiuseSpriteTemplateToTrainerBack(u16 backPicId, u8 battlerPosition); -  // this file's functions  static void CB2_ReshowBattleScreenAfterMenu(void);  static bool8 LoadBattlerSpriteGfx(u8 battlerId); diff --git a/src/rock.c b/src/rock.c index 14ffc63e0..814b1d88b 100644 --- a/src/rock.c +++ b/src/rock.c @@ -12,8 +12,6 @@  extern const union AnimCmd *const gUnknown_085950E0[];  extern const union AnimCmd *const gUnknown_085954D0[]; -extern void AnimMoveTwisterParticle(struct Sprite *); -  void sub_81109F0(struct Sprite *);  void sub_8110AB4(struct Sprite *);  void AnimDirtParticleAcrossScreen(struct Sprite *); diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 64850d2e3..3d9eab8d7 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -33,8 +33,7 @@  #include "start_menu.h"  #include "data2.h"  #include "field_screen_effect.h" - -extern void HealPlayerParty(void); +#include "script_pokemon_util_80F87D8.h"  struct UnkStruct_Shared  { diff --git a/src/safari_zone.c b/src/safari_zone.c index accf94981..703c3d0cd 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -10,6 +10,7 @@  #include "string_util.h"  #include "tv.h"  #include "constants/game_stat.h" +#include "field_screen_effect.h"  struct PokeblockFeeder  { @@ -27,8 +28,6 @@ extern const u8 EventScript_2A4B6F[];  extern const u8 EventScript_2A4B4C[];  extern const u8 EventScript_2A4B9B[]; -extern void sub_80AF6F0(void); -  EWRAM_DATA u8 gNumSafariBalls = 0;  EWRAM_DATA static u16 sSafariZoneStepCounter = 0;  EWRAM_DATA static u8 sSafariZoneCaughtMons = 0; diff --git a/src/save.c b/src/save.c index 4444e122c..361a88e1e 100644 --- a/src/save.c +++ b/src/save.c @@ -1,5 +1,7 @@  #include "global.h" +#include "agb_flash.h"  #include "gba/flash_internal.h" +#include "fieldmap.h"  #include "save.h"  #include "task.h"  #include "decompress.h" @@ -8,6 +10,7 @@  #include "pokemon_storage_system.h"  #include "main.h"  #include "trainer_hill.h" +#include "link.h"  #include "constants/game_stat.h"  static u16 CalculateChecksum(void *data, u16 size); @@ -70,12 +73,6 @@ const struct SaveSectionOffsets gSaveSectionOffsets[] =      SAVEBLOCK_CHUNK(gPokemonStorage, 8),  }; -extern void DoSaveFailedScreen(u8); // save_failed_screen -extern bool32 ProgramFlashSectorAndVerify(u8 sector, u8 *data); -extern void save_serialize_map(void); -extern void sub_800ADF8(void); -extern bool8 IsLinkTaskFinished(void); -  // iwram common  u16 gLastWrittenSector;  u32 gLastSaveCounter; diff --git a/src/script_menu.c b/src/script_menu.c index afb1ef312..c7523a370 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1312,7 +1312,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId)  #undef tWindowId -bool8 ScrSpecial_CreatePCMenu(void) +bool16 ScrSpecial_CreatePCMenu(void)  {      if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)      { diff --git a/src/secret_base.c b/src/secret_base.c index 9147c19f9..4b270e424 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -43,8 +43,6 @@  #include "constants/species.h"  #include "constants/trainers.h" -extern void mapldr_default(void); -  // Static type declarations  struct SecretBaseListMenuBuffer { diff --git a/src/start_menu.c b/src/start_menu.c index f56e5e861..4822c12e6 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1,44 +1,49 @@  #include "global.h" -#include "start_menu.h" -#include "menu.h" -#include "safari_zone.h" -#include "event_data.h" -#include "window.h" -#include "string_util.h" -#include "text.h" -#include "strings.h" +#include "battle_pike.h" +#include "battle_pyramid.h" +#include "battle_pyramid_bag.h"  #include "bg.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_obj_lock.h" +#include "event_scripts.h" +#include "fieldmap.h"  #include "field_effect.h" -#include "party_menu.h" -#include "frontier_pass.h" -#include "task.h" -#include "overworld.h" -#include "link.h" -#include "frontier_util.h" +#include "field_player_avatar.h"  #include "field_specials.h" -#include "event_object_movement.h" -#include "script.h" -#include "main.h" -#include "sound.h" -#include "pokedex.h"  #include "field_weather.h" -#include "palette.h" +#include "field_screen_effect.h" +#include "frontier_pass.h" +#include "frontier_util.h" +#include "gpu_regs.h" +#include "international_string_util.h"  #include "item_menu.h" +#include "link.h" +#include "load_save.h" +#include "main.h" +#include "menu.h" +#include "new_game.h"  #include "option_menu.h" -#include "event_scripts.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "pokedex.h" +#include "pokenav.h" +#include "safari_zone.h"  #include "save.h" -#include "gpu_regs.h"  #include "scanline_effect.h" +#include "script.h" +#include "sound.h" +#include "start_menu.h" +#include "strings.h" +#include "string_util.h" +#include "task.h" +#include "text.h"  #include "text_window.h" -#include "load_save.h"  #include "trainer_card.h" -#include "international_string_util.h" +#include "window.h"  #include "constants/songs.h" -#include "field_player_avatar.h" -#include "battle_pyramid.h" -#include "battle_pyramid_bag.h" -#include "battle_pike.h" -#include "new_game.h" +#include "rom_8011DC0.h"  // Menu actions  enum @@ -83,19 +88,6 @@ EWRAM_DATA static u8 sSaveDialogTimer = 0;  EWRAM_DATA static bool8 sSavingComplete = FALSE;  EWRAM_DATA static u8 sSaveInfoWindowId = 0; -// Extern variables. -extern u8 gLocalLinkPlayerId; - -// Extern functions in not decompiled files. -extern void sub_80AF688(void); -extern void var_800D_set_xB(void); -extern void sub_808B864(void); -extern void CB2_Pokedex(void); -extern void PlayRainStoppingSoundEffect(void); -extern void CB2_PokeNav(void); -extern void ScriptUnfreezeEventObjects(void); -extern void save_serialize_map(void); -  // Menu action callbacks  static bool8 StartMenuPokedexCallback(void);  static bool8 StartMenuPokemonCallback(void); @@ -656,7 +648,7 @@ static bool8 StartMenuPokeNavCallback(void)          PlayRainStoppingSoundEffect();          RemoveExtraStartMenuWindows();          CleanupOverworldWindowsAndTilemaps(); -        SetMainCallback2(CB2_PokeNav);  // Display PokeNav +        SetMainCallback2(CB2_InitPokeNav);  // Display PokeNav          return TRUE;      } diff --git a/src/text.c b/src/text.c index 2d286992d..be4bf2697 100644 --- a/src/text.c +++ b/src/text.c @@ -12,10 +12,6 @@  #include "menu.h"  #include "dynamic_placeholder_text_util.h" -extern u8 GetKeypadIconWidth(u8 keypadIconId); -extern u16 Font6Func(struct TextPrinter *textPrinter); -extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); -  EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};  EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0}; diff --git a/src/trainer_card.c b/src/trainer_card.c index cd8b34865..01839d598 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -21,6 +21,7 @@  #include "gpu_regs.h"  #include "international_string_util.h"  #include "pokedex.h" +#include "pokemon_icon.h"  #include "graphics.h"  #include "pokemon_icon.h"  #include "trainer_pokemon_sprites.h" @@ -89,9 +90,6 @@ struct TrainerCardData      u8 language;  }; -//external functions -extern u8 sub_80D30A0(u16); -  // EWRAM  EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0};  EWRAM_DATA static struct TrainerCardData *sData = NULL; diff --git a/src/trainer_see.c b/src/trainer_see.c index bc5d9cbc3..16ea88a45 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -17,8 +17,6 @@  #include "constants/event_object_movement_constants.h"  #include "constants/field_effects.h" -extern void sub_809BE48(u16 npcId); -  // this file's functions  static u8 CheckTrainer(u8 eventObjectId);  static u8 GetTrainerApproachDistance(struct EventObject *trainerObj); diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c index 03e049d72..02648bf93 100644 --- a/src/unk_text_util_2.c +++ b/src/unk_text_util_2.c @@ -214,7 +214,7 @@ static void DecompressGlyphFont6(u16 glyph)      gUnknown_03002F90.unk81 = 0x10;  } -u8 GetGlyphWidthFont6(void) +u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese)  {      return 0x10;  } diff --git a/src/water.c b/src/water.c index d13b1378e..20bf2542d 100644 --- a/src/water.c +++ b/src/water.c @@ -13,35 +13,33 @@  #include "constants/battle.h"  #include "constants/rgb.h" -extern void sub_810721C(struct Sprite *); -extern void sub_8107228(struct Sprite *); -extern void sub_8107260(struct Sprite *); -extern void sub_8107380(struct Sprite *); -extern void sub_8107408(struct Sprite *); -extern void sub_8107430(struct Sprite *); -extern void sub_810744C(struct Sprite *); -extern void sub_81074E4(struct Sprite *); -extern void sub_81075EC(struct Sprite *); -extern void sub_8107674(struct Sprite *); -extern void sub_8107730(struct Sprite *); -extern void sub_81077A4(struct Sprite *); -extern void sub_81077C0(struct Sprite *); -extern void sub_80A78AC(struct Sprite *); -extern void sub_8107894(struct Sprite *); -extern void sub_81078D0(struct Sprite *); -extern void sub_810790C(struct Sprite *); -extern void sub_8108034(struct Sprite *); -extern void sub_8108098(struct Sprite *); -extern void sub_810851C(struct Sprite *); -extern void sub_81087C0(struct Sprite *); -extern void sub_810886C(struct Sprite *); -extern void sub_8108B2C(struct Sprite *); -extern void sub_8108B94(struct Sprite *); -extern void sub_8108BE0(struct Sprite *); -extern void sub_8108C08(struct Sprite *); -extern void sub_8108C54(struct Sprite *); -extern void sub_8108CDC(struct Sprite *); -extern void sub_80A8EE4(struct Sprite *); +void sub_810721C(struct Sprite *); +void sub_8107228(struct Sprite *); +void sub_8107260(struct Sprite *); +void sub_8107380(struct Sprite *); +void sub_8107408(struct Sprite *); +void sub_8107430(struct Sprite *); +void sub_810744C(struct Sprite *); +void sub_81074E4(struct Sprite *); +void sub_81075EC(struct Sprite *); +void sub_8107674(struct Sprite *); +void sub_8107730(struct Sprite *); +void sub_81077A4(struct Sprite *); +void sub_81077C0(struct Sprite *); +void sub_8107894(struct Sprite *); +void sub_81078D0(struct Sprite *); +void sub_810790C(struct Sprite *); +void sub_8108034(struct Sprite *); +void sub_8108098(struct Sprite *); +void sub_810851C(struct Sprite *); +void sub_81087C0(struct Sprite *); +void sub_810886C(struct Sprite *); +void sub_8108B2C(struct Sprite *); +void sub_8108B94(struct Sprite *); +void sub_8108BE0(struct Sprite *); +void sub_8108C08(struct Sprite *); +void sub_8108C54(struct Sprite *); +void sub_8108CDC(struct Sprite *);  void sub_810756C(u8);  void sub_81076F4(u8);  void sub_8107B84(u8); | 
