diff options
Diffstat (limited to 'include')
55 files changed, 892 insertions, 46 deletions
diff --git a/include/asm_fieldmap.h b/include/asm_fieldmap.h new file mode 100644 index 000000000..afc1fac7c --- /dev/null +++ b/include/asm_fieldmap.h @@ -0,0 +1,23 @@ +#ifndef GUARD_FIELDMAP_H +#define GUARD_FIELDMAP_H + +void not_trainer_hill_battle_pyramid(void); +void sub_8055FC0(void); +u8 MapGridGetZCoordAt(); +bool8 MapGridIsImpassableAt(s16, s16); +int MapGridGetMetatileIdAt(int, int); +int MapGridGetMetatileBehaviorAt(int x, int y); // return: (u8|u16|int) args: (int|s16|s32) +u8 MapGridGetMetatileLayerTypeAt(/*TODO: arg types*/); +void MapGridSetMetatileIdAt(u32, u32, u16); +void save_serialize_map(void); +int CameraMove(int, int); +void sub_8056C50(u16, u16); +void sav1_camera_get_focus_coords(s16 *x, s16 *y); +void GetCameraCoords(s16*, s16*); +void sub_8056D28(struct MapData *pData); +void sub_8056D38(struct MapData *pData); +void apply_map_tileset2_palette(struct MapData *pData); +void copy_map_tileset1_tileset2_to_vram(/*TODO: arg types*/); +void apply_map_tileset1_tileset2_palette(/*TODO: arg types*/); + +#endif // GUARD_FIELDMAP_H diff --git a/include/battle_setup.h b/include/battle_setup.h new file mode 100644 index 000000000..2c9d1d8c5 --- /dev/null +++ b/include/battle_setup.h @@ -0,0 +1,7 @@ +#ifndef GUARD_BATTLE_SETUP_H +#define GUARD_BATTLE_SETUP_H + +void CheckForSafariZoneAndProceed(void); +void sub_8081A5C(void); + +#endif // GUARD_BATTLE_SETUP_H diff --git a/include/coins.h b/include/coins.h new file mode 100644 index 000000000..d066c2422 --- /dev/null +++ b/include/coins.h @@ -0,0 +1,12 @@ +#ifndef GUARD_COINS_H +#define GUARD_COINS_H + +void UpdateCoinsWindow(s32 a, u8 b, u8 c); +void ShowCoinsWindow(u32 a, u8 b, u8 c); +void HideCoinsWindow(u8 a, u8 b); +void PrintCoins(s32 a, u8 b, u8 c, u8 d); +u16 GetCoins(void); +bool8 GiveCoins(u16 coins); +bool8 TakeCoins(u16 coins); + +#endif // GUARD_COINS_H diff --git a/include/decompress.h b/include/decompress.h new file mode 100644 index 000000000..382e6d76a --- /dev/null +++ b/include/decompress.h @@ -0,0 +1,16 @@ +#ifndef GUARD_DECOMPRESS_H +#define GUARD_DECOMPRESS_H + +#include "sprite.h" + +void sub_800D238(const void *src, void *dest); +void LZDecompressVram(const void *src, void *dest); +void LoadCompressedObjectPic(const struct SpriteSheet *a); +void LoadCompressedObjectPicOverrideBuffer(const struct SpriteSheet *a, void *buffer); +void LoadCompressedObjectPalette(const struct SpritePalette *a); +void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, void *buffer); +void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 f); +void sub_800D334(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g); +void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g, u32 h); + +#endif // GUARD_DECOMPRESS_H diff --git a/include/field_camera.h b/include/field_camera.h new file mode 100644 index 000000000..51c370d0a --- /dev/null +++ b/include/field_camera.h @@ -0,0 +1,18 @@ +#ifndef GUARD_FIELD_CAMERA_H +#define GUARD_FIELD_CAMERA_H + +void move_tilemap_camera_to_upper_left_corner(void); +void sub_8057A58(void); +void sub_8057B14(u16 *a, u16 *b); +void DrawWholeMapView(void); +void CurrentMapDrawMetatileAt(int a, int b); +void DrawDoorMetatileAt(int x, int y, u16 *arr); +void ResetCameraUpdateInfo(void); +u32 InitCameraUpdateCallback(u8 a); +void CameraUpdate(void); +void SetCameraPanningCallback(void (*a)(void)); +void SetCameraPanning(s16 a, s16 b); +void InstallCameraPanAheadCallback(void); +void UpdateCameraPanning(void); + +#endif // GUARD_FIELD_CAMERA_H diff --git a/include/field_effect.h b/include/field_effect.h new file mode 100644 index 000000000..a46c048cb --- /dev/null +++ b/include/field_effect.h @@ -0,0 +1,29 @@ +#ifndef GUARD_FIELD_EFFECT_H +#define GUARD_FIELD_EFFECT_H + +#include "sprite.h" + +u32 FieldEffectStart(u8 id); +bool8 FieldEffectCmd_loadtiles(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadfadedpal(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadpal(u8 **script, u32 *val); +bool8 FieldEffectCmd_callnative(u8 **script, u32 *val); +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); +u32 FieldEffectScript_ReadWord(u8 **script); +void FieldEffectScript_LoadTiles(u8 **script); +void FieldEffectScript_LoadFadedPalette(u8 **script); +void FieldEffectScript_LoadPalette(u8 **script); +void FieldEffectScript_CallNative(u8 **script, u32 *val); +void FieldEffectFreeGraphicsResources(struct Sprite *sprite); +void FieldEffectStop(struct Sprite *sprite, u8 id); +void FieldEffectFreeTilesIfUnused(u16 tileStart); +void FieldEffectFreePaletteIfUnused(u8 paletteNum); +void FieldEffectActiveListClear(void); +void FieldEffectActiveListAdd(u8 id); +void FieldEffectActiveListRemove(u8 id); +bool8 FieldEffectActiveListContains(u8 id); + +#endif // GUARD_FIELD_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h new file mode 100644 index 000000000..c31b0fc2a --- /dev/null +++ b/include/field_map_obj.h @@ -0,0 +1,11 @@ +#ifndef GUARD_FIELD_MAP_OBJ_H +#define GUARD_FIELD_MAP_OBJ_H + +#include "sprite.h" + +void sub_805C058(struct MapObject *mapObject, s16 a, s16 b); +void FieldObjectSetDirection(struct MapObject *pObject, u8 unk_18); +void MoveCoords(u8 direction, s16 *x, s16 *y); +void meta_step(struct MapObject *pObject, struct Sprite *pSprite, u32 (*d8)(void)); + +#endif // GUARD_FIELD_MAP_OBJ_H diff --git a/include/field_message_box.h b/include/field_message_box.h index 072a9fd66..50d96ccd1 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -12,8 +12,11 @@ enum void InitFieldMessageBox(void); bool8 ShowFieldMessage(u8 *message); bool8 ShowFieldAutoScrollMessage(u8 *message); +bool8 unref_sub_8064BB8(u8 *message); +bool8 unref_sub_8064BD0(u8 *message); void HideFieldMessageBox(void); u8 GetFieldMessageBoxMode(void); bool8 IsFieldMessageBoxHidden(void); +void unref_sub_8064CA0(void); #endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h new file mode 100644 index 000000000..0c9e78a2a --- /dev/null +++ b/include/field_player_avatar.h @@ -0,0 +1,17 @@ +#ifndef GUARD_FIELD_PLAYER_AVATAR_H +#define GUARD_FIELD_PLAYER_AVATAR_H + +void player_step(u8 a, u16 b, u16 c); +void SetPlayerAvatarTransitionFlags(u16 a); +void sub_8059204(void); +void sub_80594C0(void); +void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y); +void PlayerGetDestCoords(s16 *, s16 *); +u8 player_get_direction_lower_nybble(void); +u8 player_get_direction_upper_nybble(void); +u8 TestPlayerAvatarFlags(u8); +void sub_80597E8(void); +void sub_80597F4(void); +void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d); + +#endif diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index f5d44de99..572b77711 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -1,3 +1,6 @@ +#ifndef GUARD_M4A_INTERNAL_H +#define GUARD_M4A_INTERNAL_H + #include "gba/gba.h" // ASCII encoding of 'Smsh' in reverse @@ -460,3 +463,5 @@ void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *); + +#endif // GUARD_M4A_INTERNAL_H diff --git a/include/berry.h b/include/global.berry.h index a80e77512..8b98a5f58 100644 --- a/include/berry.h +++ b/include/global.berry.h @@ -1,5 +1,5 @@ -#ifndef GUARD_BERRY_H -#define GUARD_BERRY_H +#ifndef GUARD_GLOBAL_BERRY_H +#define GUARD_GLOBAL_BERRY_H struct Berry { @@ -54,4 +54,4 @@ struct BerryTree u8 watered4:1; }; -#endif // GUARD_BERRY_H +#endif // GUARD_GLOBAL_BERRY_H diff --git a/include/fieldmap.h b/include/global.fieldmap.h index 16a80955a..20f28b02f 100644 --- a/include/fieldmap.h +++ b/include/global.fieldmap.h @@ -1,5 +1,5 @@ -#ifndef GUARD_FIELDMAP_H -#define GUARD_FIELDMAP_H +#ifndef GUARD_GLOBAL_FIELDMAP_H +#define GUARD_GLOBAL_FIELDMAP_H enum { @@ -289,4 +289,4 @@ extern u8 gSelectedMapObject; extern struct MapHeader gMapHeader; extern struct PlayerAvatar gPlayerAvatar; -#endif // GUARD_FIELDMAP_H +#endif // GUARD_GLOBAL_FIELDMAP_H diff --git a/include/global.h b/include/global.h index b1bfa25ad..7fbf5755b 100644 --- a/include/global.h +++ b/include/global.h @@ -95,8 +95,8 @@ struct SecretBaseRecord }; #include "game_stat.h" -#include "fieldmap.h" -#include "berry.h" +#include "global.fieldmap.h" +#include "global.berry.h" #include "pokemon.h" struct WarpData diff --git a/include/heal_location.h b/include/heal_location.h new file mode 100644 index 000000000..785918bd6 --- /dev/null +++ b/include/heal_location.h @@ -0,0 +1,18 @@ +#ifndef GUARD_HEAL_LOCATION_H +#define GUARD_HEAL_LOCATION_H + +#include "sprite.h" + +struct HealLocation +{ + s8 group; + s8 map; + u16 x; + u16 y; +}; + +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocation(u32 index); + +#endif // GUARD_HEAL_LOCATION_H diff --git a/include/intro.h b/include/intro.h new file mode 100644 index 000000000..a859a9ce4 --- /dev/null +++ b/include/intro.h @@ -0,0 +1,7 @@ +#ifndef GUARD_INTRO_H +#define GUARD_INTRO_H + +void c2_copyright_1(void); +void CB2_InitCopyrightScreen(void); + +#endif // GUARD_INTRO_H diff --git a/include/item.h b/include/item.h new file mode 100644 index 000000000..cc917dbc8 --- /dev/null +++ b/include/item.h @@ -0,0 +1,35 @@ +#ifndef GUARD_ITEM_H +#define GUARD_ITEM_H + +typedef void (*ItemUseFunc)(u8); + +void CopyItemName(u16 itemId, u8 *string); +bool8 IsBagPocketNonEmpty(u8 pocket); +bool8 CheckBagHasItem(u16 itemId, u16 count); +bool8 CheckBagHasSpace(u16 itemId, u16 count); +bool8 AddBagItem(u16 itemId, u16 count); +bool8 RemoveBagItem(u16 itemId, u16 count); +u8 GetPocketByItemId(u16 itemId); +void ClearItemSlots(struct ItemSlot *itemSlots, u8 b); +u8 CountUsedPCItemSlots(void); +bool8 CheckPCHasItem(u16 itemId, u16 count); +bool8 AddPCItem(u16 itemId, u16 count); +void RemovePCItem(u8 index, u16 count); +void SwapRegisteredBike(void); +struct Item *ItemId_GetItem(u16 itemId); +u16 ItemId_GetId(u16 itemId); +u16 ItemId_GetPrice(u16 itemId); +u8 ItemId_GetHoldEffect(u16 itemId); +u8 ItemId_GetHoldEffectParam(u16 itemId); +u8 *ItemId_GetDescription(u16 itemId); +bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); +u8 ItemId_GetImportance(u16 itemId); +u8 ItemId_GetUnknownValue(u16 itemId); +u8 ItemId_GetPocket(u16 itemId); +u8 ItemId_GetType(u16 itemId); +ItemUseFunc ItemId_GetFieldFunc(u16 itemId); +u8 ItemId_GetBattleUsage(u16 itemId); +ItemUseFunc ItemId_GetBattleFunc(u16 itemId); +u8 ItemId_GetSecondaryId(u16 itemId); + +#endif // GUARD_ITEM_H diff --git a/include/landmark.h b/include/landmark.h new file mode 100644 index 000000000..eee5ac8c2 --- /dev/null +++ b/include/landmark.h @@ -0,0 +1,6 @@ +#ifndef GUARD_LANDMARK_H +#define GUARD_LANDMARK_H + +u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count); + +#endif // GUARD_LANDMARK_H diff --git a/include/libgncmultiboot.h b/include/libgncmultiboot.h new file mode 100644 index 000000000..b4d1cd231 --- /dev/null +++ b/include/libgncmultiboot.h @@ -0,0 +1,16 @@ +#ifndef GUARD_LIBGNCMULTIBOOT_H +#define GUARD_LIBGNCMULTIBOOT_H + +struct GcmbStruct +{ + u16 gcmb_field_0; + u8 gcmb_field_2; +}; + +void GameCubeMultiBoot_Main(struct GcmbStruct *pStruct); +void GameCubeMultiBoot_ExecuteProgram(struct GcmbStruct *pStruct); +void GameCubeMultiBoot_Init(struct GcmbStruct *pStruct); +void GameCubeMultiBoot_HandleSerialInterrupt(struct GcmbStruct *pStruct); +void GameCubeMultiBoot_Quit(void); + +#endif // GUARD_LIBGNCMULTIBOOT_H diff --git a/include/link.h b/include/link.h index 550102fb9..694339164 100644 --- a/include/link.h +++ b/include/link.h @@ -1,8 +1,6 @@ #ifndef GUARD_LINK_H #define GUARD_LINK_H -#include "global.h" - #define MAX_LINK_PLAYERS 4 #define CMD_LENGTH 8 #define QUEUE_CAPACITY 50 diff --git a/include/lottery_corner.h b/include/lottery_corner.h new file mode 100644 index 000000000..06f38a5c9 --- /dev/null +++ b/include/lottery_corner.h @@ -0,0 +1,12 @@ +#ifndef GUARD_LOTTERY_CORNER_H +#define GUARD_LOTTERY_CORNER_H + +void sub_8145A78(void); +void sub_8145AA4(u16 a); +void sub_8145AEC(void); +void PickLotteryCornerTicket(void); +void sub_8145D14(u32 a); +u32 sub_8145D3C(void); +void unref_sub_8145D64(u16 a); + +#endif // GUARD_LOTTERY_CORNER_H diff --git a/include/m4a.h b/include/m4a.h new file mode 100644 index 000000000..85cba5d77 --- /dev/null +++ b/include/m4a.h @@ -0,0 +1,13 @@ +#ifndef GUARD_M4A_H +#define GUARD_M4A_H + +#include "gba/m4a_internal.h" + +void m4aSoundInit(void); +void m4aSoundMain(void); +void m4aSongNumStart(u16 n); +void m4aSoundVSync(void); + +void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); + +#endif //GUARD_M4A_H diff --git a/include/main.h b/include/main.h index 67595ac65..054bba901 100644 --- a/include/main.h +++ b/include/main.h @@ -50,6 +50,7 @@ extern bool8 gLinkVSyncDisabled; extern const u8 gGameVersion; extern const u8 gGameLanguage; +void AgbMain(void); void SetMainCallback2(MainCallback callback); void InitKeys(void); void SetVBlankCallback(IntrCallback callback); diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h new file mode 100644 index 000000000..6d677ad8c --- /dev/null +++ b/include/map_obj_lock.h @@ -0,0 +1,16 @@ +#ifndef GUARD_MAP_OBJ_LOCK_H +#define GUARD_MAP_OBJ_LOCK_H + +bool8 walkrun_is_standing_still(void); +void sub_8064CDC(u8 taskId); +bool8 sub_8064CFC(void); +void sub_8064D20(void); +void sub_8064D38(u8 taskId); +bool8 sub_8064DB4(void); +void sub_8064DD8(void); +void sub_8064E2C(void); +void unref_sub_8064E5C(void); +void sub_8064EAC(void); +void sub_8064ED4(void); + +#endif // GUARD_MAP_OBJ_LOCK_H diff --git a/include/menu.h b/include/menu.h index 6df47cf93..7dfe418a9 100644 --- a/include/menu.h +++ b/include/menu.h @@ -3,7 +3,7 @@ #include "text.h" -void InitMenuWindow(struct WindowConfig *); +void InitMenuWindow(const struct WindowConfig *); void MultistepInitMenuWindowBegin(struct WindowConfig *); bool32 MultistepInitMenuWindowContinue(void); void unref_sub_8071DA4(struct WindowConfig *, u16); diff --git a/include/menu_cursor.h b/include/menu_cursor.h new file mode 100644 index 000000000..cc6cc16bc --- /dev/null +++ b/include/menu_cursor.h @@ -0,0 +1,24 @@ +#ifndef GUARD_MENU_CURSOR_H +#define GUARD_MENU_CURSOR_H + +#include "sprite.h" + +void sub_814A590(void); +u8 sub_814A5C0(u8 a1, u16 a2, u8 a3, u16 a4, u8 a5); +u8 sub_814A758(u8 a1, u8 a2, u8 a3, u8 a4); +u8 unref_sub_814A7AC(u8 a1, u16 a2, u8 a3); +void sub_814A7FC(void); +void sub_814A880(u8 a1, u8 a2); +void sub_814A904(void); +void sub_814A958(u8 a1); +void sub_814AABC(void (*callback)(struct Sprite *)); +void sub_814AAF8(u16 a1); +void sub_814AB84(void); +void unref_sub_814ABE4(int a1); +u8 CreateBlendedOutlineCursor(u8 a1, u16 a2, u8 a3, u16 a4, u8 a5); +void sub_814AD44(void); +void sub_814AD7C(u8 a1, u8 a2); +void sub_814ADC8(void); +void sub_814ADF4(u8 a1); + +#endif // GUARD_MENU_CURSOR_H diff --git a/include/mori_debug_menu.h b/include/mori_debug_menu.h new file mode 100644 index 000000000..0d1f49d3b --- /dev/null +++ b/include/mori_debug_menu.h @@ -0,0 +1,17 @@ +#ifndef GUARD_MORI_DEBUG_MENU_H +#define GUARD_MORI_DEBUG_MENU_H + +s8 sub_8083D4C(void); +u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr); +s8 MoriDebugMenu_Egg(void); +s8 MoriDebugMenu_MaleEgg(void); +s8 MoriDebugMenu_1000Steps(void); +s8 MoriDebugMenu_10000Steps(void); +s8 MoriDebugMenu_MoveTutor(void); +s8 MoriDebugMenu_BreedEgg(void); +s8 MoriDebugMenu_LongName(void); +s8 MoriDebugMenu_PokeblockCase(void); +s8 MoriDebugMenuProcessInput(void); +s8 InitMoriDebugMenu(void); + +#endif // GUARD_MORI_DEBUG_MENU_H diff --git a/include/new_game.h b/include/new_game.h new file mode 100644 index 000000000..dce42bf52 --- /dev/null +++ b/include/new_game.h @@ -0,0 +1,16 @@ +#ifndef GUARD_NEW_GAME_H +#define GUARD_NEW_GAME_H + +void write_word_to_mem(u32 a1, u8 *a2); +void sub_8052D10(u8 *a1, u8 *a2); +void set_player_trainer_id(void); +void SetDefaultOptions(void); +void sub_8052D78(void); +void sub_8052DA8(void); +void sub_8052DE4(void); +void sub_8052E04(void); +void ClearSav2(void); +void sub_8052E4C(void); +void NewGameInitData(void); + +#endif // GUARD_NEW_GAME_H diff --git a/include/option_menu.h b/include/option_menu.h new file mode 100644 index 000000000..b23a73c4c --- /dev/null +++ b/include/option_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_OPTION_MENU_H +#define GUARD_OPTION_MENU_H + +void CB2_InitOptionMenu(void); + +#endif // GUARD_OPTION_MENU_H diff --git a/include/palette.h b/include/palette.h index de2cf0083..37fcb4d65 100644 --- a/include/palette.h +++ b/include/palette.h @@ -1,8 +1,6 @@ #ifndef GUARD_PALETTE_H #define GUARD_PALETTE_H -#include "global.h" - #define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade #define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade @@ -54,7 +52,7 @@ bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); void unref_sub_8073D84(u8, u32 *); void ResetPaletteStructByUid(u16); void ResetPaletteStruct(u8); -void ResetPaletteFadeControl(); +void ResetPaletteFadeControl(void); void unref_sub_8074168(u16); void unref_sub_8074194(u16); void InvertPlttBuffer(u32); diff --git a/include/play_time.h b/include/play_time.h index ac64b62fb..49091f4b1 100644 --- a/include/play_time.h +++ b/include/play_time.h @@ -1,9 +1,10 @@ #ifndef GUARD_PLAY_TIME_H #define GUARD_PLAY_TIME_H -void PlayTimeCounter_Reset(); -void PlayTimeCounter_Start(); -void PlayTimeCounter_Stop(); -void PlayTimeCounter_Update(); +void PlayTimeCounter_Reset(void); +void PlayTimeCounter_Start(void); +void PlayTimeCounter_Stop(void); +void PlayTimeCounter_Update(void); +void PlayTimeCounter_SetToMax(void); #endif // GUARD_PLAY_TIME_H diff --git a/include/pokedex.h b/include/pokedex.h new file mode 100644 index 000000000..22ba76fc6 --- /dev/null +++ b/include/pokedex.h @@ -0,0 +1,156 @@ +#ifndef GUARD_POKEDEX_H +#define GUARD_POKEDEX_H + +#include "sprite.h" + +struct PokedexListItem +{ + u16 dexNum; + u16 seen:1; + u16 owned:1; +}; + +struct PokedexView +{ + struct PokedexListItem unk0[386]; + u16 unk608; + u8 unk60A_1:1; + u8 unk60A_2:1; + u8 unk60B; + u16 unk60C; + u16 selectedPokemon; + u16 unk610; + u16 dexMode; //National or Hoenn + u16 unk614; + u16 dexOrder; + u16 unk618; + u16 unk61A; + u16 unk61C; + u16 unk61E[4]; + u16 unk626; //sprite id of selected Pokemon + u16 unk628; + u16 unk62A; + u8 unk62C; + u8 unk62D; + u8 unk62E; + u8 unk62F; + s16 unk630; + s16 unk632; + u16 unk634; + u16 unk636; + u16 unk638; + u16 unk63A[4]; + u8 filler642[8]; + u8 unk64A; + u8 unk64B; + u8 unk64C_1:1; + u8 selectedScreen; + u8 unk64E; + u8 unk64F; + u8 menuIsOpen; //menuIsOpen + u8 unk651; + u16 menuCursorPos; //Menu cursor position + s16 menuY; //Menu Y position (inverted because we use REG_BG0VOFS for this) + u8 unk656[8]; + u8 unk65E[8]; +}; + +void sub_808C02C(void); +void sub_808C0A0(void); +void sub_808C0B8(void); +void ClearPokedexView(struct PokedexView *pokedexView); +void CB2_InitPokedex(void); +u8 unref_sub_808C540(void (*func)(u8)); +void MainCB(void); +void Task_PokedexShowMainScreen(u8 taskId); +void Task_PokedexMainScreen(u8 taskId); +void sub_808C898(u8 taskId); +void Task_PokedexMainScreenMenu(u8 taskId); +void sub_808CA64(u8 taskId); +void sub_808CAE4(u8 taskId); +void sub_808CB8C(u8 taskId); +void Task_ClosePokedex(u8 taskId); +void sub_808CCC4(u8 taskId); +void Task_PokedexResultsScreen(u8 taskId); +void sub_808CEF8(u8 taskId); +void Task_PokedexResultsScreenMenu(u8 taskId); +void sub_808D118(u8 taskId); +void sub_808D198(u8 taskId); +void Task_PokedexResultsScreenReturnToMainScreen(u8 taskId); +void Task_PokedexResultsScreenExitPokedex(u8 taskId); +bool8 sub_808D344(u8 a); +void sub_808D640(void); +void SortPokedex(u8 dexMode, u8 sortMode); +void sub_808DBE8(u8 a, u16 b, u16 c); +void sub_808DEB0(u16 a, u8 b, u8 c, u16 d); +void sub_808DF88(u16 a, u8 b, u8 c, u16 d); +u8 sub_808DFE4(u16 a, u8 b, u8 c); +void sub_808E090(u8 a, u8 b, u16 c); +void sub_808E0CC(u16 a, u16 b); +bool8 sub_808E208(u8 a, u8 b, u8 c); +void sub_808E398(u8 a, u16 b); +u16 sub_808E48C(u16 a, u16 b); +void sub_808E6BC(void); +u8 sub_808E71C(void); +u8 sub_808E82C(void); +u16 sub_808E888(u16 a1); +u32 sub_808E8C8(u16 a, u16 b, u16 c); +void sub_808E978(u8 a); +void nullsub_58(struct Sprite *sprite); +void sub_808ED94(struct Sprite *sprite); +void sub_808EDB8(struct Sprite *sprite); +void sub_808EE28(struct Sprite *sprite); +void sub_808EF38(struct Sprite *sprite); +void sub_808EF8C(struct Sprite *sprite); +void sub_808F08C(struct Sprite *sprite); +void sub_808F0B4(struct Sprite *sprite); +void sub_808F168(struct Sprite *sprite); +u8 sub_808F210(struct PokedexListItem *item, u8 b); +bool8 sub_808F250(u8 taskId); +u8 sub_808F284(struct PokedexListItem *item, u8 b); +void Task_InitPageScreenMultistep(u8 taskId); +void Task_PageScreenProcessInput(u8 taskId); +void sub_808F888(u8 taskId); +void Task_ClosePageScreen(u8 taskId); +void Task_InitAreaScreenMultistep(u8 taskId); +void Task_AreaScreenProcessInput(u8 taskId); +void sub_808FA00(u8 taskId); +void Task_InitCryScreenMultistep(u8 taskId); +void Task_CryScreenProcessInput(u8 taskId); +void sub_808FFBC(u8 taskId); +void sub_8090040(u8 a); +void Task_InitSizeScreenMultistep(u8 taskId); +void Task_SizeScreenProcessInput(u8 taskId); +void sub_8090498(u8 taskId); +void sub_80904FC(u16 a); +void sub_8090540(u16 a); +void sub_8090584(u8 a, u16 b); +void sub_8090644(u8 a, u16 b); +u8 sub_809070C(u16 dexNum, u32 b, u32 c); + +// ASM +void sub_8090750(u8); +void sub_8090A3C(u8); + +void sub_8090C68(void); + +bool8 sub_8090D90(u16, u8); +u16 GetNationalPokedexCount(u8); +u16 GetHoennPokedexCount(u8); + +void sub_8091060(u16); +void sub_8091154(u16 order, int i, int i1); +void sub_80911C8(u16 num, int i, int i1); +void sub_8091260(u16 num, int i, int i1, int i2); +void sub_8091304(u8 name[12], int i, int i1); + +void sub_8091458(u16 height, int i, int i1); +void sub_8091564(u16 weight, int i, int i1); +void sub_8091738(u16, u16, u16); +void sub_80917CC(int i, int i1); +u16 sub_8091818(u8, u16, u16, u16); + +u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); //Not sure of return type +u8 sub_8091A4C(u8 gender, int i, int i1, int i2); + +#endif // GUARD_POKEDEX_H diff --git a/include/pokemon.h b/include/pokemon.h index 450a8174f..956a3984f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,8 +1,6 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H -#include "global.h" - #define MON_DATA_PERSONALITY 0 #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 @@ -362,6 +360,8 @@ u16 sub_803B7C8(struct Pokemon *mon, u8 a2); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); +u8 sub_803C348(u8 a1); +u8 sub_803C434(u8 a1); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); diff --git a/include/pokemon_size_record.h b/include/pokemon_size_record.h new file mode 100644 index 000000000..3ccc597bb --- /dev/null +++ b/include/pokemon_size_record.h @@ -0,0 +1,14 @@ +#ifndef GUARD_POKEMON_SIZE_RECORD_H +#define GUARD_POKEMON_SIZE_RECORD_H + +void InitShroomishSizeRecord(void); +void GetShroomishSizeRecordInfo(void); +void CompareShroomishSize(void); + +void InitBarboachSizeRecord(void); +void GetBarboachSizeRecordInfo(void); +void CompareBarboachSize(void); + +void GiveGiftRibbonToParty(u8 index, u8 ribbonId); + +#endif // GUARD_POKEMON_SIZE_RECORD_H diff --git a/include/record_mixing.h b/include/record_mixing.h new file mode 100644 index 000000000..39cf5bd43 --- /dev/null +++ b/include/record_mixing.h @@ -0,0 +1,34 @@ +#ifndef GUARD_RECORD_MIXING_H +#define GUARD_RECORD_MIXING_H + +#include <stddef.h> + +void sub_80B929C(void); +void sub_80B92AC(void); +void sub_80B93B0(u32 a); +void sub_80B9450(u8 taskId); +void sub_80B9484(u8 taskId); +void sub_80B95F0(u8 taskId); +void sub_80B97DC(u8 taskId); +void Task_CopyRecvBuffer(u8 taskId); +void sub_80B99B4(u8 taskId); +void sub_80B99E8(u8 taskId); +void sub_80B9A1C(u8 taskId); +void *LoadPtrFromTaskData(u16 *ptr); +void StorePtrInTaskData(void *ptr, u16 *data); +u8 GetMultiplayerId_(void); +u16 *GetPlayerRecvBuffer(u8 player); +void sub_80B9A78(void); +void sub_80B9A88(u8 *a); +void sub_80B9B1C(u8 *a, size_t size, u8 index); +void sub_80B9B70(u8 *a, size_t size, u8 index); +u8 sub_80B9BBC(u16 *a); +void sub_80B9BC4(u32 a, u32 b, u32 c, u32 d); +u8 sub_80B9C4C(u8 *a); + +// ASM +void sub_80B9C6C(void *, u32, u8, void *); +void sub_80B9F3C(void *, u8); +void sub_80BA00C(u8); + +#endif // GUARD_RECORD_MIXING_H diff --git a/include/rom4.h b/include/rom4.h new file mode 100644 index 000000000..21a866d02 --- /dev/null +++ b/include/rom4.h @@ -0,0 +1,13 @@ +#ifndef GUARD_ROM4_H +#define GUARD_ROM4_H + +void sav12_xor_increment(u8 index); +void warp_in(void); +void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void sav1_reset_battle_music_maybe(void); +u8 sav1_map_get_light_level(void); +bool8 is_light_level_1_2_3_5_or_6(u8 a1); +void CB2_LoadMap(void); + +#endif // GUARD_ROM4_H diff --git a/include/rtc.h b/include/rtc.h index 4c9d06d31..fdc5ad709 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -1,7 +1,7 @@ #ifndef GUARD_RTC_UTIL_H #define GUARD_RTC_UTIL_H -#include "global.h" +#include "siirtc.h" #define RTC_INIT_ERROR 0x0001 #define RTC_INIT_WARNING 0x0002 @@ -19,18 +19,30 @@ extern struct Time gLocalTime; -void RtcInit(); -u16 RtcGetErrorStatus(); -void RtcReset(); +void RtcDisableInterrupts(void); +void RtcRestoreInterrupts(void); +u32 ConvertBcdToBinary(u8 bcd); +bool8 IsLeapYear(u8 year); +u16 ConvertDateToDayCount(u8 year, u8 month, u8 day); +u16 RtcGetDayCount(struct SiiRtcInfo *rtc); +void RtcInit(void); +u16 RtcGetErrorStatus(void); +void RtcGetInfo(struct SiiRtcInfo *rtc); +void RtcGetDateTime(struct SiiRtcInfo *rtc); +void RtcGetStatus(struct SiiRtcInfo *rtc); +void RtcGetRawInfo(struct SiiRtcInfo *rtc); +u16 RtcCheckInfo(struct SiiRtcInfo *rtc); +void RtcReset(void); void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second); void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second); void FormatHexRtcTime(u8 *dest); void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day); void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day); -void RtcCalcLocalTime(); +void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t); +void RtcCalcLocalTime(void); void RtcInitLocalTimeOffset(s32 hour, s32 minute); void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); -u32 RtcGetMinuteCount(); +u32 RtcGetMinuteCount(void); #endif // GUARD_RTC_UTIL_H diff --git a/include/safari_zone.h b/include/safari_zone.h new file mode 100644 index 000000000..f491be2f1 --- /dev/null +++ b/include/safari_zone.h @@ -0,0 +1,21 @@ +#ifndef GUARD_SAFARI_ZONE_H +#define GUARD_SAFARI_ZONE_H + +bool32 GetSafariZoneFlag(void); +void SetSafariZoneFlag(void); +void ResetSafariZoneFlag(void); + +void EnterSafariMode(void); +void ExitSafariMode(void); + +bool8 SafariZoneTakeStep(void); +void SafariZoneRetirePrompt(void); +void sub_80C824C(void); + +void SafariZoneGetPokeblockNameInFeeder(void); +struct Pokeblock *unref_sub_80C8418(void); +struct Pokeblock *SafariZoneGetActivePokeblock(void); +void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); +bool8 unref_sub_80C853C(void); + +#endif // GUARD_SAFARI_ZONE_H diff --git a/include/save.h b/include/save.h new file mode 100644 index 000000000..976af77c6 --- /dev/null +++ b/include/save.h @@ -0,0 +1,60 @@ +#ifndef GUARD_SAVE_H +#define GUARD_SAVE_H + +struct SaveSectionLocation +{ + void *data; + u16 size; +}; + +struct SaveSection +{ + u8 data[0xFF4]; + u16 id; + u16 checksum; + u32 unknown; + u32 counter; +}; + +struct UnkSaveSection +{ + u8 data[0xFF4]; + u32 unknown; +}; + +void ClearSaveData(void); +void sub_81251B8(void); +bool32 sub_81251D4(u8 op, u8 bit); +u8 save_write_to_flash(u16 a1, struct SaveSectionLocation *a2); +u8 sub_81252D8(u16, struct SaveSectionLocation *); +u8 sub_81253C8(u8 sector, u8 *data, u16 size); +u8 sub_8125440(u8, u8 *); +u32 sub_812546C(struct SaveSectionLocation *a1); +u32 sub_81254C8(struct SaveSectionLocation *a1); +u8 sub_812550C(u16 a1, struct SaveSectionLocation *a2); +u8 sub_812556C(u16 a1, struct SaveSectionLocation *a2); +u8 sub_81255B8(u16, struct SaveSectionLocation *); +u8 sub_8125758(u16 a1, struct SaveSectionLocation *a2); +u8 sub_81257F0(u16 a1, struct SaveSectionLocation *a2); +u8 sub_812587C(u16 a1, struct SaveSectionLocation *a2); +u8 sub_81258BC(u16, struct SaveSectionLocation *); +u8 sub_8125974(struct SaveSectionLocation *); +u8 sub_8125B88(u8 a1, u8 *data, u16 size); +u8 sub_8125BF8(u8, struct SaveSection *); +u16 sub_8125C10(void *, u16); +u8 sub_8125C3C(u8 a1); +u8 sub_8125D44(u8 a1); +u8 sub_8125D80(void); +bool8 sub_8125DA8(void); +u8 sub_8125DDC(void); +u8 sub_8125E04(void); +u8 sub_8125E2C(void); +u8 sub_8125E6C(void); +u8 sub_8125EC8(u8 a1); +bool8 unref_sub_8125F4C(struct UnkSaveSection *a1); +u8 unref_sub_8125FA0(void); +u8 unref_sub_8125FF0(u8 *data, u16 size); +u8 unref_sub_8126068(u8 sector, u8 *data, u32 size); +u8 unref_sub_8126080(u8 sector, u8 *data); + +#endif // GUARD_SAVE_H diff --git a/include/save_menu_util.h b/include/save_menu_util.h new file mode 100644 index 000000000..560a39d89 --- /dev/null +++ b/include/save_menu_util.h @@ -0,0 +1,16 @@ +#ifndef GUARD_SAVE_MENU_UTIL_H +#define GUARD_SAVE_MENU_UTIL_H + +void HandleDrawSaveWindowInfo(s16 left, s16 top); +void sub_80946C8(u16 left, u16 top); +u8 sub_809473C(void); +void PrintSavePlayerName(s16 x, s16 y); +void PrintSaveMapName(s16 x, s16 y); +void PrintSaveBadges(s16 x, s16 y); +void PrintSavePokedexCount(s16 x, s16 y); +void PrintSavePlayTime(s16 x, s16 y); +u8 GetBadgeCount(void); +u16 GetPokedexSeenCount(void); +void FormatPlayTime(char *playtime, u16 hours, u16 minutes, bool16 colon); + +#endif // GUARD_SAVE_MENU_UTIL_H diff --git a/include/script.h b/include/script.h index 9b165bed2..a4c7dd575 100644 --- a/include/script.h +++ b/include/script.h @@ -39,7 +39,7 @@ void ScriptContext1_Init(void); bool8 ScriptContext2_RunScript(void); void ScriptContext1_SetupScript(u8 *ptr); void ScriptContext1_Stop(void); -void EnableBothScriptContexts(); +void EnableBothScriptContexts(void); void ScriptContext2_RunNewScript(u8 *ptr); u8 *mapheader_get_tagged_pointer(u8 tag); void mapheader_run_script_by_tag(u8 tag); diff --git a/include/siirtc.h b/include/siirtc.h index 5864f95b8..de4fd634d 100644 --- a/include/siirtc.h +++ b/include/siirtc.h @@ -39,10 +39,10 @@ struct SiiRtcInfo u8 alarmMinute; }; -void SiiRtcUnprotect(); -void SiiRtcProtect(); -u8 SiiRtcProbe(); -bool8 SiiRtcReset(); +void SiiRtcUnprotect(void); +void SiiRtcProtect(void); +u8 SiiRtcProbe(void); +bool8 SiiRtcReset(void); bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc); bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc); bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc); diff --git a/include/start_menu.h b/include/start_menu.h new file mode 100644 index 000000000..77bfe5d0e --- /dev/null +++ b/include/start_menu.h @@ -0,0 +1,23 @@ +#ifndef GUARD_STARTER_CHOOSE_H +#define GUARD_STARTER_CHOOSE_H + +//Public functions +void CreateStartMenuTask(void (*func)(u8)); +void sub_80712B4(u8 taskId); +void sub_8071310(void); +u8 StartMenu_PokedexCallback(void); +u8 StartMenu_PokemonCallback(void); +u8 StartMenu_BagCallback(void); +u8 StartMenu_PokenavCallback(void); +u8 StartMenu_PlayerCallback(void); +u8 StartMenu_SaveCallback(void); +u8 StartMenu_OptionCallback(void); +u8 StartMenu_ExitCallback(void); +u8 StartMenu_RetireCallback(void); +u8 StartMenu_PlayerLinkCallback(void); +void InitSaveDialog(void); +void sub_8071B28(void); +void sub_8071C20(void); +void AppendToList(u8 *list, u8 *pindex, u32 value); + +#endif // GUARD_STARTER_CHOOSE_H diff --git a/include/starter_choose.h b/include/starter_choose.h new file mode 100644 index 000000000..4a7e0514c --- /dev/null +++ b/include/starter_choose.h @@ -0,0 +1,13 @@ +#ifndef GUARD_STARTER_CHOOSE_H +#define GUARD_STARTER_CHOOSE_H + +#include "sprite.h" + +u16 GetStarterPokemon(u16); +void CB2_ChooseStarter(void); +void nullsub_72(struct Sprite *sprite); +void sub_810A62C(struct Sprite *sprite); +void sub_810A68C(struct Sprite *sprite); +void StarterPokemonSpriteAnimCallback(struct Sprite *sprite); + +#endif // GUARD_STARTER_CHOOSE_H diff --git a/include/string_util.h b/include/string_util.h index fd7d39045..c20965380 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -1,8 +1,6 @@ #ifndef GUARD_STRING_UTIL_H #define GUARD_STRING_UTIL_H -#include "global.h" - enum StringConvertMode { STR_CONV_MODE_LEFT_ALIGN, diff --git a/include/task.h b/include/task.h index a536bcab5..d2b2302cf 100644 --- a/include/task.h +++ b/include/task.h @@ -15,15 +15,15 @@ struct Task extern struct Task gTasks[]; -void ResetTasks(); +void ResetTasks(void); u8 CreateTask(TaskFunc func, u8 priority); void DestroyTask(u8 taskId); -void RunTasks(); +void RunTasks(void); void TaskDummy(u8 taskId); void SetTaskFuncWithFollowupFunc(u8 taskId, TaskFunc func, TaskFunc followupFunc); void SwitchTaskToFollowupFunc(u8 taskId); bool8 FuncIsActiveTask(TaskFunc func); u8 FindTaskIdByFunc(TaskFunc func); -u8 GetTaskCount(); +u8 GetTaskCount(void); #endif // GUARD_TASK_H diff --git a/include/text.h b/include/text.h index d79611f85..fb6dfe915 100644 --- a/include/text.h +++ b/include/text.h @@ -1,8 +1,6 @@ #ifndef GUARD_TEXT_H #define GUARD_TEXT_H -#include "global.h" - #define CHAR_SPACE 0x00 #define CHAR_QUESTION_MARK 0xAC #define CHAR_HYPHEN 0xAE diff --git a/include/text_window.h b/include/text_window.h index f68db005a..6df3f7d33 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -1,15 +1,21 @@ #ifndef GUARD_TEXT_WINDOW_H #define GUARD_TEXT_WINDOW_H -#include "global.h" +#include "text.h" -u16 SetTextWindowBaseTileNum(u16); -void LoadTextWindowGraphics(struct Window *); -void LoadTextWindowGraphics_OverridePalSlot(struct Window *, u8); -void LoadTextWindowGraphics_OverrideFrameType(struct Window *, u8); +struct FrameGraphics +{ + u8 *tiles; + u16 *palette; +}; + +u16 SetTextWindowBaseTileNum(u16 baseTileNum); +void LoadTextWindowGraphics(struct Window *win); +void LoadTextWindowGraphics_OverridePalSlot(struct Window *win, u8 palSlot); +void LoadTextWindowGraphics_OverrideFrameType(struct Window *win, u8 frameType); void DrawTextWindow(struct Window *win, u8 left, u8 top, u8 right, u8 bottom); const struct FrameGraphics *GetTextWindowFrameGraphics(u8 frameType); -u16 SetMessageBoxBaseTileNum(u16); +u16 SetMessageBoxBaseTileNum(u16 baseTileNum); void unref_sub_80651DC(struct Window *, u8 *); void DisplayMessageBox(struct Window *); void DrawStandardMessageBox(struct Window *win); diff --git a/include/tileset_anim.h b/include/tileset_anim.h new file mode 100644 index 000000000..7556721d8 --- /dev/null +++ b/include/tileset_anim.h @@ -0,0 +1,30 @@ +#ifndef GUARD_TITLE_SCREEN_H +#define GUARD_TITLE_SCREEN_H + +void sub_8072E74(void); +void cur_mapheader_run_tileset_funcs_after_some_cpuset(void); +void sub_8072ED0(void); +void sub_8072EDC(void); +void TilesetCB_General(void); +void TilesetCB_Building(void); +void TilesetCB_Petalburg(void); +void TilesetCB_Rustboro(void); +void TilesetCB_Dewford(void); +void TilesetCB_Slateport(void); +void TilesetCB_Mauville(void); +void TilesetCB_Lavaridge(void); +void TilesetCB_Fallarbor(void); +void TilesetCB_Fortree(void); +void TilesetCB_Lilycove(void); +void TilesetCB_Mossdeep(void); +void TilesetCB_EverGrande(void); +void TilesetCB_Pacifidlog(void); +void TilesetCB_Sootopolis(void); +void TilesetCB_Underwater(void); +void TilesetCB_SootopolisGym(void); +void TilesetCB_Cave(void); +void TilesetCB_EliteFour(void); +void TilesetCB_MauvilleGym(void); +void TilesetCB_BikeShop(void); + +#endif // GUARD_TITLE_SCREEN_H diff --git a/include/title_screen.h b/include/title_screen.h new file mode 100644 index 000000000..304ec0540 --- /dev/null +++ b/include/title_screen.h @@ -0,0 +1,13 @@ +#ifndef GUARD_TITLE_SCREEN_H +#define GUARD_TITLE_SCREEN_H + +#include "sprite.h" + +void SpriteCallback_VersionBannerLeft(struct Sprite *sprite); +void SpriteCallback_VersionBannerRight(struct Sprite *sprite); +void SpriteCallback_PressStartCopyrightBanner(struct Sprite *sprite); +void SpriteCallback_PokemonLogoShine(struct Sprite *sprite); + +void CB2_InitTitleScreen(void); + +#endif // GUARD_TITLE_SCREEN_H diff --git a/include/trainer_see.h b/include/trainer_see.h new file mode 100644 index 000000000..281c7b158 --- /dev/null +++ b/include/trainer_see.h @@ -0,0 +1,35 @@ +#ifndef GUARD_TRAINER_SEE_H +#define GUARD_TRAINER_SEE_H + +#include "task.h" + +bool8 CheckTrainers(void); +bool8 CheckTrainer(u8); +u8 TrainerCanApproachPlayer(struct MapObject *); +bool8 IsTrainerInRangeSouth(struct MapObject *trainerObj, s16 vision, s16 x, s16 y); +bool8 IsTrainerInRangeNorth(struct MapObject *trainerObj, s16 vision, s16 x, s16 y); +bool8 IsTrainerInRangeWest(struct MapObject *trainerObj, s16 vision, s16 x, s16 y); +bool8 IsTrainerInRangeEast(struct MapObject *trainerObj, s16 vision, s16 x, s16 y); +bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *, u8, u8); +void sub_80842C8(struct MapObject *, u8); +void sub_80842FC(void (*func)(u8)); +void RunTrainerSeeFuncList(u8); +u8 sub_8084394(void); +s8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainerObj); +s8 sub_80846C8(u8 taskId, struct Task *task, struct MapObject *trainerObj); +void sub_80846E4(u8 taskId); +void sub_8084794(u32 var); +void sub_80847C8(void); +void sub_80847D8(u8); +void sub_80847D8(u8); + +#endif // GUARD_TRAINER_SEE_H diff --git a/include/truck_scene.h b/include/truck_scene.h new file mode 100644 index 000000000..f55a4ced7 --- /dev/null +++ b/include/truck_scene.h @@ -0,0 +1,13 @@ +#ifndef GUARD_TRUCK_SCENE_H +#define GUARD_TRUCK_SCENE_H + +s32 GetTruckCameraBobbingY(int a1); +s32 GetTruckBoxMovement(int a1); +void Task_Truck1(u8 taskId); +void Task_Truck2(u8 taskId); +void Task_Truck3(u8 taskId); +void Task_HandleTruckSequence(u8 taskId); +void ExecuteTruckSequence(void); +void EndTruckSequence(void); + +#endif // GUARD_TRUCK_SCENE_H diff --git a/include/var.h b/include/var.h index c76b8c411..ada8caf24 100644 --- a/include/var.h +++ b/include/var.h @@ -1,8 +1,6 @@ #ifndef GUARD_VAR_H #define GUARD_VAR_H -#include "vars.h" - u16 *GetVarPointer(u16 id); u16 VarGet(u16 id); bool8 VarSet(u16 id, u16 value); diff --git a/include/wallclock.h b/include/wallclock.h new file mode 100644 index 000000000..be3111ab1 --- /dev/null +++ b/include/wallclock.h @@ -0,0 +1,14 @@ +#ifndef GUARD_WALLCLOCK_H +#define GUARD_WALLCLOCK_H + +#include "sprite.h" + +void Cb2_StartWallClock(void); +void Cb2_ViewWallClock(void); + +void sub_810B05C(struct Sprite *sprite); +void sub_810B0F4(struct Sprite *sprite); +void sub_810B18C(struct Sprite *sprite); +void sub_810B230(struct Sprite *sprite); + +#endif // GUARD_WALLCLOCK_H diff --git a/include/weather.h b/include/weather.h new file mode 100644 index 000000000..a6ca2262c --- /dev/null +++ b/include/weather.h @@ -0,0 +1,40 @@ +#ifndef GUARD_WEATHER_H +#define GUARD_WEATHER_H + +void sub_807C828(void); +void DoWeatherEffect(u8 effect); +void sub_807C988(u8 effect); +void sub_807C9B4(u8 effect); +void sub_807C9E4(u8); +void sub_807CA34(u8); +void sub_807CAE8(void); +void nullsub_38(void); +u32 sub_807CB0C(void); +void sub_807CB10(void); +void sub_807CC24(void); +void sub_807CCAC(void); +u8 sub_807CDC4(void); +u8 sub_807CE24(void); +u8 sub_807CE7C(void); +void nullsub_39(void); + +// ASM +void sub_807CEBC(u8, u8, s8); +void sub_807D1BC(u8, u8, u8, u8, u16); +void sub_807D304(int, u8, u16); +void sub_807D424(u8, u16); +// ... +void fade_screen(u8, u8); +// ... +void sub_807D78C(u8 tag); +void sub_807D874(u8); +// ... +void sub_807DB64(u8, u8); +// ... +void SetSav1Weather(u32); +u8 GetSav1Weather(void); +void sub_80806E4(void); +// ... +void sub_808073C(void); + +#endif // GUARD_WEATHER_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h new file mode 100644 index 000000000..33b7df7b9 --- /dev/null +++ b/include/wild_encounter.h @@ -0,0 +1,14 @@ +#ifndef GUARD_WILD_ENCOUNTER_H +#define GUARD_WILD_ENCOUNTER_H + +void DisableWildEncounters(bool8 disabled); +bool8 StandardWildEncounter(u16 a, u16 b); +void RockSmashWildEncounter(void); +bool8 SweetScentWildEncounter(void); +bool8 GetFishingWildMonListHeader(void); +void FishingWildEncounter(u8 rod); +u16 GetLocalWildMon(bool8 *isWaterMon); +u16 GetMirageIslandMon(void); +bool8 UpdateRepelCounter(void); + +#endif // GUARD_WILD_ENCOUNTER_H |