diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm.inc.h | 74 | ||||
-rw-r--r-- | include/berry_tag_screen.h | 6 | ||||
-rw-r--r-- | include/config.h | 25 | ||||
-rw-r--r-- | include/decompress.h | 1 | ||||
-rw-r--r-- | include/global.h | 24 | ||||
-rw-r--r-- | include/hold_effects.h | 72 | ||||
-rw-r--r-- | include/link.h | 2 | ||||
-rw-r--r-- | include/load_save.h | 17 | ||||
-rw-r--r-- | include/mail.h | 15 | ||||
-rw-r--r-- | include/main.h | 1 | ||||
-rw-r--r-- | include/menu.h | 6 | ||||
-rw-r--r-- | include/metatile_behavior.h | 136 | ||||
-rw-r--r-- | include/metatile_behaviors.h | 173 | ||||
-rw-r--r-- | include/money.h | 17 | ||||
-rw-r--r-- | include/mystery_event_menu.h | 6 | ||||
-rw-r--r-- | include/pokemon.h | 19 | ||||
-rw-r--r-- | include/rom4.h | 2 | ||||
-rw-r--r-- | include/save_failed_screen.h | 6 | ||||
-rw-r--r-- | include/sprite.h | 3 | ||||
-rw-r--r-- | include/start_menu.h | 2 | ||||
-rw-r--r-- | include/text.h | 3 |
21 files changed, 549 insertions, 61 deletions
diff --git a/include/asm.inc.h b/include/asm.inc.h index f533d8729..bfa37e058 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -11,7 +11,6 @@ void sub_8032AA8(u8 index, int i); // asm/rom_803D1FC.o u16 SpeciesToNationalPokedexNum(u16); -u32 SpeciesToCryId(u32); void DrawSpindaSpots(u16, u32, void *, u8); u8 sub_803FC58(u16); void AdjustFriendship(struct Pokemon *, u8); @@ -34,42 +33,9 @@ u8 daycare_relationship_score_from_savegame(void); // asm/rom_804373C.o void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u16 s4); -// asm/load_save.o -void CheckForFlashMemory(void); -int sub_80479F8(); -void sub_8047A04(); -void sub_8047A1C(void); -void sub_8047A34(void); -void save_serialize_game(void); -void save_deserialize_game(); - // asm/berry_blender.o void sub_80516C4(u8, u16); -// asm/metatile_behavior.o -bool8 MetatileBehavior_IsSandOrDeepSand(char); -bool8 is_tile_x69_2_warp_door(u8); -u8 MetatileBehavior_IsDoor(u8); -bool8 MetatileBehavior_IsLadder(u8); -u8 sub_8056F08(u8); -bool8 sub_8056F24(u8); -u8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); -bool8 MetatileBehavior_IsEastArrowWarp(u8); -bool8 MetatileBehavior_IsWestArrowWarp(u8); -bool8 MetatileBehavior_IsNorthArrowWarp(u8); -bool8 MetatileBehavior_IsSouthArrowWarp(u8); -bool8 MetatileBehavior_IsTallGrass(char); -bool8 MetatileBehavior_IsLongGrass(char); -u8 MetatileBehavior_IsBridge(u8); -u8 sub_8057450(u8); -u8 MetatileBehavior_IsLandWildEncounter(u8); -u8 MetatileBehavior_IsWaterWildEncounter(u8); -bool8 sub_80574C4(char); -bool8 sub_80574D8(char); -bool8 sub_8057568(char); -bool8 sub_805759C(u8); -bool8 MetatileBehavior_IsSurfableFishableWater(u8); - // src/field_door.o void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); @@ -100,6 +66,7 @@ void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); void sub_805BCF0(u8, u8, u8, u8); void sub_805BD48(u8, u8, u8); void sub_805BD90(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); +void gpu_pal_allocator_reset__manage_upper_four(void); void npc_coords_shift(struct MapObject *pObject, s16 x, s16 y); void sub_805C0F8(u8, u8, u8, s16, s16); void npc_coords_shift_still(struct MapObject *pObject); @@ -249,11 +216,17 @@ void sub_808AB90(void); // asm/rom_8094928.o void sub_80961D8(void); +u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4); +u16 sub_809D4A8(u16); +void sub_809D510(struct Sprite *); +void sub_809D580(u16); +void sub_809D608(u16); u8 pokemon_ailments_get_primary(u32); u8 exec_movement(u8, u8, u8, void *); bool8 sub_80A212C(u8, u8, u8); void sub_80A2178(void); void sub_80A2B18(void); +u16 sub_80A2D64(u16, u8 *); void AddMapNamePopUpWindowTask(void); void HideMapNamePopUpWindow(); @@ -261,12 +234,22 @@ void HideMapNamePopUpWindow(); void sub_80A3684(void); void sub_80A3714(void); void sub_80A53F8(void); +void sub_80A5B40(void); void sub_80A68CC(); +u8 sub_80A7D8C(u8 berry, int i, int i1); +void sub_80A7DD4(void); +u8 sub_80A7E5C(u8); + +// src/matsuda_debug_menu.o +void sub_80AA280(u8); +void sub_80AA5E8(u8); +void sub_80AA658(u8); // asm/contest.o void sub_80AB1B0(void); void sub_80AE098(u8); void sub_80AE398(u8, u8); +u32 sub_80AE770(u8, u8); void sub_80AE82C(u8); void sub_80AF668(void); void sub_80B0F28(u8); @@ -289,15 +272,6 @@ void *picbox_close(void); // asm/naming_screen.o void DoNamingScreen(u8 r0, struct SaveBlock2 *r1, u16 r2, u16 r3, u8 s0, MainCallback s4); -// asm/money.o -bool8 IsEnoughMoney(u32, u32); -void sub_80B79B8(u32 *, u32); -void sub_80B79E0(u32 *, u32); -void sub_80B7AEC(u32, u8 left, u8 top); -void sub_80B7BEC(u32, u8, u8); -void sub_80B7C14(u32, u8, u8); -void RemoveMoneyLabelObject(u8, u8); - // asm/secret_base.o void sub_80BB5B4(void); u8 sub_80BBB24(void); @@ -373,6 +347,11 @@ void sub_80EBA5C(void); void sub_80F7AA4(void); void sub_80F7F30(void); +// asm/menu_helpers.o +bool8 sub_80F9344(void); +void sub_80F9368(void); +void sub_80F9438(void); + // asm/script_pokemon_util_80F99CC.o void sub_80F99CC(void); @@ -417,6 +396,7 @@ void sub_811AAD8(u8); u8 sub_811AAE8(void); // asm/mystery_event_script.o +u32 sub_812613C(u8 *); void sub_8126160(u8); u16 sub_8126338(void); @@ -467,12 +447,6 @@ void sub_813E930(/*TODO: arg types*/); void sub_813EB4C(u8); void sub_813EDBC(/*TODO: arg types*/); -// asm/mystery_event_menu.o -void CB2_InitMysteryEventMenu(void); - -// asm/save_failed_screen.o -void fullscreen_save_activate(); - // asm/rom_81473B8.o bool8 sub_81474C8(void); void sub_8147514(void); @@ -486,6 +460,7 @@ u8 intro_create_brendan_sprite(/*TODO: arg types*/); u8 intro_create_may_sprite(/*TODO: arg types*/); u8 intro_create_latios_sprite(/*TODO: arg types*/); u8 intro_create_latias_sprite(/*TODO: arg types*/); +void sub_814A568(u8*); // src/agb_flash.o u16 ReadFlashId(void); @@ -493,3 +468,4 @@ u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size); u32 ProgramFlashSectorAndVerify(); u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n); +u16 IdentifyFlash(void); diff --git a/include/berry_tag_screen.h b/include/berry_tag_screen.h new file mode 100644 index 000000000..60932ff80 --- /dev/null +++ b/include/berry_tag_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_TAG_SCREEN_H +#define GUARD_BERRY_TAG_SCREEN_H + +void BerryTagScreen_814625C(u8 taskId); + +#endif // GUARD_BERRY_TAG_SCREEN_H diff --git a/include/config.h b/include/config.h new file mode 100644 index 000000000..5ee062006 --- /dev/null +++ b/include/config.h @@ -0,0 +1,25 @@ +#ifndef GUARD_CONFIG_H +#define GUARD_CONFIG_H + +#ifndef REVISION +#define REVISION 0 +#endif + +#if REVISION == 2 +#define BUGFIX_BERRY +#endif + +#if REVISION >= 1 +#define BUGFIX_GLYPHWIDTH +#define BUGFIX_SAVEFAILEDSCREEN1 +#endif + +// #define BUGFIX_SAVEFAILEDSCREEN2 + +// European editions of Ruby/Sapphire and all editions of Emerald have this fix. +// #define BUGFIX_TRAINERAPPROACH + +// Fixed in Emerald. +// #define BUGFIX_SETMONIVS + +#endif // GUARD_CONFIG_H diff --git a/include/decompress.h b/include/decompress.h index 382e6d76a..a9bdd341b 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -12,5 +12,6 @@ void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, vo 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); +void Unused_LZDecompressWramIndirect(const void **src, void *dest); #endif // GUARD_DECOMPRESS_H diff --git a/include/global.h b/include/global.h index ce2267642..66b6b6b50 100644 --- a/include/global.h +++ b/include/global.h @@ -2,10 +2,7 @@ #define GUARD_GLOBAL_H #include "gba/gba.h" - -#ifndef REVISION -#define REVISION 0 -#endif +#include "config.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -29,6 +26,14 @@ enum VERSION_RUBY = 2, }; +enum LanguageId { + LANGUAGE_JAPANESE = 1, + LANGUAGE_ENGLISH = 2, + LANGUAGE_GERMAN = 5, +}; + +#define GAME_LANGUAGE (LANGUAGE_ENGLISH) + enum { MALE, @@ -169,6 +174,11 @@ struct EasyChatPair u16 words[2]; }; /*size = 0x8*/ +struct SaveBlock1_2B4C_Struct +{ + u8 filler[0x24]; +}; + struct SaveBlock1 { /*0x00*/ struct Coords16 pos; @@ -230,7 +240,9 @@ struct SaveBlock1 /*0x2B0D*/ u8 outbreakPokemonProbability; /*0x2B0E*/ u8 filler_2B0E[0xE]; /*0x2B1C*/ u16 unk2B1C[4]; - /*0x2B24*/ u8 filler_2B24[0x2B0]; + /*0x2B24*/ u8 filler_2B24[0x28]; + /*0x2B4C*/ struct SaveBlock1_2B4C_Struct unkSave[16]; + /*0x2D8C*/ u8 filler_2D8C[0x48]; /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2DFC*/ u8 filler_2DFC[0x100]; /*0x2EFC*/ struct SB1_2EFC_Struct sb1_2EFC_struct[5]; @@ -284,7 +296,7 @@ struct SaveBlock2 { /*0x00*/ u8 playerName[8]; /*0x08*/ u8 playerGender; // MALE, FEMALE - /*0x09*/ u8 sb2_field_9; + /*0x09*/ u8 specialSaveWarp; /*0x0A*/ u8 playerTrainerId[4]; /*0x0E*/ u16 playTimeHours; /*0x10*/ u8 playTimeMinutes; diff --git a/include/hold_effects.h b/include/hold_effects.h new file mode 100644 index 000000000..b653f5a92 --- /dev/null +++ b/include/hold_effects.h @@ -0,0 +1,72 @@ +#ifndef GUARD_HOLD_EFFECTS_H +#define GUARD_HOLD_EFFECTS_H + +#define HOLD_EFFECT_NONE 0 +#define HOLD_EFFECT_RESTORE_HP 1 +#define HOLD_EFFECT_CURE_PAR 2 +#define HOLD_EFFECT_CURE_SLP 3 +#define HOLD_EFFECT_CURE_PSN 4 +#define HOLD_EFFECT_CURE_BRN 5 +#define HOLD_EFFECT_CURE_FRZ 6 +#define HOLD_EFFECT_RESTORE_PP 7 +#define HOLD_EFFECT_CURE_CONFUSION 8 +#define HOLD_EFFECT_CURE_STATUS 9 +#define HOLD_EFFECT_CONFUSE_SPICY 10 +#define HOLD_EFFECT_CONFUSE_DRY 11 +#define HOLD_EFFECT_CONFUSE_SWEET 12 +#define HOLD_EFFECT_CONFUSE_BITTER 13 +#define HOLD_EFFECT_CONFUSE_SOUR 14 +#define HOLD_EFFECT_ATTACK_UP 15 +#define HOLD_EFFECT_DEFENSE_UP 16 +#define HOLD_EFFECT_SPEED_UP 17 +#define HOLD_EFFECT_SP_ATTACK_UP 18 +#define HOLD_EFFECT_SP_DEFENSE_UP 19 +#define HOLD_EFFECT_CRITICAL_UP 20 +#define HOLD_EFFECT_RANDOM_STAT_UP 21 +#define HOLD_EFFECT_EVASION_UP 22 +#define HOLD_EFFECT_RESTORE_STATS 23 +#define HOLD_EFFECT_MACHO_BRACE 24 +#define HOLD_EFFECT_EXP_SHARE 25 +#define HOLD_EFFECT_QUICK_CLAW 26 +#define HOLD_EFFECT_HAPPINESS_UP 27 +#define HOLD_EFFECT_CURE_ATTRACT 28 +#define HOLD_EFFECT_CHOICE_BAND 29 +#define HOLD_EFFECT_FLINCH 30 +#define HOLD_EFFECT_BUG_POWER 31 +#define HOLD_EFFECT_DOUBLE_PRIZE 32 +#define HOLD_EFFECT_REPEL 33 +#define HOLD_EFFECT_SOUL_DEW 34 +#define HOLD_EFFECT_DEEP_SEA_TOOTH 35 +#define HOLD_EFFECT_DEEP_SEA_SCALE 36 +#define HOLD_EFFECT_CAN_ALWAYS_RUN 37 +#define HOLD_EFFECT_PREVENT_EVOLVE 38 +#define HOLD_EFFECT_FOCUS_BAND 39 +#define HOLD_EFFECT_LUCKY_EGG 40 +#define HOLD_EFFECT_SCOPE_LENS 41 +#define HOLD_EFFECT_STEEL_POWER 42 +#define HOLD_EFFECT_LEFTOVERS 43 +#define HOLD_EFFECT_DRAGON_SCALE 44 +#define HOLD_EFFECT_LIGHT_BALL 45 +#define HOLD_EFFECT_GROUND_POWER 46 +#define HOLD_EFFECT_ROCK_POWER 47 +#define HOLD_EFFECT_GRASS_POWER 48 +#define HOLD_EFFECT_DARK_POWER 49 +#define HOLD_EFFECT_FIGHTING_POWER 50 +#define HOLD_EFFECT_ELECTRIC_POWER 51 +#define HOLD_EFFECT_WATER_POWER 52 +#define HOLD_EFFECT_FLYING_POWER 53 +#define HOLD_EFFECT_POISON_POWER 54 +#define HOLD_EFFECT_ICE_POWER 55 +#define HOLD_EFFECT_GHOST_POWER 56 +#define HOLD_EFFECT_PSYCHIC_POWER 57 +#define HOLD_EFFECT_FIRE_POWER 58 +#define HOLD_EFFECT_DRAGON_POWER 59 +#define HOLD_EFFECT_NORMAL_POWER 60 +#define HOLD_EFFECT_UP_GRADE 61 +#define HOLD_EFFECT_SHELL_BELL 62 +#define HOLD_EFFECT_LUCKY_PUNCH 63 +#define HOLD_EFFECT_METAL_POWDER 64 +#define HOLD_EFFECT_THICK_CLUB 65 +#define HOLD_EFFECT_STICK 66 + +#endif // GUARD_HOLD_EFFECTS_H diff --git a/include/link.h b/include/link.h index 694339164..a5d30a473 100644 --- a/include/link.h +++ b/include/link.h @@ -124,11 +124,13 @@ struct Link extern struct Link gLink; extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u16 gLinkType; extern u32 gLinkStatus; extern u16 gSendCmd[CMD_LENGTH]; extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; +extern bool8 gReceivedRemoteLinkPlayers; void Task_DestroySelf(u8); void sub_8007270(u8); diff --git a/include/load_save.h b/include/load_save.h new file mode 100644 index 000000000..5ca52a2fc --- /dev/null +++ b/include/load_save.h @@ -0,0 +1,17 @@ +#ifndef GUARD_LOAD_SAVE_H +#define GUARD_LOAD_SAVE_H + +void CheckForFlashMemory(void); +bool32 GetSecretBase2Field_9(void); +void ClearSecretBase2Field_9(void); +void SetSecretBase2Field_9(void); +void SetSecretBase2Field_9_AndHideBG(void); +void ClearSecretBase2Field_9_2(void); +void SavePlayerParty(void); +void LoadPlayerParty(void); +void SaveSerializedGame(void); +void LoadSerializedGame(void); +void LoadPlayerData(void); +void SavePlayerData(void); + +#endif // GUARD_LOAD_SAVE_H diff --git a/include/mail.h b/include/mail.h new file mode 100644 index 000000000..a579dc458 --- /dev/null +++ b/include/mail.h @@ -0,0 +1,15 @@ +#ifndef GUARD_MAIL_H +#define GUARD_MAIL_H + +#include "main.h" + +struct MailStruct { + /* 0x00 */ u16 words[9]; + /* 0x12 */ u8 var12[12]; + /* 0x1E */ u16 var1E; + /* 0x20 */ u16 var20; +}; + +void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2); + +#endif // GUARD_MAIL_H diff --git a/include/main.h b/include/main.h index 054bba901..5d8f8b68a 100644 --- a/include/main.h +++ b/include/main.h @@ -40,6 +40,7 @@ struct Main u8 state; u8 oamLoadDisabled:1; + u8 inBattle:1; }; extern u8 gUnknown_3001764; diff --git a/include/menu.h b/include/menu.h index 9592fc291..7b3525461 100644 --- a/include/menu.h +++ b/include/menu.h @@ -6,9 +6,11 @@ struct MenuAction { u8 *text; - u8 (*func)(void); + u8 (*func)(); }; +void sub_8071C20(void); +void AppendToList(u8 *list, u8 *pindex, u32 value); void InitMenuWindow(const struct WindowConfig *); void MultistepInitMenuWindowBegin(const struct WindowConfig *); bool32 MultistepInitMenuWindowContinue(void); @@ -39,7 +41,7 @@ s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrap(void); u8 MoveMenuCursor3(s8); u8 MoveMenuCursor4(s8); -void sub_807274C(u8, u8, u8, u8, u8 * const [][2], u8, u32); +void sub_807274C(u8, u8, u8, u8, const struct MenuAction[], u8, u32); s8 sub_80727CC(void); u8 sub_807288C(u8); void PrintMenuItems(u8, u8, u8, const struct MenuAction[]); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h new file mode 100644 index 000000000..34b660054 --- /dev/null +++ b/include/metatile_behavior.h @@ -0,0 +1,136 @@ +#ifndef GUARD_METATILE_BEHAVIOR +#define GUARD_METATILE_BEHAVIOR + +bool8 sub_8056D9C(u8); +bool8 sub_8056DA0(u8); +bool8 MetatileBehavior_IsJumpEast(u8); +bool8 MetatileBehavior_IsJumpWest(u8); +bool8 MetatileBehavior_IsJumpNorth(u8); +bool8 MetatileBehavior_IsJumpSouth(u8); +bool8 sub_8056E14(u8); +bool8 MetatileBehavior_IsSandOrDeepSand(u8); +bool8 MetatileBehavior_IsDeepSand(u8); +bool8 MetatileBehavior_IsReflective(u8); +bool8 MetatileBehavior_IsIce(u8); +bool8 is_tile_x69_2_warp_door(u8); +bool8 MetatileBehavior_IsDoor(u8); +bool8 MetatileBehavior_IsEscalator(u8); +bool8 unref_sub_8056EE0(u8); +bool8 MetatileBehavior_IsLadder(u8); +bool8 sub_8056F08(u8); +bool8 sub_8056F24(u8); +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); +bool8 MetatileBehavior_IsEastArrowWarp(u8); +bool8 MetatileBehavior_IsWestArrowWarp(u8); +bool8 MetatileBehavior_IsNorthArrowWarp(u8); +bool8 MetatileBehavior_IsSouthArrowWarp(u8); +bool8 MetatileBehavior_IsArrowWarp(u8); +bool8 sub_8056FFC(u8); +bool8 MetatileBehavior_IsIce_2(u8); +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); +bool8 MetatileBehavior_0x05(u8); +bool8 MetatileBehavior_IsWalkNorth(u8); +bool8 MetatileBehavior_IsWalkSouth(u8); +bool8 MetatileBehavior_IsWalkWest(u8); +bool8 MetatileBehavior_IsWalkEast(u8); +bool8 MetatileBehavior_IsNorthwardCurrent(u8); +bool8 MetatileBehavior_IsSouthwardCurrent(u8); +bool8 MetatileBehavior_IsWestwardCurrent(u8); +bool8 MetatileBehavior_IsEastwardCurrent(u8); +bool8 MetatileBehavior_IsSlideNorth(u8); +bool8 MetatileBehavior_IsSlideSouth(u8); +bool8 MetatileBehavior_IsSlideWest(u8); +bool8 MetatileBehavior_IsSlideEast(u8); +bool8 MetatileBehavior_IsCounter(u8); +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8, u8); +bool8 MetatileBehavior_IsPC(u8); +bool8 is_tile_x84(u8); +bool8 sub_80571C0(u8); +bool8 sub_80571EC(u8); +bool8 sub_805720C(u8); +bool8 is_tile_x98(u8); +bool8 sub_8057238(u8); +bool8 sub_805724C(u8); +bool8 unref_sub_8057260(u8); +bool8 sub_8057274(u8); +bool8 sub_8057288(u8); +bool8 sub_805729C(u8); +bool8 sub_80572B0(u8); +bool8 unref_sub_80572C4(u8); +bool8 sub_80572D8(u8); +bool8 sub_80572EC(u8); +bool8 sub_8057300(u8); +bool8 sub_8057314(u8); +bool8 sub_8057328(u8); +bool8 sub_805733C(u8); +bool8 sub_8057350(u8); +bool8 sub_8057364(u8); +bool8 sub_8057378(u8); +bool8 sub_805738C(u8); +bool8 MetatileBehavior_HasRipples(u8); +bool8 MetatileBehavior_IsPuddle(u8); +bool8 MetatileBehavior_IsTallGrass(u8); +bool8 MetatileBehavior_IsLongGrass(u8); +bool8 MetatileBehavior_IsBerryTreeSoil(u8); +bool8 MetatileBehavior_IsAsh(u8); +bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8); +bool8 MetatileBehavior_IsBridge(u8); +u8 sub_8057450(u8); +bool8 MetatileBehavior_IsLandWildEncounter(u8); +bool8 MetatileBehavior_IsWaterWildEncounter(u8); +bool8 sub_80574C4(u8); +bool8 sub_80574D8(u8); +bool8 sub_80574EC(u8); +bool8 sub_805750C(u8); +bool8 MetatileBehavior_IsShallowFlowingWater(u8); +bool8 sub_8057540(u8); +bool8 sub_8057554(u8); +bool8 sub_8057568(u8); +bool8 unref_sub_8057584(u8); +bool8 sub_805759C(u8); +bool8 MetatileBehavior_IsEastBlocked(u8); +bool8 MetatileBehavior_IsWestBlocked(u8); +bool8 MetatileBehavior_IsNorthBlocked(u8); +bool8 MetatileBehavior_IsSouthBlocked(u8); +bool8 MetatileBehavior_IsShortGrass(u8); +bool8 MetatileBehavior_IsHotSprings(u8); +bool8 MetatileBehavior_IsWaterfall(u8); +bool8 MetatileBehavior_IsFortreeBridge(u8); +bool8 sub_80576A0(u8); +bool8 sub_80576B4(u8); +bool8 sub_80576C8(u8); +bool8 sub_80576DC(u8); +bool8 MetatileBehavior_IsPacifidlogLog(u8); +bool8 is_tile_x8C(u8); +bool8 is_tile_x85(u8); +bool8 is_tile_x8B(u8); +bool8 is_tile_x8A(u8); +bool8 is_tile_x87(u8); +bool8 MetatileBehavior_0xBB(u8); +bool8 MetatileBehavior_0xBC(u8); +bool8 sub_8057798(u8); +bool8 is_role_x68(u8); +bool8 MetatileBehavior_IsAquaHideoutWarp(u8); +bool8 MetatileBehavior_IsSurfableFishableWater(u8); +bool8 sub_8057804(u8); +bool8 sub_8057818(u8); +bool8 sub_805782C(u8); +bool8 MetatileBehavior_IsMuddySlope(u8); +bool8 MetatileBehavior_IsBumpySlope(u8); +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8); +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8); +bool8 MetatileBehavior_IsVerticalRail(u8); +bool8 MetatileBehavior_IsHorizontalRail(u8); +bool8 MetatileBehavior_IsSeaweed(u8); +bool8 MetatileBehavior_IsRunningDisallowed(u8); +bool8 sub_80578F8(u8); +bool8 sub_805791C(u8); +bool8 sub_8057930(u8); +bool8 sub_8057944(u8); +bool8 sub_8057958(u8); +bool8 sub_805796C(u8); +bool8 sub_8057980(u8); +bool8 sub_8057994(u8); +bool8 sub_80579A8(u8); + +#endif // GUARD_METATILE_BEHAVIOR diff --git a/include/metatile_behaviors.h b/include/metatile_behaviors.h new file mode 100644 index 000000000..ea705054e --- /dev/null +++ b/include/metatile_behaviors.h @@ -0,0 +1,173 @@ +#ifndef GUARD_METATILE_BEHAVIORS +#define GUARD_METATILE_BEHAVIORS + +#define MB_NORMAL 0x00 +#define MB_TALL_GRASS 0x02 +#define MB_LONG_GRASS 0x03 +#define MB_04 0x04 +#define MB_05 0x05 +#define MB_DEEP_SAND 0x06 +#define MB_SHORT_GRASS 0x07 +#define MB_CAVE 0x08 +#define MB_LONG_GRASS_SOUTH_EDGE 0x09 +#define MB_NO_RUNNING 0x0A +#define MB_0B 0x0B +#define MB_MOUNTAIN_TOP 0x0C +#define MB_BATTLE_PYRAMID_WARP 0x0D +#define MB_MOSSDEEP_GYM_WARP 0x0E +#define MB_MT_PYRE_HOLE 0x0F +#define MB_POND_WATER 0x10 +#define MB_SEMI_DEEP_WATER 0x11 +#define MB_DEEP_WATER 0x12 +#define MB_WATERFALL 0x13 +#define MB_SOOTOPOLIS_DEEP_WATER 0x14 +#define MB_OCEAN_WATER 0x15 +#define MB_PUDDLE 0x16 +#define MB_SHALLOW_WATER 0x17 +#define MB_18 0x18 +#define MB_NO_SURFACING 0x19 +#define MB_1A 0x1A +#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B +#define MB_SHOAL_CAVE_ENTRANCE 0x1C +#define MB_ICE 0x20 +#define MB_SAND 0x21 +#define MB_SEAWEED 0x22 +#define MB_ASH 0x24 +#define MB_25 0x25 +#define MB_THIN_ICE 0x26 +#define MB_CRACKED_ICE 0x27 +#define MB_HOT_SPRINGS 0x28 +#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 +#define MB_SEAWEED_NO_SURFACING 0x2A +#define MB_REFLECTION_UNDER_BRIDGE 0x2B +#define MB_IMPASSABLE_EAST 0x30 +#define MB_IMPASSABLE_WEST 0x31 +#define MB_IMPASSABLE_NORTH 0x32 +#define MB_IMPASSABLE_SOUTH 0x33 +#define MB_IMPASSABLE_NORTHEAST 0x34 +#define MB_IMPASSABLE_NORTHWEST 0x35 +#define MB_IMPASSABLE_SOUTHEAST 0x36 +#define MB_IMPASSABLE_SOUTHWEST 0x37 +#define MB_JUMP_EAST 0x38 +#define MB_JUMP_WEST 0x39 +#define MB_JUMP_NORTH 0x3A +#define MB_JUMP_SOUTH 0x3B +#define MB_JUMP_SOUTHEAST 0x3E +#define MB_JUMP_SOUTHWEST 0x3F +#define MB_WALK_EAST 0x40 +#define MB_WALK_WEST 0x41 +#define MB_WALK_NORTH 0x42 +#define MB_WALK_SOUTH 0x43 +#define MB_SLIDE_EAST 0x44 +#define MB_SLIDE_WEST 0x45 +#define MB_SLIDE_NORTH 0x46 +#define MB_SLIDE_SOUTH 0x47 +#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 +#define MB_EASTWARD_CURRENT 0x50 +#define MB_WESTWARD_CURRENT 0x51 +#define MB_NORTHWARD_CURRENT 0x52 +#define MB_SOUTHWARD_CURRENT 0x53 +#define MB_NON_ANIMATED_DOOR 0x60 +#define MB_LADDER 0x61 +#define MB_EAST_ARROW_WARP 0x62 +#define MB_WEST_ARROW_WARP 0x63 +#define MB_NORTH_ARROW_WARP 0x64 +#define MB_SOUTH_ARROW_WARP 0x65 +#define MB_CRACKED_FLOOR_HOLE 0x66 +#define MB_AQUA_HIDEOUT_WARP 0x67 +#define MB_LAVARIDGE_GYM_1F_WARP 0x68 +#define MB_ANIMATED_DOOR 0x69 +#define MB_UP_ESCALATOR 0x6A +#define MB_DOWN_ESCALATOR 0x6B +#define MB_WATER_DOOR 0x6C +#define MB_WATER_SOUTH_ARROW_WARP 0x6D +#define MB_DEEP_SOUTH_WARP 0x6E +#define MB_WARP_OR_BRIDGE 0x70 +#define MB_ROUTE120_NORTH_BRIDGE_1 0x72 +#define MB_ROUTE120_NORTH_BRIDGE_2 0x73 +#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74 +#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77 +#define MB_FORTREE_BRIDGE 0x78 +#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A +#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B +#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C +#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D +#define MB_ROUTE110_BRIDGE 0x7F +#define MB_COUNTER 0x80 +#define MB_PC 0x83 +#define MB_84 0x84 +#define MB_REGION_MAP 0x85 +#define MB_TELEVISION 0x86 +#define MB_POKEBLOCK_FEEDER 0x87 +#define MB_SLOT_MACHINE 0x89 +#define MB_ROULETTE 0x8A +#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B +#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C +#define MB_8D 0x8D +#define MB_8E 0x8E +#define MB_QUESTIONNAIRE 0x8F +#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 +#define MB_91 0x91 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 +#define MB_93 0x93 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 +#define MB_95 0x95 +#define MB_SECRET_BASE_SPOT_TREE_1 0x96 +#define MB_97 0x97 +#define MB_SECRET_BASE_SPOT_SHRUB 0x98 +#define MB_99 0x99 +#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A +#define MB_9B 0x9B +#define MB_SECRET_BASE_SPOT_TREE_2 0x9C +#define MB_9D 0x9D +#define MB_BERRY_TREE_SOIL 0xA0 +#define MB_SECRET_BASE_PC 0xB0 +#define MB_B1 0xB1 +#define MB_B2 0xB2 +#define MB_B3 0xB3 +#define MB_B4 0xB4 +#define MB_B5 0xB5 +#define MB_B6 0xB6 +#define MB_B7 0xB7 +#define MB_B8 0xB8 +#define MB_B9 0xB9 +#define MB_BA 0xBA +#define MB_BB 0xBB +#define MB_BC 0xBC +#define MB_BD 0xBD +#define MB_BE 0xBE +#define MB_BF 0xBF +#define MB_BED 0xC0 +#define MB_C1 0xC1 +#define MB_C2 0xC2 +#define MB_C3 0xC3 +#define MB_C4 0xC4 +#define MB_C5 0xC5 +#define MB_C6 0xC6 +#define MB_C7 0xC7 +#define MB_C8 0xC8 +#define MB_C9 0xC9 +#define MB_CA 0xCA +#define MB_CB 0xCB +#define MB_CC 0xCC +#define MB_CD 0xCD +#define MB_CE 0xCE +#define MB_CF 0xCF +#define MB_MUDDY_SLOPE 0xD0 +#define MB_BUMPY_SLOPE 0xD1 +#define MB_CRACKED_FLOOR 0xD2 +#define MB_ISOLATED_VERTICAL_RAIL 0xD3 +#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 +#define MB_VERTICAL_RAIL 0xD5 +#define MB_HORIZONTAL_RAIL 0xD6 +#define MB_PICTURE_BOOK_SHELF 0xE0 +#define MB_BOOKSHELF 0xE1 +#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 +#define MB_VASE 0xE3 +#define MB_TRASH_CAN 0xE4 +#define MB_SHOP_SHELF 0xE5 +#define MB_BLUEPRINT 0xE6 + +#endif // GUARD_METATILE_BEHAVIORS diff --git a/include/money.h b/include/money.h new file mode 100644 index 000000000..49015ee19 --- /dev/null +++ b/include/money.h @@ -0,0 +1,17 @@ +#ifndef GUARD_MONEY_H +#define GUARD_MONEY_H + +bool8 IsEnoughMoney(u32, u32); +void sub_80B79B8(u32 *, u32); +void sub_80B79E0(u32 *, u32); +void sub_80B79F8(u8 *buffer, u32 arg1, u8 arg2); +void sub_80B7A94(u32 arg0, u8 arg1, u8 x, u8 y); +void sub_80B7AEC(u32, u8 left, u8 top); +void sub_80B7B34(void); +void sub_80B7BEC(u32, u8, u8); +void sub_80B7C14(u32, u8, u8); +void RemoveMoneyLabelObject(u8, u8); +bool8 sub_80B7CE8(void); +void sub_80B7D0C(void); + +#endif // GUARD_MONEY_H diff --git a/include/mystery_event_menu.h b/include/mystery_event_menu.h new file mode 100644 index 000000000..8801789d9 --- /dev/null +++ b/include/mystery_event_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MYSTERY_EVENT_MENU_H +#define GUARD_MYSTERY_EVENT_MENU_H + +void CB2_InitMysteryEventMenu(void); + +#endif // GUARD_MYSTERY_EVENT_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index dd80e1ea1..ee141dcc5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -95,6 +95,25 @@ #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 + struct PokemonSubstruct0 { u16 species; diff --git a/include/rom4.h b/include/rom4.h index b12bbf4bc..036f43c36 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -59,7 +59,7 @@ void sub_8053720(s16, s16); // sub_8053778 // unref_sub_8053790 // sub_80537CC -// gpu_sync_bg_hide +void gpu_sync_bg_hide(); // sub_8053818 // sub_8053850 // sub_80538B0 diff --git a/include/save_failed_screen.h b/include/save_failed_screen.h new file mode 100644 index 000000000..5a097fb3f --- /dev/null +++ b/include/save_failed_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SAVE_FAILED_SCREEN_H +#define GUARD_SAVE_FAILED_SCREEN_H + +void DoSaveFailedScreen(u8); + +#endif // GUARD_SAVE_FAILED_SCREEN_H diff --git a/include/sprite.h b/include/sprite.h index 4298593ca..57926fc68 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -245,5 +245,8 @@ void FreeSpritePaletteByTag(u16 tag); void SetSubspriteTables(struct Sprite *sprite, struct SubspriteTable *subspriteTables); bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex); bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex); +void CopyToSprites(u8 *src); +void CopyFromSprites(u8 *dest); +u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); #endif // GUARD_SPRITE_H diff --git a/include/start_menu.h b/include/start_menu.h index 77bfe5d0e..ae9e51284 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -17,7 +17,5 @@ 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/text.h b/include/text.h index d0d418eab..7dbbcb844 100644 --- a/include/text.h +++ b/include/text.h @@ -4,6 +4,7 @@ #define CHAR_SPACE 0x00 #define CHAR_QUESTION_MARK 0xAC #define CHAR_HYPHEN 0xAE +#define CHAR_CURRENCY 0xB7 #define CHAR_COLON 0xF0 #define EXT_CTRL_CODE_BEGIN 0xFC // extended control code #define PLACEHOLDER_BEGIN 0xFD // string placeholder @@ -35,7 +36,7 @@ struct Window { u8 textMode; u8 fontNum; - u8 charset; + u8 language; u8 foregroundColor; u8 backgroundColor; u8 shadowColor; |