Merge pull request #1539 from GriffinRichards/doc-finalmisc

Document files with a few remaining symbols
This commit is contained in:
PikalaxALT
2021-11-03 20:49:14 -04:00
committed by GitHub
52 changed files with 582 additions and 729 deletions

View File

@@ -104,7 +104,7 @@ static void HblankCb_TourneyTree(void);
static void VblankCb_TourneyTree(void);
static u8 UpdateTourneyTreeCursor(u8 taskId);
static void DecideRoundWinners(u8 roundId);
static u8 sub_81953E8(u8 tournamentId, u8);
static u8 GetOpposingNPCTournamentIdByRound(u8 tournamentId, u8);
static void DrawTourneyAdvancementLine(u8, u8);
static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite);
static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite);
@@ -1197,7 +1197,7 @@ static const u8 sLastMatchCardNum[DOME_ROUNDS_COUNT] =
[DOME_FINAL] = 30
};
static const u8 gUnknown_0860D1A0[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUNDS_COUNT] =
static const u8 sTrainerAndRoundToLastMatchCardNum[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUNDS_COUNT] =
{
{16, 24, 28, 30},
{17, 24, 28, 30},
@@ -1209,7 +1209,7 @@ static const u8 gUnknown_0860D1A0[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUND
{23, 27, 29, 30},
};
static const u8 gUnknown_0860D1C0[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 15, 8, 7, 3, 12, 11, 4, 1, 14, 9, 6, 2, 13, 10, 5};
static const u8 sTournamentIdToPairedTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 15, 8, 7, 3, 12, 11, 4, 1, 14, 9, 6, 2, 13, 10, 5};
// The first line of text on a trainers info card. It describes their potential to win, based on their seed in the tournament tree.
// Dome Ace Tucker has their own separate potential text.
@@ -4178,7 +4178,7 @@ static u8 Task_GetInfoCardInput(u8 taskId)
if (input == INFOCARD_INPUT_AB)
{
if (sInfoCard->pos != 0)
gTasks[taskId2].data[1] = gUnknown_0860D1A0[position / 2][sInfoCard->pos - 1];
gTasks[taskId2].data[1] = sTrainerAndRoundToLastMatchCardNum[position / 2][sInfoCard->pos - 1];
else
gTasks[taskId2].data[1] = position;
}
@@ -4218,9 +4218,9 @@ static u8 Task_GetInfoCardInput(u8 taskId)
if (input == INFOCARD_INPUT_AB)
{
if (sInfoCard->pos == 0) // On left trainer info card
gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[0]];
gTasks[taskId2].data[1] = sTournamentIdToPairedTrainerIds[sInfoCard->tournamentIds[0]];
else if (sInfoCard->pos == 2) // On right trainer info card
gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[1]];
gTasks[taskId2].data[1] = sTournamentIdToPairedTrainerIds[sInfoCard->tournamentIds[1]];
else // On match info card
gTasks[taskId2].data[1] = position;
}
@@ -5224,7 +5224,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
{
for (i = 0; i < roundId - 1; i++)
{
if (gSaveBlock2Ptr->frontier.domeWinningMoves[sub_81953E8(winnerTournamentId, i)] == moveIds[j])
if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moveIds[j])
break;
}
if (i != roundId - 1)
@@ -5934,10 +5934,10 @@ int TrainerIdToDomeTournamentId(u16 trainerId)
return i;
}
static u8 sub_81953E8(u8 tournamentId, u8 round)
static u8 GetOpposingNPCTournamentIdByRound(u8 tournamentId, u8 round)
{
u8 tournamentIds[2];
BufferDomeWinString(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, tournamentIds);
BufferDomeWinString(sTrainerAndRoundToLastMatchCardNum[sTournamentIdToPairedTrainerIds[tournamentId] / 2][round] - 16, tournamentIds);
if (tournamentId == tournamentIds[0])
return tournamentIds[1];
else

View File

@@ -452,9 +452,9 @@ static void VBlankCB_PyramidBag(void)
static void CB2_LoadPyramidBagMenu(void)
{
while (MenuHelpers_CallLinkSomething() != TRUE
while (MenuHelpers_ShouldWaitForLinkRecv() != TRUE
&& LoadPyramidBagMenu() != TRUE
&& MenuHelpers_LinkSomething() != TRUE);
&& MenuHelpers_IsLinkActive() != TRUE);
}
static bool8 LoadPyramidBagMenu(void)
@@ -484,7 +484,7 @@ static bool8 LoadPyramidBagMenu(void)
gMain.state++;
break;
case 5:
if (!MenuHelpers_LinkSomething())
if (!MenuHelpers_IsLinkActive())
ResetTasks();
gMain.state++;
break;
@@ -885,7 +885,7 @@ static void Task_ClosePyramidBag(u8 taskId)
static void Task_HandlePyramidBagInput(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() == TRUE || gPaletteFade.active)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE || gPaletteFade.active)
return;
if (JOY_NEW(SELECT_BUTTON))
@@ -990,7 +990,7 @@ static void PrintMenuActionText_MultiRow(u8 windowId, u8 horizontalCount, u8 ver
static void HandleMenuActionInput_SingleRow(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s32 id = Menu_ProcessInputNoWrap();
switch (id)
@@ -1012,7 +1012,7 @@ static void HandleMenuActionInput_SingleRow(u8 taskId)
static void HandleMenuActionInput_2x2(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s8 id = Menu_GetCursorPos();
if (JOY_NEW(DPAD_UP))
@@ -1325,7 +1325,7 @@ static void Task_BeginItemSwap(u8 taskId)
static void Task_ItemSwapHandleInput(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (JOY_NEW(SELECT_BUTTON))
{

View File

@@ -200,11 +200,11 @@ static void CB2_InitBerryTagScreen(void)
{
while (1)
{
if (MenuHelpers_CallLinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE)
break;
if (InitBerryTagScreen() == TRUE)
break;
if (MenuHelpers_LinkSomething() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE)
break;
}
}
@@ -237,7 +237,7 @@ static bool8 InitBerryTagScreen(void)
gMain.state++;
break;
case 5:
if (!MenuHelpers_LinkSomething())
if (!MenuHelpers_IsLinkActive())
ResetTasks();
gMain.state++;
break;

View File

@@ -658,7 +658,7 @@ static void AcroBikeTransition_SideJump(u8 direction)
playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
PlaySE(SE_BIKE_HOP);
playerObjEvent->facingDirectionLocked = 1;
PlayerSetAnimId(GetJumpMovementAction(direction), 2);
PlayerSetAnimId(GetJumpMovementAction(direction), COPY_MOVE_WALK);
}
static void AcroBikeTransition_TurnJump(u8 direction)

View File

@@ -10,43 +10,6 @@ static EWRAM_DATA struct
struct ConfettiUtil *array;
} *sWork = NULL;
static void sub_81520A8(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) // Unused.
{
u8 i;
u8 j;
u8 x;
u8 y;
for (i = 0, y = top; i < height; i++)
{
for (x = left, j = 0; j < width; j++)
{
*(u16 *)((dest) + (y * 64 + x * 2)) = value;
x = (x + 1) % 32;
}
y = (y + 1) % 32;
}
}
static void sub_8152134(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height) // Unused.
{
u8 i;
u8 j;
u8 x;
u8 y;
const u16 *_src;
for (i = 0, _src = src, y = top; i < height; i++)
{
for (x = left, j = 0; j < width; j++)
{
*(u16 *)((dest) + (y * 64 + x * 2)) = *(_src++);
x = (x + 1) % 32;
}
y = (y + 1) % 32;
}
}
bool32 ConfettiUtil_Init(u8 count)
{
u8 i = 0;

View File

@@ -388,17 +388,17 @@ u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct ObjectEvent *, struct Sprite
};
bool8 (*const gCopyPlayerMovementFuncs[])(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)) = {
CopyablePlayerMovement_None,
CopyablePlayerMovement_FaceDirection,
CopyablePlayerMovement_GoSpeed0,
CopyablePlayerMovement_GoSpeed1,
CopyablePlayerMovement_GoSpeed2,
CopyablePlayerMovement_Slide,
cph_IM_DIFFERENT,
CopyablePlayerMovement_GoSpeed4,
CopyablePlayerMovement_Jump,
CopyablePlayerMovement_None,
CopyablePlayerMovement_None,
[COPY_MOVE_NONE] = CopyablePlayerMovement_None,
[COPY_MOVE_FACE] = CopyablePlayerMovement_FaceDirection,
[COPY_MOVE_WALK] = CopyablePlayerMovement_WalkNormal,
[COPY_MOVE_WALK_FAST] = CopyablePlayerMovement_WalkFast,
[COPY_MOVE_WALK_FASTER] = CopyablePlayerMovement_WalkFaster,
[COPY_MOVE_SLIDE] = CopyablePlayerMovement_Slide,
[COPY_MOVE_JUMP_IN_PLACE] = CopyablePlayerMovement_JumpInPlace,
[COPY_MOVE_JUMP] = CopyablePlayerMovement_Jump,
[COPY_MOVE_JUMP2] = CopyablePlayerMovement_Jump2,
[COPY_MOVE_EMPTY_1] = CopyablePlayerMovement_None,
[COPY_MOVE_EMPTY_2] = CopyablePlayerMovement_None,
};
u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct ObjectEvent *, struct Sprite *) = {

View File

@@ -113,7 +113,7 @@ void Unused_LZDecompressWramIndirect(const void **src, void *dest)
LZ77UnCompWram(*src, dest);
}
void sub_803471C(s32 object_size, s32 object_count, u8 *src_tiles, u8 *dest_tiles)
static void StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u8 *src_tiles, u8 *dest_tiles)
{
/*
This function appears to emulate behaviour found in the GB(C) versions regarding how the Pokemon images

View File

@@ -1310,7 +1310,7 @@ static void StartEasyChatScreen(u8 taskId, TaskFunc taskFunc)
static void Task_InitEasyChatScreen(u8 taskId)
{
if (!IsUpdateLinkStateCBActive())
if (!IsOverworldLinkActive())
{
while (InitEasyChatScreen(taskId));
}

File diff suppressed because it is too large Load Diff

View File

@@ -421,7 +421,7 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
return SecretBase_EventScript_SandOrnament;
if (MetatileBehavior_IsSecretBaseShieldOrToyTV(metatileBehavior) == TRUE)
return SecretBase_EventScript_ShieldOrToyTV;
if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE)
if (MetatileBehavior_IsSecretBaseDecorationBase(metatileBehavior) == TRUE)
{
CheckInteractedWithFriendsFurnitureBottom();
return NULL;
@@ -729,9 +729,8 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
DoTeleportTileWarp();
return TRUE;
}
if (MetatileBehavior_IsBridgeOverOcean(metatileBehavior) == TRUE)
if (MetatileBehavior_IsUnionRoomWarp(metatileBehavior) == TRUE)
{
// Maybe unused? This MB is used by log bridges, but there's never a warp event on them.
DoSpinExitWarp();
return TRUE;
}
@@ -762,7 +761,7 @@ static bool8 IsWarpMetatileBehavior(u16 metatileBehavior)
&& MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) != TRUE
&& MetatileBehavior_IsMtPyreHole(metatileBehavior) != TRUE
&& MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) != TRUE
&& MetatileBehavior_IsBridgeOverOcean(metatileBehavior) != TRUE)
&& MetatileBehavior_IsUnionRoomWarp(metatileBehavior) != TRUE)
return FALSE;
return TRUE;
}

View File

@@ -225,10 +225,10 @@ static void (*const sPlayerAvatarTransitionFuncs[])(struct ObjectEvent *) =
static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) =
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
MetatileBehavior_IsWestArrowWarp,
MetatileBehavior_IsEastArrowWarp,
[DIR_SOUTH - 1] = MetatileBehavior_IsSouthArrowWarp,
[DIR_NORTH - 1] = MetatileBehavior_IsNorthArrowWarp,
[DIR_WEST - 1] = MetatileBehavior_IsWestArrowWarp,
[DIR_EAST - 1] = MetatileBehavior_IsEastArrowWarp,
};
static const u8 sRivalAvatarGfxIds[][2] =
@@ -281,10 +281,10 @@ static const u8 sPlayerAvatarGfxToStateFlag[2][5][2] =
static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
MetatileBehavior_IsWestArrowWarp,
MetatileBehavior_IsEastArrowWarp,
[DIR_SOUTH - 1] = MetatileBehavior_IsSouthArrowWarp,
[DIR_NORTH - 1] = MetatileBehavior_IsNorthArrowWarp,
[DIR_WEST - 1] = MetatileBehavior_IsWestArrowWarp,
[DIR_EAST - 1] = MetatileBehavior_IsEastArrowWarp,
};
static bool8 (*const sPushBoulderFuncs[])(struct Task *, struct ObjectEvent *, struct ObjectEvent *) =
@@ -929,9 +929,9 @@ static bool8 PlayerCheckIfAnimFinishedOrInactive(void)
return ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]);
}
static void PlayerSetCopyableMovement(u8 a)
static void PlayerSetCopyableMovement(u8 movement)
{
gObjectEvents[gPlayerAvatar.objectEventId].playerCopyableMovement = a;
gObjectEvents[gPlayerAvatar.objectEventId].playerCopyableMovement = movement;
}
u8 PlayerGetCopyableMovement(void)
@@ -955,65 +955,65 @@ void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
void PlayerWalkNormal(u8 direction)
{
PlayerSetAnimId(GetWalkNormalMovementAction(direction), 2);
PlayerSetAnimId(GetWalkNormalMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerWalkFast(u8 direction)
{
PlayerSetAnimId(GetWalkFastMovementAction(direction), 2);
PlayerSetAnimId(GetWalkFastMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerRideWaterCurrent(u8 a)
void PlayerRideWaterCurrent(u8 direction)
{
PlayerSetAnimId(GetRideWaterCurrentMovementAction(a), 2);
PlayerSetAnimId(GetRideWaterCurrentMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerWalkFaster(u8 direction)
{
PlayerSetAnimId(GetWalkFasterMovementAction(direction), 2);
PlayerSetAnimId(GetWalkFasterMovementAction(direction), COPY_MOVE_WALK);
}
static void PlayerRun(u8 a)
static void PlayerRun(u8 direction)
{
PlayerSetAnimId(GetPlayerRunMovementAction(a), 2);
PlayerSetAnimId(GetPlayerRunMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerOnBikeCollide(u8 a)
void PlayerOnBikeCollide(u8 direction)
{
PlayCollisionSoundIfNotFacingWarp(a);
PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(a), 2);
PlayCollisionSoundIfNotFacingWarp(direction);
PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerOnBikeCollideWithFarawayIslandMew(u8 a)
void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction)
{
PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(a), 2);
PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(direction), COPY_MOVE_WALK);
}
static void PlayerNotOnBikeCollide(u8 a)
static void PlayerNotOnBikeCollide(u8 direction)
{
PlayCollisionSoundIfNotFacingWarp(a);
PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(a), 2);
PlayCollisionSoundIfNotFacingWarp(direction);
PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(direction), COPY_MOVE_WALK);
}
static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8 a)
static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8 direction)
{
PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(a), 2);
PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerFaceDirection(u8 direction)
{
PlayerSetAnimId(GetFaceDirectionMovementAction(direction), 1);
PlayerSetAnimId(GetFaceDirectionMovementAction(direction), COPY_MOVE_FACE);
}
void PlayerTurnInPlace(u8 direction)
{
PlayerSetAnimId(GetWalkInPlaceFastMovementAction(direction), 1);
PlayerSetAnimId(GetWalkInPlaceFastMovementAction(direction), COPY_MOVE_FACE);
}
void PlayerJumpLedge(u8 direction)
{
PlaySE(SE_LEDGE);
PlayerSetAnimId(GetJump2MovementAction(direction), 8);
PlayerSetAnimId(GetJump2MovementAction(direction), COPY_MOVE_JUMP2);
}
// Stop player on current facing direction once they're done moving and if they're not currently Acro Biking on bumpy slope
@@ -1029,81 +1029,82 @@ void PlayerFreeze(void)
// wheelie idle
void PlayerIdleWheelie(u8 direction)
{
PlayerSetAnimId(GetAcroWheelieFaceDirectionMovementAction(direction), 1);
PlayerSetAnimId(GetAcroWheelieFaceDirectionMovementAction(direction), COPY_MOVE_FACE);
}
// normal to wheelie
void PlayerStartWheelie(u8 direction)
{
PlayerSetAnimId(GetAcroPopWheelieFaceDirectionMovementAction(direction), 1);
PlayerSetAnimId(GetAcroPopWheelieFaceDirectionMovementAction(direction), COPY_MOVE_FACE);
}
// wheelie to normal
void PlayerEndWheelie(u8 direction)
{
PlayerSetAnimId(GetAcroEndWheelieFaceDirectionMovementAction(direction), 1);
PlayerSetAnimId(GetAcroEndWheelieFaceDirectionMovementAction(direction), COPY_MOVE_FACE);
}
// wheelie hopping standing
void PlayerStandingHoppingWheelie(u8 a)
void PlayerStandingHoppingWheelie(u8 direction)
{
PlaySE(SE_BIKE_HOP);
PlayerSetAnimId(GetAcroWheelieHopFaceDirectionMovementAction(a), 1);
PlayerSetAnimId(GetAcroWheelieHopFaceDirectionMovementAction(direction), COPY_MOVE_FACE);
}
// wheelie hopping moving
void PlayerMovingHoppingWheelie(u8 a)
void PlayerMovingHoppingWheelie(u8 direction)
{
PlaySE(SE_BIKE_HOP);
PlayerSetAnimId(GetAcroWheelieHopDirectionMovementAction(a), 2);
PlayerSetAnimId(GetAcroWheelieHopDirectionMovementAction(direction), COPY_MOVE_WALK);
}
// wheelie hopping ledge
void PlayerLedgeHoppingWheelie(u8 a)
void PlayerLedgeHoppingWheelie(u8 direction)
{
PlaySE(SE_BIKE_HOP);
PlayerSetAnimId(GetAcroWheelieJumpDirectionMovementAction(a), 8);
PlayerSetAnimId(GetAcroWheelieJumpDirectionMovementAction(direction), COPY_MOVE_JUMP2);
}
// acro turn jump
void PlayerAcroTurnJump(u8 direction)
{
PlaySE(SE_BIKE_HOP);
PlayerSetAnimId(GetJumpInPlaceTurnAroundMovementAction(direction), 1);
PlayerSetAnimId(GetJumpInPlaceTurnAroundMovementAction(direction), COPY_MOVE_FACE);
}
void PlayerWheelieInPlace(u8 direction)
{
PlaySE(SE_WALL_HIT);
PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2);
PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerPopWheelieWhileMoving(u8 direction)
{
PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2);
PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerWheelieMove(u8 direction)
{
PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2);
PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), COPY_MOVE_WALK);
}
void PlayerEndWheelieWhileMoving(u8 direction)
{
PlayerSetAnimId(GetAcroEndWheelieMoveDirectionMovementAction(direction), 2);
PlayerSetAnimId(GetAcroEndWheelieMoveDirectionMovementAction(direction), COPY_MOVE_WALK);
}
static void PlayCollisionSoundIfNotFacingWarp(u8 a)
static void PlayCollisionSoundIfNotFacingWarp(u8 direction)
{
s16 x, y;
u8 metatileBehavior = gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior;
if (!sArrowWarpMetatileBehaviorChecks[a - 1](metatileBehavior))
if (!sArrowWarpMetatileBehaviorChecks[direction - 1](metatileBehavior))
{
if (a == 2)
// Check if walking up into a door
if (direction == DIR_NORTH)
{
PlayerGetDestCoords(&x, &y);
MoveCoords(2, &x, &y);
MoveCoords(direction, &x, &y);
if (MetatileBehavior_IsWarpDoor(MapGridGetMetatileBehaviorAt(x, y)))
return;
}

View File

@@ -719,7 +719,7 @@ void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex)
}
}
void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay)
void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay)
{
if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
{
@@ -779,7 +779,7 @@ void FadeScreen(u8 mode, s8 delay)
if (fadeOut)
{
if (useWeatherPal)
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2);
BeginNormalPaletteFade(PALETTES_ALL, delay, 0, 16, fadeColor);
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT;

View File

@@ -1181,7 +1181,7 @@ void Thunderstorm_Main(void)
case TSTORM_STATE_FADE_THUNDER_LONG:
if (--gWeatherPtr->thunderDelay == 0)
{
sub_80ABC7C(19, 3, 5);
ApplyWeatherGammaShiftIfIdle_Gradual(19, 3, 5);
gWeatherPtr->initStep++;
}
break;

View File

@@ -214,10 +214,11 @@ int GetNicknameLanguage(u8 *str)
return GAME_LANGUAGE;
}
void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows)
// Used by Pokénav's Match Call to erase the previous trainer's flavor text when switching between their info pages.
void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows)
{
u8 *windowTileData;
int fillSize, windowRowSize, rowsToFill;
int fillSize, windowRowSize, i;
struct Window *window = &gWindows[windowId];
fillSize = numFillTiles * TILE_SIZE_4BPP;
@@ -225,12 +226,10 @@ void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles,
windowTileData = window->tileData + (rowStart * windowRowSize) + (columnStart * TILE_SIZE_4BPP);
if (numRows > 0)
{
rowsToFill = numRows;
while (rowsToFill)
for (i = numRows; i != 0; i--)
{
CpuFastFill8(0x11, windowTileData, fillSize);
windowTileData += windowRowSize;
rowsToFill--;
}
}
}

View File

@@ -669,7 +669,7 @@ void VBlankCB_BagMenuRun(void)
static void CB2_Bag(void)
{
while(MenuHelpers_CallLinkSomething() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_LinkSomething() != TRUE)
while(MenuHelpers_ShouldWaitForLinkRecv() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_IsLinkActive() != TRUE)
{};
}
@@ -705,7 +705,7 @@ static bool8 SetupBagMenu(void)
gMain.state++;
break;
case 6:
if (!MenuHelpers_LinkSomething())
if (!MenuHelpers_IsLinkActive())
ResetTasks();
gMain.state++;
break;
@@ -1215,7 +1215,7 @@ static void Task_BagMenu_HandleInput(u8 taskId)
u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket];
s32 listPosition;
if (MenuHelpers_CallLinkSomething() != TRUE && !gPaletteFade.active)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active)
{
switch (GetSwitchBagPocketDirection())
{
@@ -1354,7 +1354,7 @@ static void Task_SwitchBagPocket(u8 taskId)
{
s16* data = gTasks[taskId].data;
if (!MenuHelpers_LinkSomething() && !IsWallysBag())
if (!MenuHelpers_IsLinkActive() && !IsWallysBag())
{
switch (GetSwitchBagPocketDirection())
{
@@ -1449,7 +1449,7 @@ static void Task_HandleSwappingItemsInput(u8 taskId)
{
s16* data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (JOY_NEW(SELECT_BUTTON))
{
@@ -1589,7 +1589,7 @@ static void OpenContextMenu(u8 taskId)
case ITEMMENULOCATION_BERRY_TREE:
case ITEMMENULOCATION_ITEMPC:
default:
if (MenuHelpers_LinkSomething() == TRUE || InUnionRoom() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE || InUnionRoom() == TRUE)
{
if (gBagPosition.pocket == KEYITEMS_POCKET || !IsHoldingItemAllowed(gSpecialVar_ItemId))
{
@@ -1691,7 +1691,7 @@ static void Task_ItemContext_Normal(u8 taskId)
static void Task_ItemContext_SingleRow(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s8 selection = Menu_ProcessInputNoWrap();
switch (selection)
@@ -1712,7 +1712,7 @@ static void Task_ItemContext_SingleRow(u8 taskId)
static void Task_ItemContext_MultipleRows(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s8 cursorPos = Menu_GetCursorPos();
if (JOY_NEW(DPAD_UP))

View File

@@ -612,7 +612,7 @@ static void Task_StandingOnHiddenItem(u8 taskId)
void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
{
if (MenuHelpers_LinkSomething() == TRUE) // link func
if (MenuHelpers_IsLinkActive() == TRUE)
{
DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}

View File

@@ -1832,9 +1832,9 @@ u32 GetLinkRecvQueueLength(void)
return gLink.recvQueue.count;
}
bool32 IsLinkRecvQueueLengthAtLeast3(void)
bool32 IsLinkRecvQueueAtOverworldMax(void)
{
if (GetLinkRecvQueueLength() > 2)
if (GetLinkRecvQueueLength() >= OVERWORLD_RECV_QUEUE_MAX)
return TRUE;
return FALSE;

View File

@@ -593,10 +593,8 @@ static bool8 MailReadBuildGraphics(void)
}
break;
case 15:
if (Overworld_LinkRecvQueueLengthMoreThan2() == TRUE)
{
if (Overworld_IsRecvQueueAtMax() == TRUE)
return FALSE;
}
break;
case 16:
SetVBlankCallback(VBlankCB_MailRead);
@@ -641,7 +639,7 @@ static void CB2_InitMailRead(void)
SetMainCallback2(CB2_MailRead);
break;
}
} while (MenuHelpers_LinkSomething() != TRUE);
} while (MenuHelpers_IsLinkActive() != TRUE);
}
static void BufferMailText(void)

View File

@@ -278,51 +278,45 @@ u8 GetLRKeysPressedAndHeld(void)
bool8 IsHoldingItemAllowed(u16 itemId)
{
// Enigma Berry can't be held in link areas
if (itemId != ITEM_ENIGMA_BERRY)
return TRUE;
else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRADE_CENTER)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRADE_CENTER))
if (itemId == ITEM_ENIGMA_BERRY
&& ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRADE_CENTER)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRADE_CENTER))
|| InUnionRoom() == TRUE))
return FALSE;
else if (InUnionRoom() != TRUE)
return TRUE;
else
return FALSE;
return TRUE;
}
bool8 IsWritingMailAllowed(u16 itemId)
{
if (IsUpdateLinkStateCBActive() != TRUE && InUnionRoom() != TRUE)
if ((IsOverworldLinkActive() == TRUE || InUnionRoom() == TRUE) && ItemIsMail(itemId) == TRUE)
return FALSE;
else
return TRUE;
else if (ItemIsMail(itemId) != TRUE)
}
bool8 MenuHelpers_IsLinkActive(void)
{
if (IsOverworldLinkActive() == TRUE || gReceivedRemoteLinkPlayers == 1)
return TRUE;
else
return FALSE;
}
bool8 MenuHelpers_LinkSomething(void)
static bool8 IsActiveOverworldLinkBusy(void)
{
if (IsUpdateLinkStateCBActive() == TRUE || gReceivedRemoteLinkPlayers == 1)
return TRUE;
else
if (!MenuHelpers_IsLinkActive())
return FALSE;
else
return Overworld_IsRecvQueueAtMax();
}
static bool8 sub_81221D0(void)
bool8 MenuHelpers_ShouldWaitForLinkRecv(void)
{
if (!MenuHelpers_LinkSomething())
return FALSE;
else
return Overworld_LinkRecvQueueLengthMoreThan2();
}
bool8 MenuHelpers_CallLinkSomething(void)
{
if (sub_81221D0() == TRUE)
if (IsActiveOverworldLinkBusy() == TRUE || IsLinkRecvQueueAtOverworldMax() == TRUE )
return TRUE;
else if (IsLinkRecvQueueLengthAtLeast3() != TRUE)
return FALSE;
else
return TRUE;
return FALSE;
}
void SetItemListPerPageCount(struct ItemSlot *slots, u8 slotsCount, u8 *pageItems, u8 *totalItems, u8 maxPerPage)

View File

@@ -136,8 +136,8 @@ static const u8 sTileBitAttributes[] =
[MB_BRIDGE_OVER_POND_MED_EDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BRIDGE_OVER_POND_HIGH_EDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BRIDGE_OVER_POND_HIGH_EDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_BRIDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_BRIDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BIKE_BRIDGE_OVER_BARRIER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_COUNTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_81] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_82] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
@@ -208,7 +208,7 @@ static const u8 sTileBitAttributes[] =
[MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_DECORATION_BASE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_POSTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_C8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_C9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
@@ -711,9 +711,9 @@ bool8 MetatileBehavior_IsSecretBaseImpassable(u8 metatileBehavior)
return FALSE;
}
bool8 MetatileBehavior_IsMB_C6(u8 metatileBehavior)
bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8 metatileBehavior)
{
if (metatileBehavior == MB_C6)
if (metatileBehavior == MB_SECRET_BASE_DECORATION_BASE)
return TRUE;
else
return FALSE;
@@ -901,8 +901,8 @@ bool8 MetatileBehavior_IsBridgeOverWater(u8 metatileBehavior)
|| metatileBehavior == MB_BRIDGE_OVER_POND_HIGH)
|| (metatileBehavior == MB_BRIDGE_OVER_POND_HIGH_EDGE_1
|| metatileBehavior == MB_BRIDGE_OVER_POND_HIGH_EDGE_2
|| metatileBehavior == MB_UNUSED_BRIDGE_1
|| metatileBehavior == MB_UNUSED_BRIDGE_2))
|| metatileBehavior == MB_UNUSED_BRIDGE
|| metatileBehavior == MB_BIKE_BRIDGE_OVER_BARRIER))
return TRUE;
else
return FALSE;
@@ -1262,12 +1262,11 @@ bool8 MetatileBehavior_IsAquaHideoutWarp(u8 metatileBehavior)
return FALSE;
}
// Very odd, used to initiate a teleport-style warp.
// No warp events seem to be on a metatile of this kind, and it's
// used by log bridges over ocean-style water, which wouldn't make
// sense to have a warp like this.
bool8 MetatileBehavior_IsBridgeOverOcean(u8 metatileBehavior)
bool8 MetatileBehavior_IsUnionRoomWarp(u8 metatileBehavior)
{
// This metatile behavior is re-used for some reason by
// the Union Room exit metatile. This function is used to
// initiate a teleport-style warp.
if (metatileBehavior == MB_BRIDGE_OVER_OCEAN)
return TRUE;
else

View File

@@ -447,7 +447,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
switch (sprite->sState)
{
case 0:
sub_8007E18(sprite, 0x800, 0x1A);
SetSpriteMatrixAnchor(sprite, NO_ANCHOR, 26);
sprite->sState++;
// fallthrough
case 1:

View File

@@ -20,14 +20,11 @@
#include "decompress.h"
#include "constants/rgb.h"
// this file's functions
static void CB2_MysteryEventMenu(void);
static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed);
// EWRAM vars
static EWRAM_DATA u8 sUnknown_0203BCF8 = 0; // set but unused
static EWRAM_DATA u8 sUnused = 0; // set but unused
// const rom data
static const struct BgTemplate sBgTemplates[] =
{
{
@@ -270,7 +267,7 @@ static void CB2_MysteryEventMenu(void)
if (!IsTextPrinterActive(0))
{
gMain.state++;
sUnknown_0203BCF8 = 0;
sUnused = 0;
}
break;
case 14:

View File

@@ -347,7 +347,7 @@ static const struct ListMenuTemplate sListMenu_Receive = {
.cursorKind = 0
};
static const u8 *const Unref_082F0710[] = {
static const u8 *const sUnusedMenuTexts[] = {
gText_VarietyOfEventsImportedWireless,
gText_WonderCardsInPossession,
gText_ReadNewsThatArrived,

View File

@@ -166,7 +166,7 @@ static void ResetPlayerHeldKeys(u16 *);
static u16 KeyInterCB_SelfIdle(u32);
static u16 KeyInterCB_DeferToEventScript(u32);
static u16 GetDirectionForDpadKey(u16);
static void CB1_UpdateLinkState(void);
static void CB1_OverworldLink(void);
static void SetKeyInterceptCallback(u16 (*func)(u32));
static void SetFieldVBlankCallback(void);
static void FieldClearVBlankHBlankCallbacks(void);
@@ -1417,9 +1417,9 @@ static void ResetSafariZoneFlag_(void)
ResetSafariZoneFlag();
}
bool32 IsUpdateLinkStateCBActive(void)
bool32 IsOverworldLinkActive(void)
{
if (gMain.callback1 == CB1_UpdateLinkState)
if (gMain.callback1 == CB1_OverworldLink)
return TRUE;
else
return FALSE;
@@ -1606,7 +1606,7 @@ static void CB2_LoadMapOnReturnToFieldCableClub(void)
if (LoadMapInStepsLink(&gMain.state))
{
SetFieldVBlankCallback();
SetMainCallback1(CB1_UpdateLinkState);
SetMainCallback1(CB1_OverworldLink);
ResetAllMultiplayerState();
SetMainCallback2(CB2_Overworld);
}
@@ -1614,7 +1614,7 @@ static void CB2_LoadMapOnReturnToFieldCableClub(void)
void CB2_ReturnToField(void)
{
if (IsUpdateLinkStateCBActive() == TRUE)
if (IsOverworldLinkActive() == TRUE)
{
SetMainCallback2(CB2_ReturnToFieldLink);
}
@@ -1636,7 +1636,7 @@ static void CB2_ReturnToFieldLocal(void)
static void CB2_ReturnToFieldLink(void)
{
if (!Overworld_LinkRecvQueueLengthMoreThan2() && ReturnToFieldLink(&gMain.state))
if (!Overworld_IsRecvQueueAtMax() && ReturnToFieldLink(&gMain.state))
SetMainCallback2(CB2_Overworld);
}
@@ -1644,7 +1644,7 @@ void CB2_ReturnToFieldFromMultiplayer(void)
{
FieldClearVBlankHBlankCallbacks();
StopMapMusic();
SetMainCallback1(CB1_UpdateLinkState);
SetMainCallback1(CB1_OverworldLink);
ResetAllMultiplayerState();
if (gWirelessCommType != 0)
@@ -2226,7 +2226,7 @@ static void CreateLinkPlayerSprites(void)
}
static void CB1_UpdateLinkState(void)
static void CB1_OverworldLink(void)
{
if (gWirelessCommType == 0 || !IsRfuRecvQueueEmpty() || !IsSendingKeysToLink())
{
@@ -2442,7 +2442,7 @@ static void UpdateHeldKeyCode(u16 key)
if (gWirelessCommType != 0
&& GetLinkSendQueueLength() > 1
&& IsUpdateLinkStateCBActive() == TRUE
&& IsOverworldLinkActive() == TRUE
&& IsSendingKeysToLink() == TRUE)
{
switch (key)
@@ -2541,7 +2541,7 @@ static u16 KeyInterCB_DeferToEventScript(u32 key)
static u16 KeyInterCB_DeferToRecvQueue(u32 key)
{
u16 retVal;
if (GetLinkRecvQueueLength() > 2)
if (GetLinkRecvQueueLength() >= OVERWORLD_RECV_QUEUE_MAX)
{
retVal = LINK_KEY_CODE_EMPTY;
}
@@ -2613,7 +2613,7 @@ static u16 KeyInterCB_WaitForPlayersToExit(u32 keyOrPlayerId)
{
// keyOrPlayerId could be any keycode. This callback does no sanity checking
// on the size of the key. It's assuming that it is being called from
// CB1_UpdateLinkState.
// CB1_OverworldLink.
if (sPlayerLinkStates[keyOrPlayerId] != PLAYER_LINK_STATE_EXITING_ROOM)
CheckRfuKeepAliveTimer();
if (AreAllPlayersInLinkState(PLAYER_LINK_STATE_EXITING_ROOM) == TRUE)
@@ -2834,11 +2834,11 @@ static void RunTerminateLinkScript(void)
ScriptContext2_Enable();
}
bool32 Overworld_LinkRecvQueueLengthMoreThan2(void)
bool32 Overworld_IsRecvQueueAtMax(void)
{
if (!IsUpdateLinkStateCBActive())
if (!IsOverworldLinkActive())
return FALSE;
if (GetLinkRecvQueueLength() >= 3)
if (GetLinkRecvQueueLength() >= OVERWORLD_RECV_QUEUE_MAX)
sReceivingFromLink = TRUE;
else
sReceivingFromLink = FALSE;
@@ -2849,9 +2849,9 @@ bool32 Overworld_RecvKeysFromLinkIsRunning(void)
{
u8 temp;
if (GetLinkRecvQueueLength() < 2)
if (GetLinkRecvQueueLength() < OVERWORLD_RECV_QUEUE_MAX - 1)
return FALSE;
else if (IsUpdateLinkStateCBActive() != TRUE)
else if (IsOverworldLinkActive() != TRUE)
return FALSE;
else if (IsSendingKeysToLink() != TRUE)
return FALSE;
@@ -2875,7 +2875,7 @@ bool32 Overworld_SendKeysToLinkIsRunning(void)
{
if (GetLinkSendQueueLength() < 2)
return FALSE;
else if (IsUpdateLinkStateCBActive() != TRUE)
else if (IsOverworldLinkActive() != TRUE)
return FALSE;
else if (IsSendingKeysToLink() != TRUE)
return FALSE;

View File

@@ -439,7 +439,7 @@ void UpdatePulseBlend(struct PulseBlend *pulseBlend)
}
// Below used for the Roulette grid
void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height)
void FillTilemapRect(u16 *dest, u16 value, u8 left, u8 top, u8 width, u8 height)
{
u16 *_dest;
u8 i;
@@ -450,9 +450,7 @@ void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height)
{
_dest = dest + i * 32;
for (j = 0; j < width; j++)
{
*_dest++ = src;
}
*_dest++ = value;
}
}
@@ -468,8 +466,39 @@ void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height)
{
_dest = dest + i * 32;
for (j = 0; j < width; j++)
{
*_dest++ = *_src++;
}
}
}
static void FillTilemapRect_Unused(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height)
{
u8 i, j;
u8 x, y;
for (i = 0, y = top; i < height; i++)
{
for (x = left, j = 0; j < width; j++)
{
*(u16 *)((dest) + (y * 64 + x * 2)) = value;
x = (x + 1) % 32;
}
y = (y + 1) % 32;
}
}
static void SetTilemapRect_Unused(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height)
{
u8 i, j;
u8 x, y;
const u16 *_src;
for (i = 0, _src = src, y = top; i < height; i++)
{
for (x = left, j = 0; j < width; j++)
{
*(u16 *)((dest) + (y * 64 + x * 2)) = *(_src++);
x = (x + 1) % 32;
}
y = (y + 1) % 32;
}
}

View File

@@ -476,7 +476,7 @@ static void CB2_InitPartyMenu(void)
{
while (TRUE)
{
if (MenuHelpers_CallLinkSomething() == TRUE || ShowPartyMenu() == TRUE || MenuHelpers_LinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE || ShowPartyMenu() == TRUE || MenuHelpers_IsLinkActive() == TRUE)
break;
}
}
@@ -509,7 +509,7 @@ static bool8 ShowPartyMenu(void)
gMain.state++;
break;
case 5:
if (!MenuHelpers_LinkSomething())
if (!MenuHelpers_IsLinkActive())
ResetTasks();
gMain.state++;
break;
@@ -1182,7 +1182,7 @@ u8 GetPartyMenuType(void)
void Task_HandleChooseMonInput(u8 taskId)
{
if (!gPaletteFade.active && MenuHelpers_CallLinkSomething() != TRUE)
if (!gPaletteFade.active && MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s8 *slotPtr = GetCurrentPartySlotPtr();
@@ -1319,7 +1319,7 @@ static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr)
PlaySE(SE_SELECT);
if (DisplayCancelChooseMonYesNo(taskId) != TRUE)
{
if (!MenuHelpers_LinkSomething())
if (!MenuHelpers_IsLinkActive())
gSpecialVar_0x8004 = PARTY_SIZE + 1;
gPartyMenuUseExitCallback = FALSE;
*slotPtr = PARTY_SIZE + 1;
@@ -1659,7 +1659,7 @@ bool8 IsPartyMenuTextPrinterActive(void)
static void Task_WaitForLinkAndReturnToChooseMon(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
gTasks[taskId].func = Task_HandleChooseMonInput;
@@ -1672,7 +1672,7 @@ static void Task_ReturnToChooseMonAfterText(u8 taskId)
{
ClearStdWindowAndFrameToTransparent(6, 0);
ClearWindowTilemap(6);
if (MenuHelpers_LinkSomething() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE)
{
gTasks[taskId].func = Task_WaitForLinkAndReturnToChooseMon;
}
@@ -2663,7 +2663,7 @@ static void Task_TryCreateSelectionWindow(u8 taskId)
static void Task_HandleSelectionMenuInput(u8 taskId)
{
if (!gPaletteFade.active && MenuHelpers_CallLinkSomething() != TRUE)
if (!gPaletteFade.active && MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
s8 input;
s16 *data = gTasks[taskId].data;
@@ -3634,7 +3634,7 @@ static void CursorCb_FieldMove(u8 taskId)
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
if (MenuHelpers_LinkSomething() == TRUE || InUnionRoom() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE || InUnionRoom() == TRUE)
{
if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED)
DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE);

View File

@@ -505,11 +505,11 @@ static void CB2_InitPokeblockMenu(void)
{
while (1)
{
if (MenuHelpers_CallLinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE)
break;
if (InitPokeblockMenu() == TRUE)
break;
if (MenuHelpers_LinkSomething() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE)
break;
}
}
@@ -1004,7 +1004,7 @@ static void Task_HandlePokeblockMenuInput(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (!gPaletteFade.active && MenuHelpers_CallLinkSomething() != TRUE)
if (!gPaletteFade.active && MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (JOY_NEW(SELECT_BUTTON))
{
@@ -1057,7 +1057,7 @@ static void Task_HandlePokeblocksSwapInput(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE)
return;
if (JOY_NEW(SELECT_BUTTON))
@@ -1161,7 +1161,7 @@ static void Task_HandlePokeblockActionsInput(u8 taskId)
{
s8 itemId;
if (MenuHelpers_CallLinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE)
return;
itemId = Menu_ProcessInputNoWrap();

View File

@@ -688,11 +688,11 @@ void PreparePokeblockFeedScene(void)
{
while (1)
{
if (MenuHelpers_CallLinkSomething() == TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() == TRUE)
break;
if (LoadPokeblockFeedScene() == TRUE)
break;
if (MenuHelpers_LinkSomething() == TRUE)
if (MenuHelpers_IsLinkActive() == TRUE)
break;
}
}

View File

@@ -3197,7 +3197,7 @@ static void LoadPokeJumpGfx(void)
FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 0x20, 0x20);
PrintScoreSuffixes();
PrintScore(0);
sub_8098C6C(0, 1, 0xE0);
LoadUserWindowBorderGfxOnBg(0, 1, 0xE0);
CopyBgTilemapBufferToVram(BG_INTERFACE);
CopyBgTilemapBufferToVram(BG_VENUSAUR);
CopyBgTilemapBufferToVram(BG_BONUSES);

View File

@@ -1146,7 +1146,7 @@ static void VBlank(void)
static void CB2_InitSummaryScreen(void)
{
while (MenuHelpers_CallLinkSomething() != TRUE && LoadGraphics() != TRUE && MenuHelpers_LinkSomething() != TRUE);
while (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && LoadGraphics() != TRUE && MenuHelpers_IsLinkActive() != TRUE);
}
static bool8 LoadGraphics(void)
@@ -1490,7 +1490,7 @@ static void BeginCloseSummaryScreen(u8 taskId)
static void CloseSummaryScreen(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE && !gPaletteFade.active)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active)
{
SetMainCallback2(sMonSummaryScreen->callback);
gLastViewedMonIndex = sMonSummaryScreen->curMonIndex;
@@ -1508,7 +1508,7 @@ static void CloseSummaryScreen(u8 taskId)
static void Task_HandleInput(u8 taskId)
{
if (MenuHelpers_CallLinkSomething() != TRUE && !gPaletteFade.active)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active)
{
if (JOY_NEW(DPAD_UP))
{
@@ -1660,7 +1660,7 @@ static void Task_ChangeSummaryMon(u8 taskId)
gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].data[2] = 0;
break;
default:
if (MenuHelpers_CallLinkSomething() == 0 && FuncIsActiveTask(Task_ShowStatusWindow) == 0)
if (!MenuHelpers_ShouldWaitForLinkRecv() && !FuncIsActiveTask(Task_ShowStatusWindow))
{
data[0] = 0;
gTasks[taskId].func = Task_HandleInput;
@@ -1889,7 +1889,7 @@ static void Task_HandleInput_MoveSelect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() != 1)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (JOY_NEW(DPAD_UP))
{
@@ -2029,7 +2029,7 @@ static void Task_HandleInput_MovePositionSwitch(u8 taskId)
{
s16* data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (JOY_NEW(DPAD_UP))
{
@@ -2170,7 +2170,7 @@ static void Task_HandleReplaceMoveInput(u8 taskId)
{
s16* data = gTasks[taskId].data;
if (MenuHelpers_CallLinkSomething() != TRUE)
if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE)
{
if (gPaletteFade.active != TRUE)
{

View File

@@ -212,7 +212,7 @@ u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority)
{
u16 taskId;
if (!IsUpdateLinkStateCBActive())
if (!IsOverworldLinkActive())
taskId = CreateTask(Task_RunLoopedTask, priority);
else
taskId = CreateTask(Task_RunLoopedTask_LinkMode, priority);
@@ -288,7 +288,7 @@ static void Task_RunLoopedTask_LinkMode(u8 taskId)
s16 *state;
u32 action;
if (Overworld_LinkRecvQueueLengthMoreThan2())
if (Overworld_IsRecvQueueAtMax())
return;
task = (LoopedTask)GetWordTaskArg(taskId, 1);

View File

@@ -6,6 +6,7 @@
#include "bg.h"
#include "menu.h"
#include "decompress.h"
#include "international_string_util.h"
// TODO: This UI isnt just for match call, seems to be the general pokenav list UI
@@ -66,8 +67,6 @@ struct PokenavSub17
u32 loopedTaskId;
};
extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4);
void sub_81C82E4(struct PokenavSub17 *matchCall);
bool32 CopyPokenavListMenuTemplate(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3);
void InitMatchCallWindowState(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1);
@@ -754,7 +753,7 @@ static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct Pok
if (str != NULL)
{
sub_81DB620(list->listWindow.windowId, 1, r6 * 2, list->listWindow.unk4 - 1, 2);
FillWindowTilesByRow(list->listWindow.windowId, 1, r6 * 2, list->listWindow.unk4 - 1, 2);
AddTextPrinterParameterized(list->listWindow.windowId, FONT_NARROW, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL);
CopyWindowRectToVram(list->listWindow.windowId, 2, 0, r6 * 2, list->listWindow.unk4, 2);
}

View File

@@ -1317,28 +1317,28 @@ static void UpdateGridSelectionRect(u8 selectionId)
switch (selectionId)
{
case SELECTION_NONE:
ClearTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
FillTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
break;
case COL_WYNAUT:
case COL_AZURILL:
case COL_SKITTY:
case COL_MAKUHITA:
temp0 = (selectionId * 3 + 14);
ClearTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
FillTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
SetTilemapRect(&sRoulette->tilemapBuffers[0][0], &sRoulette->gridTilemap[281], temp0, 7, 3, 13);
break;
case ROW_ORANGE:
case ROW_GREEN:
case ROW_PURPLE:
temp1 = ((selectionId - 1) / 5 * 3 + 10);
ClearTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
FillTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
SetTilemapRect(&sRoulette->tilemapBuffers[0][0], &sRoulette->gridTilemap[320], 14, temp1, 16, 3);
break;
// Individual square
default:
temp0 = GET_COL(selectionId) * 3 + 14;
temp1 = ((selectionId - 1) / 5 * 3 + 7);
ClearTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
FillTilemapRect(&sRoulette->tilemapBuffers[0][0], 0, 14, 7, 16, 13);
SetTilemapRect(&sRoulette->tilemapBuffers[0][0], &sRoulette->gridTilemap[272], temp0, temp1, 3, 3);
break;
}

View File

@@ -1207,7 +1207,7 @@ bool8 ScrCmd_turnvobject(struct ScriptContext *ctx)
// The player is frozen after waiting for their current movement to finish.
bool8 ScrCmd_lockall(struct ScriptContext *ctx)
{
if (IsUpdateLinkStateCBActive())
if (IsOverworldLinkActive())
{
return FALSE;
}
@@ -1223,7 +1223,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx)
// The player and selected object are frozen after waiting for their current movement to finish.
bool8 ScrCmd_lock(struct ScriptContext *ctx)
{
if (IsUpdateLinkStateCBActive())
if (IsOverworldLinkActive())
{
return FALSE;
}
@@ -2196,7 +2196,7 @@ bool8 ScrCmd_selectapproachingtrainer(struct ScriptContext *ctx)
bool8 ScrCmd_lockfortrainer(struct ScriptContext *ctx)
{
if (IsUpdateLinkStateCBActive())
if (IsOverworldLinkActive())
{
return FALSE;
}

View File

@@ -251,7 +251,7 @@ static void BuildStartMenuActions(void)
{
sNumStartMenuActions = 0;
if (IsUpdateLinkStateCBActive() == TRUE)
if (IsOverworldLinkActive() == TRUE)
{
BuildLinkModeStartMenu();
}
@@ -554,7 +554,7 @@ void Task_ShowStartMenu(u8 taskId)
void ShowStartMenu(void)
{
if (!IsUpdateLinkStateCBActive())
if (!IsOverworldLinkActive())
{
FreezeObjectEvents();
PlayerFreeze();
@@ -679,7 +679,7 @@ static bool8 StartMenuPlayerNameCallback(void)
RemoveExtraStartMenuWindows();
CleanupOverworldWindowsAndTilemaps();
if (IsUpdateLinkStateCBActive() || InUnionRoom())
if (IsOverworldLinkActive() || InUnionRoom())
ShowPlayerTrainerCard(CB2_ReturnToFieldWithOpenMenu); // Display trainer card
else if (FlagGet(FLAG_SYS_FRONTIER_PASS))
ShowFrontierPass(CB2_ReturnToFieldWithOpenMenu); // Display frontier pass

View File

@@ -6,7 +6,6 @@
#include "bg.h"
#include "graphics.h"
// const rom data
const u8 gTextWindowFrame1_Gfx[] = INCBIN_U8("graphics/text_window/1.4bpp");
static const u8 sTextWindowFrame2_Gfx[] = INCBIN_U8("graphics/text_window/2.4bpp");
static const u8 sTextWindowFrame3_Gfx[] = INCBIN_U8("graphics/text_window/3.4bpp");
@@ -190,7 +189,8 @@ const u16 *GetOverworldTextboxPalettePtr(void)
return gMessageBox_Pal;
}
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset)
// Effectively LoadUserWindowBorderGfx but specifying the bg directly instead of a window from that bg
void LoadUserWindowBorderGfxOnBg(u8 bg, u16 destOffset, u8 palOffset)
{
LoadBgTiles(bg, sWindowFrames[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset);
LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20);

View File

@@ -456,7 +456,7 @@ static void Task_TrainerCard(u8 taskId)
}
break;
case STATE_WAIT_FLIP_TO_BACK:
if (IsCardFlipTaskActive() && Overworld_LinkRecvQueueLengthMoreThan2() != TRUE)
if (IsCardFlipTaskActive() && Overworld_IsRecvQueueAtMax() != TRUE)
{
PlaySE(SE_RG_CARD_OPEN);
sData->mainState = STATE_HANDLE_INPUT_BACK;
@@ -513,7 +513,7 @@ static void Task_TrainerCard(u8 taskId)
CloseTrainerCard(taskId);
break;
case STATE_WAIT_FLIP_TO_FRONT:
if (IsCardFlipTaskActive() && Overworld_LinkRecvQueueLengthMoreThan2() != TRUE)
if (IsCardFlipTaskActive() && Overworld_IsRecvQueueAtMax() != TRUE)
{
sData->mainState = STATE_HANDLE_INPUT_FRONT;
PlaySE(SE_RG_CARD_OPEN);
@@ -1663,7 +1663,7 @@ static bool8 Task_AnimateCardFlipDown(struct Task* task)
static bool8 Task_DrawFlippedCardSide(struct Task* task)
{
sData->allowDMACopy = FALSE;
if (Overworld_LinkRecvQueueLengthMoreThan2() == TRUE)
if (Overworld_IsRecvQueueAtMax() == TRUE)
return FALSE;
do

View File

@@ -249,7 +249,7 @@ static void SetBgTilemapBuffers(void);
static void ClearBg0(void);
static void LoadChatWindowBorderGfx(void);
static void LoadChatWindowGfx(void);
static void sub_8020680(void);
static void LoadChatUnkPalette(void);
static void LoadChatMessagesWindow(void);
static void LoadKeyboardWindow(void);
static void LoadKeyboardSwapWindow(void);
@@ -1983,10 +1983,10 @@ static int GetShouldShowCaseToggleIcon(void)
{
u8 *str = GetLastCharOfMessagePtr();
u32 character = *str;
if (character > 0xFF || sCaseToggleTable[character] == character || sCaseToggleTable[character] == 0)
return 3;
if (character > EOS || sCaseToggleTable[character] == character || sCaseToggleTable[character] == CHAR_SPACE)
return 3; // Don't show
else
return 0;
return 0; // Show
}
static u8 *GetChatHostName(void)
@@ -2063,7 +2063,7 @@ static void Task_ReceiveChatMessage(u8 taskId)
switch (buffer[0])
{
default:
case CHAT_MESSAGE_CHAT: tNextState = 3; break;
case CHAT_MESSAGE_CHAT: tNextState = 3; break;
case CHAT_MESSAGE_JOIN: tNextState = 3; break;
case CHAT_MESSAGE_LEAVE: tNextState = 4; break;
case CHAT_MESSAGE_DROP: tNextState = 5; break;
@@ -2246,7 +2246,7 @@ static bool32 Display_LoadGfx(u8 *state)
LoadChatWindowGfx();
break;
case 4:
sub_8020680();
LoadChatUnkPalette();
break;
case 5:
LoadChatMessagesWindow();
@@ -3074,7 +3074,7 @@ static void LoadChatWindowGfx(void)
CopyBgTilemapBufferToVram(2);
}
static void sub_8020680(void)
static void LoadChatUnkPalette(void)
{
LoadPalette(sUnk_Palette1, 0x80, sizeof(sUnk_Palette1));
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1);