diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-07-01 21:45:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-01 21:45:36 -0400 |
commit | 74d771ef90a3189bd2da1b35f6b42a1fa8f51e67 (patch) | |
tree | 96c754aee40f16956fb0958ecb31bd806bd99642 /include | |
parent | 7f06718571de81609208a5fa402a93da63cfa8bf (diff) | |
parent | 062238aa12cb4f54f70b73459ff5b5d775f69a54 (diff) |
Merge pull request #76 from jiangzhengwenjz/misc
new_menu_helpers, multiboot, hof_pc, play_time, decompress, reset_save_heap, save_location, mail_data, fldeff_*
Diffstat (limited to 'include')
-rw-r--r-- | include/bg.h | 13 | ||||
-rw-r--r-- | include/decompress.h | 19 | ||||
-rw-r--r-- | include/dma3.h | 51 | ||||
-rw-r--r-- | include/event_scripts.h | 4 | ||||
-rw-r--r-- | include/field_map_obj.h | 8 | ||||
-rw-r--r-- | include/field_player_avatar.h | 6 | ||||
-rw-r--r-- | include/field_weather.h | 2 | ||||
-rw-r--r-- | include/fldeff.h | 46 | ||||
-rw-r--r-- | include/fldeff_80F9BCC.h | 16 | ||||
-rw-r--r-- | include/gba/defines.h | 3 | ||||
-rw-r--r-- | include/gba/multiboot.h | 6 | ||||
-rw-r--r-- | include/global.h | 10 | ||||
-rw-r--r-- | include/hall_of_fame.h | 3 | ||||
-rw-r--r-- | include/item_use.h | 2 | ||||
-rw-r--r-- | include/mail.h | 6 | ||||
-rw-r--r-- | include/mail_data.h | 11 | ||||
-rw-r--r-- | include/menu.h | 14 | ||||
-rw-r--r-- | include/multiboot.h | 2 | ||||
-rw-r--r-- | include/new_game.h | 1 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 32 | ||||
-rw-r--r-- | include/overworld.h | 7 | ||||
-rw-r--r-- | include/palette.h | 2 | ||||
-rw-r--r-- | include/pokemon_icon.h | 1 | ||||
-rw-r--r-- | include/quest_log.h | 5 | ||||
-rw-r--r-- | include/reset_save_heap.h | 13 | ||||
-rw-r--r-- | include/save_location.h | 13 | ||||
-rw-r--r-- | include/script.h | 1 | ||||
-rw-r--r-- | include/script_menu.h | 3 | ||||
-rw-r--r-- | include/text.h | 1 | ||||
-rw-r--r-- | include/text_window.h | 5 | ||||
-rw-r--r-- | include/wild_encounter.h | 3 |
31 files changed, 234 insertions, 75 deletions
diff --git a/include/bg.h b/include/bg.h index 003ffc916..40c51167f 100644 --- a/include/bg.h +++ b/include/bg.h @@ -25,6 +25,17 @@ enum BG_CTRL_ATTR_WRAPAROUND = 8, }; +enum AdjustBgMosaicMode +{ + BG_MOSAIC_SET, + BG_MOSAIC_SET_H, + BG_MOSAIC_INC_H, + BG_MOSAIC_DEC_H, + BG_MOSAIC_SET_V, + BG_MOSAIC_INC_V, + BG_MOSAIC_DEC_V, +}; + enum BgTileAllocMode { BG_TILE_FIND_FREE_SPACE, @@ -71,7 +82,7 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op); u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); u32 GetBgY(u8 bg); void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle); -u8 Unused_AdjustBgMosaic(u8 a1, u8 a2); +u8 AdjustBgMosaic(u8 value, u8 mode); void SetBgTilemapBuffer(u8 bg, void *tilemap); void UnsetBgTilemapBuffer(u8 bg); void* GetBgTilemapBuffer(u8 bg); diff --git a/include/decompress.h b/include/decompress.h index 19b507525..03080fe48 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -10,15 +10,13 @@ extern u8 gDecompressionBuffer[0x4000]; void LZDecompressWram(const void *src, void *dest); void LZDecompressVram(const void *src, void *dest); -u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src); -void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); -bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src); +u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); +void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); +bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src); -void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); -void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); -bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src); - -bool8 sub_800F078(const struct CompressedSpritePalette *src); +void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src); +void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); +bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src); void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species); void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species); @@ -27,15 +25,12 @@ void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); void HandleLoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); -void sub_800ECC4(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); +void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); 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); -u32 sub_8034974(const u8 *ptr); - -void sub_800F034(const struct CompressedSpriteSheet *src); u32 GetDecompressedDataSize(const u8 *ptr); #endif // GUARD_DECOMPRESS_H diff --git a/include/dma3.h b/include/dma3.h index fcd7bae43..381e1e322 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -3,10 +3,55 @@ #include "global.h" +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + void ClearDma3Requests(void); void ProcessDma3Requests(void); -int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); -int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); -int CheckForSpaceForDma3Request(s16 index); +s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); +s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); +s16 CheckForSpaceForDma3Request(s16 index); #endif // GUARD_DMA3_H diff --git a/include/event_scripts.h b/include/event_scripts.h index d5ee57d56..917269de4 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1144,4 +1144,8 @@ extern const u8 gUnknown_81BB084[]; extern const u8 gUnknown_81BB0DF[]; extern const u8 gUnknown_81BB156[]; +extern const u8 EventScript_FldEffStrength[]; +extern const u8 EventScript_FailSweetScent[]; +extern const u8 EventScript_FldEffRockSmash[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 27a7f23d7..83cc263e5 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -76,18 +76,20 @@ u8 GetStepInPlaceDelay32AnimId(u32); u8 npc_block_way(struct MapObject *, s16, s16, u32); void MoveCoords(u8, s16 *, s16 *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); -u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); +u8 FieldObjectClearHeldMovementIfFinished(struct MapObject *); u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); void sub_8063E28(struct MapObject *, struct Sprite *); -void sub_8063CA4(struct MapObject *, u8); +void FieldObjectSetHeldMovement(struct MapObject *, u8); void npc_coords_shift_still(struct MapObject *); void sub_805FE7C(struct MapObject *, u8); void npc_set_running_behaviour_etc(struct MapObject *, u8); u8 sub_80634F0(u8 direction); u8 sub_8063500(u8 a0); -void sub_805F060(struct MapObject *mapObject, u8 a1); +void EventObjectSetGraphicsId(struct MapObject *mapObject, u8 a1); u8 sub_805EB44(u8, u8, s16, s16); void npc_paltag_set_load(u8 mode); +bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject); +u8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject); // Exported data declarations diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 4871bd082..b87de3fef 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -8,7 +8,7 @@ void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); bool8 TestPlayerAvatarFlags(u8); void PlayerGetDestCoords(s16 *, s16 *); -u8 player_get_direction_lower_nybble(void); +u8 GetPlayerFacingDirection(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); @@ -24,5 +24,9 @@ void sub_805DAE4(u8 direction); void SetPlayerAvatarTransitionFlags(u16 a); bool8 IsPlayerFacingSurfableFishableWater(void); void sub_805D2C0(u8 secondaryId); +u8 GetPlayerAvatarObjectId(void); +u8 PlayerGetZCoord(void); +u8 GetPlayerAvatarGraphicsIdByCurrentState(void); +void sub_805CB70(void); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_weather.h b/include/field_weather.h index 13a1b4fcb..c3ecd4fa6 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -14,5 +14,7 @@ void SetSav1WeatherFromCurrMapHeader(void); void sub_807B0C4(u16 *, u16 *, u32); void PlayRainStoppingSoundEffect(void); bool8 sub_807AA70(void); +void SetWeatherScreenFadeOut(void); +void sub_807B070(void); #endif // GUARD_WEATHER_H diff --git a/include/fldeff.h b/include/fldeff.h index 364cb7550..e5e7e5f7d 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -1,7 +1,51 @@ #ifndef GUARD_FLDEFF_H #define GUARD_FLDEFF_H -// rock smash +#define FLDEFF_CALL_FUNC_IN_DATA() ((void (*)(void))(((u16)gTasks[taskId].data[8] << 16) | (u16)gTasks[taskId].data[9]))(); + +#define FLDEFF_SET_FUNC_TO_DATA(func) \ +gTasks[taskId].data[8] = (u32)func >> 16; \ +gTasks[taskId].data[9] = (u32)func; + +extern struct MapPosition gPlayerFacingPosition; + +bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); u8 oei_task_add(void); +// flash + +// cut + +// dig +bool8 SetUpFieldMove_Dig(void); +bool8 FldEff_UseDig(void); + +// rocksmash +bool8 SetUpFieldMove_RockSmash(void); +bool8 FldEff_UseRockSmash(void); + +// berrytree +void nullsub_56(void); + +// poison +void FldEffPoison_Start(void); +bool32 FldEffPoison_IsActive(void); + +// strength +bool8 SetUpFieldMove_Strength(void); +bool8 sub_80D0860(void); + +// teleport +bool8 SetUpFieldMove_Teleport(void); +bool8 FldEff_UseTeleport(void); + +// softboiled +bool8 hm_prepare_dive_probably(void); +void sub_80E56DC(u8 taskId); +void sub_80E5724(u8 taskId); + +// sweetscent +bool8 SetUpFieldMove_SweetScent(void); +bool8 FldEff_SweetScent(void); + #endif // GUARD_FLDEFF_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h deleted file mode 100644 index 3960c6c65..000000000 --- a/include/fldeff_80F9BCC.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef GUARD_FLDEFF_80F9BCC_H -#define GUARD_FLDEFF_80F9BCC_H - -#include "global.h" - -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - -void sub_80FA5E4(s16 id, s16 x, s16 y); -void sub_80FA794(s16 x, s16 y); -void overworld_poison_effect(void); - -#endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/gba/defines.h b/include/gba/defines.h index a0ef506dd..5489f9e14 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -40,6 +40,9 @@ #define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (BG_SCREEN_SIZE * (n))) #define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n))) +#define BG_TILE_H_FLIP(n) (0x400 + (n)) +#define BG_TILE_V_FLIP(n) (0x800 + (n)) + // text-mode BG #define OBJ_VRAM0 (void *)(VRAM + 0x10000) #define OBJ_VRAM0_SIZE 0x8000 diff --git a/include/gba/multiboot.h b/include/gba/multiboot.h index e88b43a19..a8bc8fddf 100644 --- a/include/gba/multiboot.h +++ b/include/gba/multiboot.h @@ -18,9 +18,9 @@ struct MultiBootParam u8 response_bit; u8 client_bit; u8 reserved1; - u8 *boot_srcp; - u8 *boot_endp; - u8 *masterp; + const u8 *boot_srcp; + const u8 *boot_endp; + const u8 *masterp; u8 *reserved2[MULTIBOOT_NCHILD]; u32 system_work2[4]; u8 sendflag; diff --git a/include/global.h b/include/global.h index 050c311e4..e1f63213a 100644 --- a/include/global.h +++ b/include/global.h @@ -209,7 +209,7 @@ struct SaveBlock2 { /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; /*0x008*/ u8 playerGender; // MALE, FEMALE - /*0x009*/ u8 specialSaveWarp; + /*0x009*/ u8 specialSaveWarpFlags; /*0x00A*/ u8 playerTrainerId[4]; /*0x00E*/ u16 playTimeHours; /*0x010*/ u8 playTimeMinutes; @@ -726,8 +726,14 @@ struct SaveBlock1 /*0x3D38*/ struct TrainerTowerLog unkArray[4]; }; -extern struct SaveBlock1* gSaveBlock1Ptr; +struct MapPosition +{ + s16 x; + s16 y; + s8 height; +}; +extern struct SaveBlock1* gSaveBlock1Ptr; extern u8 gReservedSpritePaletteCount; #endif // GUARD_GLOBAL_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 2dc9fae41..1d2122399 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -7,5 +7,8 @@ void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); void sub_8175280(void); +void sub_80F2978(void); +void HallOfFamePCBeginFade(void); +void ReturnFromHallOfFamePC(void); #endif // GUARD_HALL_OF_FAME_H diff --git a/include/item_use.h b/include/item_use.h index 0a45762f7..db98533f1 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -38,5 +38,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId); void ItemUseOutOfBattle_EnigmaBerry(u8 taskId); void ItemUseInBattle_EnigmaBerry(u8 taskId); void ItemUseOutOfBattle_Itemfinder(u8 taskId); +void sub_80A1C44(u8 taskId); +u8 CanUseEscapeRopeOnCurrMap(void); #endif //GUARD_ITEM_USE_H diff --git a/include/mail.h b/include/mail.h index 9ffccbb5b..3ba731c66 100644 --- a/include/mail.h +++ b/include/mail.h @@ -3,6 +3,8 @@ #include "global.h" +#define MAIL_WORDS_COUNT 9 + #define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ || itemId == ITEM_HARBOR_MAIL \ || itemId == ITEM_GLITTER_MAIL \ @@ -17,10 +19,6 @@ || itemId == ITEM_RETRO_MAIL)) -bool8 MonHasMail(struct Pokemon *mon); -void TakeMailFromMon(struct Pokemon *mon); -u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail); -void ClearMailStruct(struct MailStruct *mail); void sub_80BEBEC(struct MailStruct * mail, void (* callback)(void), u8 a2); #endif // GUARD_MAIL_H diff --git a/include/mail_data.h b/include/mail_data.h index 79a4a7851..a5795ed7e 100644 --- a/include/mail_data.h +++ b/include/mail_data.h @@ -9,7 +9,16 @@ // Exported ROM declarations -u16 sub_80D45E8(u16, u16 *); +void ClearMailData(void); +void ClearMailStruct(struct MailStruct *mail); +bool8 MonHasMail(struct Pokemon *mon); +u8 GiveMailToMon(struct Pokemon *mon, u16 itemId); +u16 SpeciesToMailSpecies(u16 species, u32 personality); +u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer); +u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail); +void TakeMailFromMon(struct Pokemon *mon); +void ClearMailItemId(u8 mailId); +u8 TakeMailFromMon2(struct Pokemon *mon); bool8 ItemIsMail(u16 itemId); #endif //GUARD_MAIL_DATA_H diff --git a/include/menu.h b/include/menu.h index bc45e7e61..3231587de 100644 --- a/include/menu.h +++ b/include/menu.h @@ -21,25 +21,25 @@ void AddTextPrinterParameterized3(u8, u8, u8, u8, const void *, s8, const u8 *); void sub_8198070(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); -void schedule_bg_copy_tilemap_to_vram(u8 bgNum); +void ScheduleBgCopyTilemapToVram(u8 bgNum); void PrintMenuTable(u8 idx, u8 nstrs, const struct MenuAction *strs); void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8); u8 GetMenuCursorPos(void); s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrapAround(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); -void reset_temp_tile_data_buffers(void); -int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode); -bool8 free_temp_tile_data_buffers_if_possible(void); +void ResetTempTileDataBuffers(void); +void *DecompressAndCopyTileDataToVram(u8 bg_id, const void *src, u32 size, u16 offset, u8 mode); +bool8 FreeTempTileDataBuffersIfPossible(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 Menu_ProcessInputNoWrapClearOnChoose(void); -void do_scheduled_bg_tilemap_copies_to_vram(void); -void clear_scheduled_bg_copies_to_vram(void); +void DoScheduledBgTilemapCopiesToVram(void); +void ClearScheduledBgCopiesToVram(void); void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void ClearMenuWindow(u8 windowId, bool8 copyToVram); -void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void *DecompressAndCopyTileDataToVram2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); diff --git a/include/multiboot.h b/include/multiboot.h index 4b4a3693a..ee0a34c83 100644 --- a/include/multiboot.h +++ b/include/multiboot.h @@ -18,6 +18,6 @@ void MultiBootInit(struct MultiBootParam *mp); int MultiBootMain(struct MultiBootParam *mp); void MultiBootStartProbe(struct MultiBootParam *mp); void MultiBootStartMaster(struct MultiBootParam *mp, const u8 *srcp, int length, u8 palette_color, s8 palette_speed); -int MultiBootCheckComplete(struct MultiBootParam *mp); +bool32 MultiBootCheckComplete(struct MultiBootParam *mp); #endif // GUARD_MULTIBOOT_H diff --git a/include/new_game.h b/include/new_game.h index c495a9585..a45b090c8 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -14,5 +14,6 @@ void NewGameInitData(void); void ResetMiniGamesResults(void); void sub_808447C(void); void Sav2_ClearSetDefault(void); +void ResetMenuAndMonGlobals(void); #endif // GUARD_NEW_GAME_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index ed933089f..caa7cfc3c 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -9,7 +9,7 @@ void sub_81973A4(void); void sub_81973C4(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); void sub_81973FC(u8, u8); -u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); +u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); void DisplayItemMessageOnField(u8 taskId, u8 bgId, const u8 *src, TaskFunc callback); void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); @@ -19,18 +19,34 @@ void ClearDialogWindowAndFrame(u8, u8); u8 GetTextSpeedSetting(void); void sub_80F6E9C(void); void DrawDialogueFrame(u8 windowId, bool8 transfer); -void sub_80F7974(const u8 *); -u8 GetStartMenuWindowId(void); +void sub_80F7974(const u8 * text); void sub_80F7998(void); -void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void sub_80F79A4(void); void DrawStdWindowFrame(u8 windowId, bool8 copyNow); void InitStandardTextBoxWindows(void); void ResetBg0(void); -void Menu_LoadStdPalAt(u16); -void * malloc_and_decompress(const void * src, u32 * size); -u16 sub_80F796C(void); +void ResetBgPositions(void); +void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); -void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4); +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void Menu_LoadStdPal(void); +void Menu_LoadStdPalAt(u16); +void * MallocAndDecompress(const void * src, u32 * size); +u16 GetStdWindowBaseTileNum(void); void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow); +void sub_80F6E9C(void); +void sub_80F771C(bool8 copyToVram); +void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); +void AddTextPrinterDiffStyle(bool8 allowSkippingDelayWithButtonPress); +void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); +void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram); +void sub_80F7768(u8 windowId, bool8 copyToVram); +void DisplayYesNoMenuDefaultYes(void); +void DisplayYesNoMenuDefaultNo(void); +u8 sub_80F78E0(u8 windowId); +u8 GetStartMenuWindowId(void); +void RemoveStartMenuWindow(void); +void SetDefaultFontsPointer(void); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h index fed1a33a5..bab4797ff 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -81,12 +81,12 @@ void mapldr_default(void); u32 GetGameStat(u8); -void sub_8056938(void); +void CB2_ContinueSavedGame(void); void sub_8055D5C(struct WarpData *); void sub_80572A8(void); void sub_805726C(void); void sub_8057430(void); -void sub_8055DC4(void); +void Overworld_PlaySpecialMapMusic(void); u8 GetCurrentRegionMapSectionId(void); @@ -111,11 +111,10 @@ void Overworld_ResetStateAfterTeleport(void); void Overworld_FadeOutMapMusic(void); void sub_805671C(void); -void sub_8055DC4(void); bool8 sub_8055FC4(void); bool8 is_light_level_8_or_9(u8 mapType); bool32 sub_8055C9C(void); -void sub_8054D70(void); +void Overworld_ResetStateAfterDigEscRope(void); bool32 sub_8058244(void); #endif //GUARD_ROM4_H diff --git a/include/palette.h b/include/palette.h index 31c8ffefe..78f398873 100644 --- a/include/palette.h +++ b/include/palette.h @@ -43,7 +43,7 @@ struct PaletteFadeControl extern struct PaletteFadeControl gPaletteFade; extern u32 gPlttBufferTransferPending; -extern u8 gPaletteDecompressionBuffer[]; +extern u8 *gPaletteDecompressionBuffer; extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE]; diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 593715b7d..cd8c798f9 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -15,5 +15,6 @@ void FreeMonIconPalettes(void); u16 sub_8096FD4(u16); u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32); void sub_8097070(struct Sprite *); +u16 GetUnownLetterByPersonality(u32 personality); #endif // GUARD_POKEMON_ICON_H diff --git a/include/quest_log.h b/include/quest_log.h index cdd28371f..4fb4fe0fa 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -26,6 +26,11 @@ void sub_8115748(u16); u8 sub_8112CAC(void); bool8 sub_81119D4(void (*func)(void)); void sub_8111F38(u16, u16); +void sub_8111134(void); +void sub_8112EDC(u8 a0); +u8 sub_8112EB4(void); +void sub_8113018(const u8 * text, u8 mode); +void MapNamePopupWindowIdSetDummy(void); extern u8 gUnknown_203ADFA; diff --git a/include/reset_save_heap.h b/include/reset_save_heap.h new file mode 100644 index 000000000..8cb038906 --- /dev/null +++ b/include/reset_save_heap.h @@ -0,0 +1,13 @@ +#ifndef GUARD_RESET_SAVE_HEAP_H +#define GUARD_RESET_SAVE_HEAP_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_8079B7C(void); + +#endif //GUARD_RESET_SAVE_HEAP_H + diff --git a/include/save_location.h b/include/save_location.h index cd499643e..4e01c64e4 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -1,12 +1,15 @@ #ifndef GUARD_SAVE_LOCATION_H #define GUARD_SAVE_LOCATION_H -#include "global.h" +// specialSaveWarp flags +#define CONTINUE_GAME_WARP (1 << 0) +#define POKECENTER_SAVEWARP (1 << 1) +#define LOBBY_SAVEWARP (1 << 2) +#define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) -bool32 sub_81AFCEC(void); void TrySetMapSaveWarpStatus(void); -void sub_81AFDA0(void); -void sub_81AFDD0(void); bool32 IsCurMapPokeCenter(void); +void sub_810B810(void); +void sub_810B82C(void); -#endif // GUARD_SAVE_LOCATION_H +#endif // GUARD_SAVE_LOCATION_H
\ No newline at end of file diff --git a/include/script.h b/include/script.h index 8ffbe1563..4e8b8c305 100644 --- a/include/script.h +++ b/include/script.h @@ -72,6 +72,7 @@ void sub_80699A4(void); void sub_8069970(void); void sub_8069A20(void); void sub_8069A2C(void); +bool8 IsMsgSignPost(void); extern const u8 *gRAMScriptPtr; diff --git a/include/script_menu.h b/include/script_menu.h index f82b061a5..c1e32beae 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -10,6 +10,9 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 va bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); +bool32 ScrSpecial_CreatePCMenu(void); +void ScriptMenu_DisplayPCStartupPrompt(void); + bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); void sub_809D6D4(void); diff --git a/include/text.h b/include/text.h index 2e6a8c837..07f6b29c2 100644 --- a/include/text.h +++ b/include/text.h @@ -230,6 +230,7 @@ u16 Font4Func(struct TextPrinter *textPrinter); u16 Font5Func(struct TextPrinter *textPrinter); u16 Font7Func(struct TextPrinter *textPrinter); u16 Font8Func(struct TextPrinter *textPrinter); +u16 Font6Func(struct TextPrinter *textPrinter); void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter); diff --git a/include/text_window.h b/include/text_window.h index cc1de56ae..c1463a9c7 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -20,11 +20,14 @@ void rbox_fill_rectangle(u8 windowId); const u16* stdpal_get(u8 id); const u16* GetOverworldTextboxPalettePtr(void); void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); -void TextWindow_SetBubbleFrame_841F1C8(u8 windowId, u16 tileStart, u8 palette); +void TextWindow_LoadResourcesStdFrame0(u8 windowId, u16 tileStart, u8 palette); void TextWindow_SetStdFrame0_WithPal(u8 windowId, u16 tileStart, u8 palette); void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette); void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette); void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette); void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette); +void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset); +void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx); +void sub_814FEEC(u8 windowId, u16 destOffset, u8 palIdx); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h index b4c42116a..bf53ed6ee 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -43,6 +43,7 @@ u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); void sub_8082740(u8); -u8 GetUnownLetterByPersonality(u32 personality); +u8 GetUnownLetterByPersonalityLoByte(u32 personality); +bool8 SweetScentWildEncounter(void); #endif // GUARD_WILD_ENCOUNTER_H |