party_menu first quarter

This commit is contained in:
jiangzhengwenjz
2019-11-22 06:46:04 +08:00
parent 1d96920da0
commit 499c09a49f
26 changed files with 1910 additions and 4954 deletions
+1 -1
View File
@@ -2514,7 +2514,7 @@ sub_8109140: @ 8109140
movs r1, 0 movs r1, 0
movs r2, 0xE movs r2, 0xE
movs r3, 0x1E movs r3, 0x1E
bl SetBgRectPal bl SetBgTilemapPalette
movs r0, 0x1 movs r0, 0x1
bl ScheduleBgCopyTilemapToVram bl ScheduleBgCopyTilemapToVram
add sp, 0x8 add sp, 0x8
+1 -4838
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -4230,8 +4230,8 @@ sub_81499E0: @ 81499E0
_081499FC: .4byte gUnknown_203F3D4 _081499FC: .4byte gUnknown_203F3D4
thumb_func_end sub_81499E0 thumb_func_end sub_81499E0
thumb_func_start sub_8149A00 thumb_func_start IsSpeciesAllowedInPokemonJump
sub_8149A00: @ 8149A00 IsSpeciesAllowedInPokemonJump: @ 8149A00
push {lr} push {lr}
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
@@ -4242,7 +4242,7 @@ sub_8149A00: @ 8149A00
lsrs r0, 31 lsrs r0, 31
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_8149A00 thumb_func_end IsSpeciesAllowedInPokemonJump
thumb_func_start sub_8149A18 thumb_func_start sub_8149A18
sub_8149A18: @ 8149A18 sub_8149A18: @ 8149A18
@@ -4264,7 +4264,7 @@ _08149A1C:
bl GetMonData bl GetMonData
lsls r0, 16 lsls r0, 16
lsrs r0, 16 lsrs r0, 16
bl sub_8149A00 bl IsSpeciesAllowedInPokemonJump
cmp r0, 0 cmp r0, 0
beq _08149A54 beq _08149A54
ldr r1, _08149A50 @ =gSpecialVar_Result ldr r1, _08149A50 @ =gSpecialVar_Result
+1 -1
View File
@@ -558,7 +558,7 @@ _0811C9AA:
adds r0, r4, 0 adds r0, r4, 0
adds r0, 0x96 adds r0, 0x96
ldrh r0, [r0] ldrh r0, [r0]
bl GetItemCompatibilityRule bl CheckIfItemIsTMHMOrEvolutionStone
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x2 cmp r0, 0x2
+2 -2
View File
@@ -793,7 +793,7 @@ _0809B118:
movs r1, 0 movs r1, 0
movs r2, 0xE movs r2, 0xE
movs r3, 0x1E movs r3, 0x1E
bl SetBgRectPal bl SetBgTilemapPalette
b _0809B14E b _0809B14E
.align 2, 0 .align 2, 0
_0809B138: .4byte gUnknown_2039934 _0809B138: .4byte gUnknown_2039934
@@ -805,7 +805,7 @@ _0809B13C:
movs r1, 0 movs r1, 0
movs r2, 0xC movs r2, 0xC
movs r3, 0x1E movs r3, 0x1E
bl SetBgRectPal bl SetBgTilemapPalette
_0809B14E: _0809B14E:
movs r0, 0x1 movs r0, 0x1
bl ScheduleBgCopyTilemapToVram bl ScheduleBgCopyTilemapToVram
+2 -2
View File
@@ -1259,10 +1259,10 @@ gText_Speed2:: @ 841768D
gUnknown_8417693:: @ 0x8417693 gUnknown_8417693:: @ 0x8417693
.string "HP$" .string "HP$"
gUnknown_8417696:: @ 8417696 gText_PkmnCantParticipate:: @ 8417696
.string "That POKéMON can't participate.{PAUSE_UNTIL_PRESS}$" .string "That POKéMON can't participate.{PAUSE_UNTIL_PRESS}$"
gUnknown_84176B8:: @ 84176B8 gText_CancelParticipation:: @ 84176B8
.string "Cancel participation?$" .string "Cancel participation?$"
gUnknown_84176CE:: @ 0x84176CE gUnknown_84176CE:: @ 0x84176CE
+2
View File
@@ -80,4 +80,6 @@ enum
#define NUM_BAG_POCKETS 5 #define NUM_BAG_POCKETS 5
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
#endif //GUARD_CONSTANTS_GLOBAL_H #endif //GUARD_CONSTANTS_GLOBAL_H
+6 -2
View File
@@ -25,7 +25,11 @@
#define TUTOR_MOVE_EXPLOSION 12 #define TUTOR_MOVE_EXPLOSION 12
#define TUTOR_MOVE_ROCK_SLIDE 13 #define TUTOR_MOVE_ROCK_SLIDE 13
#define TUTOR_MOVE_SUBSTITUTE 14 #define TUTOR_MOVE_SUBSTITUTE 14
#define TUTOR_MOVE_COUNT 15 #define TUTOR_MOVE_COUNT 15 // regular tutor move count
#define TUTOR_MOVE_FRENZY_PLANT 15
#define TUTOR_MOVE_BLAST_BURN 16
#define TUTOR_MOVE_HYDRO_CANNON 17
#define PARTY_LAYOUT_SINGLE 0 #define PARTY_LAYOUT_SINGLE 0
#define PARTY_LAYOUT_DOUBLE 1 #define PARTY_LAYOUT_DOUBLE 1
@@ -54,7 +58,7 @@
#define PARTY_ACTION_USE_ITEM 3 #define PARTY_ACTION_USE_ITEM 3
#define PARTY_ACTION_ABILITY_PREVENTS 4 #define PARTY_ACTION_ABILITY_PREVENTS 4
#define PARTY_ACTION_GIVE_ITEM 5 #define PARTY_ACTION_GIVE_ITEM 5
#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC #define PARTY_ACTION_GIVE_PC_ITEM 6 // TODO: rename this one if necessary. Used for quest log.
#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7 #define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
#define PARTY_ACTION_SWITCH 8 #define PARTY_ACTION_SWITCH 8
#define PARTY_ACTION_SWITCHING 9 #define PARTY_ACTION_SWITCHING 9
+1 -1
View File
@@ -47,7 +47,7 @@ bool8 FldEff_UseTeleport(void);
// softboiled // softboiled
bool8 SetUpFieldMove_SoftBoiled(void); bool8 SetUpFieldMove_SoftBoiled(void);
void ChooseMonForSoftboiled(u8 taskId); void ChooseMonForSoftboiled(u8 taskId);
void sub_80E5724(u8 taskId); void Task_TryUseSoftboiledOnPartyMon(u8 taskId);
// sweetscent // sweetscent
bool8 SetUpFieldMove_SweetScent(void); bool8 SetUpFieldMove_SweetScent(void);
+3
View File
@@ -3746,6 +3746,9 @@ extern const u32 gPartyMenuPokeball_Pal[];
extern const u32 gPartyMenuPokeballSmall_Gfx[]; extern const u32 gPartyMenuPokeballSmall_Gfx[];
extern const u32 gStatusGfx_Icons[]; extern const u32 gStatusGfx_Icons[];
extern const u32 gStatusPal_Icons[]; extern const u32 gStatusPal_Icons[];
extern const u32 gPartyMenuBg_Gfx[];
extern const u32 gPartyMenuBg_Tilemap[];
extern const u32 gPartyMenuBg_Pal[];
// credits // credits
extern const u32 gCreditsPokeballBgGfxTiles[]; extern const u32 gCreditsPokeballBgGfxTiles[];
+1
View File
@@ -40,5 +40,6 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId);
void ItemUseOutOfBattle_Itemfinder(u8 taskId); void ItemUseOutOfBattle_Itemfinder(u8 taskId);
void sub_80A1C44(u8 taskId); void sub_80A1C44(u8 taskId);
u8 CanUseEscapeRopeOnCurrMap(void); u8 CanUseEscapeRopeOnCurrMap(void);
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId);
#endif //GUARD_ITEM_USE_H #endif //GUARD_ITEM_USE_H
+5 -2
View File
@@ -5,6 +5,9 @@
#include "task.h" #include "task.h"
#include "window.h" #include "window.h"
#define MENU_L_PRESSED 1
#define MENU_R_PRESSED 2
struct YesNoFuncTable struct YesNoFuncTable
{ {
TaskFunc yesFunc; TaskFunc yesFunc;
@@ -22,9 +25,9 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc);
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
u8 GetLRKeysState(void); u8 GetLRKeysState(void);
u8 sub_80BF66C(void); u8 GetLRKeysPressedAndHeld(void);
bool8 itemid_link_can_give_berry(u16 itemId); bool8 itemid_link_can_give_berry(u16 itemId);
bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 itemid_80BF6D8_mail_related(u16 itemId);
void ClearVramOamPltt(void); void ResetVramOamAndBgCntRegs(void);
#endif //GUARD_MENU_HELPERS_H #endif //GUARD_MENU_HELPERS_H
+1 -1
View File
@@ -15,7 +15,7 @@ void *DecompressAndCopyTileDataToVram2(u8 bgId, const void *src, u32 size, u16 o
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
void * MallocAndDecompress(const void * src, u32 * size); void * MallocAndDecompress(const void * src, u32 * size);
void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
void ResetBgPositions(void); void ResetBgPositions(void);
void InitStandardTextBoxWindows(void); void InitStandardTextBoxWindows(void);
+5 -3
View File
@@ -11,6 +11,7 @@ struct PartyMenu
TaskFunc task; TaskFunc task;
u8 menuType:4; u8 menuType:4;
u8 layout:2; u8 layout:2;
u8 unk_8_6:2;
s8 slotId; s8 slotId;
s8 slotId2; s8 slotId2;
u8 action; u8 action;
@@ -39,11 +40,11 @@ void CB2_GiveHoldItem(void);
u8 GetCursorSelectionMonId(void); u8 GetCursorSelectionMonId(void);
void ChooseMonForDaycare(void); void ChooseMonForDaycare(void);
void AnimatePartySlot(u8 monId, u8 a1); void AnimatePartySlot(u8 monId, u8 a1);
void DisplayPartyMenuStdMessage(u8); void DisplayPartyMenuStdMessage(u32);
void Task_HandleChooseMonInput(u8 taskId); void Task_HandleChooseMonInput(u8 taskId);
void PartyMenuModifyHP(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc); void PartyMenuModifyHP(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc);
void GetMonNickname(const struct Pokemon * mon, u8 * dest); u8 *GetMonNickname(struct Pokemon *mon, u8 *dest);
void DisplayPartyMenuMessage(const u8 * src, u8 a1); u8 DisplayPartyMenuMessage(const u8 * src, u8 a1);
bool8 IsPartyMenuTextPrinterActive(void); bool8 IsPartyMenuTextPrinterActive(void);
void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback); void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback);
void sub_81252D0(u8 taskId, TaskFunc followUpFunc); void sub_81252D0(u8 taskId, TaskFunc followUpFunc);
@@ -69,5 +70,6 @@ void ShowPartyMenuToShowcaseMultiBattleParty(void);
void SwitchPartyMonSlots(u8 slot, u8 slot2); void SwitchPartyMonSlots(u8 slot, u8 slot2);
void LoadHeldItemIcons(void); void LoadHeldItemIcons(void);
void OpenPartyMenuInTutorialBattle(u8 partyAction); void OpenPartyMenuInTutorialBattle(u8 partyAction);
void ClearSelectedPartyOrder(void);
#endif // GUARD_PARTY_MENU_H #endif // GUARD_PARTY_MENU_H
+1
View File
@@ -4,5 +4,6 @@
#include "main.h" #include "main.h"
void ResetPokeJumpResults(void); void ResetPokeJumpResults(void);
bool32 IsSpeciesAllowedInPokemonJump(u16 species);
#endif // GUARD_POKEMON_JUMP_H #endif // GUARD_POKEMON_JUMP_H
+9
View File
@@ -335,6 +335,15 @@ extern const u8 gText_OtherTrainersPkmnCantBeTraded[];
extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_EggCantBeTradedNow[];
extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[];
extern const u8 gText_CantTradeWithTrainer[]; extern const u8 gText_CantTradeWithTrainer[];
extern const u8 gUnknown_84176CF[];
extern const u8 gText_PkmnWasGivenItem[];
extern const u8 gText_ReceivedItemFromPkmn[];
extern const u8 gText_PkmnAlreadyHoldingItemSwitch[];
extern const u8 gText_SwitchedPkmnItem[];
extern const u8 gText_BagFullCouldNotRemoveItem[];
extern const u8 gText_PkmnCantParticipate[];
extern const u8 gText_CancelParticipation[];
extern const u8 gUnknown_8417494[];
// credits // credits
extern const u8 gString_Dummy[]; extern const u8 gString_Dummy[];
+1 -1
View File
@@ -765,7 +765,7 @@ static void PrintSelectedBerryDescription(s32 itemIdx)
static void SetDescriptionWindowBorderPalette(s32 pal) static void SetDescriptionWindowBorderPalette(s32 pal)
{ {
SetBgRectPal(1, 0, 16, 30, 4, pal + 1); SetBgTilemapPalette(1, 0, 16, 30, 4, pal + 1);
ScheduleBgCopyTilemapToVram(1); ScheduleBgCopyTilemapToVram(1);
} }
-18
View File
@@ -110,24 +110,6 @@ const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin"); const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin");
const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin"); const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin");
// NOTE TO MYSELF: remove these after #159 gets merged
#define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1
#define TEXT_COLOR_DARK_GREY 0x2
#define TEXT_COLOR_LIGHT_GREY 0x3
#define TEXT_COLOR_RED 0x4
#define TEXT_COLOR_LIGHT_RED 0x5
#define TEXT_COLOR_GREEN 0x6
#define TEXT_COLOR_LIGHT_GREEN 0x7
#define TEXT_COLOR_BLUE 0x8
#define TEXT_COLOR_LIGHT_BLUE 0x9
#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
const u8 sFontColorTable[][3] = const u8 sFontColorTable[][3] =
{ {
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default
+1 -1
View File
@@ -35,7 +35,7 @@ void ChooseMonForSoftboiled(u8 taskId)
gTasks[taskId].func = Task_HandleChooseMonInput; gTasks[taskId].func = Task_HandleChooseMonInput;
} }
void sub_80E5724(u8 taskId) void Task_TryUseSoftboiledOnPartyMon(u8 taskId)
{ {
u8 r8 = gPartyMenu.slotId; u8 r8 = gPartyMenu.slotId;
u8 r5 = gPartyMenu.slotId2; u8 r5 = gPartyMenu.slotId2;
+1 -1
View File
@@ -709,7 +709,7 @@ static void ItemPc_SetScrollPosition(void)
static void ItemPc_SetMessageWindowPalette(int a0) static void ItemPc_SetMessageWindowPalette(int a0)
{ {
SetBgRectPal(1, 0, 14, 30, 6, a0 + 1); SetBgTilemapPalette(1, 0, 14, 30, 6, a0 + 1);
ScheduleBgCopyTilemapToVram(1); ScheduleBgCopyTilemapToVram(1);
} }
+67 -68
View File
@@ -44,37 +44,36 @@
#include "constants/songs.h" #include "constants/songs.h"
#include "constants/map_types.h" #include "constants/map_types.h"
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
void sub_80A1084(void); static void sub_80A1084(void);
void sub_80A109C(u8 taskId); static void sub_80A109C(u8 taskId);
void sub_80A112C(u8 taskId); static void sub_80A112C(u8 taskId);
void sub_80A11C0(u8 taskId); static void sub_80A11C0(u8 taskId);
bool8 sub_80A1194(void); static bool8 sub_80A1194(void);
void sub_80A1208(void); static void sub_80A1208(void);
void ItemUseOnFieldCB_Bicycle(u8 taskId); static void ItemUseOnFieldCB_Bicycle(u8 taskId);
bool8 ItemUseCheckFunc_Rod(void); static bool8 ItemUseCheckFunc_Rod(void);
void ItemUseOnFieldCB_Rod(u8 taskId); static void ItemUseOnFieldCB_Rod(u8 taskId);
void FieldUseFunc_EvoItem(u8 taskId); static void sub_80A1648(u8 taskId);
void sub_80A1648(u8 taskId); static void sub_80A1674(u8 taskId);
void sub_80A1674(u8 taskId); static void InitTMCaseFromBag(void);
void InitTMCaseFromBag(void); static void Task_InitTMCaseFromField(u8 taskId);
void Task_InitTMCaseFromField(u8 taskId); static void InitBerryPouchFromBag(void);
void InitBerryPouchFromBag(void); static void Task_InitBerryPouchFromField(u8 taskId);
void Task_InitBerryPouchFromField(u8 taskId); static void InitBerryPouchFromBattle(void);
void InitBerryPouchFromBattle(void); static void InitTeachyTvFromBag(void);
void InitTeachyTvFromBag(void); static void Task_InitTeachyTvFromField(u8 taskId);
void Task_InitTeachyTvFromField(u8 taskId); static void sub_80A19E8(u8 taskId);
void sub_80A19E8(u8 taskId); static void sub_80A1A44(void);
void sub_80A1A44(void); static void sub_80A1B48(u8 taskId);
void sub_80A1B48(u8 taskId); static void sub_80A1C08(u8 taskId);
void sub_80A1C08(u8 taskId); static void sub_80A1CAC(void);
void sub_80A1CAC(void); static void sub_80A1CC0(u8 taskId);
void sub_80A1CC0(u8 taskId); static void sub_80A1D58(void);
void sub_80A1D58(void); static void sub_80A1D68(u8 taskId);
void sub_80A1D68(u8 taskId); static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId);
void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId); static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId);
void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId);
// No clue what this is // No clue what this is
static const u8 sUnref_83E27B4[] = { static const u8 sUnref_83E27B4[] = {
@@ -132,14 +131,14 @@ static const u8 sUnref_83E27B4[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}; };
void (*const gUnknown_83E2954[])(void) = { static void (*const gUnknown_83E2954[])(void) = {
CB2_ShowPartyMenuForItemUse, CB2_ShowPartyMenuForItemUse,
CB2_ReturnToField, CB2_ReturnToField,
NULL, NULL,
NULL NULL
}; };
void sub_80A0FBC(u8 taskId) static void sub_80A0FBC(u8 taskId)
{ {
u8 itemType; u8 itemType;
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
@@ -160,7 +159,7 @@ void sub_80A0FBC(u8 taskId)
} }
} }
void sub_80A103C(u8 taskId) static void sub_80A103C(u8 taskId)
{ {
if (gTasks[taskId].data[3] != 1) if (gTasks[taskId].data[3] != 1)
{ {
@@ -171,13 +170,13 @@ void sub_80A103C(u8 taskId)
sItemUseOnFieldCB(taskId); sItemUseOnFieldCB(taskId);
} }
void sub_80A1084(void) static void sub_80A1084(void)
{ {
sub_807DC00(); sub_807DC00();
CreateTask(sub_80A109C, 8); CreateTask(sub_80A109C, 8);
} }
void sub_80A109C(u8 taskId) static void sub_80A109C(u8 taskId)
{ {
if (IsWeatherNotFadingIn() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
@@ -185,7 +184,7 @@ void sub_80A109C(u8 taskId)
} }
} }
void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str) static void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
{ {
StringExpandPlaceholders(gStringVar4, str); StringExpandPlaceholders(gStringVar4, str);
if (a1 == FALSE) if (a1 == FALSE)
@@ -194,12 +193,12 @@ void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C); DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
} }
void sub_80A1110(u8 taskId, bool8 a1) static void sub_80A1110(u8 taskId, bool8 a1)
{ {
sub_80A10C4(taskId, a1, 4, gUnknown_8416425); sub_80A10C4(taskId, a1, 4, gUnknown_8416425);
} }
void sub_80A112C(u8 taskId) static void sub_80A112C(u8 taskId)
{ {
ClearDialogWindowAndFrame(0, 1); ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId); DestroyTask(taskId);
@@ -207,7 +206,7 @@ void sub_80A112C(u8 taskId)
ScriptContext2_Disable(); ScriptContext2_Disable();
} }
u8 GetItemCompatibilityRule(u16 itemId) u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
{ {
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE) if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
return 1; return 1;
@@ -217,12 +216,12 @@ u8 GetItemCompatibilityRule(u16 itemId)
return 0; return 0;
} }
void sub_80A1184(void) static void sub_80A1184(void)
{ {
gFieldCallback2 = sub_80A1194; gFieldCallback2 = sub_80A1194;
} }
bool8 sub_80A1194(void) static bool8 sub_80A1194(void)
{ {
FreezeEventObjects(); FreezeEventObjects();
ScriptContext2_Enable(); ScriptContext2_Enable();
@@ -232,7 +231,7 @@ bool8 sub_80A1194(void)
return TRUE; return TRUE;
} }
void sub_80A11C0(u8 taskId) static void sub_80A11C0(u8 taskId)
{ {
if (IsWeatherNotFadingIn() == TRUE) if (IsWeatherNotFadingIn() == TRUE)
{ {
@@ -248,7 +247,7 @@ void FieldUseFunc_OrangeMail(u8 taskId)
ItemMenu_StartFadeToExitCallback(taskId); ItemMenu_StartFadeToExitCallback(taskId);
} }
void sub_80A1208(void) static void sub_80A1208(void)
{ {
struct MailStruct mail; struct MailStruct mail;
@@ -279,7 +278,7 @@ void FieldUseFunc_MachBike(u8 taskId)
sub_80A1110(taskId, gTasks[taskId].data[3]); sub_80A1110(taskId, gTasks[taskId].data[3]);
} }
void ItemUseOnFieldCB_Bicycle(u8 taskId) static void ItemUseOnFieldCB_Bicycle(u8 taskId)
{ {
if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
PlaySE(SE_JITENSYA); PlaySE(SE_JITENSYA);
@@ -300,7 +299,7 @@ void FieldUseFunc_OldRod(u8 taskId)
sub_80A1110(taskId, gTasks[taskId].data[3]); sub_80A1110(taskId, gTasks[taskId].data[3]);
} }
bool8 ItemUseCheckFunc_Rod(void) static bool8 ItemUseCheckFunc_Rod(void)
{ {
s16 x, y; s16 x, y;
u16 behavior; u16 behavior;
@@ -327,7 +326,7 @@ bool8 ItemUseCheckFunc_Rod(void)
return FALSE; return FALSE;
} }
void ItemUseOnFieldCB_Rod(u8 taskId) static void ItemUseOnFieldCB_Rod(u8 taskId)
{ {
sub_805D2C0(ItemId_GetSecondaryId(gSpecialVar_ItemId)); sub_805D2C0(ItemId_GetSecondaryId(gSpecialVar_ItemId));
DestroyTask(taskId); DestroyTask(taskId);
@@ -391,13 +390,13 @@ void FieldUseFunc_PokeFlute(u8 taskId)
} }
} }
void sub_80A1648(u8 taskId) static void sub_80A1648(u8 taskId)
{ {
PlayFanfareByFanfareNum(FANFARE_POKEFLUTE); PlayFanfareByFanfareNum(FANFARE_POKEFLUTE);
gTasks[taskId].func = sub_80A1674; gTasks[taskId].func = sub_80A1674;
} }
void sub_80A1674(u8 taskId) static void sub_80A1674(u8 taskId)
{ {
if (WaitFanfare(FALSE)) if (WaitFanfare(FALSE))
{ {
@@ -408,7 +407,7 @@ void sub_80A1674(u8 taskId)
} }
} }
void sub_80A16D0(u8 taskId) static void sub_80A16D0(u8 taskId)
{ {
sub_80A0FBC(taskId); sub_80A0FBC(taskId);
} }
@@ -464,12 +463,12 @@ void FieldUseFunc_TmCase(u8 taskId)
} }
} }
void InitTMCaseFromBag(void) static void InitTMCaseFromBag(void)
{ {
InitTMCase(0, CB2_BagMenuFromStartMenu, 0); InitTMCase(0, CB2_BagMenuFromStartMenu, 0);
} }
void Task_InitTMCaseFromField(u8 taskId) static void Task_InitTMCaseFromField(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@@ -495,12 +494,12 @@ void FieldUseFunc_BerryPouch(u8 taskId)
} }
} }
void InitBerryPouchFromBag(void) static void InitBerryPouchFromBag(void)
{ {
InitBerryPouch(BERRYPOUCH_FROMFIELD, CB2_BagMenuFromStartMenu, 0); InitBerryPouch(BERRYPOUCH_FROMFIELD, CB2_BagMenuFromStartMenu, 0);
} }
void Task_InitBerryPouchFromField(u8 taskId) static void Task_InitBerryPouchFromField(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@@ -517,7 +516,7 @@ void BattleUseFunc_BerryPouch(u8 taskId)
ItemMenu_StartFadeToExitCallback(taskId); ItemMenu_StartFadeToExitCallback(taskId);
} }
void InitBerryPouchFromBattle(void) static void InitBerryPouchFromBattle(void)
{ {
InitBerryPouch(BERRYPOUCH_FROMBATTLE, sub_8107ECC, 0); InitBerryPouch(BERRYPOUCH_FROMBATTLE, sub_8107ECC, 0);
} }
@@ -538,12 +537,12 @@ void FieldUseFunc_TeachyTv(u8 taskId)
} }
} }
void InitTeachyTvFromBag(void) static void InitTeachyTvFromBag(void)
{ {
InitTeachyTvController(0, CB2_BagMenuFromStartMenu); InitTeachyTvController(0, CB2_BagMenuFromStartMenu);
} }
void Task_InitTeachyTvFromField(u8 taskId) static void Task_InitTeachyTvFromField(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@@ -566,7 +565,7 @@ void FieldUseFunc_SuperRepel(u8 taskId)
DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8); DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8);
} }
void sub_80A19E8(u8 taskId) static void sub_80A19E8(u8 taskId)
{ {
if (!IsSEPlaying()) if (!IsSEPlaying())
{ {
@@ -577,7 +576,7 @@ void sub_80A19E8(u8 taskId)
} }
} }
void sub_80A1A44(void) static void sub_80A1A44(void)
{ {
RemoveBagItem(gSpecialVar_ItemId, 1); RemoveBagItem(gSpecialVar_ItemId, 1);
sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId)); sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId));
@@ -609,7 +608,7 @@ void FieldUseFunc_BlackFlute(u8 taskId)
} }
} }
void sub_80A1B48(u8 taskId) static void sub_80A1B48(u8 taskId)
{ {
if (++gTasks[taskId].data[8] > 7) if (++gTasks[taskId].data[8] > 7)
{ {
@@ -638,7 +637,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
sub_80A1110(taskId, gTasks[taskId].data[3]); sub_80A1110(taskId, gTasks[taskId].data[3]);
} }
void sub_80A1C08(u8 taskId) static void sub_80A1C08(u8 taskId)
{ {
Overworld_ResetStateAfterDigEscRope(); Overworld_ResetStateAfterDigEscRope();
sub_80A1A44(); sub_80A1A44();
@@ -668,12 +667,12 @@ void FieldUseFunc_TownMap(u8 taskId)
} }
} }
void sub_80A1CAC(void) static void sub_80A1CAC(void)
{ {
sub_80BFF50(0, CB2_BagMenuFromStartMenu); sub_80BFF50(0, CB2_BagMenuFromStartMenu);
} }
void sub_80A1CC0(u8 taskId) static void sub_80A1CC0(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@@ -700,12 +699,12 @@ void FieldUseFunc_FameChecker(u8 taskId)
} }
} }
void sub_80A1D58(void) static void sub_80A1D58(void)
{ {
UseFameChecker(CB2_BagMenuFromStartMenu); UseFameChecker(CB2_BagMenuFromStartMenu);
} }
void sub_80A1D68(u8 taskId) static void sub_80A1D68(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@@ -774,7 +773,7 @@ void BattleUseFunc_GuardSpec(u8 taskId)
} }
} }
void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId) static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
{ {
s16 * data = gTasks[taskId].data; s16 * data = gTasks[taskId].data;
@@ -787,7 +786,7 @@ void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
} }
} }
void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId) static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
{ {
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{ {
@@ -796,7 +795,7 @@ void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
} }
} }
void ItemUse_SwitchToPartyMenuInBattle(u8 taskId) static void ItemUse_SwitchToPartyMenuInBattle(u8 taskId)
{ {
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH)
{ {
@@ -816,7 +815,7 @@ void BattleUseFunc_Medicine(u8 taskId)
ItemUse_SwitchToPartyMenuInBattle(taskId); ItemUse_SwitchToPartyMenuInBattle(taskId);
} }
void sub_80A1FD8(u8 taskId) static void sub_80A1FD8(u8 taskId)
{ {
gItemUseCB = ItemUseCB_SacredAsh; gItemUseCB = ItemUseCB_SacredAsh;
ItemUse_SwitchToPartyMenuInBattle(taskId); ItemUse_SwitchToPartyMenuInBattle(taskId);
+4 -4
View File
@@ -815,13 +815,13 @@ static s8 sub_81106F4(void)
MultichoiceGrid_MoveCursor(0, 1); MultichoiceGrid_MoveCursor(0, 1);
return MENU_NOTHING_CHOSEN; return MENU_NOTHING_CHOSEN;
} }
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || sub_80BF66C() == 1) else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == 1)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
MultichoiceGrid_MoveCursor(-1, 0); MultichoiceGrid_MoveCursor(-1, 0);
return MENU_NOTHING_CHOSEN; return MENU_NOTHING_CHOSEN;
} }
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || sub_80BF66C() == 2) else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == 2)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
MultichoiceGrid_MoveCursor(1, 0); MultichoiceGrid_MoveCursor(1, 0);
@@ -857,13 +857,13 @@ static s8 sub_81107A0(void)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN; return MENU_NOTHING_CHOSEN;
} }
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || sub_80BF66C() == 1) else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == 1)
{ {
if (oldPos != MultichoiceGrid_MoveCursorIfValid(-1, 0)) if (oldPos != MultichoiceGrid_MoveCursorIfValid(-1, 0))
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN; return MENU_NOTHING_CHOSEN;
} }
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || sub_80BF66C() == 2) else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == 2)
{ {
if (oldPos != MultichoiceGrid_MoveCursorIfValid(1, 0)) if (oldPos != MultichoiceGrid_MoveCursorIfValid(1, 0))
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
+2 -2
View File
@@ -83,7 +83,7 @@ u8 GetLRKeysState(void)
return 0; return 0;
} }
u8 sub_80BF66C(void) u8 GetLRKeysPressedAndHeld(void)
{ {
if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
{ {
@@ -149,7 +149,7 @@ void SetVBlankHBlankCallbacksToNull(void)
SetHBlankCallback(NULL); SetHBlankCallback(NULL);
} }
void ClearVramOamPltt(void) void ResetVramOamAndBgCntRegs(void)
{ {
ResetAllBgsCoordinatesAndBgCntRegs(); ResetAllBgsCoordinatesAndBgCntRegs();
CpuFill16(0, (void*) VRAM, VRAM_SIZE); CpuFill16(0, (void*) VRAM, VRAM_SIZE);
+1 -1
View File
@@ -343,7 +343,7 @@ static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u1
return LoadBgTilemap(bgId, src, size, offset); return LoadBgTilemap(bgId, src, size, offset);
} }
void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette) void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
{ {
u8 i, j; u8 i, j;
u16 *ptr = GetBgTilemapBuffer(bgId); u16 *ptr = GetBgTilemapBuffer(bgId);
+1787
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -595,7 +595,7 @@ static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex)
static void FillBG2RowWithPalette_2timesNplus1(s32 a0) static void FillBG2RowWithPalette_2timesNplus1(s32 a0)
{ {
SetBgRectPal(2, 0, 12, 30, 8, 2 * a0 + 1); SetBgTilemapPalette(2, 0, 12, 30, 8, 2 * a0 + 1);
ScheduleBgCopyTilemapToVram(2); ScheduleBgCopyTilemapToVram(2);
} }