From d3d725cc8398f306eb489dd0e6aa16b7e7564f39 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Thu, 11 Oct 2018 21:23:39 -0400 Subject: decompiled up to sub_81B0948 --- include/battle_main.h | 16 ++++++++++++++++ include/graphics.h | 5 +++++ 2 files changed, 21 insertions(+) (limited to 'include') diff --git a/include/battle_main.h b/include/battle_main.h index 5a61b5ef0..18bdde2f1 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -7,6 +7,20 @@ struct TrainerMoney u8 value; }; +struct UnknownPokemonStruct4 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + #define TYPE_NAME_LENGTH 6 #define ABILITY_NAME_LENGTH 12 @@ -70,6 +84,8 @@ void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battlerId); +extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3]; + extern const u8 gTypeEffectiveness[336]; extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; extern const struct TrainerMoney gTrainerMoneyTable[]; diff --git a/include/graphics.h b/include/graphics.h index 4cbee1c34..a7bbc5b68 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3914,6 +3914,11 @@ extern const u16 gIntro2BrendanNoTurnPal[]; extern const u16 gIntro2FlygonPal[]; extern const u8 gIntro2FlygonGfx[]; +// party menu graphics +extern const u8 gPartyMenuMisc_Gfx[]; +extern const u16 gPartyMenuMisc_Tilemap[]; +extern const u8 gPartyMenuMisc_Pal[]; + // berry pics extern const u8 gBerryPic_Cheri[]; extern const u8 gBerryPalette_Cheri[]; -- cgit v1.2.3 From 65a0c48eec7d2184478841d232d1fb3c3350fa37 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 17 Oct 2018 20:03:02 -0400 Subject: decompiled some more of the file --- include/contest.h | 1 + include/fldeff_softboiled.h | 6 ++++++ include/party_menu.h | 31 ++++++++++++++++++------------- 3 files changed, 25 insertions(+), 13 deletions(-) create mode 100755 include/fldeff_softboiled.h (limited to 'include') diff --git a/include/contest.h b/include/contest.h index d62d33ab7..f15a7310e 100644 --- a/include/contest.h +++ b/include/contest.h @@ -427,5 +427,6 @@ bool8 Contest_IsMonsTurnDisabled(u8 a); bool8 sub_80DE1E8(u8 a); void SetStartledString(u8 a, u8 b); s8 Contest_GetMoveExcitement(u16); +u8 sub_80DAE0C(struct Pokemon *); #endif //GUARD_CONTEST_H diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h new file mode 100755 index 000000000..8579c6cfe --- /dev/null +++ b/include/fldeff_softboiled.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FLDEFF_SOFTBOILED_H +#define GUARD_FLDEFF_SOFTBOILED_H + +void sub_81615A8(u8 taskId); + +#endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/party_menu.h b/include/party_menu.h index b93b78544..a0a8bdbe6 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -10,7 +10,8 @@ enum AILMENT_PRZ, AILMENT_SLP, AILMENT_FRZ, - AILMENT_BRN + AILMENT_BRN, + AILMENT_FNT = 7 }; enum @@ -23,13 +24,17 @@ enum PARTY_GIVE_ITEM, }; -struct Struct203CEC8 -{ - u8 filler[0x9]; +struct Struct203CEC8 { + MainCallback unk0; + TaskFunc unk4; + u8 unk8_0:4; + u8 unk8_1:2; + u8 unk8_2:2; s8 unk9; s8 unkA; u8 unkB; - u8 filler2[0x2]; + u8 unkD; + u8 unkE; }; extern struct Struct203CEC8 gUnknown_0203CEC8; @@ -47,7 +52,7 @@ void sub_81B7F60(void); void sub_81B0FCC(u8 partyIdx, u8 a); void sub_81B1370(u8 taskId); -void display_pokemon_menu_message(u8 windowId); +void display_pokemon_menu_message(u32 windowId); void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); void sub_81B1B5C(void *a, u8 b); u8 sub_81B1BD4(); @@ -62,14 +67,14 @@ void sub_81B617C(void); u8 sub_81B6D14(u16 a); bool8 hm_add_c3_without_phase_2(void); -extern void dp05_ether(u8, u16, TaskFunc); -extern void dp05_pp_up(u8, u16, TaskFunc); -extern void dp05_rare_candy(u8, u16, TaskFunc); +extern void dp05_ether(u8, TaskFunc); +extern void dp05_pp_up(u8, TaskFunc); +extern void dp05_rare_candy(u8, TaskFunc); -extern void sub_81B67C8(u8, u16, TaskFunc); -extern void sub_81B79E8(u8, u16, TaskFunc); -extern void sub_81B6DC4(u8, u16, TaskFunc); -extern void sub_81B7C74(u8, u16, TaskFunc); +extern void sub_81B67C8(u8, TaskFunc); +extern void sub_81B79E8(u8, TaskFunc); +extern void sub_81B6DC4(u8, TaskFunc); +extern void sub_81B7C74(u8, TaskFunc); extern u16 ItemIdToBattleMoveId(u16); #endif // GUARD_PARTY_MENU_H -- cgit v1.2.3 From dded980cde81b1b71a636d8c2b7c15668e0a7b35 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 17 Oct 2018 23:36:18 -0400 Subject: fix building --- include/party_menu.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/party_menu.h b/include/party_menu.h index 0103099e4..bf0db514b 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,7 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +#include "main.h" #include "task.h" enum -- cgit v1.2.3 From ba3247d5cd27070c51e28437e8880dec72d973b5 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Sat, 20 Oct 2018 20:25:28 -0400 Subject: decompiled more, stuck on sub_81B1760 --- include/party_menu.h | 2 +- include/strings.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/party_menu.h b/include/party_menu.h index bf0db514b..f2615dac5 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -55,7 +55,7 @@ void sub_81B0FCC(u8 partyIdx, u8 a); void sub_81B1370(u8 taskId); void display_pokemon_menu_message(u32 windowId); void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); -void sub_81B1B5C(void *a, u8 b); +u8 sub_81B1B5C(const u8 *a, u8 b); u8 sub_81B1BD4(void); void sub_81B8448(void); void sub_81B8518(u8 unused); diff --git a/include/strings.h b/include/strings.h index 4ea33635b..31b8f399d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -369,6 +369,7 @@ extern const u8 gText_ThreeDashes[]; // party menu text extern const u8 gText_PkmnHPRestoredByVar2[]; extern const u8 gText_CantBeUsedOnPkmn[]; +extern const u8 gText_CancelParticipation[]; //pokedex text extern const u8 gText_CryOf[]; -- cgit v1.2.3 From 18124740a4d75ae95948f95ca6f63c320e51501c Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Thu, 6 Dec 2018 23:14:33 -0500 Subject: pushing so I can merge --- include/party_menu.h | 7 ++++--- include/rom_8011DC0.h | 1 + include/strings.h | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/party_menu.h b/include/party_menu.h index f2615dac5..30a86e162 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -12,7 +12,8 @@ enum AILMENT_SLP, AILMENT_FRZ, AILMENT_BRN, - AILMENT_FNT = 7 + AILMENT_PKRS, + AILMENT_FNT }; enum @@ -35,12 +36,12 @@ struct Struct203CEC8 { s8 unkA; u8 unkB; u8 unkD; - u8 unkE; + s16 unkE; }; extern struct Struct203CEC8 gUnknown_0203CEC8; -extern const u16 gUnknown_0861500C[]; +extern const u16 gUnknown_0861500C[]; // tutor table bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index b6ca0e248..1aa663bc7 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -11,5 +11,6 @@ void sub_8018438(void); u16 mevent_081445C0(u8); void sub_801B990(u32, u32); u8 sub_8013F78(void); +bool32 sub_802C908(u16); #endif //GUARD_rom_8011DC0_H diff --git a/include/strings.h b/include/strings.h index 31b8f399d..d8b1f4f7c 100644 --- a/include/strings.h +++ b/include/strings.h @@ -370,6 +370,12 @@ extern const u8 gText_ThreeDashes[]; extern const u8 gText_PkmnHPRestoredByVar2[]; extern const u8 gText_CantBeUsedOnPkmn[]; extern const u8 gText_CancelParticipation[]; +extern const u8 gText_PkmnWasGivenItem[]; +extern const u8 gText_RecievedItemFromPkmn[]; +extern const u8 gText_SwitchPkmnItem[]; +extern const u8 gText_SwitchedPkmnItem[]; +extern const u8 gText_BagFullCouldNotRemoveItem[]; +extern const u8 gText_PkmnCantParticipate[]; //pokedex text extern const u8 gText_CryOf[]; -- cgit v1.2.3 From e0f3de0b7483afe2b751ea9fb8204e7da49a371b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 9 Dec 2018 16:44:01 +0100 Subject: Start pokemon storage system --- include/mon_markings.h | 2 ++ include/pokemon_storage_system.h | 26 +++++++++++++++++++++++++- include/strings.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/mon_markings.h b/include/mon_markings.h index 22c3f14a4..00df6815a 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -21,6 +21,8 @@ struct PokemonMarkMenu /*0x10B4*/ u8 tileLoadState; }; // 10b8 +void sub_811F90C(struct PokemonMarkMenu *ptr); +void sub_811FA90(void); struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette); #endif //POKEEMERALD_MON_MARKINGS_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9b5358f06..4a3adec78 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -69,8 +69,32 @@ struct PokemonStorageSystemData u8 unk_0002; u8 unk_0003; u8 taskId; - u8 unk_0005[710]; + u8 unk_0005; + struct UnkStruct_2000020 unk_0020; + struct UnkStruct_2000028 unk_0028[8]; + u8 unk_90[567]; + u8 unk_02C7; + u8 unk_02C8; + u8 unk_02C9; + s16 field_2CA; u16 bg2_X; + u8 field_2CE; + u8 field_2CF[1217]; + u8 changeWallpaper; + u8 field_791; + u8 wallpaperTilemap[180 * 4]; + u8 wallpaperChangeState; + u8 field_A63; + u8 field_A64; + u8 field_A65; + u8 field_A66; + u8 field_A67; + u8 *wallpaperTilemapPtr; + u8 field_A6C; + u8 field_A6D[633]; + u16 field_CE6; + u8 field_CE8[188]; + struct PokemonMarkMenu field_DA4; }; extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; diff --git a/include/strings.h b/include/strings.h index e17ea8646..744859c3e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1403,4 +1403,36 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[]; +// PC strings +extern const u8 gText_ExitFromBox[]; +extern const u8 gText_WhatDoYouWantToDo[]; +extern const u8 gText_PleasePickATheme[]; +extern const u8 gText_PickTheWallpaper[]; +extern const u8 gText_PkmnIsSelected[]; +extern const u8 gText_JumpToWhichBox[]; +extern const u8 gText_DepositInWhichBox[]; +extern const u8 gText_PkmnWasDeposited[]; +extern const u8 gText_BoxIsFull2[]; +extern const u8 gText_ReleaseThisPokemon[]; +extern const u8 gText_PkmnWasReleased[]; +extern const u8 gText_ByeByePkmn[]; +extern const u8 gText_MarkYourPkmn[]; +extern const u8 gText_ThatsYourLastPkmn[]; +extern const u8 gText_YourPartysFull[]; +extern const u8 gText_YoureHoldingAPkmn[]; +extern const u8 gText_WhichOneWillYouTake[]; +extern const u8 gText_YouCantReleaseAnEgg[]; +extern const u8 gText_ContinueBoxOperations[]; +extern const u8 gText_PkmnCameBack[]; +extern const u8 gText_WasItWorriedAboutYou[]; +extern const u8 gText_FourEllipsesExclamation[]; +extern const u8 gText_PleaseRemoveTheMail[]; +extern const u8 gText_GiveToAPkmn[]; +extern const u8 gText_PlacedItemInBag[]; +extern const u8 gText_BagIsFull2[]; +extern const u8 gText_PutItemInBag[]; +extern const u8 gText_ItemIsNowHeld[]; +extern const u8 gText_ChangedToNewItem[]; +extern const u8 gText_MailCantBeStored[]; + #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 431e7e7e5c390db7fa809f7e8ef1a47c0009468a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 9 Dec 2018 21:06:43 +0100 Subject: More storage work --- include/mon_markings.h | 7 +++++++ include/pokemon_storage_system.h | 21 +++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/mon_markings.h b/include/mon_markings.h index 00df6815a..8e4ec58bd 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -22,7 +22,14 @@ struct PokemonMarkMenu }; // 10b8 void sub_811F90C(struct PokemonMarkMenu *ptr); +void sub_811F918(void); +bool8 sub_811F960(void); void sub_811FA90(void); +void sub_811FAA4(u8 markings, s16 x, s16 y); +void sub_811FAF8(void); +bool8 sub_811FBA4(void); struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette); +struct Sprite *sub_811FFB4(u16 tileTag, u16 paletteTag, const u16 *palette); +void sub_8120084(u8 markings, void *dest); #endif //POKEEMERALD_MON_MARKINGS_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4a3adec78..ed2b20f46 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -76,12 +76,12 @@ struct PokemonStorageSystemData u8 unk_02C7; u8 unk_02C8; u8 unk_02C9; - s16 field_2CA; + s16 newCurrBoxId; u16 bg2_X; u8 field_2CE; - u8 field_2CF[1217]; - u8 changeWallpaper; - u8 field_791; + u8 field_2CF[1215]; + s16 wallpaperSetId; + s16 wallpaperId; u8 wallpaperTilemap[180 * 4]; u8 wallpaperChangeState; u8 field_A63; @@ -92,9 +92,18 @@ struct PokemonStorageSystemData u8 *wallpaperTilemapPtr; u8 field_A6C; u8 field_A6D[633]; - u16 field_CE6; - u8 field_CE8[188]; + u16 selectedItem; + u16 field_CE8; + u8 field_CEA; + u8 field_CEB; + u8 field_CEC; + u8 field_CED; + u8 field_CEE; + u8 field_CEF[181]; struct PokemonMarkMenu field_DA4; + struct UnkPSSStruct_2002370 field_1E5C; + u8 field_20A4[400]; + u16 field_2234; }; extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; -- cgit v1.2.3 From b4312648e282909be909e084bf2302e29c538c68 Mon Sep 17 00:00:00 2001 From: garak Date: Sun, 9 Dec 2018 19:22:59 -0500 Subject: decompile fldeff_80F9BCC with data --- include/constants/vars.h | 2 +- include/field_player_avatar.h | 2 ++ include/secret_base.h | 8 ++++++++ include/strings.h | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/constants/vars.h b/include/constants/vars.h index 9854ec5a2..faffe7c70 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -100,7 +100,7 @@ #define VAR_0x4051 0x4051 #define VAR_0x4052 0x4052 #define VAR_0x4053 0x4053 -#define VAR_0x4054 0x4054 +#define VAR_CURRENT_SECRET_BASE 0x4054 #define VAR_0x4055 0x4055 #define VAR_0x4056 0x4056 #define VAR_0x4057 0x4057 diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index adb51f889..3aedec5de 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -58,5 +58,7 @@ u8 GetJumpSpecialMovementAction(u32); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerFacingSurfableFishableWater(void); bool8 IsPlayerSurfingNorth(void); +void sub_808C228(u8 direction); +u8 sub_808BCD0(void); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/secret_base.h b/include/secret_base.h index 4fa0d0c4a..ac15357e3 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -23,4 +23,12 @@ void sub_80EB9E0(void); void sub_80EBB28(void); void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events); +// SetCurrentSecretBaseFromPosition +void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); +// SetCurrentSecretBaseVar +void sub_80E8B6C(void); +void sub_80E8BC8(void); +void sub_80E8D4C(void); +void EnableBothScriptContexts(void); + #endif //GUARD_SECRET_BASE_H diff --git a/include/strings.h b/include/strings.h index 495cb3a9b..fcb2521be 100644 --- a/include/strings.h +++ b/include/strings.h @@ -140,6 +140,8 @@ extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; extern const u8 gText_PkmnFainted3[]; extern const u8 gText_Coins[]; +extern const u8 gText_Silver[]; +extern const u8 gText_Gold[]; extern const u8 gText_Var1AteTheVar2[]; extern const u8 gText_Var1HappilyAteVar2[]; -- cgit v1.2.3 From e1e2132a37e188372f3923cdb741897978cb6e2a Mon Sep 17 00:00:00 2001 From: garak Date: Sun, 9 Dec 2018 22:24:54 -0500 Subject: sync fldeff function names with pokeruby --- include/fldeff_80F9BCC.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'include') diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index 027bb4273..281d048c1 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -1,19 +1,13 @@ #ifndef GUARD_FLDEFF_80F9BCC_H #define GUARD_FLDEFF_80F9BCC_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 PopSecretBaseBalloon(s16 id, s16 x, s16 y); +void ShatterSecretBaseBreakableDoor(s16 x, s16 y); void CreateRecordMixingSprite(void); void DestroyRecordMixingSprite(void); void FldeffPoison_Start(void); -void sub_80FA970(s16); -void sub_80FA9D0(void); +void PlaySecretBaseMusicNoteMatSound(s16 metatileId); +void DoSecretBaseGlitterMatSparkle(void); bool8 sub_80FADE4(u16, u8); #endif //GUARD_FLDEFF_80F9BCC_H -- cgit v1.2.3 From a6db7b2419e0130a7f9686edd998764dc205d449 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Mon, 10 Dec 2018 02:38:23 -0500 Subject: decompiled up to brm_cancel_1 --- include/menu.h | 3 +++ include/strings.h | 1 + 2 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/menu.h b/include/menu.h index eb525efe9..60be8361f 100644 --- a/include/menu.h +++ b/include/menu.h @@ -90,5 +90,8 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo void sub_8197AE8(bool8 copyToVram); void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs); s8 Menu_ProcessInputGridLayout(void); +u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); +s8 Menu_ProcessInputNoWrapAround_other(void); +void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); #endif // GUARD_MENU_H diff --git a/include/strings.h b/include/strings.h index 22ff75bc5..0ec3526ea 100644 --- a/include/strings.h +++ b/include/strings.h @@ -406,6 +406,7 @@ extern const u8 gText_SwitchPkmnItem[]; extern const u8 gText_SwitchedPkmnItem[]; extern const u8 gText_BagFullCouldNotRemoveItem[]; extern const u8 gText_PkmnCantParticipate[]; +extern const u8 gText_PkmnNotHolding[]; //pokedex text extern const u8 gText_CryOf[]; -- cgit v1.2.3 From 10237e8d13b35474ea999b4e9139f9a48a80c53d Mon Sep 17 00:00:00 2001 From: garak Date: Mon, 10 Dec 2018 09:52:36 -0500 Subject: move externs and remove comments --- include/fldeff_80F9BCC.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index 281d048c1..afa41b310 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -3,11 +3,22 @@ void PopSecretBaseBalloon(s16 id, s16 x, s16 y); void ShatterSecretBaseBreakableDoor(s16 x, s16 y); -void CreateRecordMixingSprite(void); +u8 CreateRecordMixingSprite(void); void DestroyRecordMixingSprite(void); void FldeffPoison_Start(void); void PlaySecretBaseMusicNoteMatSound(s16 metatileId); void DoSecretBaseGlitterMatSparkle(void); bool8 sub_80FADE4(u16, u8); +extern struct MapPosition gPlayerFacingPosition; +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; + +extern u8 EventScript_275A86[]; +extern u8 EventScript_275ADF[]; +extern u8 EventScript_275B38[]; + +extern const struct OamData gEventObjectBaseOam_32x8; + +extern const u16 gTilesetPalettes_SecretBase[][16]; + #endif //GUARD_FLDEFF_80F9BCC_H -- cgit v1.2.3 From c2d887617492db009694e8715ff606418c691346 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 10 Dec 2018 21:36:52 +0100 Subject: Document PSS functions --- include/item_menu.h | 1 + include/pokemon_storage_system.h | 17 ++++++++++++++--- include/pokemon_summary_screen.h | 3 ++- 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/item_menu.h b/include/item_menu.h index 649eb934c..6214c69fc 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -60,5 +60,6 @@ void CB2_BagMenuFromStartMenu(void); u8 sub_81ABB2C(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); +void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); #endif //GUARD_item_menu_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index ed2b20f46..c045eb481 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -66,7 +66,7 @@ struct PokemonStorageSystemData { u8 state; u8 boxOption; - u8 unk_0002; + u8 screenChangeType; u8 unk_0003; u8 taskId; u8 unk_0005; @@ -102,8 +102,19 @@ struct PokemonStorageSystemData u8 field_CEF[181]; struct PokemonMarkMenu field_DA4; struct UnkPSSStruct_2002370 field_1E5C; - u8 field_20A4[400]; - u16 field_2234; + u8 field_20A4[220]; + u8 field_2180; + u8 field_2181; + u8 field_2182; + u8 field_2183; + u8 field_2184; + u8 field_2185; + u8 field_2186; + u8 field_2187; + u8 field_2188; + struct BoxPokemon *field_218C; + u8 field_2190[164]; + u16 movingItem; }; extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 5dc37c70d..d0926d388 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -4,6 +4,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); +void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); // The Pokemon Summary Screen can operate in different modes. Certain features, // such as move re-ordering, are available in the different modes. @@ -11,7 +12,7 @@ enum PokemonSummaryScreenMode { PSS_MODE_NORMAL, PSS_MODE_UNK1, - PSS_MODE_UNK2, + PSS_MODE_BOX, PSS_MODE_SELECT_MOVE, }; -- cgit v1.2.3 From c5b5f4bd777b4b255294818bb1dc7fe01bc38a6d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 10 Dec 2018 23:42:44 +0100 Subject: More storage --- include/graphics.h | 3 +++ include/pokemon_storage_system.h | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index b51926b8d..a07a669d6 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4740,4 +4740,7 @@ extern const u32 gUnknown_08D8D58C[]; extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; +// Pokemon Storage System +extern const u32 gPSSMenu_Gfx[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index c045eb481..f582c2dc4 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -67,7 +67,7 @@ struct PokemonStorageSystemData u8 state; u8 boxOption; u8 screenChangeType; - u8 unk_0003; + bool8 isReshowingPSS; u8 taskId; u8 unk_0005; struct UnkStruct_2000020 unk_0020; @@ -99,7 +99,10 @@ struct PokemonStorageSystemData u8 field_CEC; u8 field_CED; u8 field_CEE; - u8 field_CEF[181]; + u8 field_CEF[165]; + struct Sprite *field_D94; + struct Sprite *field_D98[2]; + u16 *field_DA0; struct PokemonMarkMenu field_DA4; struct UnkPSSStruct_2002370 field_1E5C; u8 field_20A4[220]; @@ -115,6 +118,8 @@ struct PokemonStorageSystemData struct BoxPokemon *field_218C; u8 field_2190[164]; u16 movingItem; + u8 field_2236[14478]; + u8 field_5AC4[0x800]; }; extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; -- cgit v1.2.3 From 74746603ada01fa9e5d6b355476f67d03c652e9b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 11 Dec 2018 23:09:12 +0100 Subject: More pokemon storage --- include/pokemon_storage_system.h | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index f582c2dc4..d3beb88ab 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -91,7 +91,10 @@ struct PokemonStorageSystemData u8 field_A67; u8 *wallpaperTilemapPtr; u8 field_A6C; - u8 field_A6D[633]; + u8 field_A6D[623]; + u32 *field_CDC; + u32 cursorMonPersonality; + u16 cursorMonSpecies; u16 selectedItem; u16 field_CE8; u8 field_CEA; @@ -99,7 +102,20 @@ struct PokemonStorageSystemData u8 field_CEC; u8 field_CED; u8 field_CEE; - u8 field_CEF[165]; + u8 field_CEF; + u8 field_CF0; + u8 field_CF1; + u8 field_CF2; + u8 field_CF3; + u8 field_CF4; + u8 field_CF5; + u8 field_CF6; + u8 field_CF7; + u8 field_CF8; + u8 cursorMonNick[36]; + u8 cursorMonSpeciesName[36]; + u8 cursorMonGenderLvlText[36]; + u8 cursorMonItemName[47]; struct Sprite *field_D94; struct Sprite *field_D98[2]; u16 *field_DA0; @@ -118,7 +134,17 @@ struct PokemonStorageSystemData struct BoxPokemon *field_218C; u8 field_2190[164]; u16 movingItem; - u8 field_2236[14478]; + u8 field_2236; + u8 field_2237; + u8 field_2238; + u8 field_2239; + u16 field_223A; + u16 *field_223C; + struct Sprite *cursorMonSprite; + u16 field_2244[16]; + u8 field_2264[96]; + u8 field_22C4[0x800]; + u8 field_2AC4[12288]; u8 field_5AC4[0x800]; }; -- cgit v1.2.3 From 59a69eb62769003a81c0f9f50be5ec5abde96242 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 12 Dec 2018 23:19:50 +0100 Subject: Storage up to icon palettes --- include/graphics.h | 2 ++ include/menu.h | 1 + include/pokemon_storage_system.h | 39 ++++++++++++++++++++++----------------- 3 files changed, 25 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index a07a669d6..658239f5c 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4742,5 +4742,7 @@ extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; // Pokemon Storage System extern const u32 gPSSMenu_Gfx[]; +extern const u16 gPSSMenu_Pal[]; +extern const u32 gUnknown_08DD36C8[]; #endif //GUARD_GRAPHICS_H diff --git a/include/menu.h b/include/menu.h index eb525efe9..e7a78f76e 100644 --- a/include/menu.h +++ b/include/menu.h @@ -72,6 +72,7 @@ u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); u8 MoveMenuCursor(s8 cursorDelta); +u8 MoveMenuCursorNoWrapAround(s8 cursorDelta); void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); u8 sub_81979C4(u8 a1); u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index d3beb88ab..d36f4b358 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -72,14 +72,21 @@ struct PokemonStorageSystemData u8 unk_0005; struct UnkStruct_2000020 unk_0020; struct UnkStruct_2000028 unk_0028[8]; - u8 unk_90[567]; + u16 field_90[16]; + u16 field_B0[528 / 2]; + u16 field_2C0; + u16 field_2C2; + u8 field_2C4; + u8 field_2C5; + u8 showPartyMenuState; u8 unk_02C7; u8 unk_02C8; - u8 unk_02C9; + bool8 unk_02C9; s16 newCurrBoxId; u16 bg2_X; u8 field_2CE; - u8 field_2CF[1215]; + u8 field_2CF[1213]; + u16 field_78C; s16 wallpaperSetId; s16 wallpaperId; u8 wallpaperTilemap[180 * 4]; @@ -90,8 +97,13 @@ struct PokemonStorageSystemData u8 field_A66; u8 field_A67; u8 *wallpaperTilemapPtr; - u8 field_A6C; - u8 field_A6D[623]; + struct Sprite *field_A6C; + struct Sprite *partySprites[PARTY_SIZE]; + struct Sprite *boxMonsSprites[IN_BOX_COUNT]; + u8 field_B00[8]; + u16 field_B08[40]; + u16 field_B58[40]; + u8 field_BA8[308]; u32 *field_CDC; u32 cursorMonPersonality; u16 cursorMonSpecies; @@ -101,17 +113,7 @@ struct PokemonStorageSystemData u8 field_CEB; u8 field_CEC; u8 field_CED; - u8 field_CEE; - u8 field_CEF; - u8 field_CF0; - u8 field_CF1; - u8 field_CF2; - u8 field_CF3; - u8 field_CF4; - u8 field_CF5; - u8 field_CF6; - u8 field_CF7; - u8 field_CF8; + u8 field_CEE[POKEMON_NAME_LENGTH + 1]; u8 cursorMonNick[36]; u8 cursorMonSpeciesName[36]; u8 cursorMonGenderLvlText[36]; @@ -132,7 +134,10 @@ struct PokemonStorageSystemData u8 field_2187; u8 field_2188; struct BoxPokemon *field_218C; - u8 field_2190[164]; + u8 field_2190[80]; + u8 field_21E0[POKEMON_NAME_LENGTH + 1]; + u8 field_21EB[15]; // TODO: ITEM NAME LENGTH + 1 + u8 field_21FA[58]; u16 movingItem; u8 field_2236; u8 field_2237; -- cgit v1.2.3 From 2265d49ac2e8868e0b3362f8e7a4d22355eed202 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 12 Dec 2018 22:55:39 -0500 Subject: decompiled up to sub_81B5A8C --- include/easy_chat.h | 3 +++ include/fldeff_softboiled.h | 1 + include/item_menu.h | 1 + include/link_rfu.h | 1 + include/pokemon_icon.h | 2 ++ include/region_map.h | 1 + include/rom_8011DC0.h | 4 ++++ include/strings.h | 16 ++++++++++++++++ include/trade.h | 5 +++++ 9 files changed, 34 insertions(+) (limited to 'include') diff --git a/include/easy_chat.h b/include/easy_chat.h index 541fa6c1b..23fd9ed83 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -1,6 +1,8 @@ #ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H +#include "main.h" + void InitEasyChatPhrases(void); void easy_chat_input_maybe(void); u8 * CopyEasyChatWord(u8 *dest, u16 word); @@ -12,5 +14,6 @@ u16 sub_811EE38(u16 group); u16 sub_811F01C(void); bool16 EasyChat_GetNumWordsInGroup(u8); u16 sub_811EE90(u16); +void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam); #endif // GUARD_EASYCHAT_H diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h index 8579c6cfe..abb3c7913 100755 --- a/include/fldeff_softboiled.h +++ b/include/fldeff_softboiled.h @@ -2,5 +2,6 @@ #define GUARD_FLDEFF_SOFTBOILED_H void sub_81615A8(u8 taskId); +void sub_8161560(u8 taskId); #endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/item_menu.h b/include/item_menu.h index 649eb934c..6214c69fc 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -60,5 +60,6 @@ void CB2_BagMenuFromStartMenu(void); u8 sub_81ABB2C(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); +void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); #endif //GUARD_item_menu_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 426565e56..e394e2611 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -2,6 +2,7 @@ #define GUARD_LINK_RFU_H #include "librfu.h" +#include "link.h" // Exported type declarations diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index f1c8a3e61..17c7d5573 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -16,5 +16,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); +void sub_80D3014(struct Sprite *sprite); +void sub_80D32C8(struct Sprite *sprite, u8 animNum); #endif // GUARD_POKEMON_ICON_H diff --git a/include/region_map.h b/include/region_map.h index 0c82232cf..ed1c1a201 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -107,6 +107,7 @@ u8 *sub_8124610(u8 *dest, u16 mapSecId); u16 CorrectSpecialMapSecId(u16 mapSecId); void sub_8122D88(struct RegionMap *regionMap); void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y); +void MCB2_FlyMap(void); extern const struct RegionMapLocation gRegionMapEntries[]; diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index 1aa663bc7..c1bdbdf34 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -5,6 +5,10 @@ // Exported RAM declarations +extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; +extern u16 gUnknown_02022C3C; +extern u8 gUnknown_02022C3E; + // Exported ROM declarations void sub_8018438(void); diff --git a/include/strings.h b/include/strings.h index 0ec3526ea..f46554cc5 100644 --- a/include/strings.h +++ b/include/strings.h @@ -407,6 +407,22 @@ extern const u8 gText_SwitchedPkmnItem[]; extern const u8 gText_BagFullCouldNotRemoveItem[]; extern const u8 gText_PkmnCantParticipate[]; extern const u8 gText_PkmnNotHolding[]; +extern const u8 gText_ThrowAwayItem[]; +extern const u8 gText_ItemThrownAway[]; +extern const u8 gText_SendMailToPC[]; +extern const u8 gText_MailSentToPC[]; +extern const u8 gText_PCMailboxFull[]; +extern const u8 gText_MailMessageWillBeLost[]; +extern const u8 gText_MailTakenFromPkmn[]; +extern const u8 gText_NoMoreThanVar1Pkmn[]; +extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_EggCantBeTradedNow[]; +extern const u8 gText_OnlyPkmnForBattle[]; +extern const u8 gJPText_PutVar1IntoSpinner[]; +extern const u8 gText_PauseUntilPress[]; +extern const u8 gText_CantUseUntilNewBadge[]; +extern const u8 gText_ReturnToHealingSpot[]; +extern const u8 gText_EscapeFromHere[]; //pokedex text extern const u8 gText_CryOf[]; diff --git a/include/trade.h b/include/trade.h index af4da0015..e3c18bffd 100644 --- a/include/trade.h +++ b/include/trade.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRADE_H #define GUARD_TRADE_H +#include "link_rfu.h" + // Exported type declarations // Exported RAM declarations @@ -10,5 +12,8 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); +int sub_807A8D0(u32 /* probably wrong */, u16, u16, u8); +int sub_807A7E0(u32 /* probably wrong */, u32 /* probably wrong */, u16, u16, u16, u16, u8); +int sub_807A918(struct Pokemon*, u16); #endif //GUARD_TRADE_H -- cgit v1.2.3 From f1421d94c384c1bd76304fcb961ca28d7f0e7e20 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 15 Dec 2018 23:58:47 +0100 Subject: Up to sub 0x80ce580 --- include/constants/maps.h | 1 + include/global.h | 6 +-- include/graphics.h | 9 ++++ include/menu.h | 6 +-- include/pokemon.h | 6 +-- include/pokemon_icon.h | 3 ++ include/pokemon_storage_system.h | 113 +++++++++++++++++++++++++++++++++------ include/text.h | 2 +- 8 files changed, 121 insertions(+), 25 deletions(-) (limited to 'include') diff --git a/include/constants/maps.h b/include/constants/maps.h index bcb778422..c65f373af 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -587,6 +587,7 @@ // Map Group 33 #define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8)) +#define MAP_GROUPS_COUNT 34 #define MAP_NONE (0x7F | (0x7F << 8)) #define MAP_UNDEFINED (0xFF | (0xFF << 8)) diff --git a/include/global.h b/include/global.h index cc8df049f..c976abd2d 100644 --- a/include/global.h +++ b/include/global.h @@ -858,15 +858,15 @@ typedef union // 3b58 struct WaldaPhrase { - u16 field_0; - u16 field_2; + u16 colors[2]; // Background, foreground. u8 text[16]; u8 iconId; u8 patternId; bool8 patternUnlocked; }; -struct UnkSaveSubstruct_3b98 { +struct UnkSaveSubstruct_3b98 +{ u32 trainerId; u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; diff --git a/include/graphics.h b/include/graphics.h index 658239f5c..bfb57ccb9 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4743,6 +4743,15 @@ extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; // Pokemon Storage System extern const u32 gPSSMenu_Gfx[]; extern const u16 gPSSMenu_Pal[]; +extern const u32 gWallpaperIcon_Plusle[]; +extern const u32 gWallpaperIcon_Cross[]; +extern const u32 gWallpaperIcon_Bolt[]; extern const u32 gUnknown_08DD36C8[]; +extern const u32 gWallpaperTiles_Ribbon[]; +extern const u32 gWallpaperTilemap_Ribbon[]; +extern const u16 gWallpaperPalettes_Ribbon[][16]; +extern const u32 gWallpaperTiles_Horizontal[]; +extern const u32 gWallpaperTilemap_Horizontal[]; +extern const u16 gWallpaperPalettes_Horizontal[][16]; #endif //GUARD_GRAPHICS_H diff --git a/include/menu.h b/include/menu.h index e7a78f76e..f9b7c52df 100644 --- a/include/menu.h +++ b/include/menu.h @@ -48,11 +48,11 @@ s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); -void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); +void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); -void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode); +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrapClearOnChoose(void); s8 ProcessMenuInput_other(void); void do_scheduled_bg_tilemap_copies_to_vram(void); @@ -62,7 +62,7 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3); void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); void sub_8197DF8(u8 windowId, bool8 copyToVram); u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16); -void *malloc_and_decompress(const void *src, int *sizeOut); +void *malloc_and_decompress(const void *src, u32 *sizeOut); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); diff --git a/include/pokemon.h b/include/pokemon.h index 5d7f7f2ae..8807168ef 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -8,9 +8,9 @@ #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 #define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_BIT1 4 -#define MON_DATA_SANITY_BIT2 5 -#define MON_DATA_SANITY_BIT3 6 +#define MON_DATA_SANITY_IS_BAD_EGG 4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG 6 #define MON_DATA_OT_NAME 7 #define MON_DATA_MARKINGS 8 #define MON_DATA_CHECKSUM 9 diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index f1c8a3e61..5a18109f2 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -1,9 +1,12 @@ #ifndef GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H +extern const u8 gMonIconPaletteIndices[]; + const u8 *GetMonIconTiles(u16 species, bool32); const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); +u16 GetIconSpecies(u16 species, u32 personality); u16 GetUnownLetterByPersonality(u32 personality); u16 sub_80D2E84(u16 speciesId); void LoadMonIconPalettes(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index d36f4b358..e9b3302c0 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -2,7 +2,9 @@ #define GUARD_POKEMON_STORAGE_SYSTEM_H #define TOTAL_BOXES_COUNT 14 -#define IN_BOX_COUNT 30 +#define IN_BOX_ROWS 6 +#define IN_BOX_COLUMS 5 +#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS) #include "pc_screen_effect.h" #include "mon_markings.h" @@ -69,7 +71,6 @@ struct PokemonStorageSystemData u8 screenChangeType; bool8 isReshowingPSS; u8 taskId; - u8 unk_0005; struct UnkStruct_2000020 unk_0020; struct UnkStruct_2000028 unk_0028[8]; u16 field_90[16]; @@ -84,26 +85,86 @@ struct PokemonStorageSystemData bool8 unk_02C9; s16 newCurrBoxId; u16 bg2_X; - u8 field_2CE; - u8 field_2CF[1213]; + s16 field_2CE; + u16 field_2D0; + u8 field_2D2; + u8 field_2D3; + u8 field_2D4; + u8 field_2D5; + u16 field_2D6; + s16 field_2D8; + u16 field_2DA; + u16 field_2DC; + u16 field_2DE; + u16 field_2E0; + u8 field_2E2; + u8 field_2E3; + u8 field_2E4[20]; + u8 field_2F8[1024]; + u8 field_6F8; + u8 field_6F9; + u8 field_6FA; + s8 field_6FB; + u16 field_6FC[16]; + u16 field_71C; + u16 field_71E; + struct Sprite *field_720[2]; + struct Sprite *field_728[2]; + struct Sprite *field_730[2]; + u32 field_738; + u8 field_73C[80]; u16 field_78C; s16 wallpaperSetId; s16 wallpaperId; - u8 wallpaperTilemap[180 * 4]; + u16 field_792[360]; u8 wallpaperChangeState; u8 field_A63; u8 field_A64; - u8 field_A65; + s8 field_A65; u8 field_A66; u8 field_A67; - u8 *wallpaperTilemapPtr; + u8 *wallpaperTiles; struct Sprite *field_A6C; struct Sprite *partySprites[PARTY_SIZE]; struct Sprite *boxMonsSprites[IN_BOX_COUNT]; - u8 field_B00[8]; + struct Sprite **field_B00; + struct Sprite **field_B04; u16 field_B08[40]; u16 field_B58[40]; - u8 field_BA8[308]; + u16 boxSpecies[IN_BOX_COUNT]; + u32 boxPersonalities[IN_BOX_COUNT]; + u8 field_C5C; + u8 field_C5D; + u8 field_C5E; + u8 field_C5F; + u16 field_C60; + s16 field_C62; + s16 field_C64; + u16 field_C66; + u8 field_C68; + s8 field_C69; + u8 field_C6A; + u8 field_C6B; + u8 field_C6C[72]; + struct Sprite *field_CB4; + struct Sprite *field_CB8; + s32 field_CBC; + s32 field_CC0; + u32 field_CC4; + u32 field_CC8; + s16 field_CCC; + s16 field_CCE; + u16 field_CD0; + s8 field_CD2; + s8 field_CD3; + u8 field_CD4; + u8 field_CD5; + u8 field_CD6; + u8 field_CD7; + u8 field_CD8; + u8 field_CD9; + u8 field_CDA; + u8 field_CDB; u32 *field_CDC; u32 cursorMonPersonality; u16 cursorMonSpecies; @@ -117,13 +178,26 @@ struct PokemonStorageSystemData u8 cursorMonNick[36]; u8 cursorMonSpeciesName[36]; u8 cursorMonGenderLvlText[36]; - u8 cursorMonItemName[47]; + u8 cursorMonItemName[36]; + bool8 (*monPlaceChangeFunc)(void); + u8 monPlaceChangeState; + u8 field_D91; struct Sprite *field_D94; struct Sprite *field_D98[2]; u16 *field_DA0; struct PokemonMarkMenu field_DA4; struct UnkPSSStruct_2002370 field_1E5C; - u8 field_20A4[220]; + struct Pokemon field_20A4; + struct Pokemon field_2108; + s8 field_216C; + u8 field_216D; + s8 field_216E; + s8 field_216F; + s8 field_2170; + s8 field_2171; + u16 field_2172; + u16 field_2174; + u16 field_2176[5]; u8 field_2180; u8 field_2181; u8 field_2182; @@ -134,10 +208,18 @@ struct PokemonStorageSystemData u8 field_2187; u8 field_2188; struct BoxPokemon *field_218C; - u8 field_2190[80]; + u8 field_2190[40]; + u8 field_21B8[40]; u8 field_21E0[POKEMON_NAME_LENGTH + 1]; u8 field_21EB[15]; // TODO: ITEM NAME LENGTH + 1 - u8 field_21FA[58]; + u8 field_21FA; + u8 field_21FB; + u8 field_21FC; + u8 field_21FD; + u8 field_21FE; + u8 field_21FF; + u8 field_2200; + u8 field_2201[51]; u16 movingItem; u8 field_2236; u8 field_2237; @@ -149,7 +231,8 @@ struct PokemonStorageSystemData u16 field_2244[16]; u8 field_2264[96]; u8 field_22C4[0x800]; - u8 field_2AC4[12288]; + u8 field_2AC4[8192]; + u8 field_4AC4[0x1000]; u8 field_5AC4[0x800]; }; @@ -160,7 +243,7 @@ u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); void CompactPartySlots(void); -u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); diff --git a/include/text.h b/include/text.h index 69cbb87ed..d9c7a9a2e 100644 --- a/include/text.h +++ b/include/text.h @@ -258,7 +258,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c u16 RenderText(struct TextPrinter *textPrinter); u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str); u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); u8 GetKeypadIconTileOffset(u8 keypadIconId); -- cgit v1.2.3 From aae36b5653537a063560dc2c7df261cc7b950a4c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 16 Dec 2018 21:10:01 +0100 Subject: 6k left --- include/menu.h | 6 +++--- include/pokemon_storage_system.h | 43 +++++++++++++++++++++++++--------------- include/pokemon_summary_screen.h | 2 ++ include/strings.h | 39 ++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 19 deletions(-) (limited to 'include') diff --git a/include/menu.h b/include/menu.h index f9b7c52df..198e7bd4a 100644 --- a/include/menu.h +++ b/include/menu.h @@ -43,7 +43,7 @@ void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palet void schedule_bg_copy_tilemap_to_vram(u8 bgNum); void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos); -u8 GetMenuCursorPos(void); +u8 Menu_GetCursorPos(void); s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); @@ -71,8 +71,8 @@ u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); -u8 MoveMenuCursor(s8 cursorDelta); -u8 MoveMenuCursorNoWrapAround(s8 cursorDelta); +u8 Menu_MoveCursor(s8 cursorDelta); +u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); u8 sub_81979C4(u8 a1); u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index e9b3302c0..530fb7042 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -21,7 +21,7 @@ struct StorageAction u8 format; }; -struct StorageText +struct StorageMenu { const u8 *text; int textId; @@ -124,7 +124,7 @@ struct PokemonStorageSystemData u8 field_A66; u8 field_A67; u8 *wallpaperTiles; - struct Sprite *field_A6C; + struct Sprite *movingMonSprite; struct Sprite *partySprites[PARTY_SIZE]; struct Sprite *boxMonsSprites[IN_BOX_COUNT]; struct Sprite **field_B00; @@ -145,7 +145,15 @@ struct PokemonStorageSystemData s8 field_C69; u8 field_C6A; u8 field_C6B; - u8 field_C6C[72]; + struct WindowTemplate menuWindow; + struct StorageMenu menuItems[7]; + u8 menuItemsCount; + u8 menuWidth; + u8 field_CAE; + u8 field_CAF; + u16 field_CB0; + u8 field_CB2; + u8 field_CB3; struct Sprite *field_CB4; struct Sprite *field_CB8; s32 field_CBC; @@ -161,21 +169,20 @@ struct PokemonStorageSystemData u8 field_CD5; u8 field_CD6; u8 field_CD7; - u8 field_CD8; - u8 field_CD9; + u8 field_CD8[2]; u8 field_CDA; u8 field_CDB; - u32 *field_CDC; + const u32 *cursorMonPalette; u32 cursorMonPersonality; u16 cursorMonSpecies; - u16 selectedItem; + u16 cursorMonItem; u16 field_CE8; u8 field_CEA; - u8 field_CEB; - u8 field_CEC; - u8 field_CED; - u8 field_CEE[POKEMON_NAME_LENGTH + 1]; - u8 cursorMonNick[36]; + u8 cursorMonMarkings; + u8 cursorMonLevel; + bool8 cursorMonIsEgg; + u8 cursorMonNick[POKEMON_NAME_LENGTH + 1]; + u8 cursorMonNickText[36]; u8 cursorMonSpeciesName[36]; u8 cursorMonGenderLvlText[36]; u8 cursorMonItemName[36]; @@ -187,7 +194,7 @@ struct PokemonStorageSystemData u16 *field_DA0; struct PokemonMarkMenu field_DA4; struct UnkPSSStruct_2002370 field_1E5C; - struct Pokemon field_20A4; + struct Pokemon movingMon; struct Pokemon field_2108; s8 field_216C; u8 field_216D; @@ -207,7 +214,11 @@ struct PokemonStorageSystemData u8 field_2186; u8 field_2187; u8 field_2188; - struct BoxPokemon *field_218C; + union + { + struct Pokemon *mon; + struct BoxPokemon *box; + } field_218C; u8 field_2190[40]; u8 field_21B8[40]; u8 field_21E0[POKEMON_NAME_LENGTH + 1]; @@ -217,7 +228,7 @@ struct PokemonStorageSystemData u8 field_21FC; u8 field_21FD; u8 field_21FE; - u8 field_21FF; + u8 inBoxMovingMode; u8 field_2200; u8 field_2201[51]; u16 movingItem; @@ -242,7 +253,7 @@ extern struct PokemonStorageSystemData *gUnknown_02039D08; u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); -void CompactPartySlots(void); +s16 CompactPartySlots(void); u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index d0926d388..c08c581c3 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_SUMMARY_SCREEN_H #define GUARD_POKEMON_SUMMARY_SCREEN_H +extern u8 gUnknown_0203CF20; + void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); diff --git a/include/strings.h b/include/strings.h index 744859c3e..1557baa6b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1434,5 +1434,44 @@ extern const u8 gText_PutItemInBag[]; extern const u8 gText_ItemIsNowHeld[]; extern const u8 gText_ChangedToNewItem[]; extern const u8 gText_MailCantBeStored[]; +extern const u8 gPCText_Cancel[]; +extern const u8 gPCText_Store[]; +extern const u8 gPCText_Withdraw[]; +extern const u8 gPCText_Move[]; +extern const u8 gPCText_Shift[]; +extern const u8 gPCText_Place[]; +extern const u8 gPCText_Summary[]; +extern const u8 gPCText_Release[]; +extern const u8 gPCText_Mark[]; +extern const u8 gPCText_Jump[]; +extern const u8 gPCText_Wallpaper[]; +extern const u8 gPCText_Name[]; +extern const u8 gPCText_Take[]; +extern const u8 gPCText_Give[]; +extern const u8 gPCText_Give[]; +extern const u8 gPCText_Switch[]; +extern const u8 gPCText_Bag[]; +extern const u8 gPCText_Info[]; +extern const u8 gPCText_Scenery1[]; +extern const u8 gPCText_Scenery2[]; +extern const u8 gPCText_Scenery3[]; +extern const u8 gPCText_Etcetera[]; +extern const u8 gPCText_Friends[]; +extern const u8 gPCText_Forest[]; +extern const u8 gPCText_City[]; +extern const u8 gPCText_Desert[]; +extern const u8 gPCText_Savanna[]; +extern const u8 gPCText_Crag[]; +extern const u8 gPCText_Volcano[]; +extern const u8 gPCText_Snow[]; +extern const u8 gPCText_Cave[]; +extern const u8 gPCText_Beach[]; +extern const u8 gPCText_Seafloor[]; +extern const u8 gPCText_River[]; +extern const u8 gPCText_Sky[]; +extern const u8 gPCText_PolkaDot[]; +extern const u8 gPCText_Pokecenter[]; +extern const u8 gPCText_Machine[]; +extern const u8 gPCText_Simple[]; #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 71a7a8a0759373a8dafcccee82fa2d37cb285b85 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Mon, 17 Dec 2018 02:39:17 -0500 Subject: decompiled up to sub_81B8A7C --- include/party_menu.h | 3 ++- include/player_pc.h | 1 + include/pokemon_summary_screen.h | 1 + include/pokenav.h | 2 ++ include/strings.h | 39 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 45 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/party_menu.h b/include/party_menu.h index 147a53304..8b5423bb7 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -35,8 +35,9 @@ struct Struct203CEC8 { s8 unk9; s8 unkA; u8 unkB; - u8 unkD; + u16 unkC; s16 unkE; + s16 unk10; }; extern struct Struct203CEC8 gUnknown_0203CEC8; diff --git a/include/player_pc.h b/include/player_pc.h index bd060faa8..5a0b83683 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -84,5 +84,6 @@ extern const struct MenuAction gMailboxMailOptions[]; void ReshowPlayerPC(u8 taskId); void sub_816B31C(void); +void Mailbox_ReturnToMailListAfterDeposit(void); #endif //GUARD_PLAYER_PC_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 5dc37c70d..926e5ff53 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -4,6 +4,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); +u8 sub_81C1B94(void); // The Pokemon Summary Screen can operate in different modes. Certain features, // such as move re-ordering, are available in the different modes. diff --git a/include/pokenav.h b/include/pokenav.h index 1fde8aa44..d8f0c9f97 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -36,5 +36,7 @@ u8 GetCurrentTrainerHillMapId(void); u8 sub_81D6490(void); const struct WarpEvent *sub_81D6120(void); const struct WarpEvent *sub_81D6134(u8); +void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); #endif //GUARD_POKENAV_H diff --git a/include/strings.h b/include/strings.h index f1f0e74ba..37a721471 100644 --- a/include/strings.h +++ b/include/strings.h @@ -423,6 +423,45 @@ extern const u8 gText_PauseUntilPress[]; extern const u8 gText_CantUseUntilNewBadge[]; extern const u8 gText_ReturnToHealingSpot[]; extern const u8 gText_EscapeFromHere[]; +extern const u8 gText_PkmnCuredOfPoison[]; +extern const u8 gText_PkmnWokeUp2[]; +extern const u8 gText_PkmnBurnHealed[]; +extern const u8 gText_PkmnThawedOut[]; +extern const u8 gText_PkmnCuredOfParalysis[]; +extern const u8 gText_PkmnGotOverInfatuation[]; +extern const u8 gText_PkmnBecameHealthy[]; +extern const u8 gText_HP3[]; +extern const u8 gText_SpAtk3[]; +extern const u8 gText_SpDef3[]; +extern const u8 gText_PkmnBaseVar2StatIncreased[]; +extern const u8 gText_MovesPPIncreased[]; +extern const u8 gText_PPWasRestored[]; +extern const u8 gText_WontHaveEffect[]; +extern const u8 gText_PkmnSnappedOutOfConfusion[]; +extern const u8 gText_PkmnFriendlyBaseVar2Fell[]; +extern const u8 gText_PkmnFriendlyBaseVar2CantFall[]; +extern const u8 gText_PkmnAdoresBaseVar2Fell[]; +extern const u8 gText_PkmnAlreadyKnows[]; +extern const u8 gText_PkmnCantLearnMove[]; +extern const u8 gText_PkmnNeedsToReplaceMove[]; +extern const u8 gText_PkmnLearnedMove3[]; +extern const u8 gText_WhichMoveToForget[]; +extern const u8 gText_12PoofForgotMove[]; +extern const u8 gText_StopLearningMove2[]; +extern const u8 gText_MoveNotLearned[]; +extern const u8 gText_PkmnElevatedToLvVar2[]; +extern const u8 gText_RemoveMailBeforeItem[]; +extern const u8 gText_PkmnHoldingItemCantHoldMail[]; +extern const u8 gText_MailTransferredFromMailbox[]; +extern const u8 gText_CancelBattle[]; +extern const u8 gText_ReturnToWaitingRoom[]; +extern const u8 gText_CancelChallenge[]; +extern const u8 gText_CantSwitchWithAlly[]; +extern const u8 gText_PkmnHasNoEnergy[]; +extern const u8 gText_EggCantBattle[]; +extern const u8 gText_PkmnAlreadySelected[]; +extern const u8 gText_PkmnAlreadyInBattle[]; +extern const u8 gText_PkmnCantSwitchOut[]; //pokedex text extern const u8 gText_CryOf[]; -- cgit v1.2.3 From 9ffd0c73829e5a0aded23518887007da9c3fc44c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 17 Dec 2018 23:00:08 +0100 Subject: 3.5 asm left --- include/bg.h | 10 +++++----- include/blit.h | 2 +- include/decompress.h | 12 ++++++------ include/pokemon_icon.h | 1 + include/pokemon_storage_system.h | 14 ++++++++++++-- include/window.h | 6 +++--- 6 files changed, 28 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/bg.h b/include/bg.h index a10abaa8d..ffcaf43ed 100644 --- a/include/bg.h +++ b/include/bg.h @@ -56,11 +56,11 @@ void ShowBg(u8 bg); void HideBg(u8 bg); void SetBgAttribute(u8 bg, u8 attributeId, u8 value); u16 GetBgAttribute(u8 bg, u8 attributeId); -u32 ChangeBgX(u8 bg, u32 value, u8 op); -u32 GetBgX(u8 bg); -u32 ChangeBgY(u8 bg, u32 value, u8 op); -u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); -u32 GetBgY(u8 bg); +s32 ChangeBgX(u8 bg, s32 value, u8 op); +s32 GetBgX(u8 bg); +s32 ChangeBgY(u8 bg, s32 value, u8 op); +s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); +s32 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); void SetBgTilemapBuffer(u8 bg, void *tilemap); diff --git a/include/blit.h b/include/blit.h index 2fe99d7bd..b6c80b497 100644 --- a/include/blit.h +++ b/include/blit.h @@ -3,7 +3,7 @@ struct Bitmap { - u8* pixels; + const u8 *pixels; u32 width:16; u32 height:16; }; diff --git a/include/decompress.h b/include/decompress.h index 853230aea..02412defb 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -8,13 +8,13 @@ extern u8 gDecompressionBuffer[0x4000]; void LZDecompressWram(const u32 *src, void *dest); void LZDecompressVram(const u32 *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); +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); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 5a18109f2..8da0c5958 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -4,6 +4,7 @@ extern const u8 gMonIconPaletteIndices[]; const u8 *GetMonIconTiles(u16 species, bool32); +u8 GetValidMonIconPalIndex(u16 species); const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); u16 GetIconSpecies(u16 species, u32 personality); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 530fb7042..9b880b2c9 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -64,6 +64,16 @@ struct UnkPSSStruct_2002370 u8 unk_0246; }; +struct UnkStorageStruct +{ + struct Sprite *sprite; + u8 *tiles; + u16 palIndex; + u8 unk8; + u8 unk9; + u8 unk10; +}; + struct PokemonStorageSystemData { u8 state; @@ -229,8 +239,8 @@ struct PokemonStorageSystemData u8 field_21FD; u8 field_21FE; u8 inBoxMovingMode; - u8 field_2200; - u8 field_2201[51]; + u16 field_2200; + struct UnkStorageStruct field_2204[3]; u16 movingItem; u8 field_2236; u8 field_2237; diff --git a/include/window.h b/include/window.h index 692ca1d81..25573ac3e 100644 --- a/include/window.h +++ b/include/window.h @@ -61,10 +61,10 @@ void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue); void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)); bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value); u32 GetWindowAttribute(u8 windowId, u8 attributeId); -u16 AddWindow8Bit(struct WindowTemplate *template); -u16 AddWindow8Bit(struct WindowTemplate *template); +u16 AddWindow8Bit(const struct WindowTemplate *template); +void FillWindowPixelBuffer8Bit(u8 windowId, u8 fillValue); void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); -void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum); +void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum); void CopyWindowToVram8Bit(u8 windowId, u8 mode); extern struct Window gWindows[]; -- cgit v1.2.3 From 8781d969ff0a702b21ed00529bf13baa4dd9bf6d Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Tue, 18 Dec 2018 05:38:08 -0500 Subject: finish party_menu --- include/party_menu.h | 4 ++-- include/pokemon_storage_system.h | 1 + include/pokemon_summary_screen.h | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/party_menu.h b/include/party_menu.h index 8b5423bb7..27a043cb6 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -27,10 +27,10 @@ enum }; struct Struct203CEC8 { - MainCallback unk0; + MainCallback exitCallback; TaskFunc unk4; u8 unk8_0:4; - u8 unk8_1:2; + u8 mode:2; u8 unk8_2:2; s8 unk9; s8 unkA; diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9b5358f06..7f618498b 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -84,5 +84,6 @@ u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); +bool32 sub_80D23A8(u16 move); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 926e5ff53..63d740949 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_SUMMARY_SCREEN_H #define GUARD_POKEMON_SUMMARY_SCREEN_H +extern u8 gUnknown_0203CF20; + void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); -- cgit v1.2.3 From cd785011fe66d3c7c0c7348de78e496ee5e407c8 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 19 Dec 2018 10:31:37 -0500 Subject: decompiled water --- include/battle_anim.h | 3 +++ include/graphics.h | 7 +++++++ 2 files changed, 10 insertions(+) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index b25822992..5b62e594b 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -183,6 +183,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId); #define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +// ground.c +void sub_81152DC(u8 taskId); + // battle_anim_8170478.s u8 ItemIdToBallId(u16 itemId); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); diff --git a/include/graphics.h b/include/graphics.h index 48e4532ac..4f7a71b49 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4736,6 +4736,13 @@ extern const u32 gUnknown_08C16FA8[]; extern const u32 gUnknown_08C16E90[]; extern const u32 gUnknown_08C17170[]; +extern const u32 gUnknown_08D95E00[]; +extern const u32 gUnknown_08D960D0[]; +extern const u32 gUnknown_08D963A4[]; +extern const u32 gBattleAnimBackgroundImage_Surf[]; +extern const u32 gBattleAnimBackgroundPalette_Surf[]; +extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; + // Berry blender extern const u32 gBerryBlenderArrowTiles[]; extern const u32 gBerryBlenderStartTiles[]; -- cgit v1.2.3 From 5e6ceeb631f038556da9daa24bcb2ccd5bcfa368 Mon Sep 17 00:00:00 2001 From: Melody Date: Wed, 19 Dec 2018 14:08:01 -0500 Subject: update applymovement to remove magic numbers --- include/constants/event_objects.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 4967c814d..7a97c4caf 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -260,4 +260,7 @@ #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define EVENT_OBJ_ID_PLAYER 0xFF +#define EVENT_OBJ_ID_CAMERA 0x7F + #endif // GUARD_CONSTANTS_EVENT_OBJECTS_H -- cgit v1.2.3 From 128239d65edefc9d290a642c269adcc5b859a6f4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 19 Dec 2018 22:47:27 +0100 Subject: Almost there --- include/pokemon.h | 9 -- include/pokemon_storage_system.h | 305 +++++++-------------------------------- 2 files changed, 49 insertions(+), 265 deletions(-) (limited to 'include') diff --git a/include/pokemon.h b/include/pokemon.h index 8807168ef..4f30e92ab 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -251,14 +251,6 @@ struct Pokemon u16 spDefense; }; -struct PokemonStorage -{ - /*0x0000*/ u8 currentBox; - /*0x0001*/ struct BoxPokemon boxes[14][30]; - /*0x8344*/ u8 boxNames[14][9]; - /*0x83C2*/ u8 boxWallpapers[14]; -}; - struct Unknown_806F160_Struct { u8 field_0_0:4; @@ -430,7 +422,6 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern struct SpriteTemplate gMultiuseSpriteTemplate; -extern struct PokemonStorage* gPokemonStoragePtr; extern const struct BattleMove gBattleMoves[]; extern const u8 gFacilityClassToPicIndex[]; diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9b880b2c9..4f882ddaf 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -6,267 +6,60 @@ #define IN_BOX_COLUMS 5 #define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS) -#include "pc_screen_effect.h" -#include "mon_markings.h" - -struct PokemonStorageSystemFunc -{ - u8 (*func)(void); - s8 unk4; -}; - -struct StorageAction -{ - const u8 *text; - u8 format; -}; - -struct StorageMenu +struct PokemonStorage { - const u8 *text; - int textId; + /*0x0000*/ u8 currentBox; + /*0x0001*/ struct BoxPokemon boxes[TOTAL_BOXES_COUNT][IN_BOX_COUNT]; + /*0x8344*/ u8 boxNames[TOTAL_BOXES_COUNT][9]; + /*0x83C2*/ u8 boxWallpapers[TOTAL_BOXES_COUNT]; }; -struct PSS_MenuStringPtrs -{ - const u8 *text; - const u8 *desc; -}; +extern struct PokemonStorage* gPokemonStoragePtr; -struct UnkStruct_2000028 -{ - const u8 *unk_00; - u8 *unk_04; - u16 unk_08; - u16 unk_0a; - void (*unk_0c)(struct UnkStruct_2000028 *data); -}; - -struct UnkStruct_2000020 -{ - struct UnkStruct_2000028 *unk_00; - u8 unk_04; - u8 unk_05; -}; - -struct UnkPSSStruct_2002370 -{ - struct Sprite *unk_0000; - struct Sprite *unk_0004[4]; - u32 unk_0014[3]; - struct Sprite *unk_0020[2]; - u8 filler_0028[0x214]; - u32 unk_023c; - u16 unk_0240; - u16 unk_0242; - u8 curBox; - u8 unk_0245; - u8 unk_0246; -}; - -struct UnkStorageStruct -{ - struct Sprite *sprite; - u8 *tiles; - u16 palIndex; - u8 unk8; - u8 unk9; - u8 unk10; -}; - -struct PokemonStorageSystemData -{ - u8 state; - u8 boxOption; - u8 screenChangeType; - bool8 isReshowingPSS; - u8 taskId; - struct UnkStruct_2000020 unk_0020; - struct UnkStruct_2000028 unk_0028[8]; - u16 field_90[16]; - u16 field_B0[528 / 2]; - u16 field_2C0; - u16 field_2C2; - u8 field_2C4; - u8 field_2C5; - u8 showPartyMenuState; - u8 unk_02C7; - u8 unk_02C8; - bool8 unk_02C9; - s16 newCurrBoxId; - u16 bg2_X; - s16 field_2CE; - u16 field_2D0; - u8 field_2D2; - u8 field_2D3; - u8 field_2D4; - u8 field_2D5; - u16 field_2D6; - s16 field_2D8; - u16 field_2DA; - u16 field_2DC; - u16 field_2DE; - u16 field_2E0; - u8 field_2E2; - u8 field_2E3; - u8 field_2E4[20]; - u8 field_2F8[1024]; - u8 field_6F8; - u8 field_6F9; - u8 field_6FA; - s8 field_6FB; - u16 field_6FC[16]; - u16 field_71C; - u16 field_71E; - struct Sprite *field_720[2]; - struct Sprite *field_728[2]; - struct Sprite *field_730[2]; - u32 field_738; - u8 field_73C[80]; - u16 field_78C; - s16 wallpaperSetId; - s16 wallpaperId; - u16 field_792[360]; - u8 wallpaperChangeState; - u8 field_A63; - u8 field_A64; - s8 field_A65; - u8 field_A66; - u8 field_A67; - u8 *wallpaperTiles; - struct Sprite *movingMonSprite; - struct Sprite *partySprites[PARTY_SIZE]; - struct Sprite *boxMonsSprites[IN_BOX_COUNT]; - struct Sprite **field_B00; - struct Sprite **field_B04; - u16 field_B08[40]; - u16 field_B58[40]; - u16 boxSpecies[IN_BOX_COUNT]; - u32 boxPersonalities[IN_BOX_COUNT]; - u8 field_C5C; - u8 field_C5D; - u8 field_C5E; - u8 field_C5F; - u16 field_C60; - s16 field_C62; - s16 field_C64; - u16 field_C66; - u8 field_C68; - s8 field_C69; - u8 field_C6A; - u8 field_C6B; - struct WindowTemplate menuWindow; - struct StorageMenu menuItems[7]; - u8 menuItemsCount; - u8 menuWidth; - u8 field_CAE; - u8 field_CAF; - u16 field_CB0; - u8 field_CB2; - u8 field_CB3; - struct Sprite *field_CB4; - struct Sprite *field_CB8; - s32 field_CBC; - s32 field_CC0; - u32 field_CC4; - u32 field_CC8; - s16 field_CCC; - s16 field_CCE; - u16 field_CD0; - s8 field_CD2; - s8 field_CD3; - u8 field_CD4; - u8 field_CD5; - u8 field_CD6; - u8 field_CD7; - u8 field_CD8[2]; - u8 field_CDA; - u8 field_CDB; - const u32 *cursorMonPalette; - u32 cursorMonPersonality; - u16 cursorMonSpecies; - u16 cursorMonItem; - u16 field_CE8; - u8 field_CEA; - u8 cursorMonMarkings; - u8 cursorMonLevel; - bool8 cursorMonIsEgg; - u8 cursorMonNick[POKEMON_NAME_LENGTH + 1]; - u8 cursorMonNickText[36]; - u8 cursorMonSpeciesName[36]; - u8 cursorMonGenderLvlText[36]; - u8 cursorMonItemName[36]; - bool8 (*monPlaceChangeFunc)(void); - u8 monPlaceChangeState; - u8 field_D91; - struct Sprite *field_D94; - struct Sprite *field_D98[2]; - u16 *field_DA0; - struct PokemonMarkMenu field_DA4; - struct UnkPSSStruct_2002370 field_1E5C; - struct Pokemon movingMon; - struct Pokemon field_2108; - s8 field_216C; - u8 field_216D; - s8 field_216E; - s8 field_216F; - s8 field_2170; - s8 field_2171; - u16 field_2172; - u16 field_2174; - u16 field_2176[5]; - u8 field_2180; - u8 field_2181; - u8 field_2182; - u8 field_2183; - u8 field_2184; - u8 field_2185; - u8 field_2186; - u8 field_2187; - u8 field_2188; - union - { - struct Pokemon *mon; - struct BoxPokemon *box; - } field_218C; - u8 field_2190[40]; - u8 field_21B8[40]; - u8 field_21E0[POKEMON_NAME_LENGTH + 1]; - u8 field_21EB[15]; // TODO: ITEM NAME LENGTH + 1 - u8 field_21FA; - u8 field_21FB; - u8 field_21FC; - u8 field_21FD; - u8 field_21FE; - u8 inBoxMovingMode; - u16 field_2200; - struct UnkStorageStruct field_2204[3]; - u16 movingItem; - u8 field_2236; - u8 field_2237; - u8 field_2238; - u8 field_2239; - u16 field_223A; - u16 *field_223C; - struct Sprite *cursorMonSprite; - u16 field_2244[16]; - u8 field_2264[96]; - u8 field_22C4[0x800]; - u8 field_2AC4[8192]; - u8 field_4AC4[0x1000]; - u8 field_5AC4[0x800]; -}; - -extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; -extern struct PokemonStorageSystemData *gUnknown_02039D08; - -u8* GetBoxNamePtr(u8 boxNumber); -struct BoxPokemon *GetBoxedMonPtr(u8, u8); -void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +u8 CountMonsInBox(u8 boxId); +s16 GetFirstFreeBoxSpot(u8 boxId); +u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); +u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void); +u8 CountPartyMons(void); +u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n); +void ShowPokemonStorageSystemPC(void); +void ResetPokemonStorageSystem(void); s16 CompactPartySlots(void); -u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, u32 request); -bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); -u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); +u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request); +void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value); +u32 GetCurrentBoxMonData(u8 boxPosition, s32 request); +void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value); +void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst); +u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition); +void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick); +u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst); +void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src); +void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst); +void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID); +void ZeroBoxMonAt(u8 boxId, u8 boxPosition); +void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst); +struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition); +u8 *GetBoxNamePtr(u8 boxId); +u8 GetBoxWallpaper(u8 boxId); +void SetBoxWallpaper(u8 boxId, u8 wallpaperId); +s16 sub_80D214C(struct BoxPokemon *boxMons, s8 currIndex, u8 maxIndex, u8 arg3); +bool8 CheckFreePokemonStorageSpace(void); +bool32 CheckBoxedMonSanity(u32 boxId, u32 boxPosition); +u32 CountStorageNonEggMons(void); +u32 CountAllStorageMons(void); +bool32 AnyStorageMonWithMove(u16 moveId); +void ResetWaldaWallpaper(void); +void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); +bool32 IsWaldaWallpaperUnlocked(void); +u32 GetWaldaWallpaperPatternId(void); +void SetWaldaWallpaperPatternId(u8 id); +u32 GetWaldaWallpaperIconId(void); +void SetWaldaWallpaperIconId(u8 id); +u16 *GetWaldaWallpaperColorsPtr(void); +void SetWaldaWallpaperColors(u16 color1, u16 color2); +u8 *GetWaldaPhrasePtr(void); +void SetWaldaPhrase(const u8 *src); +bool32 IsWaldaPhraseEmpty(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H -- cgit v1.2.3 From b7ce383a9673b9e4ddfdc8dc5b70248801dc7e20 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 19 Dec 2018 21:13:26 -0600 Subject: Document a bunch of battle anims --- include/battle_anim.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 5b62e594b..1c2093da9 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -75,14 +75,14 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_80A5C6C.s void sub_80A6450(struct Sprite *sprite); -void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y); +void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); -void TranslateAnimLinearSimple(struct Sprite *sprite); -void InitAnimSpritePos(struct Sprite *sprite, u8 a2); -void sub_80A6980(struct Sprite *sprite, bool8 a2); +void AnimTranslateLinearSimple(struct Sprite *sprite); +void InitSpritePosToAnimAttacker(struct Sprite *sprite, u8 a2); +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 a2); void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); -bool8 TranslateAnimLinear(struct Sprite *sprite); +bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); void sub_80A8EE4(struct Sprite *sprite); u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId); @@ -93,14 +93,14 @@ void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite); void sub_80A66DC(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); -void sub_80A6864(struct Sprite *sprite, s16 a2); +void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); s16 sub_80A861C(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); void sub_80A7938(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void sub_80A6F98(struct Sprite *sprite); -u8 sub_80A8328(u8 battlerId); +u8 GetBattlerSpriteBGPriority(u8 battlerId); void *LoadPointerFromVars(s16 bottom, s16 top); void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); void sub_80A8278(void); @@ -132,9 +132,9 @@ u8 sub_80A80C8(struct Task *task); void sub_80A8EE4(struct Sprite *); void sub_80A67F4(struct Sprite *); void sub_80A6D48(u32 bgId, const void *src); -void sub_80A7160(struct Sprite *sprite); -bool8 sub_80A70E8(struct Sprite *sprite); -void sub_80A70C0(struct Sprite *sprite); +void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite); +bool8 AnimFastTranslateLinear(struct Sprite *sprite); +void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); void TranslateMonBGUntil(struct Sprite *sprite); void TranslateSpriteOverDuration(struct Sprite *sprite); void sub_80A77C8(struct Sprite *sprite); @@ -166,7 +166,7 @@ void sub_80A6C68(u32 arg0); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 sub_80A6D94(void); -u8 sub_80A8364(u8 battlerId); +u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); -- cgit v1.2.3 From 5eac3ce1a2503a2d358033b7e0242c1ecd2b63e3 Mon Sep 17 00:00:00 2001 From: garak Date: Wed, 19 Dec 2018 22:19:54 -0500 Subject: rename fldeff_misc --- include/fldeff_80F9BCC.h | 24 ------------------------ include/fldeff_misc.h | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 24 deletions(-) delete mode 100644 include/fldeff_80F9BCC.h create mode 100644 include/fldeff_misc.h (limited to 'include') diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h deleted file mode 100644 index afa41b310..000000000 --- a/include/fldeff_80F9BCC.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef GUARD_FLDEFF_80F9BCC_H -#define GUARD_FLDEFF_80F9BCC_H - -void PopSecretBaseBalloon(s16 id, s16 x, s16 y); -void ShatterSecretBaseBreakableDoor(s16 x, s16 y); -u8 CreateRecordMixingSprite(void); -void DestroyRecordMixingSprite(void); -void FldeffPoison_Start(void); -void PlaySecretBaseMusicNoteMatSound(s16 metatileId); -void DoSecretBaseGlitterMatSparkle(void); -bool8 sub_80FADE4(u16, u8); - -extern struct MapPosition gPlayerFacingPosition; -extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; - -extern u8 EventScript_275A86[]; -extern u8 EventScript_275ADF[]; -extern u8 EventScript_275B38[]; - -extern const struct OamData gEventObjectBaseOam_32x8; - -extern const u16 gTilesetPalettes_SecretBase[][16]; - -#endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h new file mode 100644 index 000000000..954ecbb5c --- /dev/null +++ b/include/fldeff_misc.h @@ -0,0 +1,24 @@ +#ifndef GUARD_FLDEFF_MISC_H +#define GUARD_FLDEFF_MISC_H + +void PopSecretBaseBalloon(s16 id, s16 x, s16 y); +void ShatterSecretBaseBreakableDoor(s16 x, s16 y); +u8 CreateRecordMixingSprite(void); +void DestroyRecordMixingSprite(void); +void FldEffPoison_Start(void); +void PlaySecretBaseMusicNoteMatSound(s16 metatileId); +void DoSecretBaseGlitterMatSparkle(void); +bool8 sub_80FADE4(u16, u8); + +extern struct MapPosition gPlayerFacingPosition; +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; + +extern u8 EventScript_275A86[]; +extern u8 EventScript_275ADF[]; +extern u8 EventScript_275B38[]; + +extern const struct OamData gEventObjectBaseOam_32x8; + +extern const u16 gTilesetPalettes_SecretBase[][16]; + +#endif //GUARD_FLDEFF_MISC_H -- cgit v1.2.3 From 7dcb614cca6d61c5e51960826dddc004858ed9f1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 20 Dec 2018 22:14:36 +0100 Subject: PSS is done --- include/pokemon_icon.h | 1 + include/pokemon_storage_system.h | 9 +++++++++ include/strings.h | 3 +++ 3 files changed, 13 insertions(+) (limited to 'include') diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 8da0c5958..9d6e88685 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -4,6 +4,7 @@ extern const u8 gMonIconPaletteIndices[]; const u8 *GetMonIconTiles(u16 species, bool32); +void sub_80D304C(u16 offset); u8 GetValidMonIconPalIndex(u16 species); const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4f882ddaf..afc0516b6 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -6,6 +6,15 @@ #define IN_BOX_COLUMS 5 #define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS) +/* + ROWS +COLUMNS 0 1 2 3 4 5 + 6 7 8 9 10 11 + 12 13 14 15 16 17 + 18 19 20 21 22 23 + 24 25 26 27 28 29 +*/ + struct PokemonStorage { /*0x0000*/ u8 currentBox; diff --git a/include/strings.h b/include/strings.h index 1557baa6b..71392eb6a 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1473,5 +1473,8 @@ extern const u8 gPCText_PolkaDot[]; extern const u8 gPCText_Pokecenter[]; extern const u8 gPCText_Machine[]; extern const u8 gPCText_Simple[]; +extern const u8 gText_PartyFull[]; +extern const u8 gText_Box[]; +extern const u8 gText_JustOnePkmn[]; #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 64832ff67e1027ed14909039a000904a460515b2 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Thu, 20 Dec 2018 16:20:34 -0500 Subject: start ice --- include/battle_anim.h | 4 ++++ include/field_weather.h | 4 ++++ include/graphics.h | 2 ++ 3 files changed, 10 insertions(+) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 1c2093da9..a8138b4ff 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -172,6 +172,10 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +// battle_anim_80A64EC.c +void sub_80A64EC(struct Sprite *sprite); +void sub_80A718C(struct Sprite *sprite); + // battle_anim_80A9C70.s #define STAT_ANIM_PLUS1 15 #define STAT_ANIM_PLUS2 39 diff --git a/include/field_weather.h b/include/field_weather.h index c032183e1..91dcef1dc 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -134,6 +134,10 @@ struct Weather // field_weather.c extern struct Weather gWeather; extern struct Weather *const gWeatherPtr; +extern const u16 gUnknown_083970E8[]; + +// field_weather_effect.c +extern const u8 gWeatherFog1Tiles[]; void StartWeather(void); void ChangeWeather(u8 weather); diff --git a/include/graphics.h b/include/graphics.h index d7bdf096e..cab639f0e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4748,6 +4748,8 @@ extern const u32 gBattleAnimBackgroundImage_Surf[]; extern const u32 gBattleAnimBackgroundPalette_Surf[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; +extern const u32 gBattleAnimFogTilemap[]; + // Berry blender extern const u32 gBerryBlenderArrowTiles[]; extern const u32 gBerryBlenderStartTiles[]; -- cgit v1.2.3 From 6dffa6d17c35fe13f5878bd7bbf8a3fe1054c20c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 22 Dec 2018 19:33:45 +0100 Subject: Match and clean up fldeff misc --- include/event_object_movement.h | 2 ++ include/event_scripts.h | 5 +++++ include/fldeff_misc.h | 41 +++++++++++++++++++++++++++-------------- 3 files changed, 34 insertions(+), 14 deletions(-) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index cc45f1531..4d0c21f98 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -59,6 +59,8 @@ struct LockedAnimEventObjects }; extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; +extern const struct OamData gEventObjectBaseOam_32x8; +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const u8 gReflectionEffectPaletteMap[]; void ResetEventObjects(void); diff --git a/include/event_scripts.h b/include/event_scripts.h index 2661494d3..3dcb7f929 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -579,4 +579,9 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[]; +// fldeff misc +extern const u8 EventScript_275A86[]; +extern const u8 EventScript_275ADF[]; +extern const u8 EventScript_275B38[]; + #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h index 954ecbb5c..fc2f1b3e3 100644 --- a/include/fldeff_misc.h +++ b/include/fldeff_misc.h @@ -1,24 +1,37 @@ #ifndef GUARD_FLDEFF_MISC_H #define GUARD_FLDEFF_MISC_H -void PopSecretBaseBalloon(s16 id, s16 x, s16 y); +void sub_80F9BCC(u16 a0, u16 a1, u8 a2); +void sub_80F9BF4(u16 a0, u16 a1, u8 a2); +bool8 sub_80F9C1C(void); +bool8 sub_80F9C30(void); +bool8 SetUpFieldMove_SecretPower(void); +bool8 FldEff_UseSecretPowerCave(void); +bool8 FldEff_SecretPowerCave(void); +bool8 FldEff_UseSecretPowerTree(void); +bool8 FldEff_SecretPowerTree(void); +bool8 FldEff_UseSecretPowerShrub(void); +bool8 FldEff_SecretPowerShrub(void); +bool8 FldEff_SecretBasePCTurnOn(void); +void DoSecretBasePCTurnOffEffect(void); +void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y); +bool8 FldEff_NopA6FC(void); +bool8 FldEff_NopA700(void); void ShatterSecretBaseBreakableDoor(s16 x, s16 y); -u8 CreateRecordMixingSprite(void); -void DestroyRecordMixingSprite(void); -void FldEffPoison_Start(void); void PlaySecretBaseMusicNoteMatSound(s16 metatileId); void DoSecretBaseGlitterMatSparkle(void); -bool8 sub_80FADE4(u16, u8); - -extern struct MapPosition gPlayerFacingPosition; -extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; - -extern u8 EventScript_275A86[]; -extern u8 EventScript_275ADF[]; -extern u8 EventScript_275B38[]; - -extern const struct OamData gEventObjectBaseOam_32x8; +bool8 FldEff_SandPillar(void); +void GetShieldToyTVDecorationInfo(void); +bool8 sub_80FADE4(u16 arg0, u8 arg1); +void FldEffPoison_Start(void); +bool32 FldEffPoison_IsActive(void); +void DoWateringBerryTreeAnim(void); +u8 CreateRecordMixingSprite(void); +void DestroyRecordMixingSprite(void); +const struct SpritePalette gFieldEffectObjectPaletteInfo7; +const struct SpritePalette gFieldEffectObjectPaletteInfo8; +const struct SpritePalette gFieldEffectObjectPaletteInfo9; extern const u16 gTilesetPalettes_SecretBase[][16]; #endif //GUARD_FLDEFF_MISC_H -- cgit v1.2.3 From c805bab48324f946845e1f81002035e4bdb07e62 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 22 Dec 2018 23:00:22 +0100 Subject: Storage - review changes --- include/dma3.h | 45 ++++++++++++++++++++++++++++++++++++++++ include/pokemon_storage_system.h | 8 +++---- 2 files changed, 49 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/dma3.h b/include/dma3.h index 19a69ea80..8eff34f55 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -1,6 +1,51 @@ #ifndef GUARD_DMA3_H #define GUARD_DMA3_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); s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4b84856bb..a85ee5ff4 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -3,8 +3,8 @@ #define TOTAL_BOXES_COUNT 14 #define IN_BOX_ROWS 6 -#define IN_BOX_COLUMS 5 -#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS) +#define IN_BOX_COLUMNS 5 +#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMNS) /* ROWS @@ -23,7 +23,7 @@ struct PokemonStorage /*0x83C2*/ u8 boxWallpapers[TOTAL_BOXES_COUNT]; }; -extern struct PokemonStorage* gPokemonStoragePtr; +extern struct PokemonStorage *gPokemonStoragePtr; u8 CountMonsInBox(u8 boxId); s16 GetFirstFreeBoxSpot(u8 boxId); @@ -54,7 +54,7 @@ u8 GetBoxWallpaper(u8 boxId); void SetBoxWallpaper(u8 boxId, u8 wallpaperId); s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3); bool8 CheckFreePokemonStorageSpace(void); -bool32 CheckBoxedMonSanity(u32 boxId, u32 boxPosition); +bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition); u32 CountStorageNonEggMons(void); u32 CountAllStorageMons(void); bool32 AnyStorageMonWithMove(u16 moveId); -- cgit v1.2.3 From efa820469afcd92b0fdd6b7fff589143ea63c45c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 23 Dec 2018 14:52:47 +0100 Subject: move data to c --- include/battle_main.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle_main.h b/include/battle_main.h index 18bdde2f1..c134f819f 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -54,7 +54,7 @@ void sub_8038B74(struct Sprite *sprite); void sub_8038D64(void); u32 sub_80391E0(u8 arrayId, u8 caseId); u32 sub_80397C4(u32 setId, u32 tableId); -void oac_poke_opponent(struct Sprite *sprite); +void SpriteCb_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); void sub_8039AD8(struct Sprite *sprite); @@ -86,6 +86,9 @@ bool8 TryRunFromBattle(u8 battlerId); extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3]; +extern const struct SpriteTemplate gUnknown_0831AC88; +extern const struct OamData gOamData_831ACA8; +extern const struct OamData gOamData_831ACB0; extern const u8 gTypeEffectiveness[336]; extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; extern const struct TrainerMoney gTrainerMoneyTable[]; -- cgit v1.2.3 From 9320fe8f8533ae3f0f8ef638f7cc6a51076af21f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 24 Dec 2018 00:02:29 +0100 Subject: Clear includes --- include/battle.h | 36 +++++++--------- include/credits.h | 3 +- include/event_object_movement.h | 1 + include/menu.h | 3 ++ include/party_menu.h | 93 +++++++++++++++++++++++++++------------- include/pokemon_summary_screen.h | 2 + include/strings.h | 46 ++++++++++++++++++++ 7 files changed, 134 insertions(+), 50 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index 52c4ee8ae..c5c747137 100644 --- a/include/battle.h +++ b/include/battle.h @@ -302,11 +302,10 @@ struct BattleResults u8 playerSwitchesCounter; // 0x2 u8 unk3; // 0x3 u8 unk4; // 0x4 - u8 playerMonWasDamaged:1; // 0x5 + u8 playerMonWasDamaged:1; // 0x5 u8 usedMasterBall:1; // 0x5 u8 caughtMonBall:4; // 0x5 u8 shinyWildMon:1; // 0x5 - u8 unk5_7:1; // 0x5 u16 playerMon1Species; // 0x6 u8 playerMon1Name[POKEMON_NAME_LENGTH + 1]; // 0x8 u8 battleTurnCounter; // 0x13 @@ -411,12 +410,12 @@ struct BattleStruct { u8 turnEffectsTracker; u8 turnEffectsBattlerId; - u8 filler2; + u8 unused_0; u8 turnCountersTracker; u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access. u8 moveTarget[MAX_BATTLERS_COUNT]; u8 expGetterMonId; - u8 field_11; + u8 unused_1; u8 wildVictorySong; u8 dynamicMoveType; u8 wrappedBy[MAX_BATTLERS_COUNT]; @@ -437,28 +436,25 @@ struct BattleStruct u8 field_60[4][3]; u8 runTries; u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; - u8 field_78; + u8 unused_2; u8 safariGoNearCounter; u8 safariPkblThrowCounter; u8 safariEscapeFactor; u8 safariCatchFactor; - u8 field_7D; - u8 field_7E; + u8 field_7D; // unknown spriteId + u8 field_7E; // unknown spriteId u8 formToChangeInto; u8 chosenMovePositions[MAX_BATTLERS_COUNT]; u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT]; - u8 field_88; - u8 field_89; - u8 field_8A; - u8 field_8B; - u8 field_8C; - u8 field_8D; + u8 unused_3[3]; + u8 field_8B; // related to player's pokemon switching + u8 unused_4[2]; u8 stringMoveType; u8 expGetterBattlerId; - u8 field_90; - u8 field_91; - u8 field_92; - u8 field_93; + u8 unused_5; + u8 field_91; // related to gAbsentBattlerFlags, possibly absent flags turn ago? + u8 field_92; // battle palace related + u8 field_93; // related to choosing pokemon? u8 wallyBattleState; u8 wallyMovesState; u8 wallyWaitFrames; @@ -481,11 +477,11 @@ struct BattleStruct u8 switchInItemsCounter; u8 arenaTurnCounter; u8 turnSideTracker; - u8 fillerDC[0xDF-0xDC]; + u8 unused_6[3]; u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte] u16 castformPalette[MAX_BATTLERS_COUNT][16]; - u8 field_180; + u8 field_180; // weird field, used in battle_main.c, once accessed as an array of u32 overwriting the field below u8 field_181; u8 field_182; u8 field_183; @@ -496,7 +492,7 @@ struct BattleStruct u8 atkCancellerTracker; struct BattleTvMovePoints tvMovePoints; struct BattleTv tv; - u8 notSureWhatFieldLol[0x28]; + u8 unused_7[0x28]; u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT]; s8 arenaMindPoints[2]; s8 arenaSkillPoints[2]; diff --git a/include/credits.h b/include/credits.h index faad1058a..e7e58415b 100644 --- a/include/credits.h +++ b/include/credits.h @@ -7,5 +7,6 @@ extern EWRAM_DATA bool8 gHasHallOfFameRecords; // Exported ROM declarations +void sub_8175620(void); -#endif //GUARD_CREDITS_H +#endif // GUARD_CREDITS_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 4d0c21f98..284bbe8db 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -60,6 +60,7 @@ struct LockedAnimEventObjects extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; extern const struct OamData gEventObjectBaseOam_32x8; +extern const struct OamData gEventObjectBaseOam_32x32; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const u8 gReflectionEffectPaletteMap[]; diff --git a/include/menu.h b/include/menu.h index 04677ae40..9b2341e58 100644 --- a/include/menu.h +++ b/include/menu.h @@ -95,5 +95,8 @@ s8 Menu_ProcessInputGridLayout(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); +u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile); +void sub_8198314(void); +void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); #endif // GUARD_MENU_H diff --git a/include/party_menu.h b/include/party_menu.h index 27a043cb6..46f71c165 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -26,7 +26,8 @@ enum PARTY_GIVE_ITEM, }; -struct Struct203CEC8 { +struct Struct203CEC8 +{ MainCallback exitCallback; TaskFunc unk4; u8 unk8_0:4; @@ -41,42 +42,76 @@ struct Struct203CEC8 { }; extern struct Struct203CEC8 gUnknown_0203CEC8; +extern u8 gUnknown_0203CEE8; +extern u8 gUnknown_0203CEE9; +extern MainCallback gPostMenuFieldCallback; +extern u8 gSelectedOrderFromParty[4]; +extern u8 gUnknown_0203CF00[3]; extern const u16 gUnknown_0861500C[]; // tutor table -bool8 pokemon_has_move(struct Pokemon *, u16); -void sub_81B58A8(void); -void DoWallyTutorialBagMenu(void); -u8 pokemon_ailments_get_primary(u32 status); -u8 *GetMonNickname(struct Pokemon *mon, u8 *dst); +void sub_81B0FCC(u8 slot, u8 b); +bool8 IsMultiBattle(void); u8 GetCursorSelectionMonId(void); +u8 sub_81B1360(void); +void sub_81B1370(u8 taskId); +u8* GetMonNickname(struct Pokemon *mon, u8 *dest); +u8 sub_81B1B5C(const u8* str, u8 b); +bool8 sub_81B1BD4(void); +void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); +u8 pokemon_ailments_get_primary(u32 status); +u8 sub_81B205C(struct Pokemon *mon); +void display_pokemon_menu_message(u32 stringID); +void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); +bool8 sub_81B5820(void); +bool8 sub_81B5884(void); +void sub_81B58A8(void); +bool8 hm_prepare_waterfall(void); +bool8 sub_81B5974(void); +void LoadHeldItemIcons(void); +void sub_81B5D4C(u8 *a, u8 *b, u8 c); +void sub_81B617C(void); +void ItemUseCB_Medicine(u8 taskId, TaskFunc task); +void sub_81B67C8(u8 taskId, TaskFunc task); +void dp05_ether(u8 taskId, TaskFunc task); +void dp05_pp_up(u8 taskId, TaskFunc task); +u16 ItemIdToBattleMoveId(u16 item); +bool8 sub_81B6D14(u16 move); +bool8 pokemon_has_move(struct Pokemon *mon, u16 move); +void sub_81B6DC4(u8 taskId, TaskFunc task); +void dp05_rare_candy(u8 taskId, TaskFunc task); +void sub_81B79E8(u8 taskId, TaskFunc task); +void sub_81B7C74(u8 taskId, TaskFunc task); +u8 GetItemEffectType(u16 item); +void CB2_PartyMenuFromStartMenu(void); void sub_81B7F60(void); - -void sub_81B0FCC(u8 partyIdx, u8 a); -void sub_81B1370(u8 taskId); -void display_pokemon_menu_message(u32 windowId); -void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); -u8 sub_81B1B5C(const u8 *a, u8 b); -u8 sub_81B1BD4(void); void sub_81B8448(void); void sub_81B8518(u8 unused); -u8 sub_81B1360(void); -void sub_81B8904(u8 arg0, void (*callback)(void)); -void OpenPartyMenuInBattle(u8 caseId); -u16 ItemIdToBattleMoveId(u16 itemId); -u8 sub_81B205C(struct Pokemon* a); -void sub_81B617C(void); -u8 sub_81B6D14(u16 a); +void sub_81B8558(void); +void sub_81B8904(u8 initArg, MainCallback callback); +void sub_81B892C(void); +void sub_81B8958(void); +void OpenPartyMenuInBattle(u8 arg); +void sub_81B89F0(void); +void sub_81B8C68(void); +void sub_81B8D64(u8 battlerId, u8 multiplayerFlag); +void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex); +void sub_81B8FB0(u8 slot, u8 slot2); +u8 pokemon_order_func(u8 slot); +void sub_81B9150(void); +void sub_81B9328(void); bool8 hm_add_c3_without_phase_2(void); - -extern void dp05_ether(u8, TaskFunc); -extern void dp05_pp_up(u8, TaskFunc); -extern void dp05_rare_candy(u8, TaskFunc); - -extern void sub_81B67C8(u8, TaskFunc); -extern void sub_81B79E8(u8, TaskFunc); -extern void sub_81B6DC4(u8, TaskFunc); -extern void sub_81B7C74(u8, TaskFunc); +void sub_81B9404(void); +void sub_81B94B0(void); +void sub_81B951C(void); +void sub_81B9620(void); +void sub_81B95E0(void); +void sub_81B98DC(void); +void sub_81B9918(void); +void sub_81B9770(void); +void sub_81B9718(void); +void sub_81B96D0(void); +void sub_81B968C(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 34f7934e1..e2226b1e1 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -8,6 +8,8 @@ void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); u8 sub_81C1B94(void); +void SummaryScreen_SetUnknownTaskId(u8 a0); +void SummaryScreen_DestroyUnknownTask(void); // The Pokemon Summary Screen can operate in different modes. Certain features, // such as move re-ordering, are available in the different modes. diff --git a/include/strings.h b/include/strings.h index eff40d8f2..706fd116e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1875,4 +1875,50 @@ extern const u8 gText_PartyFull[]; extern const u8 gText_Box[]; extern const u8 gText_JustOnePkmn[]; +// battle main +extern const u8 gText_LinkStandby3[]; +extern const u8 gText_BattleRecordCouldntBeSaved[]; +extern const u8 gText_Poison[]; +extern const u8 gText_Sleep[]; +extern const u8 gText_Paralysis[]; +extern const u8 gText_Burn[]; +extern const u8 gText_Ice[]; +extern const u8 gText_Confusion[]; +extern const u8 gText_Love[]; + +// battle message +extern const u8 gText_PkmnBoxSomeonesPCFull[]; +extern const u8 gText_PkmnBoxLanettesPCFull[]; +extern const u8 gText_PkmnTransferredSomeonesPC[]; +extern const u8 gText_PkmnTransferredLanettesPC[]; + +// hall of fame +extern const u8 gText_SavingDontTurnOffPower[]; +extern const u8 gText_LeagueChamp[]; +extern const u8 gText_HOFNumber[]; +extern const u8 gText_PickNextCancel[]; +extern const u8 gText_PickCancel[]; +extern const u8 gText_UnkCtrlF800Exit[]; +extern const u8 gText_HOFCorrupted[]; +extern const u8 gText_WelcomeToHOF[]; +extern const u8 gText_Number[]; +extern const u8 gText_Level[]; +extern const u8 gText_IDNumber[]; +extern const u8 gText_Name[]; +extern const u8 gText_MainMenuTime[]; + +// daycare +extern const u8 gText_MaleSymbol4[]; +extern const u8 gText_FemaleSymbol4[]; +extern const u8 gText_GenderlessSymbol[]; +extern const u8 gText_NewLine2[]; +extern const u8 gText_Exit4[]; +extern const u8 gText_Lv[]; +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_Exit[]; +extern const u8 gDaycareText_GetAlongVeryWell[]; +extern const u8 gDaycareText_GetAlong[]; +extern const u8 gDaycareText_DontLikeOther[]; +extern const u8 gDaycareText_PlayOther[]; + #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 72aa9eb5a91bc36514eb5cf922c5cde209fba8c5 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 24 Dec 2018 00:20:38 +0100 Subject: clear headers more --- include/item_menu.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/item_menu.h b/include/item_menu.h index a904208d9..d972cdf83 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -78,5 +78,6 @@ u8 GetItemListPosition(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); +void DoWallyTutorialBagMenu(void); #endif //GUARD_item_menu_H -- cgit v1.2.3 From f1213ebb4bb02d17994f212d47a301e82e530cad Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 24 Dec 2018 09:51:15 -0600 Subject: Decompile dark.c --- include/battle_anim.h | 2 +- include/graphics.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index a8138b4ff..56e8702b4 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -58,7 +58,7 @@ void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); bool8 IsBattlerSpriteVisible(u8 battlerId); -void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); +void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); diff --git a/include/graphics.h b/include/graphics.h index cc829b5a9..d9b0de08e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4720,6 +4720,10 @@ extern const u32 gBattleAnimBackgroundTilemap_17[]; extern const u32 gBattleAnimBackgroundTilemap_20[]; extern const u32 gBattleAnimBackgroundTilemap_21[]; +extern const u32 gUnknown_08C1D0AC[]; +extern const u32 gUnknown_08C1D1E8[]; +extern const u32 gUnknown_08C1D210[]; + extern const u32 gUnknown_08C20668[]; extern const u32 gUnknown_08C20684[]; extern const u32 gBattleStatMask_Gfx[]; -- cgit v1.2.3 From c2fdbb0ef7e61f77e458dcf993058947cedbf638 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 24 Dec 2018 10:48:57 -0600 Subject: Decompile psychic.c --- include/battle_anim.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 56e8702b4..248e2a9f5 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -78,8 +78,8 @@ void sub_80A6450(struct Sprite *sprite); void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); void AnimTranslateLinearSimple(struct Sprite *sprite); -void InitSpritePosToAnimAttacker(struct Sprite *sprite, u8 a2); -void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 a2); +void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets); void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite); @@ -149,6 +149,7 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority void sub_80A749C(struct Sprite *sprite); void sub_80A6814(u8 taskId); void sub_80A8610(struct Sprite *sprite); +void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); enum { -- cgit v1.2.3 From 442b1826a276d9270092b7f3e43de1dd87150f4d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 24 Dec 2018 21:59:05 +0100 Subject: asm party and fldeff clean-up --- include/field_specials.h | 2 ++ include/fldeff.h | 61 ++++++++++++++++++++++++++++++++++++++++++ include/fldeff_cut.h | 13 --------- include/fldeff_groundshake.h | 6 ----- include/fldeff_softboiled.h | 7 ----- include/graphics.h | 7 +++++ include/party_menu.h | 10 +++---- include/rom6.h | 18 ------------- include/strings.h | 63 ++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 136 insertions(+), 51 deletions(-) create mode 100644 include/fldeff.h delete mode 100644 include/fldeff_cut.h delete mode 100644 include/fldeff_groundshake.h delete mode 100755 include/fldeff_softboiled.h delete mode 100644 include/rom6.h (limited to 'include') diff --git a/include/field_specials.h b/include/field_specials.h index 5adc7f3cb..2b67c4ff7 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -15,7 +15,9 @@ bool32 sub_8138168(void); bool32 sub_81381B0(void); bool32 sub_81381F8(void); bool32 CountSSTidalStep(u16 delta); +u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); void sub_813A128(void); void sub_813A878(u8 a0); +u8 sub_813BADC(u8 a0); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fldeff.h b/include/fldeff.h new file mode 100644 index 000000000..99758fdb5 --- /dev/null +++ b/include/fldeff.h @@ -0,0 +1,61 @@ +#ifndef GUARD_FLDEFF_H +#define GUARD_FLDEFF_H + +// cut +bool8 SetUpFieldMove_Cut(void); +bool8 FldEff_UseCutOnGrass(void); +bool8 FldEff_UseCutOnTree(void); +bool8 FldEff_CutGrass(void); +void sub_80D423C(s16 x, s16 y); +void sub_80D42B8(s16 x, s16 y); + +extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; + +// groundshake +bool8 sub_81BE66C(void); +void sub_81BE6AC(void); +void sub_81BE6B8(void); +void sub_81BE72C(void); +void sub_81BE79C(void); +void sub_81BE7F4(void); +void sub_81BE994(void); + +// escalator +void sub_80E1558(u8 var); +void sub_80E1570(void); +bool8 sub_80E1584(void); + +// soft-boiled +bool8 SetUpFieldMove_SoftBoiled(void); +void sub_81615A8(u8 taskId); +void sub_8161560(u8 taskId); + +// flash +bool8 SetUpFieldMove_Flash(void); +void c2_change_map(void); +bool8 GetMapPairFadeToType(u8 a1, u8 a2); +bool8 GetMapPairFadeFromType(u8 a1, u8 a2); + +// strength +bool8 SetUpFieldMove_Strength(void); +bool8 sub_8145E2C(void); + +// sweet scent +bool8 SetUpFieldMove_SweetScent(void); +bool8 FldEff_SweetScent(void); + +// teleport +bool8 SetUpFieldMove_Teleport(void); +bool8 FldEff_UseTeleport(void); + +// dig +bool8 SetUpFieldMove_Dig(void); +bool8 FldEff_UseDig(void); + +// rock smash +bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); +u8 oei_task_add(void); +bool8 SetUpFieldMove_RockSmash(void); +bool8 FldEff_UseRockSmash(void); + +#endif // GUARD_FLDEFF_H diff --git a/include/fldeff_cut.h b/include/fldeff_cut.h deleted file mode 100644 index c89d3b6ca..000000000 --- a/include/fldeff_cut.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef GUARD_FLDEFF_CUT_H -#define GUARD_FLDEFF_CUT_H - -extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; - -bool8 SetUpFieldMove_Cut(void); -bool8 FldEff_UseCutOnGrass(void); -bool8 FldEff_UseCutOnTree(void); -bool8 FldEff_CutGrass(void); -void sub_80D423C(s16 x, s16 y); -void sub_80D42B8(s16 x, s16 y); - -#endif // GUARD_FLDEFF_CUT_H diff --git a/include/fldeff_groundshake.h b/include/fldeff_groundshake.h deleted file mode 100644 index c1629f9bd..000000000 --- a/include/fldeff_groundshake.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_FLDEFF_GROUNDSHAKE_H -#define GUARD_FLDEFF_GROUNDSHAKE_H - -void sub_81BE72C(void); - -#endif // GUARD_FLDEFF_GROUNDSHAKE_H diff --git a/include/fldeff_softboiled.h b/include/fldeff_softboiled.h deleted file mode 100755 index abb3c7913..000000000 --- a/include/fldeff_softboiled.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef GUARD_FLDEFF_SOFTBOILED_H -#define GUARD_FLDEFF_SOFTBOILED_H - -void sub_81615A8(u8 taskId); -void sub_8161560(u8 taskId); - -#endif // GUARD_FLDEFF_SOFTBOILED_H diff --git a/include/graphics.h b/include/graphics.h index cc829b5a9..b0b4d97e6 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4793,4 +4793,11 @@ extern const u32 gCableCarDoor_Gfx[]; extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; +// Party menu +extern const u32 gPartyMenuPokeball_Gfx[]; +extern const u32 gPartyMenuPokeballSmall_Gfx[]; +extern const u32 gStatusPal_Icons[]; +extern const u32 gPartyMenuPokeball_Pal[]; +extern const u32 gStatusPal_Icons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/party_menu.h b/include/party_menu.h index 46f71c165..ae7c414a8 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -48,7 +48,7 @@ extern MainCallback gPostMenuFieldCallback; extern u8 gSelectedOrderFromParty[4]; extern u8 gUnknown_0203CF00[3]; -extern const u16 gUnknown_0861500C[]; // tutor table +extern const u16 gTutorMoves[]; void sub_81B0FCC(u8 slot, u8 b); bool8 IsMultiBattle(void); @@ -64,11 +64,7 @@ u8 sub_81B205C(struct Pokemon *mon); void display_pokemon_menu_message(u32 stringID); void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); -bool8 sub_81B5820(void); -bool8 sub_81B5884(void); void sub_81B58A8(void); -bool8 hm_prepare_waterfall(void); -bool8 sub_81B5974(void); void LoadHeldItemIcons(void); void sub_81B5D4C(u8 *a, u8 *b, u8 c); void sub_81B617C(void); @@ -77,8 +73,8 @@ void sub_81B67C8(u8 taskId, TaskFunc task); void dp05_ether(u8 taskId, TaskFunc task); void dp05_pp_up(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); -bool8 sub_81B6D14(u16 move); -bool8 pokemon_has_move(struct Pokemon *mon, u16 move); +bool8 IsMoveHm(u16 move); +bool8 MonKnowsMove(struct Pokemon *mon, u16 move); void sub_81B6DC4(u8 taskId, TaskFunc task); void dp05_rare_candy(u8 taskId, TaskFunc task); void sub_81B79E8(u8 taskId, TaskFunc task); diff --git a/include/rom6.h b/include/rom6.h deleted file mode 100644 index 8b133e56e..000000000 --- a/include/rom6.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef GUARD_ROM6_H -#define GUARD_ROM6_H - -void OpenPokeblockCase(u8, void(void)); -u8 GetLeadMonIndex(void); -u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); -void sub_813BADC(bool8); -bool8 sub_813B9C0(void); -void UpdateMirageRnd(u16 days); -void UpdateBirchState(u16 days); -void UpdateFrontierManiac(u16 days); -void UpdateFrontierGambler(u16 days); -void SetShoalItemFlag(u16 days); - -bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); -u8 oei_task_add(void); - -#endif //GUARD_ROM6_H diff --git a/include/strings.h b/include/strings.h index 706fd116e..64222cddb 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1921,4 +1921,67 @@ extern const u8 gDaycareText_GetAlong[]; extern const u8 gDaycareText_DontLikeOther[]; extern const u8 gDaycareText_PlayOther[]; +// party menu +extern const u8 gUnknown_085E9E43[]; +extern const u8 gUnknown_085EA010[]; +extern const u8 gUnknown_085EA02A[]; +extern const u8 gUnknown_085E9E55[]; +extern const u8 gUnknown_085E9E64[]; +extern const u8 gUnknown_085E9E79[]; +extern const u8 gUnknown_085E9E8F[]; +extern const u8 gUnknown_085E9EBC[]; +extern const u8 gUnknown_085E9ED4[]; +extern const u8 gUnknown_085E9EE9[]; +extern const u8 gUnknown_085E9FDB[]; +extern const u8 gUnknown_085EA046[]; +extern const u8 gUnknown_085EA05B[]; +extern const u8 gUnknown_085E9F01[]; +extern const u8 gUnknown_085E9F58[]; +extern const u8 gUnknown_085E9F6F[]; +extern const u8 gUnknown_085E9F81[]; +extern const u8 gUnknown_085E9F90[]; +extern const u8 gUnknown_085E9FA7[]; +extern const u8 gUnknown_085E9FC2[]; +extern const u8 gUnknown_085E9EA6[]; +extern const u8 gUnknown_085E9F16[]; +extern const u8 gUnknown_085E9F2A[]; +extern const u8 gUnknown_085E9F42[]; +extern const u8 gUnknown_085E9FF9[]; +extern const u8 gUnknown_085EA073[]; +extern const u8 gUnknown_085EA091[]; +extern const u8 gUnknown_085EA099[]; +extern const u8 gUnknown_085EA09E[]; +extern const u8 gUnknown_085EA0A4[]; +extern const u8 gUnknown_085EA0AB[]; +extern const u8 gUnknown_085EA0E7[]; +extern const u8 gUnknown_085EA0B1[]; +extern const u8 gUnknown_085EA0B6[]; +extern const u8 gUnknown_085EA0BF[]; +extern const u8 gUnknown_085EA0C5[]; +extern const u8 gUnknown_085EA0CF[]; +extern const u8 gUnknown_085EA0D7[]; +extern const u8 gUnknown_085EA0DC[]; +extern const u8 gText_Take[]; +extern const u8 gText_Mail[]; +extern const u8 gText_Take2[]; +extern const u8 gText_Read2[]; +extern const u8 gText_Cancel2[]; +extern const u8 gText_Shift[]; +extern const u8 gText_SendOut[]; +extern const u8 gText_Enter[]; +extern const u8 gText_NoEntry[]; +extern const u8 gText_Store[]; +extern const u8 gText_Register[]; +extern const u8 gText_Trade4[]; +extern const u8 gText_Summary5[]; +extern const u8 gText_Switch2[]; +extern const u8 gText_Item[]; +extern const u8 gText_NotPkmnOtherTrainerWants[]; +extern const u8 gText_ThatIsntAnEgg[]; +extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; +extern const u8 gText_EggCantBeTradedNow[]; +extern const u8 gText_OtherTrainerCantAcceptPkmn[]; +extern const u8 gText_CantTradeWithTrainer[]; + #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 49517aca9e96798c77ea3dae960f83de7f524bed Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 24 Dec 2018 22:19:40 +0100 Subject: make it compie hopefully --- include/field_specials.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/field_specials.h b/include/field_specials.h index 2b67c4ff7..7c29ecbad 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -19,5 +19,9 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); void sub_813A128(void); void sub_813A878(u8 a0); u8 sub_813BADC(u8 a0); +bool8 sub_813B9C0(void); +void SetShoalItemFlag(u16 v0); +void UpdateFrontierManiac(u16 a0); +void UpdateFrontierGambler(u16 a0); #endif // GUARD_FIELD_SPECIALS_H -- cgit v1.2.3