Address review comments; doc round 2

This commit is contained in:
PikalaxALT
2020-03-22 14:26:44 -04:00
parent faab53204c
commit 77a6b8a820
8 changed files with 970 additions and 834 deletions
+4 -2
View File
@@ -5,6 +5,8 @@
#include "text.h"
#include "window.h"
#define MON_COORD_
#define MENU_NOTHING_CHOSEN -2
#define MENU_B_PRESSED -1
@@ -24,8 +26,8 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u
void Menu_PrintFormatIntlPlayerName(u8 windowId, const u8 * src, u16 x, u16 y);
void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority);
bool8 IsBlendTaskActive(void);
u8 sub_812EA78(u16 species, u32 personality, u8 a2);
s8 sub_812EAE4(u16 species, u32 personality, u8 a2);
u8 Menu2_GetMonSpriteAnchorCoord(u16 species, u32 personality, u8 a2);
s8 Menu2_GetMonSpriteAnchorCoordMinusx20(u16 species, u32 personality, u8 a2);
// list_menu
void sub_8107CD8(u8 palOffset, u16 speciesId);
+3 -3
View File
@@ -3,14 +3,14 @@
#include "global.h"
void sub_811E5B8(u16, u16, u16, u16, u16, u16);
bool8 sub_811E680(void);
void CreateLevelUpVerticalSpritesTask(u16 x, u16 y, u16 tileTag, u16 paletteTag, u16 priority, u16 subpriority);
bool8 LevelUpVerticalSpritesTaskIsRunning(void);
void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats);
void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr);
void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr);
void StartUseItemAnim_Normal(u8 slotId, u16 itemId, MainCallback callback);
void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback);
u32 PSA_IsCancelDisabled(void);
bool32 PSA_IsCancelDisabled(void);
void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId, MainCallback callback);
#endif // GUARD_POKEMON_SPECIAL_ANIM_H
+21 -23
View File
@@ -22,9 +22,9 @@ struct PokemonSpecialAnimScene
u16 state;
u16 field_0002;
u16 field_0004;
u16 field_0006;
u16 field_0008;
u8 field_000a;
u16 monSpriteY1;
u16 monSpriteY2;
u8 lastCloseness;
struct Sprite * monSprite;
struct Sprite * itemIconSprite;
u8 textBuf[0x900];
@@ -49,7 +49,7 @@ struct PokemonSpecialAnim
/*0x0098*/ u16 animType;
/*0x009a*/ u16 slotId;
/*0x009c*/ u16 closeness;
/*0x009e*/ u16 field_009e;
/*0x009e*/ u16 delayTimer;
/*0x00a0*/ u32 personality;
/*0x00a4*/ u32 field_00a4;
/*0x00a8*/ struct PokemonSpecialAnimScene sceneResources;
@@ -66,31 +66,29 @@ u8 *PSA_GetMonNickname(void);
u8 PSA_GetAnimType(void);
u16 PSA_GetMonSpecies(void);
u32 PSA_GetMonPersonality(void);
void GetMonLevelUpWindowStats(struct Pokemon * pokemon, u16 *data);
bool32 PSA_IsCancelDisabled(void);
void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 animType);
bool8 PokemonSpecialAnimSceneInitIsNotFinished(void);
void PSA_FreeWindowBuffers(void);
void sub_811D2A8(void);
void sub_811D2D0(void);
void PSA_ShowMessageWindow(void);
void PSA_HideMessageWindow(void);
void PSA_PrintMessage(u8 messageId);
void sub_811D4D4(void);
void PSA_AfterPoof_ClearMessageWindow(void);
bool8 PSA_IsMessagePrintTaskActive(void);
void sub_811D4FC(void);
bool8 sub_811D530(void);
void sub_811D5A0(void);
void sub_811D5B0(void);
bool8 sub_811D5C0(void);
void sub_811D6EC(void);
bool8 sub_811D6FC(void);
bool8 sub_811D754(void);
void sub_811D830(u8 closeness);
void PSA_DarkenMonSprite(void);
bool8 PSA_RunPoofAnim(void);
void PSA_UseTM_SetUpZoomOutAnim(void);
void PSA_UseTM_CleanUpForCancel(void);
bool8 PSA_UseTM_RunZoomOutAnim(void);
void PSA_UseTM_SetUpMachineSetWobble(void);
bool8 PSA_UseTM_RunMachineSetWobble(void);
bool8 PSA_LevelUpVerticalSpritesTaskIsRunning(void);
void PSA_CreateMonSpriteAtCloseness(u8 closeness);
void PSA_SetUpZoomAnim(u8 closeness);
bool8 sub_811D9A8(void);
void PSA_SetUpZoomOutMonTask(u16 itemId, u8 closeness, bool32 a2);
void sub_811DCF0(u16 itemId);
bool8 PSA_IsZoomOutMonTaskRunning(void);
void sub_811E040(void);
bool8 PSA_IsZoomTaskActive(void);
void PSA_SetUpItemUseOnMonAnim(u16 itemId, u8 closeness, bool32 a2);
void CreateItemIconSpriteAtMaxCloseness(u16 itemId);
bool8 PSA_IsItemUseOnMonAnimActive(void);
void PSA_UseItem_CleanUpForCancel(void);
#endif //GUARD_POKEMON_SPECIAL_ANIM_INTERNAL_H
+2 -2
View File
@@ -1226,7 +1226,7 @@ static void sub_80303A8(u8 taskId)
case 2:
PlaySE(SE_REGI);
if (IsMonGettingExpSentOut())
sub_811E5B8(sprite->pos1.x + sprite->pos2.x,
CreateLevelUpVerticalSpritesTask(sprite->pos1.x + sprite->pos2.x,
sprite->pos1.y + sprite->pos2.y,
10000,
10000,
@@ -1235,7 +1235,7 @@ static void sub_80303A8(u8 taskId)
++data[15];
break;
case 3:
if (!sub_811E680())
if (!LevelUpVerticalSpritesTaskIsRunning())
{
sprite->invisible = FALSE;
++data[15];
+6 -6
View File
@@ -9,7 +9,7 @@
static void Task_SmoothBlendLayers(u8 taskId);
static const u8 gUnknown_845FD54[][5] = {
static const u8 sMonSpriteAnchorCoords[][5] = {
[SPECIES_BULBASAUR - 1] = {0x16, 0x1b, 0x30, 0x16, 0x29},
[SPECIES_IVYSAUR - 1] = {0x14, 0x1b, 0x30, 0x15, 0x2a},
[SPECIES_VENUSAUR - 1] = {0x1b, 0x20, 0x20, 0x1b, 0x33},
@@ -635,7 +635,7 @@ static void Task_SmoothBlendLayers(u8 taskId)
}
}
u8 sub_812EA78(u16 species, u32 personality, u8 a2)
u8 Menu2_GetMonSpriteAnchorCoord(u16 species, u32 personality, u8 a2)
{
if (species == SPECIES_UNOWN)
{
@@ -658,13 +658,13 @@ u8 sub_812EA78(u16 species, u32 personality, u8 a2)
if (species != SPECIES_NONE && a2 < 5)
{
species--;
if (gUnknown_845FD54[species][a2] != 0xFF)
return gUnknown_845FD54[species][a2];
if (sMonSpriteAnchorCoords[species][a2] != 0xFF)
return sMonSpriteAnchorCoords[species][a2];
}
return 32;
}
s8 sub_812EAE4(u16 species, u32 personality, u8 a2)
s8 Menu2_GetMonSpriteAnchorCoordMinusx20(u16 species, u32 personality, u8 a2)
{
return sub_812EA78(species, personality, a2) - 32;
return Menu2_GetMonSpriteAnchorCoord(species, personality, a2) - 32;
}
+2 -2
View File
@@ -4309,7 +4309,7 @@ static void sub_8124DE0(void)
static void sub_8124E48(void)
{
if (ItemId_GetPocket(gSpecialVar_ItemId) == POCKET_TM_CASE
&& PSA_IsCancelDisabled() == 1)
&& PSA_IsCancelDisabled() == TRUE)
{
GiveMoveToMon(&gPlayerParty[gPartyMenu.slotId], ItemIdToBattleMoveId(gSpecialVar_ItemId));
AdjustFriendship(&gPlayerParty[gPartyMenu.slotId], 4);
@@ -4325,7 +4325,7 @@ static void sub_8124E48(void)
static void sub_8124EFC(void)
{
if (PSA_IsCancelDisabled() == 1)
if (PSA_IsCancelDisabled() == TRUE)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u8 moveIdx = GetMoveSlotToReplace();
+56 -56
View File
@@ -15,14 +15,14 @@ static EWRAM_DATA bool32 sCancelDisabled = FALSE;
static EWRAM_DATA u8 sPSATaskId = 0;
static EWRAM_DATA struct PokemonSpecialAnim * sPSAWork = NULL;
struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback);
static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback);
static void SetUpUseItemAnim_Normal(struct PokemonSpecialAnim * ptr);
static void SetUpUseItemAnim_ForgetMoveAndLearnTMorHM(struct PokemonSpecialAnim * ptr);
static void SetUpUseItemAnim_CantEvolve(struct PokemonSpecialAnim * ptr);
static void sub_811C834(u8 taskId);
static void Task_UseItem_Normal(u8 taskId);
static void Task_ForgetMove(u8 taskId);
static void sub_811CBE4(u8 taskId);
static void sub_811CD68(u8 taskId);
static void Task_EvoStone_CantEvolve(u8 taskId);
static void Task_UseTM_NoForget(u8 taskId);
static void Task_MachineSet(u8 taskId);
static void Task_CleanUp(u8 taskId);
static u8 GetClosenessFromFriendship(u16 friendship);
@@ -58,7 +58,7 @@ void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback)
SetUpUseItemAnim_CantEvolve(ptr);
}
struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback)
static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback)
{
struct PokemonSpecialAnim * ptr;
struct Pokemon * pokemon;
@@ -125,10 +125,10 @@ static void SetUpUseItemAnim_Normal(struct PokemonSpecialAnim * ptr)
case 0:
case 1:
case 3:
taskId = CreateTask(sub_811C834, 0);
taskId = CreateTask(Task_UseItem_Normal, 0);
break;
case 4:
taskId = CreateTask(sub_811CD68, 0);
taskId = CreateTask(Task_UseTM_NoForget, 0);
break;
default:
SetMainCallback2(ptr->savedCallback);
@@ -152,18 +152,18 @@ static void SetUpUseItemAnim_ForgetMoveAndLearnTMorHM(struct PokemonSpecialAnim
static void SetUpUseItemAnim_CantEvolve(struct PokemonSpecialAnim * ptr)
{
u8 taskId = CreateTask(sub_811CBE4, 0);
u8 taskId = CreateTask(Task_EvoStone_CantEvolve, 0);
SetWordTaskArg(taskId, 0, (uintptr_t)ptr);
SetMainCallback2(CB2_PSA);
sPSATaskId = taskId;
}
static void sub_811C834(u8 taskId)
static void Task_UseItem_Normal(u8 taskId)
{
struct PokemonSpecialAnim * ptr = (void *)GetWordTaskArg(taskId, 0);
if (!ptr->cancelDisabled && JOY_HELD(A_BUTTON | B_BUTTON))
{
sub_811E040();
PSA_UseItem_CleanUpForCancel();
SetUseItemAnimCallback(taskId, Task_CleanUp);
return;
}
@@ -173,7 +173,7 @@ static void sub_811C834(u8 taskId)
case 0:
SetVBlankCallback(NULL);
InitPokemonSpecialAnimScene(&ptr->sceneResources, ptr->animType);
sub_811D830(0);
PSA_CreateMonSpriteAtCloseness(0);
ptr->state++;
break;
case 1:
@@ -195,31 +195,31 @@ static void sub_811C834(u8 taskId)
ptr->state++;
break;
case 4:
if (!sub_811D9A8())
if (!PSA_IsZoomTaskActive())
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 5:
if (!sub_811D754())
if (!PSA_LevelUpVerticalSpritesTaskIsRunning())
{
ptr->state++;
}
break;
case 6:
PSA_SetUpZoomOutMonTask(ptr->itemId, ptr->closeness, TRUE);
PSA_SetUpItemUseOnMonAnim(ptr->itemId, ptr->closeness, TRUE);
ptr->state++;
break;
case 7:
if (!PSA_IsZoomOutMonTaskRunning())
if (!PSA_IsItemUseOnMonAnimActive())
{
ptr->cancelDisabled = TRUE;
if (ptr->closeness == 3)
{
PlayCry1(ptr->species, 0);
}
sub_811D2A8();
PSA_ShowMessageWindow();
ptr->state++;
}
break;
@@ -238,7 +238,7 @@ static void sub_811C834(u8 taskId)
ptr->state++;
break;
case 11:
if (!sub_811D9A8())
if (!PSA_IsZoomTaskActive())
{
ptr->cancelDisabled = TRUE;
ptr->state++;
@@ -283,7 +283,7 @@ static void Task_ForgetMove(u8 taskId)
case 0:
SetVBlankCallback(NULL);
InitPokemonSpecialAnimScene(&ptr->sceneResources, ptr->animType);
sub_811D830(3);
PSA_CreateMonSpriteAtCloseness(3);
ptr->state++;
break;
case 1:
@@ -297,15 +297,15 @@ static void Task_ForgetMove(u8 taskId)
case 2:
if (!gPaletteFade.active)
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 3:
ptr->field_009e++;
if (ptr->field_009e > 30)
ptr->delayTimer++;
if (ptr->delayTimer > 30)
{
sub_811D2A8();
PSA_ShowMessageWindow();
ptr->state++;
}
break;
@@ -316,13 +316,13 @@ static void Task_ForgetMove(u8 taskId)
case 5:
if (!PSA_IsMessagePrintTaskActive())
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 6:
ptr->field_009e++;
if (ptr->field_009e > 30)
ptr->delayTimer++;
if (ptr->delayTimer > 30)
{
PSA_PrintMessage(PSA_TEXT_FORGET_2_AND);
ptr->state++;
@@ -331,25 +331,25 @@ static void Task_ForgetMove(u8 taskId)
case 7:
if (!PSA_IsMessagePrintTaskActive())
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 8:
ptr->field_009e++;
if (ptr->field_009e > 30)
ptr->delayTimer++;
if (ptr->delayTimer > 30)
{
PlaySE(SE_W255);
PSA_PrintMessage(PSA_TEXT_FORGET_POOF);
sub_811D4FC();
PSA_DarkenMonSprite();
ptr->state++;
}
break;
case 9:
r4 = sub_811D530();
r4 = PSA_RunPoofAnim();
if (!(r4 | PSA_IsMessagePrintTaskActive()))
{
sub_811D4D4();
PSA_AfterPoof_ClearMessageWindow();
ptr->state++;
}
break;
@@ -367,7 +367,7 @@ static void Task_ForgetMove(u8 taskId)
case 12:
if (!PSA_IsMessagePrintTaskActive())
{
sub_811D2D0();
PSA_HideMessageWindow();
ptr->state++;
}
break;
@@ -377,7 +377,7 @@ static void Task_ForgetMove(u8 taskId)
}
}
static void sub_811CBE4(u8 taskId)
static void Task_EvoStone_CantEvolve(u8 taskId)
{
struct PokemonSpecialAnim * ptr = (void *)GetWordTaskArg(taskId, 0);
@@ -392,7 +392,7 @@ static void sub_811CBE4(u8 taskId)
case 0:
SetVBlankCallback(NULL);
InitPokemonSpecialAnimScene(&ptr->sceneResources, ptr->animType);
sub_811D830(0);
PSA_CreateMonSpriteAtCloseness(0);
ptr->state++;
break;
case 1:
@@ -414,13 +414,13 @@ static void sub_811CBE4(u8 taskId)
ptr->state++;
break;
case 4:
PSA_SetUpZoomOutMonTask(ptr->itemId, ptr->closeness, FALSE);
PSA_SetUpItemUseOnMonAnim(ptr->itemId, ptr->closeness, FALSE);
ptr->state++;
break;
case 5:
if (!PSA_IsZoomOutMonTaskRunning())
if (!PSA_IsItemUseOnMonAnimActive())
{
sub_811D2A8();
PSA_ShowMessageWindow();
ptr->state++;
}
break;
@@ -454,7 +454,7 @@ static void sub_811CBE4(u8 taskId)
}
}
static void sub_811CD68(u8 taskId)
static void Task_UseTM_NoForget(u8 taskId)
{
struct PokemonSpecialAnim * ptr = (void *)GetWordTaskArg(taskId, 0);
@@ -469,7 +469,7 @@ static void sub_811CD68(u8 taskId)
case 0:
SetVBlankCallback(NULL);
InitPokemonSpecialAnimScene(&ptr->sceneResources, ptr->animType);
sub_811D830(3);
PSA_CreateMonSpriteAtCloseness(3);
ptr->state++;
break;
case 1:
@@ -483,13 +483,13 @@ static void sub_811CD68(u8 taskId)
case 2:
if (!gPaletteFade.active)
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 3:
ptr->field_009e++;
if (ptr->field_009e > 20)
ptr->delayTimer++;
if (ptr->delayTimer > 20)
{
SetUseItemAnimCallback(taskId, Task_MachineSet);
}
@@ -503,7 +503,7 @@ static void Task_MachineSet(u8 taskId)
if (!ptr->cancelDisabled && JOY_NEW(B_BUTTON))
{
sub_811D5B0();
PSA_UseTM_CleanUpForCancel();
SetUseItemAnimCallback(taskId, Task_CleanUp);
return;
}
@@ -511,48 +511,48 @@ static void Task_MachineSet(u8 taskId)
switch (ptr->state)
{
case 0:
sub_811DCF0(ptr->itemId);
ptr->field_009e = 0;
CreateItemIconSpriteAtMaxCloseness(ptr->itemId);
ptr->delayTimer = 0;
ptr->state++;
break;
case 1:
sub_811D2A8();
PSA_ShowMessageWindow();
PSA_PrintMessage(PSA_TEXT_MACHINE_SET);
ptr->state++;
break;
case 2:
if (!PSA_IsMessagePrintTaskActive())
{
sub_811D2D0();
PSA_HideMessageWindow();
ptr->state++;
}
break;
case 3:
sub_811D6EC();
PSA_UseTM_SetUpMachineSetWobble();
ptr->state++;
break;
case 4:
if (!sub_811D6FC())
if (!PSA_UseTM_RunMachineSetWobble())
{
ptr->state++;
}
break;
case 5:
sub_811D5A0();
PSA_UseTM_SetUpZoomOutAnim();
ptr->state++;
break;
case 6:
if (!sub_811D5C0())
if (!PSA_UseTM_RunZoomOutAnim())
{
ptr->field_009e = 0;
ptr->delayTimer = 0;
ptr->state++;
}
break;
case 7:
ptr->field_009e++;
if (ptr->field_009e > 30)
ptr->delayTimer++;
if (ptr->delayTimer > 30)
{
sub_811D2A8();
PSA_ShowMessageWindow();
PSA_PrintMessage(PSA_TEXT_LEARNED_MOVE);
ptr->state++;
}
File diff suppressed because it is too large Load Diff