Merge pull request #469 from Kermalis/externs
Some checks failed
GithubCI / build (push) Has been cancelled

Clean some externs
This commit is contained in:
AnonymousRandomPerson 2025-12-14 11:39:44 -05:00 committed by GitHub
commit 5efcc1a036
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 147 additions and 140 deletions

11
include/code_8015080.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef GUARD_CODE_8015080_H
#define GUARD_CODE_8015080_H
#include "structs/menu.h"
bool8 sub_8015080(u8 *buffer, const MenuItem *menuItems);
u32 sub_801516C(void);
u32 sub_8015198(void);
void sub_80151A4(void);
#endif // GUARD_CODE_8015080_H

View File

@ -50,5 +50,8 @@ void sub_8095824(DataSerializer *a, unkStruct_203B480 *b);
void sub_8095774(DataSerializer *a, unkStruct_203B480 *b);
void sub_809542C(DungeonMailSeed *param_1);
void sub_8095494(DungeonMailSeed *param_1, u8 index);
void sub_80958E4(u32 *a, u32 b);
u32 sub_8095624(u8 *buffer, u32 b);
u32 sub_80954CC(u8 *buffer, u32 size);
#endif // GUARD_CODE_8094F88_H

View File

@ -2,6 +2,7 @@
#define GUARD_CODE_80958E8_H
#include "constants/mailbox.h"
#include "structs/str_pokemon.h"
#include "structs/str_wonder_mail.h"
#include "data_serializer.h"
@ -59,6 +60,8 @@ void ResetJobSlot(u8 index);
void ResetMailbox(void);
void ResetMailboxSlot(u8 index);
void ResetPelipperBoardSlot(u8);
u32 RestoreMailInfo(u8 *r0, u32 size);
u32 SaveMailInfo(u8 *r0, u32 size);
void ShiftJobSlotsDown(void);
void ShiftMailboxSlotsDown(void);
void ShiftPelipperJobsDown(void);
@ -70,7 +73,9 @@ void sub_8096488(void);
bool8 sub_80964B4(void);
bool8 sub_80964E4(void);
bool8 sub_809693C(WonderMail *mail);
bool8 sub_8096A08(u8 dungeon, Pokemon *pokemon);
void sub_8096AF8(struct unkStruct_8096AF8 *, u8 slotIndex, u8 dungeon);
void sub_8096BD0(void);
bool8 sub_8096C08(u8 *jobIndex);
u8 *sub_8096DD8(void);
u8 *sub_8096DE8(void);

View File

@ -1,17 +1,6 @@
#ifndef GUARD_CREDITS1_H
#define GUARD_CREDITS1_H
#include "structs/str_text.h"
// size: 0x6C
typedef struct Credits1Work
{
WindowTemplates unk0;
s32 unk60;
s32 unk64;
/* 0x68 */ s32 creditsCategoryIndex;
} Credits1Work;
// size: 0xC
typedef struct CreditsData
{
@ -23,7 +12,7 @@ typedef struct CreditsData
bool8 DrawCredits(s32 creditsCategoryIndex, s32);
s32 sub_8035574(void);
u32 sub_8035574(void);
void sub_803565C(void);
#endif // GUARD_CREDITS1_H

View File

@ -22,9 +22,6 @@ struct unkStruct_203B304
WindowTemplates unk10C;
};
u8 sub_802DFB0(void);
void SetMailboxState(u32);
enum MailBoxStates
{
INITIALIZE_MAILBOX,
@ -41,4 +38,9 @@ enum MailBoxStates
DISPLAY_SEL_PKMN_NEWS,
};
void SetMailboxState(u32);
u8 sub_802DFB0(void);
u32 sub_802DFD8(void);
void sub_802E06C(void);
#endif // GUARD_MAILBOX_H

View File

@ -43,5 +43,8 @@ enum PelipperBoardActions
};
bool8 sub_802E864(void);
u32 sub_802E890(void);
u32 sub_802E90C(void);
void sub_802E918(void);
#endif // GUARD_PELIPPER_BOARD_H

View File

@ -33,6 +33,8 @@ typedef struct WonderMailStruct_203B2C4
unkStruct_802F204 unk53C;
} WonderMailStruct_203B2C4;
void CleanThankYouMailPelipper(void);
bool8 CreateThankYouMailPelipper(void);
u32 ThankYouMailPelipperCallback(void);
#endif // GUARD_THANK_YOU_WONDER_MAIL_H

View File

@ -36,5 +36,7 @@ typedef struct WonderMailStruct_203B2C0
u8 sub_8027F88(void);
u32 sub_8028078(void);
s32 sub_80282DC(u8 *r0);
void sub_80282FC(void);
#endif // GUARD_WONDER_MAIL_H

