diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/songs.h | 2 | ||||
-rw-r--r-- | include/daycare.h | 6 | ||||
-rw-r--r-- | include/decompress.h | 1 | ||||
-rw-r--r-- | include/field_fadetransition.h | 1 | ||||
-rw-r--r-- | include/global.h | 8 | ||||
-rw-r--r-- | include/graphics.h | 7 | ||||
-rw-r--r-- | include/map_obj_80688E4.h | 1 | ||||
-rw-r--r-- | include/map_obj_lock.h | 1 | ||||
-rw-r--r-- | include/menu.h | 6 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 2 | ||||
-rw-r--r-- | include/overworld.h | 8 | ||||
-rw-r--r-- | include/pokemon.h | 3 | ||||
-rw-r--r-- | include/text_window.h | 2 | ||||
-rw-r--r-- | include/unk_810c3a4.h | 19 |
14 files changed, 56 insertions, 11 deletions
diff --git a/include/constants/songs.h b/include/constants/songs.h index fc42af3fc..dd9335761 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -257,7 +257,9 @@ #define MUS_ME_BACHI 260 #define MUS_ME_WAZA 261 #define MUS_ME_KINOMI 262 +#define MUS_ME_SHINKA 263 #define BGM_FRLG_SAFARI_ZONE 264 +#define MUS_SHINKA BGM_FRLG_SAFARI_ZONE #define MUS_ME_B_BIG 268 #define MUS_ME_B_SMALL 269 #define MUS_ME_WASURE 270 diff --git a/include/daycare.h b/include/daycare.h index 6544ba21a..08ca11187 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -26,4 +26,10 @@ bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio); void ShowDaycareLevelMenu(void); void ChooseSendDaycareMon(void); +void ScriptHatchMon(void); +bool8 sub_8071614(void); +void EggHatch(void); +u8 GetEggStepsToSubtract(void); +u16 sub_80722E0(void); + #endif // GUARD_DAYCARE_H diff --git a/include/decompress.h b/include/decompress.h index c2c4f0e1c..9a2093b9f 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -27,6 +27,7 @@ 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 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); diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 228ff3bfb..d0856c84c 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -13,5 +13,6 @@ void sub_807E59C(void); void sub_807E500(void); void sub_807DF64(void); void sub_807DC18(void); +void FieldCallback_ReturnToEventScript2(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/global.h b/include/global.h index 60185af00..461402f1f 100644 --- a/include/global.h +++ b/include/global.h @@ -692,6 +692,12 @@ struct TrainerTowerLog u8 unkA_6:2; }; +struct TrainerRematchState +{ + u16 stepCounter; + u8 rematches[100]; +}; + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -719,7 +725,7 @@ struct SaveBlock1 /*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; /*0x062C*/ u16 berryBlenderRecords[3]; // unused /*0x0632*/ u8 field_632[6]; // unused? - /*0x0638*/ u8 trainerRematchStepCounter; + /*0x0638*/ u16 trainerRematchStepCounter; /*0x063A*/ u8 ALIGNED(2) trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; diff --git a/include/graphics.h b/include/graphics.h index 83cc19bb3..04d05da2b 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -161,4 +161,11 @@ extern const u32 gUnknown_8E84F20[]; extern const u32 gUnknown_8E85068[]; extern const u8 gUnknown_8E99118[]; +// egg_hatch +extern const u32 gBattleTextboxTiles[]; +extern const u32 gFile_graphics_interface_menu_map_tilemap[]; +extern const u32 gBattleTextboxPalette[]; +extern const u32 gTradeGba2_Pal[]; +extern const u32 gTradeGba_Gfx[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/map_obj_80688E4.h b/include/map_obj_80688E4.h index 9ab76646d..de871fd64 100644 --- a/include/map_obj_80688E4.h +++ b/include/map_obj_80688E4.h @@ -4,5 +4,6 @@ #include "global.h" void player_bitmagic(void); +void FreezeMapObject(struct MapObject *); #endif //GUARD_MAP_OBJ_80688E4_H diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h index 2927ca26d..0d130973b 100644 --- a/include/map_obj_lock.h +++ b/include/map_obj_lock.h @@ -10,5 +10,6 @@ void LockSelectedMapObject(void); void sub_8098630(void); bool8 sub_8098734(void); void sub_80696C0(void); +bool8 walkrun_is_standing_still(void); #endif // GUARD_MAP_OBJ_LOCK_H diff --git a/include/menu.h b/include/menu.h index 4a5bd8a2c..40c7ffc12 100644 --- a/include/menu.h +++ b/include/menu.h @@ -30,8 +30,8 @@ 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); 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 ProcessMenuInputNoWrap_(void); +//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 AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); @@ -44,7 +44,7 @@ void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); void sub_810F71C(void); void sub_810F740(void); u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition); -void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); +void CreateYesNoMenu(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index d24b7e3e5..b3daf43c6 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -30,7 +30,7 @@ void Menu_LoadStdPalAt(u16); void * malloc_and_decompress(const void * src, u32 * size); u16 sub_80F796C(void); void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); -void sub_80F696C(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4); +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4); void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h index ac3d5283f..f03db2a3a 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -63,7 +63,7 @@ void strange_npc_table_clear(void); const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); -void c2_exit_to_overworld_2_switch(void); +void CB2_ReturnToField(void); bool32 sub_8087598(void); void c2_exit_to_overworld_1_continue_scripts_restart_music(void); void warp_in(void); @@ -84,19 +84,19 @@ void sub_805726C(void); void sub_8057430(void); void sub_8055DC4(void); -u8 sav1_map_get_name(void); +u8 GetCurrentRegionMapSectionId(void); void SetCurrentMapLayout(u16 mapDataId); void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y); void ResetInitialPlayerAvatarState(void); void sub_8055D40(u16 mapDataId); -void sub_80563F0(void); +void CleanupOverworldWindowsAndTilemaps(void); extern u8 gUnknown_2031DD8; extern u8 gUnknown_2036E28; -extern void (*gUnknown_3005020)(void); +extern void (*gFieldCallback)(void); extern bool8 (* gFieldCallback2)(void); void SetLastHealLocationWarp(u8 healLocaionId); diff --git a/include/pokemon.h b/include/pokemon.h index bf2326ff8..a6dd9931b 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -633,6 +633,7 @@ void SetWildMonHeldItem(void); u16 GetMonEVCount(struct Pokemon *); const struct CompressedSpritePalette *sub_806E794(struct Pokemon *mon); +const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon); const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality); bool32 IsHMMove2(u16 move); bool8 IsPokeSpriteNotFlipped(u16 species); @@ -675,6 +676,6 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); void PlayMapChosenOrBattleBGM(u16 songId); u8 GetMonsStateToDoubles(void); void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src); -void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition); +void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition); #endif // GUARD_POKEMON_H diff --git a/include/text_window.h b/include/text_window.h index 9fbc90799..c384ca1bb 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -23,7 +23,7 @@ void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); void sub_814FEAC(u8 windowId, u16 tileStart, u8 palette); void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette); void sub_815001C(u8 windowId, u16 tileStart, u8 palette); -void sub_814FE40(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); diff --git a/include/unk_810c3a4.h b/include/unk_810c3a4.h index 3f85ab00f..11a91b5ef 100644 --- a/include/unk_810c3a4.h +++ b/include/unk_810c3a4.h @@ -1,6 +1,25 @@ #ifndef GUARD_UNK_810C3A4_H #define GUARD_UNK_810C3A4_H +#define GET_VS_SEEKER_COUNTER_0() (gSaveBlock1Ptr->trainerRematch.stepCounter & 0xFF) +#define GET_VS_SEEKER_COUNTER_1() (gSaveBlock1Ptr->trainerRematch.stepCounter >> 8) +#define SET_VS_SEEKER_COUNTER_0(x) ({\ + gSaveBlock1Ptr->trainerRematch.stepCounter &= 0xFF00;\ + gSaveBlock1Ptr->trainerRematch.stepCounter |= (x);\ +}) +#define SET_VS_SEEKER_COUNTER_1(x) ({\ + gSaveBlock1Ptr->trainerRematch.stepCounter &= 0x00FF;\ + gSaveBlock1Ptr->trainerRematch.stepCounter |= ((x) << 8);\ +}) +#define INC_VS_SEEKER_COUNTER_0() ({\ + u8 x = GET_VS_SEEKER_COUNTER_0();\ + if (x < 100) gSaveBlock1Ptr->trainerRematch.stepCounter++;\ +}) +#define INC_VS_SEEKER_COUNTER_1() ({\ + u8 x = GET_VS_SEEKER_COUNTER_1();\ + if (x < 100) {x++; SET_VS_SEEKER_COUNTER_1(x);}\ +}) + void sub_810C604(void); void sub_810C640(void); |