diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/agb_flash.h | 12 | ||||
-rw-r--r-- | include/crt0.h | 11 | ||||
-rw-r--r-- | include/decompress.h | 2 | ||||
-rw-r--r-- | include/flags.h | 3 | ||||
-rw-r--r-- | include/gba/io_reg.h | 17 | ||||
-rw-r--r-- | include/global.h | 1 | ||||
-rw-r--r-- | include/intro.h | 11 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | include/librfu.h | 2 | ||||
-rw-r--r-- | include/link.h | 162 | ||||
-rw-r--r-- | include/link_rfu.h | 36 | ||||
-rw-r--r-- | include/load_save.h | 3 | ||||
-rw-r--r-- | include/m4a.h | 5 | ||||
-rw-r--r-- | include/main.h | 16 | ||||
-rw-r--r-- | include/malloc.h | 1 | ||||
-rw-r--r-- | include/menu.h | 1 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 2 | ||||
-rw-r--r-- | include/overworld.h | 5 | ||||
-rw-r--r-- | include/reset_save_heap.h | 12 | ||||
-rw-r--r-- | include/save.h | 2 | ||||
-rw-r--r-- | include/strings.h | 5 | ||||
-rw-r--r-- | include/trade.h | 12 |
22 files changed, 278 insertions, 45 deletions
diff --git a/include/agb_flash.h b/include/agb_flash.h new file mode 100644 index 000000000..27e45e8fa --- /dev/null +++ b/include/agb_flash.h @@ -0,0 +1,12 @@ +#ifndef GUARD_AGB_FLASH_H +#define GUARD_AGB_FLASH_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); + +#endif //GUARD_AGB_FLASH_H diff --git a/include/crt0.h b/include/crt0.h new file mode 100644 index 000000000..3121eeaed --- /dev/null +++ b/include/crt0.h @@ -0,0 +1,11 @@ +#ifndef GUARD_CRT0_H +#define GUARD_CRT0_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +extern u32 IntrMain[]; + +#endif //GUARD_CRT0_H diff --git a/include/decompress.h b/include/decompress.h index 36be803e0..566107bdd 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -28,4 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); +extern u8 gDecompressionBuffer[]; + #endif // GUARD_DECOMPRESS_H diff --git a/include/flags.h b/include/flags.h index 6dfae9ab2..2ffe3c96a 100644 --- a/include/flags.h +++ b/include/flags.h @@ -43,7 +43,8 @@ #define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D) #define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E) -#define FLAG_SYS_UNKNOWN_880 (CODE_FLAGS + 0x20) +#define FLAG_SYS_UNKNOWN_87F (CODE_FLAGS + 0x1F) +#define FLAG_SYS_UNKNOWN_880 (CODE_FLAGS + 0x20) #define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28) #define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29) diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index f86f2434c..998e68e16 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -584,6 +584,23 @@ #define TIMER_INTR_ENABLE 0x40 #define TIMER_ENABLE 0x80 +// BGCNT +#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs. +#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data. +#define BGCNT_MOSAIC 0x0040 +#define BGCNT_16COLOR 0x0000 // 4 bits per pixel +#define BGCNT_256COLOR 0x0080 // 8 bits per pixel +#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map. +#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default. +#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels. +#define BGCNT_TXT512x256 0x4000 +#define BGCNT_TXT256x512 0x8000 +#define BGCNT_TXT512x512 0xC000 +#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels. +#define BGCNT_AFF256x256 0x4000 +#define BGCNT_AFF512x512 0x8000 +#define BGCNT_AFF1024x1024 0xC000 + // serial #define SIO_ID 0x0030 // Communication ID diff --git a/include/global.h b/include/global.h index 3421517d7..8cfbc2289 100644 --- a/include/global.h +++ b/include/global.h @@ -51,6 +51,7 @@ enum LanguageId { LANGUAGE_GERMAN = 5, }; +#define GAME_VERSION (VERSION_EMERALD) #define GAME_LANGUAGE (LANGUAGE_ENGLISH) enum diff --git a/include/intro.h b/include/intro.h new file mode 100644 index 000000000..3a0fee07f --- /dev/null +++ b/include/intro.h @@ -0,0 +1,11 @@ +#ifndef GUARD_INTRO_H +#define GUARD_INTRO_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void c2_copyright_1(void); + +#endif //GUARD_INTRO_H diff --git a/include/item_menu.h b/include/item_menu.h index 85655e9d5..6c8ef031b 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -5,6 +5,8 @@ // Exported RAM declarations +extern u16 gSpecialVar_ItemId; + // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); diff --git a/include/librfu.h b/include/librfu.h index dbc8a41a6..0cf781d73 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -106,3 +106,5 @@ struct RfuIntrStruct extern struct RfuStruct *gRfuState; void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); +void rfu_REQ_stopMode(void); +void rfu_waitREQComplete(void); diff --git a/include/link.h b/include/link.h index 7a6563144..22be82d44 100644 --- a/include/link.h +++ b/include/link.h @@ -2,10 +2,14 @@ #define GUARD_LINK_H #define MAX_LINK_PLAYERS 4 +#define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 #define QUEUE_CAPACITY 50 #define BLOCK_BUFFER_SIZE 0x100 +#define LINK_SLAVE 0 +#define LINK_MASTER 8 + #define LINK_STAT_LOCAL_ID 0x00000003 #define LINK_STAT_PLAYER_COUNT 0x0000001C #define LINK_STAT_PLAYER_COUNT_SHIFT 2 @@ -15,7 +19,23 @@ #define LINK_STAT_CONN_ESTABLISHED_SHIFT 6 #define LINK_STAT_RECEIVED_NOTHING 0x00000100 #define LINK_STAT_RECEIVED_NOTHING_SHIFT 8 +#define LINK_STAT_UNK_FLAG_9 0x00000200 +#define LINK_STAT_UNK_FLAG_9_SHIFT 9 #define LINK_STAT_ERRORS 0x0007F000 +#define LINK_STAT_ERRORS_SHIFT 12 + +#define LINK_STAT_ERROR_HARDWARE 0x00001000 +#define LINK_STAT_ERROR_HARDWARE_SHIFT 12 +#define LINK_STAT_ERROR_CHECKSUM 0x00002000 +#define LINK_STAT_ERROR_CHECKSUM_SHIFT 13 +#define LINK_STAT_ERROR_QUEUE_FULL 0x00004000 +#define LINK_STAT_ERROR_QUEUE_FULL_SHIFT 14 +#define LINK_STAT_ERROR_LAG_MASTER 0x00010000 +#define LINK_STAT_ERROR_LAG_MASTER_SHIFT 16 +#define LINK_STAT_ERROR_INVALID_ID 0x00020000 +#define LINK_STAT_ERROR_INVALID_ID_SHIFT 17 +#define LINK_STAT_ERROR_LAG_SLAVE 0x00040000 +#define LINK_STAT_ERROR_LAG_SLAVE_SHIFT 18 #define EXTRACT_PLAYER_COUNT(status) \ (((status) & LINK_STAT_PLAYER_COUNT) >> LINK_STAT_PLAYER_COUNT_SHIFT) @@ -25,10 +45,41 @@ (((status) >> LINK_STAT_CONN_ESTABLISHED_SHIFT) & 1) #define EXTRACT_RECEIVED_NOTHING(status) \ (((status) >> LINK_STAT_RECEIVED_NOTHING_SHIFT) & 1) +#define EXTRACT_LINK_ERRORS(status) \ +(((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) + +#define LINKCMD_SEND_LINK_TYPE 0x2222 +#define LINKCMD_0x2FFE 0x2FFE +#define LINKCMD_SEND_HELD_KEYS 0x4444 +#define LINKCMD_0x5555 0x5555 +#define LINKCMD_0x5566 0x5566 +#define LINKCMD_0x5FFF 0x5FFF +#define LINKCMD_0x6666 0x6666 +#define LINKCMD_0x7777 0x7777 +#define LINKCMD_CONT_BLOCK 0x8888 +#define LINKCMD_0xAAAA 0xAAAA +#define LINKCMD_0xAAAB 0xAAAB +#define LINKCMD_INIT_BLOCK 0xBBBB +#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE +#define LINKCMD_0xCCCC 0xCCCC + +struct LinkStatus +{ + u32 localId:2; + u32 playerCount:3; + u32 master:1; + u32 connEstablished:1; + u32 unused_7:1; + u32 receivedNothing:1; + u32 unused_9:7; + u32 errors:7; +}; #define MASTER_HANDSHAKE 0x8FFF #define SLAVE_HANDSHAKE 0xB9A0 +#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT) + enum { LINK_STATE_START0, @@ -44,6 +95,9 @@ enum EXCHANGE_COMPLETE, EXCHANGE_TIMED_OUT, EXCHANGE_IN_PROGRESS, + EXCHANGE_STAT_4, + EXCHANGE_STAT_5, + EXCHANGE_STAT_6 }; enum @@ -74,18 +128,18 @@ struct LinkPlayer struct LinkPlayerBlock { - u8 magic1[16]; + char magic1[16]; struct LinkPlayer linkPlayer; - u8 magic2[16]; + char magic2[16]; }; // circular queues struct SendQueue { - u16 data[CMD_LENGTH][QUEUE_CAPACITY]; - u8 pos; - u8 count; + /* 0x000 */ u16 data[CMD_LENGTH][QUEUE_CAPACITY]; + /* 0x320 */ u8 pos; + /* 0x321 */ u8 count; }; struct RecvQueue @@ -97,29 +151,29 @@ struct RecvQueue struct Link { - u8 isMaster; // 0: slave, 8: master - u8 state; - u8 localId; // local multi-player ID - u8 playerCount; - u16 tempRecvBuffer[4]; - bool8 receivedNothing; - s8 serialIntrCounter; - bool8 handshakeAsMaster; - u8 link_field_F; + /* 0x000 */ u8 isMaster; // 0: slave, 8: master + /* 0x001 */ u8 state; + /* 0x002 */ u8 localId; // local multi-player ID + /* 0x003 */ u8 playerCount; + /* 0x004 */ u16 tempRecvBuffer[4]; + /* 0x00c */ bool8 receivedNothing; + /* 0x00d */ s8 serialIntrCounter; + /* 0x00e */ bool8 handshakeAsMaster; + /* 0x00f */ u8 link_field_F; // error conditions - bool8 hardwareError; // hardware reported an error - bool8 badChecksum; // checksum didn't match between devices - u8 queueFull; // send or recv queue out of space - u8 lag; // connection is lagging + /* 0x010 */ bool8 hardwareError; // hardware reported an error + /* 0x011 */ bool8 badChecksum; // checksum didn't match between devices + /* 0x012 */ u8 queueFull; // send or recv queue out of space + /* 0x013 */ u8 lag; // connection is lagging - u16 checksum; + /* 0x014 */ u16 checksum; - u8 sendCmdIndex; - u8 recvCmdIndex; + /* 0x016 */ u8 sendCmdIndex; + /* 0x017 */ u8 recvCmdIndex; - struct SendQueue sendQueue; - struct RecvQueue recvQueue; + /* 0x018 */ struct SendQueue sendQueue; + /* 0x33c */ struct RecvQueue recvQueue; }; struct BlockRequest @@ -131,29 +185,28 @@ struct BlockRequest extern const struct BlockRequest sBlockRequestLookupTable[5]; extern struct Link gLink; -extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u16 gLinkType; extern u32 gLinkStatus; -extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; +extern u16 gBlockRecvBuffer[MAX_RFU_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u16 gSendCmd[CMD_LENGTH]; -extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; -extern bool8 gLinkVSyncDisabled; +extern bool8 gWirelessCommType; void Task_DestroySelf(u8); void OpenLink(void); void CloseLink(void); -u16 LinkMain2(u16 *); +u16 LinkMain2(const u16 *); void sub_8007B14(void); bool32 sub_8007B24(void); void ClearLinkCallback(void); void ClearLinkCallback_2(void); u8 GetLinkPlayerCount(void); void OpenLinkTimed(void); -u8 GetLinkPlayerDataExchangeStatusTimed(void); +u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper); bool8 IsLinkPlayerDataExchangeComplete(void); u32 GetLinkPlayerTrainerId(u8); void ResetLinkPlayers(void); @@ -161,11 +214,10 @@ void sub_8007E24(void); void sub_8007E4C(void); u8 GetMultiplayerId(void); u8 bitmask_all_link_players_but_self(void); -bool8 SendBlock(u8, void *, u16); +bool8 SendBlock(u8, const void *, u16); u8 GetBlockReceivedStatus(void); void ResetBlockReceivedFlags(void); void ResetBlockReceivedFlag(u8); -void SetLinkDebugValues(u32, u32); u8 GetLinkPlayerCount_2(void); bool8 IsLinkMaster(void); void CB2_LinkError(void); @@ -174,23 +226,59 @@ bool8 IsLinkConnectionEstablished(void); void SetSuppressLinkErrorMessage(bool8); bool8 HasLinkErrorOccurred(void); void ResetSerial(void); -u32 LinkMain1(u8 *, u16 *, u16[CMD_LENGTH][MAX_LINK_PLAYERS]); +u32 LinkMain1(u8 *shouldAdvanceLinkState, u16 *sendCmd, u16 (*recvCmds)[CMD_LENGTH]); void LinkVSync(void); void Timer3Intr(void); void SerialCB(void); u8 GetLinkPlayerCount(void); - void sub_800E0E8(void); bool8 sub_800A520(void); -bool8 sub_8010500(void); void sub_800DFB4(u8, u8); void sub_800ADF8(void); void sub_800B488(void); -void sub_8009734(void); void sub_800A620(void); void sub_8011BD0(void); -u8 sub_800ABAC(void); -u8 sub_800ABBC(void); +u8 IsLinkMaster(void); void sub_800AC34(void); +bool8 HandleLinkConnection(void); +void SetLinkDebugValues(u32 seed, u32 flags); +void sub_800A418(void); +void SetSuppressLinkErrorMessage(bool8 flag); +void sub_800B524(struct LinkPlayer *linkPlayer); +u8 GetSioMultiSI(void); + +extern u16 gLinkPartnersHeldKeys[6]; +extern u32 gLinkDebugSeed; +extern struct LinkPlayerBlock gLocalLinkPlayerBlock; +extern bool8 gLinkErrorOccurred; +extern u32 gLinkDebugFlags; +extern bool8 gRemoteLinkPlayersNotReceived[MAX_LINK_PLAYERS]; +extern u8 gBlockReceivedStatus[MAX_LINK_PLAYERS]; +extern u16 gLinkHeldKeys; +extern u32 gLinkStatus; +extern u8 gUnknown_030030E4; +extern u8 gUnknown_030030E8; +extern u8 gUnknown_030030EC[MAX_LINK_PLAYERS]; +extern u8 gUnknown_030030F0[MAX_LINK_PLAYERS]; +extern u16 gUnknown_030030F4; +extern u8 gSuppressLinkErrorMessage; +extern bool8 gWirelessCommType; +extern bool8 gSavedLinkPlayerCount; +extern u8 gSavedMultiplayerId; +extern struct LinkTestBGInfo gLinkTestBGInfo; +extern void (*gLinkCallback)(void); +extern bool8 gShouldAdvanceLinkState; +extern u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS]; +extern u8 gBlockRequestType; +extern u8 gLastSendQueueCount; +extern u8 gLastRecvQueueCount; +extern u16 gLinkSavedIme; +extern u32 gFiller_03003074; +extern u32 gFiller_03003154; +extern u32 gFiller_03003158; +extern u32 gFiller_0300315c; +extern u32 gFiller_03004138; +extern u32 gFiller_0300413C; +extern u32 gFiller_03003080; #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h new file mode 100644 index 000000000..62cff87b9 --- /dev/null +++ b/include/link_rfu.h @@ -0,0 +1,36 @@ +#ifndef GUARD_LINK_RFU_H +#define GUARD_LINK_RFU_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +u32 sub_800BEC0(void); +void sub_800E700(void); +void sub_800EDD4(void); +void sub_800F6FC(u8 who); +void sub_800F728(u8 who); +bool32 sub_800F7E4(void); +void sub_800F804(void); +void sub_800F850(void); +u8 sub_800FCD8(void); +bool32 sub_800FE84(const void *src, size_t size); +void Rfu_set_zero(void); +u8 sub_80104F4(void); +u8 rfu_get_multiplayer_id(void); +bool8 sub_8010100(u8 a0); +bool8 sub_8010500(void); +bool8 Rfu_IsMaster(void); +void task_add_05_task_del_08FA224_when_no_RfuFunc(void); +void sub_8010434(void); +void sub_800E604(void); +void sub_800E174(void); +void sub_800E6D0(void); +bool32 sub_8010EC0(void); +bool32 sub_8010F1C(void); +bool32 sub_800F0B8(void); +u32 sub_80124D4(void); +void RfuVSync(void); + +#endif //GUARD_LINK_RFU_H diff --git a/include/load_save.h b/include/load_save.h index 1f406bbad..92c99fd90 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -2,6 +2,8 @@ #define GUARD_LOAD_SAVE_H extern bool32 gFlashMemoryPresent; +extern struct SaveBlock2 gSaveblock2; +extern struct PokemonStorage gPokemonStorage; void ClearSav2(void); void ClearSav1(void); @@ -19,6 +21,5 @@ void LoadSerializedGame(void); void LoadPlayerBag(void); void SavePlayerBag(void); void SetSaveBlocksPointers(u16); -void MoveSaveBlocks_ResetHeap(void); #endif // GUARD_LOAD_SAVE_H diff --git a/include/m4a.h b/include/m4a.h index 8c3380dd8..ad81028f7 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -17,4 +17,9 @@ void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); +extern struct MusicPlayerInfo gMPlay_SE1; +extern struct MusicPlayerInfo gMPlay_SE2; +extern struct MusicPlayerInfo gMPlay_SE3; +extern struct SoundInfo gSoundInfo; + #endif //GUARD_M4A_H diff --git a/include/main.h b/include/main.h index e283d1754..5caa82cdf 100644 --- a/include/main.h +++ b/include/main.h @@ -42,14 +42,19 @@ struct Main /*0x439*/ u8 field_439_x4:1; }; -extern u8 gUnknown_3001764; -extern struct Main gMain; -extern bool8 gSoftResetDisabled; -extern bool8 gLinkVSyncDisabled; - extern const u8 gGameVersion; extern const u8 gGameLanguage; +extern u16 gKeyRepeatStartDelay; +extern bool8 gLinkTransferringData; +extern struct Main gMain; +extern u16 gKeyRepeatContinueDelay; +extern bool8 gSoftResetDisabled; +extern IntrFunc gIntrTable[]; +extern u8 gLinkVSyncDisabled; +extern u32 IntrMain_Buffer[]; +extern u8 gPcmDmaCounter; + void AgbMain(void); void SetMainCallback2(MainCallback callback); void InitKeys(void); @@ -60,5 +65,6 @@ void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); +void RestoreSerialTimer3IntrHandlers(void); #endif // GUARD_MAIN_H diff --git a/include/malloc.h b/include/malloc.h index 003ee1f03..6efa8fbef 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,6 +1,7 @@ #ifndef GUARD_MALLOC_H #define GUARD_MALLOC_H +#define HEAP_SIZE 0x1C000 #define malloc Alloc #define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free diff --git a/include/menu.h b/include/menu.h index e93d688e4..24bfb7835 100644 --- a/include/menu.h +++ b/include/menu.h @@ -29,6 +29,7 @@ bool8 free_temp_tile_data_buffers_if_possible(void); u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); s8 sub_8198C58(void); +void copy_decompressed_tile_data_to_vram_autofree(u8 arg0, const void *arg1, bool32 arg2, u16 arg3, u8 arg4); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 42b8c60b1..2deb8d8cd 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -4,6 +4,8 @@ #include "text.h" #include "task.h" +extern const u16 gUnknown_0860F074[]; + void sub_81973A4(void); void sub_81973C4(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); diff --git a/include/overworld.h b/include/overworld.h index ea3d27319..0aa3c30fd 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -51,6 +51,7 @@ void Overworld_ChangeMusicToDefault(void); void Overworld_ChangeMusicTo(u16); bool32 is_c1_link_related_active(void); +extern u16 gUnknown_03005DA8; void strange_npc_table_clear(void); const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); @@ -68,4 +69,8 @@ void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); +bool32 sub_80875C8(void); +bool32 sub_8087634(void); +bool32 sub_808766C(void); + #endif //GUARD_ROM4_H diff --git a/include/reset_save_heap.h b/include/reset_save_heap.h new file mode 100644 index 000000000..12fd186ec --- /dev/null +++ b/include/reset_save_heap.h @@ -0,0 +1,12 @@ +#ifndef GUARD_RESET_SAVE_HEAP_H +#define GUARD_RESET_SAVE_HEAP_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_81700F8(void); + +#endif //GUARD_RESET_SAVE_HEAP_H diff --git a/include/save.h b/include/save.h index 6c1238cd2..f010b3415 100644 --- a/include/save.h +++ b/include/save.h @@ -77,7 +77,7 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location); u8 DoReadFlashWholeSection(u8, struct SaveSection *); u16 CalculateChecksum(void *, u16); u8 HandleSavingData(u8 saveType); -//u8 TrySavingData(u8 saveType); +u8 TrySavingData(u8 saveType); //u8 sub_8125D80(void); //bool8 sub_8125DA8(void); //u8 sub_8125DDC(void); diff --git a/include/strings.h b/include/strings.h index 08e2b4bba..98213e66f 100644 --- a/include/strings.h +++ b/include/strings.h @@ -82,5 +82,10 @@ extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; extern const u8 gText_RegisteredDataDeleted[]; extern const u8 gUnknown_085EA79D[]; +extern const u8 gText_CommErrorEllipsis[]; +extern const u8 gText_MoveCloserToLinkPartner[]; +extern const u8 gText_CommErrorCheckConnections[]; +extern const u8 gText_ABtnTitleScreen[]; +extern const u8 gText_ABtnRegistrationCounter[]; #endif //GUARD_STRINGS_H diff --git a/include/trade.h b/include/trade.h new file mode 100644 index 000000000..15438ff3f --- /dev/null +++ b/include/trade.h @@ -0,0 +1,12 @@ +#ifndef GUARD_TRADE_H +#define GUARD_TRADE_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +int sub_807A728(void); + +#endif //GUARD_TRADE_H |