8
include/wonder_mail_2.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef GUARD_WONDER_MAIL_2_H
#define GUARD_WONDER_MAIL_2_H
u8 sub_802B2D4(void);
u32 sub_802B358(void);
void sub_802B3B8(void);
#endif // GUARD_WONDER_MAIL_2_H

View File

@ -1,18 +1,19 @@
#include "global.h"
#include "globaldata.h"
#include "constants/input.h"
#include "code_800D090.h"
#include "music_util.h"
#include "code_8015080.h"
#include "code_803D0D8.h"
#include "input.h"
#include "memory.h"
#include "menu_input.h"
#include "music_util.h"
#include "sprite.h"
#include "string_format.h"
#include "text_1.h"
#include "text_2.h"
#include "text_3.h"
#include "text_util.h"
#include "constants/input.h"
struct unkStruct_203B1F8
{

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "globaldata.h"
#include "structs/str_text.h"
#include "code_8099360.h"
#include "credits1.h"
#include "event_flag.h"
@ -9,6 +10,15 @@
#include "text_1.h"
#include "text_3.h"
// Size: 0x6C
typedef struct Credits1Work
{
WindowTemplates unk0;
s32 unk60;
s32 unk64;
/* 0x68 */ s32 creditsCategoryIndex;
} Credits1Work;
EWRAM_INIT static Credits1Work *sCredits1Work = { NULL };
static const WindowTemplate sDummyWinTemplate = WIN_TEMPLATE_DUMMY;
@ -161,7 +171,7 @@ bool8 DrawCredits(s32 creditsCategoryIndex, s32 param_2)
return TRUE;
}
s32 sub_8035574(void)
u32 sub_8035574(void)
{
switch (sCredits1Work->unk60) {
case 0:

View File

@ -1,36 +1,39 @@
#include "global.h"
#include "globaldata.h"
#include "constants/bg_music.h"
#include "constants/friend_area.h"
#include "constants/ground_map.h"
#include "constants/main_menu.h"
#include "structs/str_dungeon_setup.h"
#include "adventure_info.h"
#include "bg_control.h"
#include "bg_palette_buffer.h"
#include "code_800558C.h"
#include "graphics_memory.h"
#include "code_800C9CC.h"
#include "code_800D090_1.h"
#include "music_util.h"
#include "run_dungeon.h"
#include "code_8094F88.h"
#include "code_80958E8.h"
#include "adventure_info.h"
#include "code_8099360.h"
#include "code_80A26CC.h"
#include "cpu.h"
#include "debug.h"
#include "decompress_at.h"
#include "def_filearchives.h"
#include "dungeon_info.h"
#include "event_flag.h"
#include "exclusive_pokemon.h"
#include "friend_area.h"
#include "friend_areas_map.h"
#include "game_options.h"
#include "graphics_memory.h"
#include "ground_main.h"
#include "main_loops.h"
#include "main_menu1.h"
#include "main_menu2.h"
#include "dungeon_info.h"
#include "memory.h"
#include "moves.h"
#include "music.h"
#include "music_util.h"
#include "palette_util.h"
#include "play_time.h"
#include "pokemon.h"
@ -39,6 +42,7 @@
#include "quick_save_write.h"
#include "random.h"
#include "rescue_team_info.h"
#include "run_dungeon.h"
#include "save.h"
#include "save_read.h"
#include "sprite.h"
@ -47,12 +51,7 @@
#include "text_2.h"
#include "text_3.h"
#include "text_util.h"
#include "decompress_at.h"
#include "world_map.h"
#include "friend_areas_map.h"
#include "structs/str_dungeon_setup.h"
#include "constants/friend_area.h"
#include "constants/ground_map.h"
typedef struct unkTalkTable
{
@ -73,40 +72,24 @@ static EWRAM_INIT TeamBasicInfo sTeamBasicInfo_203B040 = {
.PartnerNick = {""},
};
static void LoadTitleScreen(void);
static void NDS_LoadOverlay_GroundMain();
static u32 RunGameMode_Async(u32 param_1);
static void sub_80011CC(DungeonSetupSubstruct *info, u8 dungId);
static void sub_80011E8(DungeonSetupSubstruct *info);
static void LoadAndRunQuickSaveDungeon_Async(DungeonSetupStruct *param_1);
static u8 sub_8001170(void);
static void RemoveMoneyAndRandomItems(void);
static void RemoveAllMoneyAndItems(void);
static void LoadAndRunDungeon_Async(DungeonSetupStruct *r0);
static u32 xxx_script_related_8001334(u32 startMode);
static void MainLoops_RunFrameActions(u32 unused);
extern bool8 sub_8096A08(u8 dungeon, Pokemon *pokemon);
extern void sub_8096BD0(void);
static const unkTalkTable sBaseKindTable[17] = {
[0] = { .unk0 = 0, .species = MONSTER_PIKACHU },
[1] = { .unk0 = 1, .species = MONSTER_MEOWTH },
[2] = { .unk0 = 2, .species = MONSTER_EEVEE },
[3] = { .unk0 = 3, .species = MONSTER_SKITTY },
[4] = { .unk0 = 4, .species = MONSTER_SQUIRTLE },
[5] = { .unk0 = 5, .species = MONSTER_TOTODILE },
[6] = { .unk0 = 6, .species = MONSTER_MUDKIP },
[7] = { .unk0 = 7, .species = MONSTER_PSYDUCK },
[8] = { .unk0 = 8, .species = MONSTER_CHARMANDER },
[9] = { .unk0 = 9, .species = MONSTER_TORCHIC },
[ 0] = { .unk0 = 0, .species = MONSTER_PIKACHU },
[ 1] = { .unk0 = 1, .species = MONSTER_MEOWTH },
[ 2] = { .unk0 = 2, .species = MONSTER_EEVEE },
[ 3] = { .unk0 = 3, .species = MONSTER_SKITTY },
[ 4] = { .unk0 = 4, .species = MONSTER_SQUIRTLE },
[ 5] = { .unk0 = 5, .species = MONSTER_TOTODILE },
[ 6] = { .unk0 = 6, .species = MONSTER_MUDKIP },
[ 7] = { .unk0 = 7, .species = MONSTER_PSYDUCK },
[ 8] = { .unk0 = 8, .species = MONSTER_CHARMANDER },
[ 9] = { .unk0 = 9, .species = MONSTER_TORCHIC },
[10] = { .unk0 = 10, .species = MONSTER_CYNDAQUIL },
[11] = { .unk0 = 11, .species = MONSTER_CUBONE },
[12] = { .unk0 = 12, .species = MONSTER_MACHOP },
[13] = { .unk0 = 13, .species = MONSTER_BULBASAUR },
[14] = { .unk0 = 14, .species = MONSTER_CHIKORITA },
[15] = { .unk0 = 15, .species = MONSTER_TREECKO },
[16] = { .unk0 = 0, .species = MONSTER_NONE },
[16] = { .unk0 = 0, .species = MONSTER_NONE },
};
static const unkTalkTable sTalkKindTable[5] = {
@ -117,6 +100,19 @@ static const unkTalkTable sTalkKindTable[5] = {
[4] = { .unk0 = 2, .species = MONSTER_NONE },
};
static void LoadAndRunDungeon_Async(DungeonSetupStruct *r0);
static void LoadAndRunQuickSaveDungeon_Async(DungeonSetupStruct *param_1);
static void LoadTitleScreen(void);
static void MainLoops_RunFrameActions(u32 unused);
static void NDS_LoadOverlay_GroundMain();
static void RemoveAllMoneyAndItems(void);
static void RemoveMoneyAndRandomItems(void);
static u32 RunGameMode_Async(u32 param_1);
static u32 xxx_script_related_8001334(u32 startMode);
static u8 sub_8001170(void);
static void sub_80011CC(DungeonSetupSubstruct *info, u8 dungId);
static void sub_80011E8(DungeonSetupSubstruct *info);
// arm9.bin::0200E0A8
void GameLoop_Async(void)
{

View File

@ -1,21 +1,23 @@
#include "global.h"
#include "globaldata.h"
#include "save.h"
#include "music_util.h"
#include "string_format.h"
#include "adventure_info.h"
#include "adventure_save.h"
#include "code_800D090_1.h"
#include "code_8094F88.h"
#include "code_80958E8.h"
#include "event_flag.h"
#include "exclusive_pokemon.h"
#include "flash.h"
#include "friend_area.h"
#include "game_options.h"
#include "memory.h"
#include "music_util.h"
#include "pokemon_3.h"
#include "random.h"
#include "adventure_save.h"
#include "training_maze.h"
#include "rescue_scenario.h"
#include "code_800D090_1.h"
#include "save.h"
#include "string_format.h"
#include "training_maze.h"
// size: 0x800
struct unk_struct
@ -39,12 +41,6 @@ ALIGNED(4) static const char fill_save0[] = _("pksdir0");
ALIGNED(4) static const char fill_save1[] = _("pksdir0");
ALIGNED(4) static const char fill_save2[] = _("pksdir0");
extern u32 sub_80954CC(void* a, s32 b);
extern u32 sub_8095624(u8 *, u32);
extern u32 RestoreMailInfo(void* a, s32 b);
extern u32 SaveMailInfo(u8 *, u32);
extern void sub_80958E4(u32 *a, u32 b);
u32 sub_8011C1C(void)
{
return gUnknown_203B17C;

View File

@ -1,30 +1,32 @@
#include "global.h"
#include "globaldata.h"
#include "textbox.h"
#include "constants/dungeon.h"
#include "constants/monster.h"
#include "structs/menu.h"
#include "structs/str_file_system.h"
#include "structs/str_mon_portrait.h"
#include "code_800558C.h"
#include "code_800D090.h"
#include "confirm_name_menu.h"
#include "code_8015080.h"
#include "code_801B60C.h"
#include "code_802DB28.h"
#include "code_80958E8.h"
#include "code_80A26CC.h"
#include "luminous_cave.h"
#include "makuhita_dojo1.h"
#include "makuhita_dojo2.h"
#include "music_util.h"
#include "code_801D014.h"
#include "code_802DB28.h"
#include "code_803B050.h"
#include "code_80958E8.h"
#include "code_8099360.h"
#include "code_80A26CC.h"
#include "confirm_name_menu.h"
#include "credits1.h"
#include "credits2.h"
#include "dungeon_list_menu.h"
#include "event_flag.h"
#include "felicity_bank.h"
#include "flash.h"
#include "friend_list_menu.h"
#include "game_options.h"
#include "ground_lives.h"
#include "ground_map.h"
#include "ground_main.h"
#include "ground_map.h"
#include "ground_script.h"
#include "gulpin_shop_801FB50.h"
#include "input.h"
@ -32,30 +34,49 @@
#include "kangaskhan_storage2.h"
#include "kecleon_bros1.h"
#include "kecleon_bros4.h"
#include "luminous_cave.h"
#include "mailbox.h"
#include "main_loops.h"
#include "makuhita_dojo1.h"
#include "makuhita_dojo2.h"
#include "memory.h"
#include "music_util.h"
#include "naming_screen.h"
#include "palette_util.h"
#include "pelipper_board.h"
#include "personality_test1.h"
#include "portrait_placement.h"
#include "pokemon.h"
#include "portrait_placement.h"
#include "post_office_guide1.h"
#include "save.h"
#include "save_write.h"
#include "script_item.h"
#include "string_format.h"
#include "text_1.h"
#include "text_2.h"
#include "text_3.h"
#include "textbox.h"
#include "thank_you_wonder_mail.h"
#include "wigglytuff_shop1.h"
#include "wigglytuff_shop3.h"
#include "wonder_mail.h"
#include "naming_screen.h"
#include "dungeon_list_menu.h"
#include "thank_you_wonder_mail.h"
#include "game_options.h"
#include "pelipper_board.h"
#include "script_item.h"
#include "mailbox.h"
#include "structs/menu.h"
#include "structs/str_file_system.h"
#include "structs/str_mon_portrait.h"
#include "wonder_mail_2.h"
#define TEXTBOX_FLAG_NONE 0x0
#define TEXTBOX_FLAG_x1 (1 << 0)
// Unused, but set for almost all flag sets
#define TEXTBOX_FLAG_UNUSED_x2 (1 << 1)
#define TEXTBOX_FLAG_x4 (1 << 2)
#define TEXTBOX_FLAG_x8 (1 << 3)
#define TEXTBOX_FLAG_UNUSED_x10 (1 << 4)
#define TEXTBOX_FLAG_INSTANT_TEXT (1 << 5)
// Both need to be set to wait for the player's button press. One flag would be sufficient in my opinion, but what can you do?
#define TEXTBOX_FLAG_WAIT_FOR_BUTTON_PRESS_2 (1 << 6)
#define TEXTBOX_FLAG_WAIT_FOR_BUTTON_PRESS (1 << 7)
// Speaker's name + dialogue sound
#define TEXTBOX_FLAG_SPEAKER (1 << 8)
// Only dialogue sound
#define TEXTBOX_FLAG_DIALOGUE_SOUND (1 << 9)
// Size: 0x24
typedef struct TextboxPortrait
@ -122,48 +143,8 @@ typedef struct Textbox
static IWRAM_INIT Textbox *sTextbox = { NULL };
void sub_809B028(const MenuItem *, s32 a1_, s32 a2, s32 a3, s32 a4_, const u8 *text);
bool8 sub_809B18C(s32 *sp);
extern u8 sub_802B2D4(void);
extern void sub_802B3B8(void);
extern u32 sub_802B358(void);
void sub_8096BD0(void);
bool8 DrawCredits(s32 creditsCategoryIndex, s32);
u32 sub_8035574();
void sub_803565C(void);
bool8 sub_8015080(u8 *buffer, const MenuItem *menuItems);
s32 sub_801516C();
void sub_80151A4();
s32 sub_8015198();
void sub_8011C28(u32);
bool8 CreateHelperPelipperMenu(s16);
u32 sub_802E90C();
void sub_802E918();
u32 sub_80282DC(u8 *r0);
void sub_80282FC(void);
extern void CleanThankYouMailPelipper(void);
extern void CleanHelperPelipper(void);
extern void sub_802E06C(void);
extern u32 ThankYouMailPelipperCallback(void);
extern u32 HelperPelipperCallback(void);
extern u32 sub_802E890(void);
extern u32 sub_802DFD8(void);
#define TEXTBOX_FLAG_NONE 0x0
#define TEXTBOX_FLAG_x1 (1 << 0)
// Unused, but set for almost all flag sets
#define TEXTBOX_FLAG_UNUSED_x2 (1 << 1)
#define TEXTBOX_FLAG_x4 (1 << 2)
#define TEXTBOX_FLAG_x8 (1 << 3)
#define TEXTBOX_FLAG_UNUSED_x10 (1 << 4)
#define TEXTBOX_FLAG_INSTANT_TEXT (1 << 5)
// Both need to be set to wait for the player's button press. One flag would be sufficient in my opinion, but what can you do?
#define TEXTBOX_FLAG_WAIT_FOR_BUTTON_PRESS_2 (1 << 6)
#define TEXTBOX_FLAG_WAIT_FOR_BUTTON_PRESS (1 << 7)
// Speaker's name + dialogue sound
#define TEXTBOX_FLAG_SPEAKER (1 << 8)
// Only dialogue sound
#define TEXTBOX_FLAG_DIALOGUE_SOUND (1 << 9)
EWRAM_DATA u16 gUnknown_20399DC = 0;
EWRAM_DATA u16 gUnknown_20399DE = 0;
#include "data/portrait_placements.h"
@ -216,24 +197,21 @@ ALIGNED(4) static const u8 sSpeechBubbleText[] = _("{SPEECH_BUBBLE}");
ALIGNED(4) static const u8 sYellowSpeechBubbleText[] = _("{COLOR YELLOW_N}{SPEECH_BUBBLE}{RESET}");
ALIGNED(4) static const u8 sYellowStringText[] = _("{COLOR YELLOW_N}%s{RESET}");
EWRAM_DATA u16 gUnknown_20399DC = 0;
EWRAM_DATA u16 gUnknown_20399DE = 0;
static bool8 IsTextboxOpen_809B40C(TextboxText *a0);
static void ResetAllTextboxPortraits(void);
static void ResetTextbox(void);
static bool8 ScriptPrintTextInternal(TextboxText *ptr, u32 flags_, s32 a2_, const char *text);
// textboxType: See enum "TextboxTypeID"
static bool8 SetTextboxType(u32 textboxType, bool8 unused);
static void ResetTextbox(void);
static bool8 IsTextboxOpen_809B40C(TextboxText *a0);
static u8 *sub_809B428(u8 *a0, s32 a1, u8 *a2);
static bool8 sub_809B648(void);
static void sub_809C39C(void);
static void sub_809C3D8(void);
static void sub_809C504(void);
static void sub_809C414(void);
static void sub_809C464(void);
static void sub_809C478(void);
static void sub_809C414(void);
static void sub_809C4B0(void);
static void sub_809C504(void);
static void sub_809C550(void);
void TextboxInit(void)

View File

@ -2,13 +2,15 @@
#include "globaldata.h"
#include "constants/item.h"
#include "constants/wonder_mail.h"
#include "adventure_info.h"
#include "code_800D090.h"
#include "code_802F204.h"
#include "code_803C1B4.h"
#include "code_8094F88.h"
#include "adventure_info.h"
#include "code_8099360.h"
#include "event_flag.h"
#include "game_options.h"
#include "ground_main.h"
#include "input.h"
#include "memory.h"
#include "menu_input.h"
@ -19,8 +21,7 @@
#include "save_write.h"
#include "string_format.h"
#include "text_1.h"
#include "ground_main.h"
#include "code_803C1B4.h"
#include "wonder_mail_2.h"
struct unkStruct_203B2C8
{