Merge branch 'master' into doc-banim
This commit is contained in:
+3
-3
@@ -643,9 +643,9 @@ static void CreateApprenticeMenu(u8 menu)
|
||||
SetStandardWindowBorderStyle(windowId, 0);
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, strings[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, strings[i], 8, (i * 16) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, 0);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, count, 0);
|
||||
CreateChooseAnswerTask(TRUE, count, windowId);
|
||||
}
|
||||
|
||||
@@ -691,7 +691,7 @@ static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height)
|
||||
|
||||
windowId = AddWindow(&winTemplate);
|
||||
PutWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
return windowId;
|
||||
}
|
||||
|
||||
|
||||
@@ -724,9 +724,9 @@ static void TranslateSpriteToBattleAttackerPos(struct Sprite *sprite)
|
||||
#undef sTargetY
|
||||
|
||||
// Unused
|
||||
static void sub_80A67A4(struct Sprite *sprite)
|
||||
static void EndUnkPaletteAnim(struct Sprite *sprite)
|
||||
{
|
||||
ResetPaletteStructByUid(sprite->data[5]);
|
||||
PaletteStruct_ResetById(sprite->data[5]);
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ void SoundTask_PlayCryHighPitch(u8 taskId)
|
||||
}
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
PlayCry3(species, pan, 3);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_HIGH_PITCH);
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -219,10 +219,10 @@ void SoundTask_PlayDoubleCry(u8 taskId)
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
if (gBattleAnimArgs[1] == 0xFF)
|
||||
PlayCry3(species, pan, 9);
|
||||
else
|
||||
PlayCry3(species, pan, 7);
|
||||
if (gBattleAnimArgs[1] == DOUBLE_CRY_GROWL)
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_GROWL_1);
|
||||
else // DOUBLE_CRY_ROAR
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_ROAR_1);
|
||||
|
||||
gTasks[taskId].func = SoundTask_PlayDoubleCry_Step;
|
||||
}
|
||||
@@ -243,19 +243,19 @@ static void SoundTask_PlayDoubleCry_Step(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gTasks[taskId].data[0] == 0xFF)
|
||||
if (gTasks[taskId].data[0] == DOUBLE_CRY_GROWL)
|
||||
{
|
||||
if (!IsCryPlaying())
|
||||
{
|
||||
PlayCry3(species, pan, 10);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_GROWL_2);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
else
|
||||
else // DOUBLE_CRY_ROAR
|
||||
{
|
||||
if (!IsCryPlaying())
|
||||
{
|
||||
PlayCry3(species, pan, 8);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_ROAR_2);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -275,12 +275,18 @@ void SoundTask_WaitForCry(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define tSpecies data[1]
|
||||
#define tPan data[2]
|
||||
#define tState data[9]
|
||||
#define tLastCry data[10] // If it's not the last cry, don't try to restore the BGM, because another is coming
|
||||
|
||||
void SoundTask_PlayCryWithEcho(u8 taskId)
|
||||
{
|
||||
u16 species;
|
||||
s8 pan;
|
||||
|
||||
gTasks[taskId].data[10] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].tLastCry = gBattleAnimArgs[0];
|
||||
pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||
|
||||
if (IsContest())
|
||||
@@ -288,8 +294,8 @@ void SoundTask_PlayCryWithEcho(u8 taskId)
|
||||
else
|
||||
species = gAnimBattlerSpecies[gBattleAnimAttacker];
|
||||
|
||||
gTasks[taskId].data[1] = species;
|
||||
gTasks[taskId].data[2] = pan;
|
||||
gTasks[taskId].tSpecies = species;
|
||||
gTasks[taskId].tPan = pan;
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
gTasks[taskId].func = SoundTask_PlayCryWithEcho_Step;
|
||||
@@ -299,38 +305,44 @@ void SoundTask_PlayCryWithEcho(u8 taskId)
|
||||
|
||||
static void SoundTask_PlayCryWithEcho_Step(u8 taskId)
|
||||
{
|
||||
u16 species = gTasks[taskId].data[1];
|
||||
s8 pan = gTasks[taskId].data[2];
|
||||
u16 species = gTasks[taskId].tSpecies;
|
||||
s8 pan = gTasks[taskId].tPan;
|
||||
|
||||
switch (gTasks[taskId].data[9])
|
||||
// Note the cases are not in order of execution
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
case 2:
|
||||
PlayCry6(species, pan, 4);
|
||||
gTasks[taskId].data[9]++;
|
||||
PlayCry_DuckNoRestore(species, pan, CRY_MODE_ECHO_START);
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
case 4:
|
||||
gTasks[taskId].data[9]++;
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 5:
|
||||
if (IsCryPlaying())
|
||||
break;
|
||||
case 0:
|
||||
StopCryAndClearCrySongs();
|
||||
gTasks[taskId].data[9]++;
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
default:
|
||||
if (gTasks[taskId].data[10] == 0)
|
||||
PlayCry6(species, pan, 6);
|
||||
if (!gTasks[taskId].tLastCry)
|
||||
PlayCry_DuckNoRestore(species, pan, CRY_MODE_ECHO_END);
|
||||
else
|
||||
PlayCry3(species, pan, 6);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_ECHO_END);
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#undef tSpecies
|
||||
#undef tPan
|
||||
#undef tState
|
||||
#undef tLastCry
|
||||
|
||||
void SoundTask_PlaySE1WithPanning(u8 taskId)
|
||||
{
|
||||
u16 songId = gBattleAnimArgs[0];
|
||||
|
||||
@@ -1681,7 +1681,7 @@ static void LinkOpponentHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, 25, 5);
|
||||
PlayCry_ByMode(species, 25, CRY_MODE_FAINT);
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1513,7 +1513,7 @@ static void LinkPartnerHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, -25, 5);
|
||||
PlayCry_ByMode(species, -25, CRY_MODE_FAINT);
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1847,7 +1847,7 @@ static void OpponentHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, 25, 5);
|
||||
PlayCry_ByMode(species, 25, CRY_MODE_FAINT);
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -2926,7 +2926,7 @@ static void PlayerHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, -25, 5);
|
||||
PlayCry_ByMode(species, -25, CRY_MODE_FAINT);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1763,7 +1763,7 @@ static void PlayerPartnerHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, -25, 5);
|
||||
PlayCry_ByMode(species, -25, CRY_MODE_FAINT);
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1621,7 +1621,7 @@ static void RecordedOpponentHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, 25, 5);
|
||||
PlayCry_ByMode(species, 25, CRY_MODE_FAINT);
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1644,7 +1644,7 @@ static void RecordedPlayerHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry3(species, -25, 5);
|
||||
PlayCry_ByMode(species, -25, CRY_MODE_FAINT);
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -616,7 +616,7 @@ static void SafariHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry1(species, 25);
|
||||
PlayCry_Normal(species, 25);
|
||||
SafariBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
@@ -1415,7 +1415,9 @@ static void WallyHandleFaintingCry(void)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||
|
||||
PlayCry1(species, 25);
|
||||
// Seems that it doesn't bother using CRY_MODE_FAINT because
|
||||
// Wally's Pokémon during the tutorial is never intended to faint.
|
||||
PlayCry_Normal(species, 25);
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
|
||||
|
||||
+19
-19
@@ -3428,7 +3428,7 @@ static void Task_HandleInfoCardInput(u8 taskId)
|
||||
|
||||
for (i = windowId; i < windowId + 9; i++)
|
||||
{
|
||||
CopyWindowToVram(i, 2);
|
||||
CopyWindowToVram(i, COPYWIN_GFX);
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
}
|
||||
gTasks[taskId].tState = STATE_REACT_INPUT;
|
||||
@@ -4358,7 +4358,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
||||
textPrinter.currentChar = gStringVar1;
|
||||
textPrinter.windowId = windowId;
|
||||
PutWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
textPrinter.letterSpacing = 0;
|
||||
|
||||
@@ -4380,12 +4380,12 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
||||
textPrinter.currentX = 0;
|
||||
|
||||
PutWindowTilemap(1 + i + windowId);
|
||||
CopyWindowToVram(1 + i + windowId, 3);
|
||||
CopyWindowToVram(1 + i + windowId, COPYWIN_FULL);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
}
|
||||
|
||||
PutWindowTilemap(windowId + 4);
|
||||
CopyWindowToVram(windowId + 4, 3);
|
||||
CopyWindowToVram(windowId + 4, COPYWIN_FULL);
|
||||
|
||||
// Print text about trainers potential in the tourney
|
||||
if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
@@ -4861,7 +4861,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
textPrinter.windowId = windowId + 8;
|
||||
textPrinter.fontId = FONT_NORMAL;
|
||||
PutWindowTilemap(windowId + 8);
|
||||
CopyWindowToVram(windowId + 8, 3);
|
||||
CopyWindowToVram(windowId + 8, COPYWIN_FULL);
|
||||
textPrinter.currentX = 0;
|
||||
textPrinter.currentY = textPrinter.y = 0;
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
@@ -4881,7 +4881,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x40, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 6);
|
||||
CopyWindowToVram(windowId + 6, 3);
|
||||
CopyWindowToVram(windowId + 6, COPYWIN_FULL);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
|
||||
// Print right trainer's name.
|
||||
@@ -4897,7 +4897,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x40, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 7);
|
||||
CopyWindowToVram(windowId + 7, 3);
|
||||
CopyWindowToVram(windowId + 7, COPYWIN_FULL);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
|
||||
// Print match number.
|
||||
@@ -4907,7 +4907,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0xA0, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 5);
|
||||
CopyWindowToVram(windowId + 5, 3);
|
||||
CopyWindowToVram(windowId + 5, COPYWIN_FULL);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
}
|
||||
|
||||
@@ -5281,10 +5281,10 @@ static void Task_ShowTourneyTree(u8 taskId)
|
||||
gBattle_BG0_Y = 0;
|
||||
gBattle_BG1_X = 0;
|
||||
gBattle_BG1_Y = 0;
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0xB00, 0);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0xB00, BG_COORD_SET);
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -5442,9 +5442,9 @@ static void Task_ShowTourneyTree(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(2);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(2, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
CopyWindowToVram(2, COPYWIN_FULL);
|
||||
SetHBlankCallback(HblankCb_TourneyTree);
|
||||
SetVBlankCallback(VblankCb_TourneyTree);
|
||||
if (r4 == 2)
|
||||
@@ -5597,8 +5597,8 @@ static void CB2_TourneyTree(void)
|
||||
|
||||
static void VblankCb_TourneyInfoCard(void)
|
||||
{
|
||||
ChangeBgX(3, 0x80, 1);
|
||||
ChangeBgY(3, 0x80, 2);
|
||||
ChangeBgX(3, 0x80, BG_COORD_ADD);
|
||||
ChangeBgY(3, 0x80, BG_COORD_SUB);
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X);
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y);
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
@@ -5693,8 +5693,8 @@ static void VblankCb_TourneyTree(void)
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y);
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
ChangeBgY(2, 0x80, 2);
|
||||
ChangeBgY(3, 0x80, 1);
|
||||
ChangeBgY(2, 0x80, BG_COORD_SUB);
|
||||
ChangeBgY(3, 0x80, BG_COORD_ADD);
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
TransferPlttBuffer();
|
||||
|
||||
+44
-44
@@ -1147,12 +1147,12 @@ static void CB2_InitSelectScreen(void)
|
||||
sSelectMonPicBgTilesetBuffer = AllocZeroed(0x440);
|
||||
sSelectMenuTilemapBuffer = Alloc(BG_SCREEN_SIZE);
|
||||
sSelectMonPicBgTilemapBuffer = AllocZeroed(BG_SCREEN_SIZE);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
@@ -1854,7 +1854,7 @@ static void Select_ErasePopupMenu(u8 windowId)
|
||||
gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE;
|
||||
gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE;
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
ClearWindowTilemap(windowId);
|
||||
}
|
||||
|
||||
@@ -1862,7 +1862,7 @@ static void Select_PrintRentalPkmnString(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SELECT_WIN_TITLE, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SELECT_WIN_TITLE, FONT_NORMAL, gText_RentalPkmn2, 2, 1, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_TITLE, 3);
|
||||
CopyWindowToVram(SELECT_WIN_TITLE, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Select_PrintMonSpecies(void)
|
||||
@@ -1876,7 +1876,7 @@ static void Select_PrintMonSpecies(void)
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_SPECIES, FONT_NORMAL, x, 1, sSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SELECT_WIN_SPECIES, 2);
|
||||
CopyWindowToVram(SELECT_WIN_SPECIES, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Select_PrintSelectMonString(void)
|
||||
@@ -1894,14 +1894,14 @@ static void Select_PrintSelectMonString(void)
|
||||
str = gText_TheseThreePkmnOkay;
|
||||
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, FONT_NORMAL, str, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, 2);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Select_PrintCantSelectSameMon(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SELECT_WIN_INFO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, FONT_NORMAL, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, 2);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Select_PrintMenuOptions(void)
|
||||
@@ -1917,7 +1917,7 @@ static void Select_PrintMenuOptions(void)
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 17, sMenuOptionTextColors, 0, gText_Rent);
|
||||
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 33, sMenuOptionTextColors, 0, gText_Others2);
|
||||
CopyWindowToVram(SELECT_WIN_OPTIONS, 3);
|
||||
CopyWindowToVram(SELECT_WIN_OPTIONS, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Select_PrintYesNoOptions(void)
|
||||
@@ -1926,7 +1926,7 @@ static void Select_PrintYesNoOptions(void)
|
||||
FillWindowPixelBuffer(SELECT_WIN_YES_NO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, FONT_NORMAL, 7, 1, sMenuOptionTextColors, 0, gText_Yes2);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, FONT_NORMAL, 7, 17, sMenuOptionTextColors, 0, gText_No2);
|
||||
CopyWindowToVram(SELECT_WIN_YES_NO, 3);
|
||||
CopyWindowToVram(SELECT_WIN_YES_NO, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static u8 Select_RunMenuOptionFunc(void)
|
||||
@@ -1996,7 +1996,7 @@ static void Select_PrintMonCategory(void)
|
||||
CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76);
|
||||
AddTextPrinterParameterized(SELECT_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_MON_CATEGORY, 2);
|
||||
CopyWindowToVram(SELECT_WIN_MON_CATEGORY, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3012,7 +3012,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_ACTION_FADE, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, 2);
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, COPYWIN_GFX);
|
||||
if (sFactorySwapScreen->inEnemyScreen == TRUE)
|
||||
{
|
||||
// Start "Pkmn for Swap" button slide offscreen
|
||||
@@ -3150,7 +3150,7 @@ static void Swap_Task_ScreenInfoTransitionIn(u8 taskId)
|
||||
break;
|
||||
case 6:
|
||||
FillWindowPixelBuffer(SWAP_WIN_ACTION_FADE, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, 2);
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, COPYWIN_GFX);
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 7:
|
||||
@@ -3280,14 +3280,14 @@ static void CB2_InitSwapScreen(void)
|
||||
sSwapMonPicBgTilesetBuffer = AllocZeroed(0x440);
|
||||
sSwapMenuTilemapBuffer = Alloc(BG_SCREEN_SIZE);
|
||||
sSwapMonPicBgTilemapBuffer = AllocZeroed(BG_SCREEN_SIZE);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetGpuReg(REG_OFFSET_MOSAIC, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
@@ -3724,7 +3724,7 @@ static void Swap_ErasePopupMenu(u8 windowId)
|
||||
gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
|
||||
gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE;
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
ClearWindowTilemap(windowId);
|
||||
}
|
||||
|
||||
@@ -3732,14 +3732,14 @@ static void Swap_EraseSpeciesWindow(void)
|
||||
{
|
||||
PutWindowTilemap(SWAP_WIN_SPECIES);
|
||||
FillWindowPixelBuffer(SWAP_WIN_SPECIES, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 2);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Swap_EraseSpeciesAtFadeWindow(void)
|
||||
{
|
||||
PutWindowTilemap(SWAP_WIN_SPECIES_AT_FADE);
|
||||
FillWindowPixelBuffer(SWAP_WIN_SPECIES_AT_FADE, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, 2);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Swap_EraseActionFadeWindow(void)
|
||||
@@ -3747,14 +3747,14 @@ static void Swap_EraseActionFadeWindow(void)
|
||||
Swap_EraseSpeciesWindow();
|
||||
PutWindowTilemap(SWAP_WIN_ACTION_FADE);
|
||||
FillWindowPixelBuffer(SWAP_WIN_ACTION_FADE, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, 2);
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Swap_PrintPkmnSwap(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_TITLE, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(SWAP_WIN_TITLE, FONT_NORMAL, gText_PkmnSwap, 2, 1, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_TITLE, 3);
|
||||
CopyWindowToVram(SWAP_WIN_TITLE, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Swap_PrintMonSpecies(void)
|
||||
@@ -3765,7 +3765,7 @@ static void Swap_PrintMonSpecies(void)
|
||||
FillWindowPixelBuffer(SWAP_WIN_SPECIES, PIXEL_FILL(0));
|
||||
if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE)
|
||||
{
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 2);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3777,7 +3777,7 @@ static void Swap_PrintMonSpecies(void)
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 3);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3785,7 +3785,7 @@ static void Swap_PrintOnInfoWindow(const u8 *str)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_INFO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SWAP_WIN_INFO, FONT_NORMAL, str, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_INFO, 2);
|
||||
CopyWindowToVram(SWAP_WIN_INFO, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Swap_PrintMenuOptions(void)
|
||||
@@ -3795,7 +3795,7 @@ static void Swap_PrintMenuOptions(void)
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 1, sSwapMenuOptionsTextColors, 0, gText_Summary2);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 17, sSwapMenuOptionsTextColors, 0, gText_Swap);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 33, sSwapMenuOptionsTextColors, 0, gText_Rechoose);
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, 3);
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Swap_PrintYesNoOptions(void)
|
||||
@@ -3804,7 +3804,7 @@ static void Swap_PrintYesNoOptions(void)
|
||||
FillWindowPixelBuffer(SWAP_WIN_YES_NO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, FONT_NORMAL, 7, 1, sSwapMenuOptionsTextColors, 0, gText_Yes3);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, FONT_NORMAL, 7, 17, sSwapMenuOptionsTextColors, 0, gText_No3);
|
||||
CopyWindowToVram(SWAP_WIN_YES_NO, 3);
|
||||
CopyWindowToVram(SWAP_WIN_YES_NO, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId)
|
||||
@@ -3824,7 +3824,7 @@ static void Swap_PrintActionStrings(void)
|
||||
Swap_PrintActionString(gText_Cancel3, 24, SWAP_WIN_ACTION_FADE);
|
||||
break;
|
||||
}
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, 3);
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Swap_PrintActionStrings2(void)
|
||||
@@ -3838,7 +3838,7 @@ static void Swap_PrintActionStrings2(void)
|
||||
Swap_PrintActionString(gText_Cancel3, 32, SWAP_WIN_OPTIONS);
|
||||
break;
|
||||
}
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, 3);
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Swap_PrintOneActionString(u8 which)
|
||||
@@ -3853,7 +3853,7 @@ static void Swap_PrintOneActionString(u8 which)
|
||||
Swap_PrintActionString(gText_Cancel3, 32, SWAP_WIN_OPTIONS);
|
||||
break;
|
||||
}
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, 3);
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// For printing the species name once its selected. Keep the current fade but don't keep fading in and out
|
||||
@@ -3874,7 +3874,7 @@ static void Swap_PrintMonSpeciesAtFade(void)
|
||||
FillWindowPixelBuffer(SWAP_WIN_SPECIES_AT_FADE, PIXEL_FILL(0));
|
||||
if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE)
|
||||
{
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, 3);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, COPYWIN_FULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3886,7 +3886,7 @@ static void Swap_PrintMonSpeciesAtFade(void)
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES_AT_FADE, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, 3);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3901,7 +3901,7 @@ static void Swap_PrintMonSpeciesForTransition(void)
|
||||
|
||||
if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE)
|
||||
{
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 2);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3913,7 +3913,7 @@ static void Swap_PrintMonSpeciesForTransition(void)
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 3);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3927,7 +3927,7 @@ static void Swap_PrintMonCategory(void)
|
||||
FillWindowPixelBuffer(SWAP_WIN_MON_CATEGORY, PIXEL_FILL(0));
|
||||
if (monId >= FRONTIER_PARTY_SIZE)
|
||||
{
|
||||
CopyWindowToVram(SWAP_WIN_MON_CATEGORY, 2);
|
||||
CopyWindowToVram(SWAP_WIN_MON_CATEGORY, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3939,7 +3939,7 @@ static void Swap_PrintMonCategory(void)
|
||||
CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76);
|
||||
AddTextPrinterParameterized(SWAP_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_MON_CATEGORY, 2);
|
||||
CopyWindowToVram(SWAP_WIN_MON_CATEGORY, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4126,7 +4126,7 @@ static void Swap_TaskCantHaveSameMons(u8 taskId)
|
||||
if (sFactorySwapScreen->monPicAnimating != TRUE)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_ACTION_FADE, PIXEL_FILL(0));
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, 2);
|
||||
CopyWindowToVram(SWAP_WIN_ACTION_FADE, COPYWIN_GFX);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
|
||||
+150
-140
@@ -9,7 +9,6 @@
|
||||
#include "string_util.h"
|
||||
#include "text.h"
|
||||
#include "sound.h"
|
||||
#include "constants/songs.h"
|
||||
#include "decompress.h"
|
||||
#include "task.h"
|
||||
#include "util.h"
|
||||
@@ -20,10 +19,12 @@
|
||||
#include "international_string_util.h"
|
||||
#include "safari_zone.h"
|
||||
#include "battle_anim.h"
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "data.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "strings.h"
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
struct TestingBar
|
||||
{
|
||||
@@ -157,15 +158,6 @@ enum
|
||||
HEALTHBOX_GFX_FRAME_END_BAR,
|
||||
};
|
||||
|
||||
// strings
|
||||
extern const u8 gText_Slash[];
|
||||
extern const u8 gText_HighlightDarkGray[];
|
||||
extern const u8 gText_DynColor2[];
|
||||
extern const u8 gText_DynColor2Male[];
|
||||
extern const u8 gText_DynColor1Female[];
|
||||
|
||||
// this file's functions
|
||||
|
||||
static const u8 *GetHealthboxElementGfxPtr(u8 elementId);
|
||||
static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId);
|
||||
|
||||
@@ -178,27 +170,26 @@ static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 wi
|
||||
static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth);
|
||||
static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2);
|
||||
|
||||
static void sub_8073E08(u8 taskId);
|
||||
static void sub_8073F98(u8 taskId);
|
||||
static void sub_8073E64(u8 taskId);
|
||||
static void Task_HidePartyStatusSummary_BattleStart_1(u8 taskId);
|
||||
static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId);
|
||||
static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId);
|
||||
|
||||
static void SpriteCB_HealthBoxOther(struct Sprite *sprite);
|
||||
static void SpriteCB_HealthBar(struct Sprite *sprite);
|
||||
static void sub_8074158(struct Sprite *sprite);
|
||||
static void sub_8074090(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBar(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBar_Enter(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBar_Exit(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBalls_Enter(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBalls_Exit(struct Sprite *sprite);
|
||||
static void SpriteCB_StatusSummaryBalls_OnSwitchout(struct Sprite *sprite);
|
||||
|
||||
static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId);
|
||||
static s32 CalcNewBarValue(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 arg4, u16 arg5);
|
||||
static u8 GetScaledExpFraction(s32 currValue, s32 receivedValue, s32 maxValue, u8 scale);
|
||||
static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar);
|
||||
static u8 CalcBarFilledPixels(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *currValue, u8 *arg4, u8 scale);
|
||||
static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2);
|
||||
static void Debug_TestHealthBar_Helper(struct TestingBar *barInfo, s32 *arg1, u16 *arg2);
|
||||
|
||||
// const rom data
|
||||
static const struct OamData sUnknown_0832C138 =
|
||||
static const struct OamData sOamData_64x32 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
@@ -220,7 +211,7 @@ static const struct SpriteTemplate sHealthboxPlayerSpriteTemplates[2] =
|
||||
{
|
||||
.tileTag = TAG_HEALTHBOX_PLAYER1_TILE,
|
||||
.paletteTag = TAG_HEALTHBOX_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
@@ -229,7 +220,7 @@ static const struct SpriteTemplate sHealthboxPlayerSpriteTemplates[2] =
|
||||
{
|
||||
.tileTag = TAG_HEALTHBOX_PLAYER2_TILE,
|
||||
.paletteTag = TAG_HEALTHBOX_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
@@ -242,7 +233,7 @@ static const struct SpriteTemplate sHealthboxOpponentSpriteTemplates[2] =
|
||||
{
|
||||
.tileTag = TAG_HEALTHBOX_OPPONENT1_TILE,
|
||||
.paletteTag = TAG_HEALTHBOX_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
@@ -251,7 +242,7 @@ static const struct SpriteTemplate sHealthboxOpponentSpriteTemplates[2] =
|
||||
{
|
||||
.tileTag = TAG_HEALTHBOX_OPPONENT2_TILE,
|
||||
.paletteTag = TAG_HEALTHBOX_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
@@ -263,7 +254,7 @@ static const struct SpriteTemplate sHealthboxSafariSpriteTemplate =
|
||||
{
|
||||
.tileTag = TAG_HEALTHBOX_SAFARI_TILE,
|
||||
.paletteTag = TAG_HEALTHBOX_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
@@ -327,7 +318,7 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C220[] =
|
||||
static const struct Subsprite sUnused_Subsprites_0[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -371,7 +362,7 @@ static const struct Subsprite sUnknown_0832C220[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C234[] =
|
||||
static const struct Subsprite sUnused_Subsprites_2[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -415,7 +406,7 @@ static const struct Subsprite sUnknown_0832C234[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C248[] =
|
||||
static const struct Subsprite sUnused_Subsprites_1[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -435,7 +426,7 @@ static const struct Subsprite sUnknown_0832C248[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C250[] =
|
||||
static const struct Subsprite sUnused_Subsprites_3[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -455,7 +446,7 @@ static const struct Subsprite sUnknown_0832C250[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C258[] =
|
||||
static const struct Subsprite sHealthBar_Subsprites_Player[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -475,7 +466,7 @@ static const struct Subsprite sUnknown_0832C258[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C260[] =
|
||||
static const struct Subsprite sHealthBar_Subsprites_Opponent[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
@@ -503,25 +494,24 @@ static const struct Subsprite sUnknown_0832C260[] =
|
||||
}
|
||||
};
|
||||
|
||||
// unused subsprite table
|
||||
static const struct SubspriteTable sUnknown_0832C26C[] =
|
||||
static const struct SubspriteTable sUnused_SubspriteTable[] =
|
||||
{
|
||||
{ARRAY_COUNT(sUnknown_0832C220), sUnknown_0832C220},
|
||||
{ARRAY_COUNT(sUnknown_0832C248), sUnknown_0832C248},
|
||||
{ARRAY_COUNT(sUnknown_0832C234), sUnknown_0832C234},
|
||||
{ARRAY_COUNT(sUnknown_0832C250), sUnknown_0832C250}
|
||||
{ARRAY_COUNT(sUnused_Subsprites_0), sUnused_Subsprites_0},
|
||||
{ARRAY_COUNT(sUnused_Subsprites_1), sUnused_Subsprites_1},
|
||||
{ARRAY_COUNT(sUnused_Subsprites_2), sUnused_Subsprites_2},
|
||||
{ARRAY_COUNT(sUnused_Subsprites_3), sUnused_Subsprites_3}
|
||||
};
|
||||
|
||||
static const struct SubspriteTable sUnknown_0832C28C[] =
|
||||
static const struct SubspriteTable sHealthBar_SubspriteTables[] =
|
||||
{
|
||||
{ARRAY_COUNT(sUnknown_0832C258), sUnknown_0832C258},
|
||||
{ARRAY_COUNT(sUnknown_0832C260), sUnknown_0832C260}
|
||||
[B_SIDE_PLAYER] = {ARRAY_COUNT(sHealthBar_Subsprites_Player), sHealthBar_Subsprites_Player},
|
||||
[B_SIDE_OPPONENT] = {ARRAY_COUNT(sHealthBar_Subsprites_Opponent), sHealthBar_Subsprites_Opponent}
|
||||
};
|
||||
|
||||
static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.x = 32 * 5,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -529,7 +519,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.x = 32 * 6,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -537,7 +527,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.x = 32 * 7,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -554,10 +544,10 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.x = 32 * 5,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -565,7 +555,7 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.x = 32 * 6,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -573,7 +563,7 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.x = 32 * 7,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -581,7 +571,7 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.x = 32 * 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -589,7 +579,7 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 32,
|
||||
.x = 32 * 1,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -597,7 +587,7 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 64,
|
||||
.x = 32 * 2,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
@@ -606,14 +596,14 @@ static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
}
|
||||
};
|
||||
|
||||
static const struct SubspriteTable sStatusSummaryBar_SubspriteTable[] =
|
||||
static const struct SubspriteTable sStatusSummaryBar_SubspriteTable_Enter[] =
|
||||
{
|
||||
{ARRAY_COUNT(sStatusSummaryBar_Subsprites_0), sStatusSummaryBar_Subsprites_0}
|
||||
{ARRAY_COUNT(sStatusSummaryBar_Subsprites_Enter), sStatusSummaryBar_Subsprites_Enter}
|
||||
};
|
||||
|
||||
static const struct SubspriteTable sUnknown_0832C2CC[] =
|
||||
static const struct SubspriteTable sStatusSummaryBar_SubspriteTable_Exit[] =
|
||||
{
|
||||
{ARRAY_COUNT(sUnknown_0832C2AC), sUnknown_0832C2AC}
|
||||
{ARRAY_COUNT(sStatusSummaryBar_Subsprites_Exit), sStatusSummaryBar_Subsprites_Exit}
|
||||
};
|
||||
|
||||
// unused unknown image
|
||||
@@ -676,23 +666,23 @@ static const struct OamData sOamData_StatusSummaryBalls =
|
||||
|
||||
static const struct SpriteTemplate sStatusSummaryBarSpriteTemplates[2] =
|
||||
{
|
||||
{
|
||||
{ // Player
|
||||
.tileTag = TAG_STATUS_SUMMARY_BAR_TILE,
|
||||
.paletteTag = TAG_STATUS_SUMMARY_BAR_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_StatusSummaryBar
|
||||
.callback = SpriteCB_StatusSummaryBar_Enter
|
||||
},
|
||||
{
|
||||
{ // Opponent
|
||||
.tileTag = TAG_STATUS_SUMMARY_BAR_TILE,
|
||||
.paletteTag = TAG_STATUS_SUMMARY_BAR_PAL,
|
||||
.oam = &sUnknown_0832C138,
|
||||
.oam = &sOamData_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_StatusSummaryBar
|
||||
.callback = SpriteCB_StatusSummaryBar_Enter
|
||||
}
|
||||
};
|
||||
|
||||
@@ -705,7 +695,7 @@ static const struct SpriteTemplate sStatusSummaryBallsSpriteTemplates[2] =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_StatusSummaryBallsOnBattleStart
|
||||
.callback = SpriteCB_StatusSummaryBalls_Enter
|
||||
},
|
||||
{
|
||||
.tileTag = TAG_STATUS_SUMMARY_BALLS_TILE,
|
||||
@@ -714,7 +704,7 @@ static const struct SpriteTemplate sStatusSummaryBallsSpriteTemplates[2] =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_StatusSummaryBallsOnBattleStart
|
||||
.callback = SpriteCB_StatusSummaryBalls_Enter
|
||||
}
|
||||
};
|
||||
|
||||
@@ -739,23 +729,28 @@ static const u16 sStatusIconColors[] =
|
||||
[PAL_STATUS_BRN] = RGB(28, 14, 10),
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sHealthboxWindowTemplate = {0, 0, 0, 8, 2, 0, 0}; // width = 8, height = 2
|
||||
|
||||
// code
|
||||
static const struct WindowTemplate sHealthboxWindowTemplate = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0
|
||||
};
|
||||
|
||||
static s32 DummiedOutFunction(s16 unused1, s16 unused2, s32 unused3)
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
void sub_8072308(s16 number, u16 *dest, bool8 unk)
|
||||
|
||||
static void Debug_DrawNumber(s16 number, u16 *dest, bool8 unk)
|
||||
{
|
||||
s8 i, j;
|
||||
u8 buff[4];
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
buff[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 3; ; i--)
|
||||
{
|
||||
@@ -767,9 +762,8 @@ void sub_8072308(s16 number, u16 *dest, bool8 unk)
|
||||
else
|
||||
{
|
||||
for (; i > -1; i--)
|
||||
{
|
||||
buff[i] = 0xFF;
|
||||
}
|
||||
|
||||
if (buff[3] == 0xFF)
|
||||
buff[3] = 0;
|
||||
break;
|
||||
@@ -819,12 +813,12 @@ void sub_8072308(s16 number, u16 *dest, bool8 unk)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void sub_80724A8(s16 arg0, s16 arg1, u16 *arg2)
|
||||
// Unused
|
||||
static void Debug_DrawNumberPair(s16 number1, s16 number2, u16 *arg2)
|
||||
{
|
||||
arg2[4] = 0x1E;
|
||||
sub_8072308(arg1, arg2, 0);
|
||||
sub_8072308(arg0, arg2 + 5, 1);
|
||||
Debug_DrawNumber(number2, arg2, 0);
|
||||
Debug_DrawNumber(number1, arg2 + 5, 1);
|
||||
}
|
||||
|
||||
// Because the healthbox is too large to fit into one sprite, it is divided into two sprites.
|
||||
@@ -910,7 +904,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
|
||||
healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0);
|
||||
healthBarSpritePtr = &gSprites[healthbarSpriteId];
|
||||
SetSubspriteTables(healthBarSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battlerId)]);
|
||||
SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battlerId)]);
|
||||
healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
|
||||
healthBarSpritePtr->oam.priority = 1;
|
||||
|
||||
@@ -1299,7 +1293,7 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].hMain_Battler) * 384)];
|
||||
var = 5;
|
||||
nature = GetNature(mon);
|
||||
StringCopy(text + 6, gNatureNamePointers[nature]);
|
||||
StringCopy(&text[6], gNatureNamePointers[nature]);
|
||||
RenderTextHandleBold(barFontGfx, FONT_BOLD, text);
|
||||
|
||||
for (j = 6, i = 0; i < var; i++, j++)
|
||||
@@ -1328,8 +1322,8 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
}
|
||||
|
||||
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
ConvertIntToDecimalStringN(text + 6, gBattleStruct->safariCatchFactor, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
ConvertIntToDecimalStringN(text + 9, gBattleStruct->safariEscapeFactor, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
ConvertIntToDecimalStringN(&text[6], gBattleStruct->safariCatchFactor, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
ConvertIntToDecimalStringN(&text[9], gBattleStruct->safariEscapeFactor, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
text[5] = CHAR_SPACE;
|
||||
text[8] = CHAR_SLASH;
|
||||
RenderTextHandleBold(gMonSpritesGfxPtr->barFontGfx, FONT_BOLD, text);
|
||||
@@ -1424,7 +1418,7 @@ void SwapHpBarsWithHpText(void)
|
||||
#define tSummaryBarSpriteId data[1]
|
||||
#define tBallIconSpriteId(n) data[3 + n]
|
||||
#define tIsBattleStart data[10]
|
||||
#define tData15 data[15]
|
||||
#define tBlend data[15]
|
||||
|
||||
u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart)
|
||||
{
|
||||
@@ -1471,7 +1465,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
LoadSpritePalette(&sStatusSummaryBallsSpritePal);
|
||||
|
||||
summaryBarSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10);
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable);
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable_Enter);
|
||||
gSprites[summaryBarSpriteId].x2 = bar_pos2_X;
|
||||
gSprites[summaryBarSpriteId].data[0] = bar_data0;
|
||||
|
||||
@@ -1490,7 +1484,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
ballIconSpritesIds[i] = CreateSpriteAtEnd(&sStatusSummaryBallsSpriteTemplates[isOpponent], bar_X, bar_Y - 4, 9);
|
||||
|
||||
if (!isBattleStart)
|
||||
gSprites[ballIconSpritesIds[i]].callback = SpriteCB_StatusSummaryBallsOnSwitchout;
|
||||
gSprites[ballIconSpritesIds[i]].callback = SpriteCB_StatusSummaryBalls_OnSwitchout;
|
||||
|
||||
if (!isOpponent)
|
||||
{
|
||||
@@ -1522,42 +1516,49 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
{
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg
|
||||
if (partyInfo[i].hp == HP_EMPTY_SLOT)
|
||||
{
|
||||
// empty slot or an egg
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 1;
|
||||
gSprites[ballIconSpritesIds[i]].data[7] = 1;
|
||||
}
|
||||
else if (partyInfo[i].hp == 0) // fainted mon
|
||||
else if (partyInfo[i].hp == 0)
|
||||
{
|
||||
// fainted mon
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
|
||||
}
|
||||
else if (partyInfo[i].status != 0) // mon with major status
|
||||
else if (partyInfo[i].status != 0)
|
||||
{
|
||||
// mon with major status
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0, var = 5, j = 0; j < PARTY_SIZE; j++)
|
||||
for (i = 0, var = PARTY_SIZE - 1, j = 0; j < PARTY_SIZE; j++)
|
||||
{
|
||||
if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg
|
||||
if (partyInfo[j].hp == HP_EMPTY_SLOT)
|
||||
{
|
||||
// empty slot or an egg
|
||||
gSprites[ballIconSpritesIds[var]].oam.tileNum += 1;
|
||||
gSprites[ballIconSpritesIds[var]].data[7] = 1;
|
||||
var--;
|
||||
continue;
|
||||
}
|
||||
else if (partyInfo[j].hp == 0) // fainted mon
|
||||
else if (partyInfo[j].hp == 0)
|
||||
{
|
||||
// fainted mon
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & gBitTable[j])
|
||||
{
|
||||
// fainted arena mon
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
|
||||
}
|
||||
else if (partyInfo[j].status != 0) // mon with major status
|
||||
else if (partyInfo[j].status != 0)
|
||||
{
|
||||
// mon with primary status
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 2;
|
||||
}
|
||||
i++;
|
||||
@@ -1568,19 +1569,22 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
{
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS))
|
||||
{
|
||||
for (var = 5, i = 0; i < PARTY_SIZE; i++)
|
||||
for (var = PARTY_SIZE - 1, i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg
|
||||
if (partyInfo[i].hp == HP_EMPTY_SLOT)
|
||||
{
|
||||
// empty slot or an egg
|
||||
gSprites[ballIconSpritesIds[var]].oam.tileNum += 1;
|
||||
gSprites[ballIconSpritesIds[var]].data[7] = 1;
|
||||
}
|
||||
else if (partyInfo[i].hp == 0) // fainted mon
|
||||
else if (partyInfo[i].hp == 0)
|
||||
{
|
||||
// fainted mon
|
||||
gSprites[ballIconSpritesIds[var]].oam.tileNum += 3;
|
||||
}
|
||||
else if (partyInfo[i].status != 0) // mon with major status
|
||||
else if (partyInfo[i].status != 0)
|
||||
{
|
||||
// mon with primary status
|
||||
gSprites[ballIconSpritesIds[var]].oam.tileNum += 2;
|
||||
}
|
||||
var--;
|
||||
@@ -1590,24 +1594,28 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
{
|
||||
for (var = 0, i = 0, j = 0; j < PARTY_SIZE; j++)
|
||||
{
|
||||
if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg
|
||||
if (partyInfo[j].hp == HP_EMPTY_SLOT)
|
||||
{
|
||||
// empty slot or an egg
|
||||
gSprites[ballIconSpritesIds[i]].oam.tileNum += 1;
|
||||
gSprites[ballIconSpritesIds[i]].data[7] = 1;
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else if (partyInfo[j].hp == 0) // fainted mon
|
||||
else if (partyInfo[j].hp == 0)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
|
||||
// fainted mon
|
||||
gSprites[ballIconSpritesIds[PARTY_SIZE - 1 - var]].oam.tileNum += 3;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j]) // hmm...?
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j])
|
||||
{
|
||||
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
|
||||
// fainted arena mon
|
||||
gSprites[ballIconSpritesIds[PARTY_SIZE - 1 - var]].oam.tileNum += 3;
|
||||
}
|
||||
else if (partyInfo[j].status != 0) // mon with major status
|
||||
else if (partyInfo[j].status != 0)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 2;
|
||||
// mon with primary status
|
||||
gSprites[ballIconSpritesIds[PARTY_SIZE - 1 - var]].oam.tileNum += 2;
|
||||
}
|
||||
var++;
|
||||
}
|
||||
@@ -1632,6 +1640,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
return taskId;
|
||||
}
|
||||
|
||||
// Slide the party summary tray back offscreen
|
||||
void Task_HidePartyStatusSummary(u8 taskId)
|
||||
{
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
@@ -1650,7 +1659,7 @@ void Task_HidePartyStatusSummary(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
|
||||
|
||||
gTasks[taskId].tData15 = 16;
|
||||
gTasks[taskId].tBlend = 16;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
gSprites[ballIconSpriteIds[i]].oam.objMode = ST_OAM_OBJ_BLEND;
|
||||
@@ -1663,51 +1672,51 @@ void Task_HidePartyStatusSummary(u8 taskId)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
{
|
||||
gSprites[ballIconSpriteIds[5 - i]].data[1] = 7 * i;
|
||||
gSprites[ballIconSpriteIds[5 - i]].data[3] = 0;
|
||||
gSprites[ballIconSpriteIds[5 - i]].data[4] = 0;
|
||||
gSprites[ballIconSpriteIds[5 - i]].callback = sub_8074158;
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[1] = 7 * i;
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[3] = 0;
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[4] = 0;
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].callback = SpriteCB_StatusSummaryBalls_Exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[ballIconSpriteIds[i]].data[1] = 7 * i;
|
||||
gSprites[ballIconSpriteIds[i]].data[3] = 0;
|
||||
gSprites[ballIconSpriteIds[i]].data[4] = 0;
|
||||
gSprites[ballIconSpriteIds[i]].callback = sub_8074158;
|
||||
gSprites[ballIconSpriteIds[i]].callback = SpriteCB_StatusSummaryBalls_Exit;
|
||||
}
|
||||
}
|
||||
gSprites[summaryBarSpriteId].data[0] /= 2;
|
||||
gSprites[summaryBarSpriteId].data[1] = 0;
|
||||
gSprites[summaryBarSpriteId].callback = sub_8074090;
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sUnknown_0832C2CC);
|
||||
gTasks[taskId].func = sub_8073E08;
|
||||
gSprites[summaryBarSpriteId].callback = SpriteCB_StatusSummaryBar_Exit;
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable_Exit);
|
||||
gTasks[taskId].func = Task_HidePartyStatusSummary_BattleStart_1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].func = sub_8073F98;
|
||||
gTasks[taskId].func = Task_HidePartyStatusSummary_DuringBattle;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8073E08(u8 taskId)
|
||||
static void Task_HidePartyStatusSummary_BattleStart_1(u8 taskId)
|
||||
{
|
||||
if ((gTasks[taskId].data[11]++ % 2) == 0)
|
||||
{
|
||||
if (--gTasks[taskId].tData15 < 0)
|
||||
if (--gTasks[taskId].tBlend < 0)
|
||||
return;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[15], 16 - gTasks[taskId].data[15]));
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend));
|
||||
}
|
||||
if (gTasks[taskId].tData15 == 0)
|
||||
gTasks[taskId].func = sub_8073E64;
|
||||
if (gTasks[taskId].tBlend == 0)
|
||||
gTasks[taskId].func = Task_HidePartyStatusSummary_BattleStart_2;
|
||||
}
|
||||
|
||||
static void sub_8073E64(u8 taskId)
|
||||
static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId)
|
||||
{
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
s32 i;
|
||||
|
||||
u8 battlerId = gTasks[taskId].tBattler;
|
||||
if (--gTasks[taskId].tData15 == -1)
|
||||
if (--gTasks[taskId].tBlend == -1)
|
||||
{
|
||||
u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId;
|
||||
|
||||
@@ -1731,7 +1740,7 @@ static void sub_8073E64(u8 taskId)
|
||||
for (i = 1; i < PARTY_SIZE; i++)
|
||||
DestroySprite(&gSprites[ballIconSpriteIds[i]]);
|
||||
}
|
||||
else if (gTasks[taskId].tData15 == -3)
|
||||
else if (gTasks[taskId].tBlend == -3)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
@@ -1740,17 +1749,17 @@ static void sub_8073E64(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8073F98(u8 taskId)
|
||||
static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId)
|
||||
{
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
s32 i;
|
||||
u8 battlerId = gTasks[taskId].tBattler;
|
||||
|
||||
if (--gTasks[taskId].tData15 >= 0)
|
||||
if (--gTasks[taskId].tBlend >= 0)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[15], 16 - gTasks[taskId].data[15]));
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend));
|
||||
}
|
||||
else if (gTasks[taskId].tData15 == -1)
|
||||
else if (gTasks[taskId].tBlend == -1)
|
||||
{
|
||||
u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId;
|
||||
|
||||
@@ -1763,7 +1772,7 @@ static void sub_8073F98(u8 taskId)
|
||||
for (i = 1; i < PARTY_SIZE; i++)
|
||||
DestroySprite(&gSprites[ballIconSpriteIds[i]]);
|
||||
}
|
||||
else if (gTasks[taskId].tData15 == -3)
|
||||
else if (gTasks[taskId].tBlend == -3)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
@@ -1776,15 +1785,15 @@ static void sub_8073F98(u8 taskId)
|
||||
#undef tSummaryBarSpriteId
|
||||
#undef tBallIconSpriteId
|
||||
#undef tIsBattleStart
|
||||
#undef tData15
|
||||
#undef tBlend
|
||||
|
||||
static void SpriteCB_StatusSummaryBar(struct Sprite *sprite)
|
||||
static void SpriteCB_StatusSummaryBar_Enter(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->x2 != 0)
|
||||
sprite->x2 += sprite->data[0];
|
||||
}
|
||||
|
||||
static void sub_8074090(struct Sprite *sprite)
|
||||
static void SpriteCB_StatusSummaryBar_Exit(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] += 32;
|
||||
if (sprite->data[0] > 0)
|
||||
@@ -1794,7 +1803,7 @@ static void sub_8074090(struct Sprite *sprite)
|
||||
sprite->data[1] &= 0xF;
|
||||
}
|
||||
|
||||
static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
|
||||
static void SpriteCB_StatusSummaryBalls_Enter(struct Sprite *sprite)
|
||||
{
|
||||
u8 var1;
|
||||
u16 var2;
|
||||
@@ -1839,7 +1848,7 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8074158(struct Sprite *sprite)
|
||||
static void SpriteCB_StatusSummaryBalls_Exit(struct Sprite *sprite)
|
||||
{
|
||||
u8 var1;
|
||||
u16 var2;
|
||||
@@ -1865,7 +1874,7 @@ static void sub_8074158(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite)
|
||||
static void SpriteCB_StatusSummaryBalls_OnSwitchout(struct Sprite *sprite)
|
||||
{
|
||||
u8 barSpriteId = sprite->data[0];
|
||||
|
||||
@@ -1882,7 +1891,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
u16 species;
|
||||
u8 gender;
|
||||
|
||||
StringCopy(gDisplayedStringBattle, gText_HighlightDarkGray);
|
||||
StringCopy(gDisplayedStringBattle, gText_HealthboxNickname);
|
||||
GetMonData(mon, MON_DATA_NICKNAME, nickname);
|
||||
StringGetEnd10(nickname);
|
||||
ptr = StringAppend(gDisplayedStringBattle, nickname);
|
||||
@@ -1898,15 +1907,15 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
switch (gender)
|
||||
{
|
||||
default:
|
||||
StringCopy(ptr, gText_DynColor2);
|
||||
StringCopy(ptr, gText_HealthboxGender_None);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
case MON_MALE:
|
||||
StringCopy(ptr, gText_DynColor2Male);
|
||||
StringCopy(ptr, gText_HealthboxGender_Male);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
case MON_FEMALE:
|
||||
StringCopy(ptr, gText_DynColor1Female);
|
||||
StringCopy(ptr, gText_HealthboxGender_Female);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
}
|
||||
@@ -2422,8 +2431,9 @@ static u8 CalcBarFilledPixels(s32 maxValue, s32 oldValue, s32 receivedValue, s32
|
||||
return filledPixels;
|
||||
}
|
||||
|
||||
// Unused
|
||||
// These two functions seem as if they were made for testing the health bar.
|
||||
static s16 sub_8074F28(struct TestingBar *barInfo, s32 *currValue, u16 *arg2, s32 arg3)
|
||||
static s16 Debug_TestHealthBar(struct TestingBar *barInfo, s32 *currValue, u16 *arg2, s32 arg3)
|
||||
{
|
||||
s16 ret, var;
|
||||
|
||||
@@ -2431,7 +2441,7 @@ static s16 sub_8074F28(struct TestingBar *barInfo, s32 *currValue, u16 *arg2, s3
|
||||
barInfo->oldValue,
|
||||
barInfo->receivedValue,
|
||||
currValue, B_HEALTHBAR_PIXELS / 8, 1);
|
||||
sub_8074F88(barInfo, currValue, arg2);
|
||||
Debug_TestHealthBar_Helper(barInfo, currValue, arg2);
|
||||
|
||||
if (barInfo->maxValue < B_HEALTHBAR_PIXELS)
|
||||
var = *currValue >> 8;
|
||||
@@ -2443,7 +2453,7 @@ static s16 sub_8074F28(struct TestingBar *barInfo, s32 *currValue, u16 *arg2, s3
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void sub_8074F88(struct TestingBar *barInfo, s32 *currValue, u16 *arg2)
|
||||
static void Debug_TestHealthBar_Helper(struct TestingBar *barInfo, s32 *currValue, u16 *arg2)
|
||||
{
|
||||
u8 sp8[6];
|
||||
u16 sp10[6];
|
||||
@@ -2525,7 +2535,7 @@ static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y,
|
||||
color[1] = 1;
|
||||
color[2] = 3;
|
||||
|
||||
AddTextPrinterParameterized4(winId, FONT_SMALL, x, y, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(winId, FONT_SMALL, x, y, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
|
||||
*windowId = winId;
|
||||
return (u8*)(GetWindowAttribute(winId, WINDOW_TILE_DATA));
|
||||
|
||||
+4
-4
@@ -682,7 +682,7 @@ static void CB2_InitBattleInternal(void)
|
||||
{
|
||||
CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
|
||||
CreateNPCTrainerParty(&gEnemyParty[3], gTrainerBattleOpponent_B, FALSE);
|
||||
CreateNPCTrainerParty(&gEnemyParty[PARTY_SIZE / 2], gTrainerBattleOpponent_B, FALSE);
|
||||
SetWildMonHeldItem();
|
||||
}
|
||||
|
||||
@@ -3492,7 +3492,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
|
||||
|| GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
|
||||
{
|
||||
hpStatus[i].hp = 0xFFFF;
|
||||
hpStatus[i].hp = HP_EMPTY_SLOT;
|
||||
hpStatus[i].status = 0;
|
||||
}
|
||||
else
|
||||
@@ -3510,7 +3510,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
|
||||
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
|
||||
{
|
||||
hpStatus[i].hp = 0xFFFF;
|
||||
hpStatus[i].hp = HP_EMPTY_SLOT;
|
||||
hpStatus[i].status = 0;
|
||||
}
|
||||
else
|
||||
@@ -3536,7 +3536,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
|
||||
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
|
||||
{
|
||||
hpStatus[i].hp = 0xFFFF;
|
||||
hpStatus[i].hp = HP_EMPTY_SLOT;
|
||||
hpStatus[i].status = 0;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -3113,7 +3113,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
|
||||
if (copyToVram)
|
||||
{
|
||||
PutWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -673,7 +673,7 @@ static void PrintItemQuantity(u8 windowId, u32 itemIndex, u8 y)
|
||||
2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
xAlign = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
PyramidBagPrint_Quantity(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SPEED_FF, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint_Quantity(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SKIP_DRAW, COLORID_DARK_GRAY);
|
||||
}
|
||||
|
||||
static void PrintItemDescription(s32 listMenuId)
|
||||
@@ -978,8 +978,8 @@ static void OpenContextMenu(u8 taskId)
|
||||
|
||||
static void PrintMenuActionText_SingleRow(u8 windowId)
|
||||
{
|
||||
AddItemMenuActionTextPrinters(windowId, FONT_NARROW, 8, 1, 0, 0x10, gPyramidBagMenu->menuActionsCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gPyramidBagMenu->menuActionsCount, 0);
|
||||
PrintMenuActionTexts(windowId, FONT_NARROW, 8, 1, 0, 0x10, gPyramidBagMenu->menuActionsCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, gPyramidBagMenu->menuActionsCount, 0);
|
||||
}
|
||||
|
||||
static void PrintMenuActionText_MultiRow(u8 windowId, u8 horizontalCount, u8 verticalCount)
|
||||
@@ -1020,7 +1020,7 @@ static void HandleMenuActionInput_2x2(u8 taskId)
|
||||
if (id > 0 && IsValidMenuAction(id - 2))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_UP);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_UP);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_DOWN))
|
||||
@@ -1028,7 +1028,7 @@ static void HandleMenuActionInput_2x2(u8 taskId)
|
||||
if (id < gPyramidBagMenu->menuActionsCount - 2 && IsValidMenuAction(id + 2))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_DOWN);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_DOWN);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED)
|
||||
@@ -1036,7 +1036,7 @@ static void HandleMenuActionInput_2x2(u8 taskId)
|
||||
if (id & 1 && IsValidMenuAction(id - 1))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_LEFT, MENU_CURSOR_DELTA_NONE);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_LEFT, MENU_CURSOR_DELTA_NONE);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED)
|
||||
@@ -1044,7 +1044,7 @@ static void HandleMenuActionInput_2x2(u8 taskId)
|
||||
if (!(id & 1) && IsValidMenuAction(id + 1))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_RIGHT, MENU_CURSOR_DELTA_NONE);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_RIGHT, MENU_CURSOR_DELTA_NONE);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(A_BUTTON))
|
||||
|
||||
+10
-10
@@ -334,7 +334,7 @@ void ShowLinkBattleRecords(void)
|
||||
}
|
||||
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void RemoveRecordsWindow(void)
|
||||
@@ -382,7 +382,7 @@ static void RemoveTrainerHillRecordsWindow(u8 windowId)
|
||||
{
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
ClearWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
RemoveWindow(windowId);
|
||||
}
|
||||
|
||||
@@ -425,14 +425,14 @@ static void ClearTasksAndGraphicalStructs(void)
|
||||
|
||||
static void ResetBgCoordinates(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static void SetDispcntReg(void)
|
||||
|
||||
@@ -5921,7 +5921,7 @@ static void Cmd_drawlvlupbox(void)
|
||||
// Draw page 1 of level up box
|
||||
DrawLevelUpWindow1();
|
||||
PutWindowTilemap(B_WIN_LEVEL_UP_BOX);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, 3);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, COPYWIN_FULL);
|
||||
gBattleScripting.drawlvlupboxState++;
|
||||
break;
|
||||
case 5:
|
||||
@@ -5939,7 +5939,7 @@ static void Cmd_drawlvlupbox(void)
|
||||
// Draw page 2 of level up box
|
||||
PlaySE(SE_SELECT);
|
||||
DrawLevelUpWindow2();
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, 2);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, COPYWIN_GFX);
|
||||
gBattleScripting.drawlvlupboxState++;
|
||||
}
|
||||
break;
|
||||
@@ -5956,10 +5956,10 @@ static void Cmd_drawlvlupbox(void)
|
||||
if (!SlideOutLevelUpBanner())
|
||||
{
|
||||
ClearWindowTilemap(B_WIN_LEVEL_UP_BANNER);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, 1);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_MAP);
|
||||
|
||||
ClearWindowTilemap(B_WIN_LEVEL_UP_BOX);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, 1);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BOX, COPYWIN_MAP);
|
||||
|
||||
SetBgAttribute(2, BG_ATTR_PRIORITY, 2);
|
||||
ShowBg(2);
|
||||
@@ -6004,7 +6004,7 @@ static void InitLevelUpBanner(void)
|
||||
LoadPalette(sLevelUpBanner_Pal, 0x60, 0x20);
|
||||
CopyToWindowPixelBuffer(B_WIN_LEVEL_UP_BANNER, sLevelUpBanner_Gfx, 0, 0);
|
||||
PutWindowTilemap(B_WIN_LEVEL_UP_BANNER);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, 3);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_FULL);
|
||||
|
||||
PutMonIconOnLvlUpBanner();
|
||||
}
|
||||
@@ -6053,7 +6053,7 @@ static void DrawLevelUpBannerText(void)
|
||||
printerTemplate.bgColor = TEXT_COLOR_TRANSPARENT;
|
||||
printerTemplate.shadowColor = TEXT_COLOR_DARK_GRAY;
|
||||
|
||||
AddTextPrinter(&printerTemplate, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinter(&printerTemplate, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
txtPtr = gStringVar4;
|
||||
*(txtPtr)++ = CHAR_EXTRA_SYMBOL;
|
||||
@@ -6083,9 +6083,9 @@ static void DrawLevelUpBannerText(void)
|
||||
|
||||
printerTemplate.y = 10;
|
||||
printerTemplate.currentY = 10;
|
||||
AddTextPrinter(&printerTemplate, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinter(&printerTemplate, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, 2);
|
||||
CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static bool8 SlideOutLevelUpBanner(void)
|
||||
|
||||
+2
-1
@@ -46,6 +46,7 @@
|
||||
#include "constants/maps.h"
|
||||
#include "constants/trainers.h"
|
||||
#include "constants/trainer_hill.h"
|
||||
#include "constants/weather.h"
|
||||
|
||||
enum {
|
||||
TRANSITION_TYPE_NORMAL,
|
||||
@@ -686,7 +687,7 @@ u8 BattleSetup_GetTerrainId(void)
|
||||
}
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113))
|
||||
return BATTLE_TERRAIN_SAND;
|
||||
if (GetSav1Weather() == 8)
|
||||
if (GetSav1Weather() == WEATHER_SANDSTORM)
|
||||
return BATTLE_TERRAIN_SAND;
|
||||
|
||||
return BATTLE_TERRAIN_PLAIN;
|
||||
|
||||
@@ -378,9 +378,9 @@ static bool8 Circles_Init(struct Task *task)
|
||||
LoadLogoGfx();
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(0, 0x500, 2);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0x500, BG_COORD_SUB);
|
||||
|
||||
task->tTimer = 0;
|
||||
task->tState++;
|
||||
|
||||
+26
-26
@@ -1013,10 +1013,10 @@ static void DrawBlenderBg(void)
|
||||
ShowBg(0);
|
||||
ShowBg(1);
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static void InitBerryBlenderWindows(void)
|
||||
@@ -1616,7 +1616,7 @@ static void PrintPlayerNames(void)
|
||||
Blender_AddTextPrinter(i, text, xPos, 1, 0, 1);
|
||||
|
||||
PutWindowTilemap(i);
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2684,7 +2684,7 @@ static void CB2_EndBlenderGame(void)
|
||||
if (sBerryBlender->arrowIdToPlayerId[i] != NO_PLAYER)
|
||||
{
|
||||
PutWindowTilemap(i);
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -2696,7 +2696,7 @@ static void CB2_EndBlenderGame(void)
|
||||
if (sBerryBlender->arrowIdToPlayerId[i] != NO_PLAYER)
|
||||
{
|
||||
PutWindowTilemap(i);
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -2785,7 +2785,7 @@ static bool8 LinkPlayAgainHandleSaving(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
FullSaveGame();
|
||||
WriteSaveBlock2();
|
||||
sBerryBlender->linkPlayAgainState++;
|
||||
sBerryBlender->framesToWait = 0;
|
||||
break;
|
||||
@@ -2799,7 +2799,7 @@ static bool8 LinkPlayAgainHandleSaving(void)
|
||||
case 4:
|
||||
if (IsLinkTaskFinished())
|
||||
{
|
||||
if (CheckSaveFile())
|
||||
if (WriteSaveBlock1Sector())
|
||||
{
|
||||
sBerryBlender->linkPlayAgainState = 5;
|
||||
}
|
||||
@@ -3495,7 +3495,7 @@ static bool8 PrintBlendingResults(void)
|
||||
u8 *txtPtr;
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, sText_BlendingResults, 0xA8);
|
||||
Blender_AddTextPrinter(5, sText_BlendingResults, xPos, 1, TEXT_SPEED_FF, 0);
|
||||
Blender_AddTextPrinter(5, sText_BlendingResults, xPos, 1, TEXT_SKIP_DRAW, 0);
|
||||
|
||||
if (sBerryBlender->numPlayers == BLENDER_MAX_PLAYERS)
|
||||
yPos = 17;
|
||||
@@ -3510,15 +3510,15 @@ static bool8 PrintBlendingResults(void)
|
||||
StringAppend(sBerryBlender->stringVar, sText_Dot);
|
||||
StringAppend(sBerryBlender->stringVar, gText_Space);
|
||||
StringAppend(sBerryBlender->stringVar, gLinkPlayers[place].name);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 8, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 8, yPos, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
StringCopy(sBerryBlender->stringVar, sBerryBlender->blendedBerries[place].name);
|
||||
ConvertInternationalString(sBerryBlender->stringVar, gLinkPlayers[place].language);
|
||||
StringAppend(sBerryBlender->stringVar, sText_SpaceBerry);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 0x54, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 0x54, yPos, TEXT_SKIP_DRAW, 3);
|
||||
}
|
||||
|
||||
Blender_AddTextPrinter(5, sText_MaximumSpeed, 0, 0x51, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sText_MaximumSpeed, 0, 0x51, TEXT_SKIP_DRAW, 3);
|
||||
ConvertIntToDecimalStringN(sBerryBlender->stringVar, sBerryBlender->maxRPM / 100, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
StringAppend(sBerryBlender->stringVar, sText_Dot);
|
||||
|
||||
@@ -3527,8 +3527,8 @@ static bool8 PrintBlendingResults(void)
|
||||
StringAppend(sBerryBlender->stringVar, sText_RPM);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(FONT_NORMAL, sBerryBlender->stringVar, 0xA8);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x51, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sText_Time, 0, 0x61, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x51, TEXT_SKIP_DRAW, 3);
|
||||
Blender_AddTextPrinter(5, sText_Time, 0, 0x61, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
seconds = (sBerryBlender->gameFrameTime / 60) % 60;
|
||||
minutes = (sBerryBlender->gameFrameTime / (60 * 60));
|
||||
@@ -3540,12 +3540,12 @@ static bool8 PrintBlendingResults(void)
|
||||
StringAppend(sBerryBlender->stringVar, sText_Sec);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(FONT_NORMAL, sBerryBlender->stringVar, 0xA8);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x61, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x61, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
sBerryBlender->framesToWait = 0;
|
||||
sBerryBlender->mainState++;
|
||||
|
||||
CopyWindowToVram(5, 2);
|
||||
CopyWindowToVram(5, COPYWIN_GFX);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -3562,7 +3562,7 @@ static bool8 PrintBlendingResults(void)
|
||||
if (sBerryBlender->arrowIdToPlayerId[i] != NO_PLAYER)
|
||||
{
|
||||
PutWindowTilemap(i);
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3694,7 +3694,7 @@ static bool8 PrintBlendingRanking(void)
|
||||
case 3:
|
||||
DrawStdFrameWithCustomTileAndPalette(5, 0, 1, 0xD);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, sText_Ranking, 168);
|
||||
Blender_AddTextPrinter(5, sText_Ranking, xPos, 1, TEXT_SPEED_FF, 0);
|
||||
Blender_AddTextPrinter(5, sText_Ranking, xPos, 1, TEXT_SKIP_DRAW, 0);
|
||||
|
||||
sBerryBlender->scoreIconIds[SCORE_BEST] = CreateSprite(&sSpriteTemplate_ScoreSymbols, 128, 52, 0);
|
||||
StartSpriteAnim(&gSprites[sBerryBlender->scoreIconIds[SCORE_BEST]], SCOREANIM_BEST_STATIC);
|
||||
@@ -3718,20 +3718,20 @@ static bool8 PrintBlendingRanking(void)
|
||||
StringAppend(sBerryBlender->stringVar, sText_Dot);
|
||||
StringAppend(sBerryBlender->stringVar, gText_Space);
|
||||
StringAppend(sBerryBlender->stringVar, gLinkPlayers[place].name);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 0, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 0, yPos, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
ConvertIntToDecimalStringN(sBerryBlender->stringVar, sBerryBlender->scores[place][SCORE_BEST], STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78, yPos, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
ConvertIntToDecimalStringN(sBerryBlender->stringVar, sBerryBlender->scores[place][SCORE_GOOD], STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78 + 32, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78 + 32, yPos, TEXT_SKIP_DRAW, 3);
|
||||
|
||||
ConvertIntToDecimalStringN(sBerryBlender->stringVar, sBerryBlender->scores[place][SCORE_MISS], STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78 + 64, yPos, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, 78 + 64, yPos, TEXT_SKIP_DRAW, 3);
|
||||
}
|
||||
|
||||
PutWindowTilemap(5);
|
||||
CopyWindowToVram(5, 3);
|
||||
CopyWindowToVram(5, COPYWIN_FULL);
|
||||
|
||||
sBerryBlender->framesToWait = 0;
|
||||
sBerryBlender->mainState++;
|
||||
@@ -3788,7 +3788,7 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
}
|
||||
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Task_PlayPokeblockFanfare(u8 taskId)
|
||||
@@ -3890,7 +3890,7 @@ static bool32 Blender_PrintText(s16 *textState, const u8 *string, s32 textSpeed)
|
||||
DrawDialogFrameWithCustomTileAndPalette(4, FALSE, 0x14, 0xF);
|
||||
Blender_AddTextPrinter(4, string, 0, 1, textSpeed, 0);
|
||||
PutWindowTilemap(4);
|
||||
CopyWindowToVram(4, 3);
|
||||
CopyWindowToVram(4, COPYWIN_FULL);
|
||||
(*textState)++;
|
||||
break;
|
||||
case 1:
|
||||
|
||||
+16
-16
@@ -1202,12 +1202,12 @@ static s32 ShowGameDisplay(void)
|
||||
SetBgTilemapBuffer(1, game->gfx.bgBuffers[0]);
|
||||
SetBgTilemapBuffer(2, game->gfx.bgBuffers[2]);
|
||||
SetBgTilemapBuffer(3, game->gfx.bgBuffers[3]);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
break;
|
||||
@@ -1249,8 +1249,8 @@ static s32 ShowGameDisplay(void)
|
||||
CreateWirelessStatusIndicatorSprite(0, 0);
|
||||
CreateGameSprites(game);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
break;
|
||||
case 9:
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
@@ -1778,7 +1778,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGa
|
||||
PrintCrushingResults(game);
|
||||
break;
|
||||
case 5:
|
||||
CopyWindowToVram(gfx->resultsWindowId, 3);
|
||||
CopyWindowToVram(gfx->resultsWindowId, COPYWIN_FULL);
|
||||
gfx->resultsState = 0;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1841,7 +1841,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
yPos += 16;
|
||||
score = 0;
|
||||
}
|
||||
CopyWindowToVram(tWindowId, 3);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_FULL);
|
||||
break;
|
||||
case 2:
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
@@ -1938,7 +1938,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
|
||||
game->players[i].name
|
||||
);
|
||||
}
|
||||
CopyWindowToVram(game->gfx.nameWindowIds[i], 3);
|
||||
CopyWindowToVram(game->gfx.nameWindowIds[i], COPYWIN_FULL);
|
||||
}
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
@@ -2264,7 +2264,7 @@ static u32 Cmd_PrintMessage(struct BerryCrushGame *game, u8 *args)
|
||||
{
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[args[0]], game->textSpeed, 0, 2, 1, 3);
|
||||
}
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
break;
|
||||
case 1:
|
||||
if (!IsTextPrinterActive(0))
|
||||
@@ -3243,11 +3243,11 @@ static u32 Cmd_SaveGame(struct BerryCrushGame *game, u8 *args)
|
||||
return 0;
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CreateTask(Task_LinkSave, 0);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
CreateTask(Task_LinkFullSave, 0);
|
||||
break;
|
||||
case 3:
|
||||
if (FuncIsActiveTask(Task_LinkSave))
|
||||
if (FuncIsActiveTask(Task_LinkFullSave))
|
||||
return 0;
|
||||
break;
|
||||
case 4:
|
||||
@@ -3394,7 +3394,7 @@ static u32 Cmd_StopGame(struct BerryCrushGame *game, u8 *args)
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_NO_BERRIES], game->textSpeed, 0, 2, 1, 3);
|
||||
else
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_DROPPED], game->textSpeed, 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
break;
|
||||
case 1:
|
||||
if (IsTextPrinterActive(0))
|
||||
|
||||
+13
-13
@@ -290,10 +290,10 @@ static void BerryFix_GpuSet(void)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
|
||||
InitBgsFromTemplates(0, sBerryFixBgTemplates, ARRAY_COUNT(sBerryFixBgTemplates));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
InitWindows(sBerryFixWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
|
||||
@@ -305,23 +305,23 @@ static void BerryFix_GpuSet(void)
|
||||
|
||||
width = GetStringWidth(FONT_SMALL, sText_Emerald, 0);
|
||||
left = (120 - width) / 2;
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_Emerald);
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SKIP_DRAW, sText_Emerald);
|
||||
|
||||
width = GetStringWidth(FONT_SMALL, sText_RubySapphire, 0);
|
||||
left = (120 - width) / 2 + 120;
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SKIP_DRAW, sText_RubySapphire);
|
||||
|
||||
width = GetStringWidth(FONT_SMALL, sText_RubySapphire, 0);
|
||||
left = (112 - width) / 2;
|
||||
AddTextPrinterParameterized3(3, FONT_SMALL, left, 0, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
AddTextPrinterParameterized3(3, FONT_SMALL, left, 0, sGameTitleTextColors, TEXT_SKIP_DRAW, sText_RubySapphire);
|
||||
|
||||
width = GetStringWidth(FONT_NORMAL, sText_BerryProgramUpdate, 0);
|
||||
left = (208 - width) / 2;
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, left, 2, sBerryProgramTextColors, TEXT_SPEED_FF, sText_BerryProgramUpdate);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, left, 2, sBerryProgramTextColors, TEXT_SKIP_DRAW, sText_BerryProgramUpdate);
|
||||
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(3, 2);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
CopyWindowToVram(3, COPYWIN_GFX);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static int BerryFix_TrySetScene(int scene)
|
||||
@@ -346,9 +346,9 @@ static void BerryFix_SetScene(int scene)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(10));
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0, sBerryProgramTextColors, -1, sBerryProgramTexts[scene]);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0, sBerryProgramTextColors, TEXT_SKIP_DRAW, sBerryProgramTexts[scene]);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 2);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
switch (scene)
|
||||
{
|
||||
case SCENE_ENSURE_CONNECT:
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ static void PrintBerryPowderAmount(u8 windowId, int amount, u8 x, u8 y, u8 speed
|
||||
static void DrawPlayerPowderAmount(u8 windowId, u16 baseTileOffset, u8 paletteNum, u32 amount)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, baseTileOffset, paletteNum);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_Powder, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_Powder, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
PrintBerryPowderAmount(windowId, amount, 26, 17, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -409,7 +409,7 @@ static void PrintBerryNumberAndName(void)
|
||||
static void PrintBerrySize(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_SizeSlash, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
if (berry->size != 0)
|
||||
{
|
||||
u32 inches, fraction;
|
||||
@@ -434,7 +434,7 @@ static void PrintBerrySize(void)
|
||||
static void PrintBerryFirmness(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_FirmSlash, 0, 0x11, TEXT_SKIP_DRAW, NULL);
|
||||
if (berry->firmness != 0)
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL);
|
||||
else
|
||||
|
||||
+153
-166
@@ -21,187 +21,174 @@ u16 FontFunc_Braille(struct TextPrinter *textPrinter)
|
||||
|
||||
switch (textPrinter->state)
|
||||
{
|
||||
case 0:
|
||||
if (JOY_HELD(A_BUTTON | B_BUTTON) && subStruct->hasPrintBeenSpedUp)
|
||||
case RENDER_STATE_HANDLE_CHAR:
|
||||
if (JOY_HELD(A_BUTTON | B_BUTTON) && subStruct->hasPrintBeenSpedUp)
|
||||
{
|
||||
textPrinter->delayCounter = 0;
|
||||
}
|
||||
if (textPrinter->delayCounter && textPrinter->textSpeed)
|
||||
{
|
||||
textPrinter->delayCounter --;
|
||||
if (gTextFlags.canABSpeedUpPrint && JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
subStruct->hasPrintBeenSpedUp = TRUE;
|
||||
textPrinter->delayCounter = 0;
|
||||
}
|
||||
if (textPrinter->delayCounter && textPrinter->textSpeed)
|
||||
{
|
||||
textPrinter->delayCounter --;
|
||||
if (gTextFlags.canABSpeedUpPrint && JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
subStruct->hasPrintBeenSpedUp = TRUE;
|
||||
textPrinter->delayCounter = 0;
|
||||
}
|
||||
return 3;
|
||||
}
|
||||
if (gTextFlags.autoScroll)
|
||||
{
|
||||
textPrinter->delayCounter = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
textPrinter->delayCounter = textPrinter->textSpeed;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
if (gTextFlags.autoScroll)
|
||||
textPrinter->delayCounter = 3;
|
||||
else
|
||||
textPrinter->delayCounter = textPrinter->textSpeed;
|
||||
|
||||
char_ = *textPrinter->printerTemplate.currentChar++;
|
||||
switch (char_)
|
||||
{
|
||||
case EOS:
|
||||
return RENDER_FINISH;
|
||||
case CHAR_NEWLINE:
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->printerTemplate.currentY += gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
|
||||
return RENDER_REPEAT;
|
||||
case PLACEHOLDER_BEGIN:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
char_ = *textPrinter->printerTemplate.currentChar++;
|
||||
switch (char_)
|
||||
{
|
||||
case EOS:
|
||||
return 1;
|
||||
case CHAR_NEWLINE:
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->printerTemplate.currentY += gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
|
||||
return 2;
|
||||
case PLACEHOLDER_BEGIN:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
char_ = *textPrinter->printerTemplate.currentChar++;
|
||||
switch (char_)
|
||||
{
|
||||
case EXT_CTRL_CODE_COLOR:
|
||||
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_HIGHLIGHT:
|
||||
textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_SHADOW:
|
||||
textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
|
||||
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.bgColor = *++textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.shadowColor = *++textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
case EXT_CTRL_CODE_COLOR:
|
||||
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_HIGHLIGHT:
|
||||
textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_SHADOW:
|
||||
textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW:
|
||||
textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.bgColor = *++textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.shadowColor = *++textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_PALETTE:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_FONT:
|
||||
subStruct->fontId = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_RESET_SIZE:
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_PAUSE:
|
||||
textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar++;
|
||||
textPrinter->state = 6;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
textPrinter->state = 1;
|
||||
if (gTextFlags.autoScroll)
|
||||
{
|
||||
subStruct->autoScrollDelay = 0;
|
||||
}
|
||||
return 3;
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
textPrinter->state = 5;
|
||||
return 3;
|
||||
case EXT_CTRL_CODE_PLAY_BGM:
|
||||
case EXT_CTRL_CODE_PLAY_SE:
|
||||
textPrinter->printerTemplate.currentChar += 2;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_ESCAPE:
|
||||
char_ = *++textPrinter->printerTemplate.currentChar;
|
||||
break;
|
||||
case EXT_CTRL_CODE_SHIFT_TEXT:
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y + *textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
return 2;
|
||||
}
|
||||
break;
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
textPrinter->state = 2;
|
||||
TextPrinterInitDownArrowCounters(textPrinter);
|
||||
return 3;
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
textPrinter->state = 3;
|
||||
TextPrinterInitDownArrowCounters(textPrinter);
|
||||
return 3;
|
||||
case CHAR_EXTRA_SYMBOL:
|
||||
char_ = *textPrinter->printerTemplate.currentChar++| 0x100;
|
||||
break;
|
||||
case CHAR_KEYPAD_ICON:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 0;
|
||||
}
|
||||
DecompressGlyph_Braille(char_);
|
||||
CopyGlyphToWindow(textPrinter);
|
||||
textPrinter->printerTemplate.currentX += gCurGlyph.width + textPrinter->printerTemplate.letterSpacing;
|
||||
return 0;
|
||||
case 1:
|
||||
if (TextPrinterWait(textPrinter))
|
||||
{
|
||||
textPrinter->state = 0;
|
||||
}
|
||||
return 3;
|
||||
case 2:
|
||||
if (TextPrinterWaitWithDownArrow(textPrinter))
|
||||
{
|
||||
GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_PALETTE:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_FONT:
|
||||
subStruct->fontId = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_RESET_SIZE:
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_PAUSE:
|
||||
textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar++;
|
||||
textPrinter->state = RENDER_STATE_PAUSE;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS:
|
||||
textPrinter->state = RENDER_STATE_WAIT;
|
||||
if (gTextFlags.autoScroll)
|
||||
subStruct->autoScrollDelay = 0;
|
||||
return RENDER_UPDATE;
|
||||
case EXT_CTRL_CODE_WAIT_SE:
|
||||
textPrinter->state = RENDER_STATE_WAIT_SE;
|
||||
return RENDER_UPDATE;
|
||||
case EXT_CTRL_CODE_PLAY_BGM:
|
||||
case EXT_CTRL_CODE_PLAY_SE:
|
||||
textPrinter->printerTemplate.currentChar += 2;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_ESCAPE:
|
||||
char_ = *++textPrinter->printerTemplate.currentChar;
|
||||
break;
|
||||
case EXT_CTRL_CODE_SHIFT_TEXT:
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_SHIFT_DOWN:
|
||||
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y + *textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_FILL_WINDOW:
|
||||
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
|
||||
textPrinter->state = 0;
|
||||
return RENDER_REPEAT;
|
||||
}
|
||||
return 3;
|
||||
case 3:
|
||||
if (TextPrinterWaitWithDownArrow(textPrinter))
|
||||
break;
|
||||
case CHAR_PROMPT_CLEAR:
|
||||
textPrinter->state = RENDER_STATE_CLEAR;
|
||||
TextPrinterInitDownArrowCounters(textPrinter);
|
||||
return RENDER_UPDATE;
|
||||
case CHAR_PROMPT_SCROLL:
|
||||
textPrinter->state = RENDER_STATE_SCROLL_START;
|
||||
TextPrinterInitDownArrowCounters(textPrinter);
|
||||
return RENDER_UPDATE;
|
||||
case CHAR_EXTRA_SYMBOL:
|
||||
char_ = *textPrinter->printerTemplate.currentChar++| 0x100;
|
||||
break;
|
||||
case CHAR_KEYPAD_ICON:
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return RENDER_PRINT;
|
||||
}
|
||||
DecompressGlyph_Braille(char_);
|
||||
CopyGlyphToWindow(textPrinter);
|
||||
textPrinter->printerTemplate.currentX += gCurGlyph.width + textPrinter->printerTemplate.letterSpacing;
|
||||
return RENDER_PRINT;
|
||||
case RENDER_STATE_WAIT:
|
||||
if (TextPrinterWait(textPrinter))
|
||||
textPrinter->state = RENDER_STATE_HANDLE_CHAR;
|
||||
return RENDER_UPDATE;
|
||||
case RENDER_STATE_CLEAR:
|
||||
if (TextPrinterWaitWithDownArrow(textPrinter))
|
||||
{
|
||||
FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
|
||||
textPrinter->state = RENDER_STATE_HANDLE_CHAR;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case RENDER_STATE_SCROLL_START:
|
||||
if (TextPrinterWaitWithDownArrow(textPrinter))
|
||||
{
|
||||
TextPrinterClearDownArrow(textPrinter);
|
||||
textPrinter->scrollDistance = gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->state = RENDER_STATE_SCROLL;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case RENDER_STATE_SCROLL:
|
||||
if (textPrinter->scrollDistance)
|
||||
{
|
||||
if (textPrinter->scrollDistance < sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed])
|
||||
{
|
||||
TextPrinterClearDownArrow(textPrinter);
|
||||
textPrinter->scrollDistance = gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
|
||||
textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
|
||||
textPrinter->state = 4;
|
||||
}
|
||||
return 3;
|
||||
case 4:
|
||||
if (textPrinter->scrollDistance)
|
||||
{
|
||||
if (textPrinter->scrollDistance < sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed])
|
||||
{
|
||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, textPrinter->scrollDistance, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->scrollDistance = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed], PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->scrollDistance -= sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed];
|
||||
}
|
||||
CopyWindowToVram(textPrinter->printerTemplate.windowId, 2);
|
||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, textPrinter->scrollDistance, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->scrollDistance = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
textPrinter->state = 0;
|
||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed], PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
textPrinter->scrollDistance -= sScrollDistances[gSaveBlock2Ptr->optionsTextSpeed];
|
||||
}
|
||||
return 3;
|
||||
case 5:
|
||||
if (!IsSEPlaying())
|
||||
{
|
||||
textPrinter->state = 0;
|
||||
}
|
||||
return 3;
|
||||
case 6:
|
||||
if (textPrinter->delayCounter)
|
||||
{
|
||||
textPrinter->delayCounter --;
|
||||
}
|
||||
else
|
||||
{
|
||||
textPrinter->state = 0;
|
||||
}
|
||||
return 3;
|
||||
CopyWindowToVram(textPrinter->printerTemplate.windowId, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
textPrinter->state = RENDER_STATE_HANDLE_CHAR;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case RENDER_STATE_WAIT_SE:
|
||||
if (!IsSEPlaying())
|
||||
textPrinter->state = RENDER_STATE_HANDLE_CHAR;
|
||||
return RENDER_UPDATE;
|
||||
case RENDER_STATE_PAUSE:
|
||||
if (textPrinter->delayCounter)
|
||||
textPrinter->delayCounter --;
|
||||
else
|
||||
textPrinter->state = RENDER_STATE_HANDLE_CHAR;
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
return 1;
|
||||
return RENDER_FINISH;
|
||||
}
|
||||
|
||||
static void DecompressGlyph_Braille(u16 glyph)
|
||||
|
||||
+5
-5
@@ -100,16 +100,16 @@ static void PrintNumPlayersInLink(u16 windowId, u32 numPlayers)
|
||||
SetStandardWindowBorderStyle(windowId, 0);
|
||||
StringExpandPlaceholders(gStringVar4, gText_NumPlayerLink);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 88);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, xPos, 1, 0xFF, NULL);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, xPos, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void ClearLinkPlayerCountWindow(u16 windowId)
|
||||
{
|
||||
// Following this call with a copy-to-vram with mode 3 is identical to
|
||||
// Following this call with a copy-to-vram with mode COPYWIN_FULL is identical to
|
||||
// calling ClearStdWindowAndFrame(windowId, TRUE).
|
||||
ClearStdWindowAndFrame(windowId, FALSE);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 numPlayers)
|
||||
@@ -1078,7 +1078,7 @@ static void Task_EnterCableClubSeat(u8 taskId)
|
||||
case 3:
|
||||
// Exit, failure
|
||||
SetLinkWaitingForScript();
|
||||
sub_8197AE8(TRUE);
|
||||
EraseFieldMessageBox(TRUE);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
break;
|
||||
|
||||
+2
-2
@@ -1667,7 +1667,7 @@ static void Task_HideMoveSelectScreen(u8 taskId)
|
||||
{
|
||||
FillWindowPixelBuffer(MOVE_WINDOWS_START + i, PIXEL_FILL(0));
|
||||
PutWindowTilemap(MOVE_WINDOWS_START + i);
|
||||
CopyWindowToVram(MOVE_WINDOWS_START + i, 2);
|
||||
CopyWindowToVram(MOVE_WINDOWS_START + i, COPYWIN_GFX);
|
||||
}
|
||||
Contest_SetBgCopyFlags(0);
|
||||
// This seems to be a bug; it should have just copied PLTT_BUFFER_SIZE.
|
||||
@@ -3377,7 +3377,7 @@ static void DrawStatusSymbols(void)
|
||||
static void ContestClearGeneralTextWindow(void)
|
||||
{
|
||||
FillWindowPixelBuffer(WIN_GENERAL_TEXT, PIXEL_FILL(0));
|
||||
CopyWindowToVram(WIN_GENERAL_TEXT, 2);
|
||||
CopyWindowToVram(WIN_GENERAL_TEXT, COPYWIN_GFX);
|
||||
Contest_SetBgCopyFlags(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -267,14 +267,14 @@ static void InitContestPaintingWindow(void)
|
||||
{
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
SetBgTilemapBuffer(1, AllocZeroed(BG_SCREEN_SIZE));
|
||||
sWindowId = AddWindow(&sWindowTemplate);
|
||||
DeactivateAllTextPrinters();
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(0));
|
||||
PutWindowTilemap(sWindowId);
|
||||
CopyWindowToVram(sWindowId, 3);
|
||||
CopyWindowToVram(sWindowId, COPYWIN_FULL);
|
||||
ShowBg(1);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1181,7 +1181,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
|
||||
if (strWidth > 30)
|
||||
strWidth = 30;
|
||||
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text);
|
||||
{
|
||||
s32 i;
|
||||
struct Sprite *sprite;
|
||||
@@ -1578,7 +1578,7 @@ static void SpriteCB_WinnerMonSlideIn(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] == 10)
|
||||
{
|
||||
PlayCry1(sprite->data[1], 0);
|
||||
PlayCry_Normal(sprite->data[1], 0);
|
||||
sprite->data[1] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -369,7 +369,7 @@ static void InitCreditsBgsAndWindows(void)
|
||||
InitWindows(sWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
ShowBg(0);
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ static void PrintCreditsText(const u8 *string, u8 y, bool8 isTitle)
|
||||
}
|
||||
|
||||
x = GetStringCenterAlignXOffsetWithLetterSpacing(FONT_NORMAL, string, DISPLAY_WIDTH, 1);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, x, y, 1, 0, color, -1, string);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, x, y, 1, 0, color, TEXT_SKIP_DRAW, string);
|
||||
}
|
||||
|
||||
#define tMainTaskId data[1]
|
||||
@@ -761,7 +761,7 @@ static void Task_UpdatePage(u8 taskId)
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->text,
|
||||
5 + i * 16,
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->isTitle);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
|
||||
gTasks[taskId].tCurrentPage++;
|
||||
gTasks[taskId].tState++;
|
||||
@@ -811,7 +811,7 @@ static void Task_UpdatePage(u8 taskId)
|
||||
{
|
||||
// Still more Credits pages to show, return to state 2 to print
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
gTasks[taskId].tState = 2;
|
||||
}
|
||||
return;
|
||||
|
||||
-99
@@ -1,108 +1,9 @@
|
||||
#include "constants/global.h"
|
||||
.include "constants/gba_constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.global Start
|
||||
|
||||
.text
|
||||
|
||||
.arm
|
||||
|
||||
Start: @ 8000000
|
||||
b Init
|
||||
|
||||
.include "asm/rom_header.inc"
|
||||
|
||||
@ 80000C0
|
||||
.word 0
|
||||
|
||||
.global GPIOPortData
|
||||
GPIOPortData: @ 80000C4
|
||||
.2byte 0
|
||||
|
||||
.global GPIOPortDirection
|
||||
GPIOPortDirection: @ 80000C6
|
||||
.2byte 0
|
||||
|
||||
.global GPIOPortReadEnable
|
||||
GPIOPortReadEnable: @ 80000C8
|
||||
.2byte 0
|
||||
|
||||
@ 80000CA
|
||||
.2byte 0
|
||||
|
||||
@ 80000CC
|
||||
.space 0x34
|
||||
|
||||
.4byte GAME_VERSION
|
||||
.4byte GAME_LANGUAGE
|
||||
|
||||
.ascii "pokemon emerald version"
|
||||
.space 9
|
||||
|
||||
.4byte gMonFrontPicTable
|
||||
.4byte gMonBackPicTable
|
||||
.4byte gMonPaletteTable
|
||||
.4byte gMonShinyPaletteTable
|
||||
.4byte gMonIconTable
|
||||
.4byte gMonIconPaletteIndices
|
||||
.4byte gMonIconPaletteTable
|
||||
.4byte gSpeciesNames
|
||||
.4byte gMoveNames
|
||||
.4byte gDecorations
|
||||
|
||||
.4byte 0x00001270 @ offsetof(struct SaveBlock1, flags)
|
||||
.4byte 0x0000139c @ offsetof(struct SaveBlock1, vars)
|
||||
.4byte 0x00000018 @ offsetof(struct SaveBlock2, pokedex)
|
||||
.4byte 0x00000988 @ offsetof(struct SaveBlock1, seen1)
|
||||
.4byte 0x00003b24 @ offsetof(struct SaveBlock1, seen2)
|
||||
.4byte 0x00000046 @ ?
|
||||
.4byte 0x000008e4 @ ?
|
||||
.4byte 0x000008ac @ ?
|
||||
.4byte 0x00000182 @ NATIONAL_DEX_COUNT?
|
||||
|
||||
.byte 0x07, 0x0a, 0x0a, 0x0a, 0x0c, 0x0c, 0x06, 0x0c
|
||||
.byte 0x06, 0x10, 0x12, 0x0c, 0x0f, 0x0b, 0x01, 0x08
|
||||
|
||||
.4byte 0x0000000c @ ?
|
||||
.4byte 0x00000f2c @ sizeof(struct SaveBlock2)
|
||||
.4byte 0x00003d88 @ sizeof(struct SaveBlock1)
|
||||
.4byte 0x00000234 @ offsetof(struct SaveBlock1, playerPartyCount)
|
||||
.4byte 0x00000238 @ offsetof(struct SaveBlock1, playerParty)
|
||||
.4byte 0x00000009 @ offsetof(struct SaveBlock2, specialSaveWarpFlags)
|
||||
.4byte 0x0000000a @ offsetof(struct SaveBlock2, playerTrainerId)
|
||||
.4byte 0x00000000 @ offsetof(struct SaveBlock2, playerName)
|
||||
.4byte 0x00000008 @ offsetof(struct SaveBlock2, playerGender)
|
||||
.4byte 0x00000ca8 @ offsetof(struct SaveBlock2, frontier.challengeStatus)
|
||||
.4byte 0x00000ca8 @ offsetof(struct SaveBlock2, frontier.challengeStatus)
|
||||
.4byte 0x000031c7 @ offsetof(struct SaveBlock1, externalEventFlags)
|
||||
.4byte 0x000031b3 @ offsetof(struct SaveBlock1, externalEventData)
|
||||
.4byte 0x00000000
|
||||
|
||||
.4byte gBaseStats
|
||||
.4byte gAbilityNames
|
||||
.4byte gAbilityDescriptionPointers
|
||||
.4byte gItems
|
||||
.4byte gBattleMoves
|
||||
.4byte gBallSpriteSheets
|
||||
.4byte gBallSpritePalettes
|
||||
|
||||
.4byte 0x000000a8 @ offsetof(struct SaveBlock2, gcnLinkFlags)
|
||||
.4byte 0x00000864 @ ?
|
||||
.4byte 0x0000089b @ ?
|
||||
|
||||
.byte 0x1e, 0x1e, 0x10, 0x40
|
||||
|
||||
.4byte 0x0000322e @ offsetof(struct SaveBlock1, ? part-way into mysteryGift)
|
||||
.4byte 0x00000498 @ offsetof(struct SaveBlock1, pcItems)
|
||||
.4byte 0x000031a8 @ offsetof(struct SaveBlock1, giftRibbons)
|
||||
.4byte 0x000031f8 @ offsetof(struct SaveBlock1, enigmaBerry)
|
||||
.4byte 0x00000034 @ offsetof(struct SaveBlock1, mapView)
|
||||
.4byte 0x00000000
|
||||
.4byte 0x00000000
|
||||
|
||||
.arm
|
||||
.align 2, 0
|
||||
.global Init
|
||||
Init: @ 8000204
|
||||
|
||||
@@ -73,10 +73,10 @@ u8 MovementAction_WalkInPlaceFastDown_Step0(struct ObjectEvent *, struct Sprite
|
||||
u8 MovementAction_WalkInPlaceFastUp_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastLeft_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFasterDown_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFasterUp_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFasterLeft_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_WalkInPlaceFasterRight_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_RideWaterCurrentDown_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_RideWaterCurrentUp_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
@@ -299,10 +299,10 @@ u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct ObjectEvent *, str
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterDown[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterUp[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterLeft[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterRight[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct ObjectEvent *, struct Sprite *);
|
||||
@@ -459,10 +459,10 @@ u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *)
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP] = gMovementActionFuncs_WalkInPlaceFastUp,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT] = gMovementActionFuncs_WalkInPlaceFastLeft,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT] = gMovementActionFuncs_WalkInPlaceFastRight,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN] = gMovementActionFuncs_WalkInPlaceFastestDown,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP] = gMovementActionFuncs_WalkInPlaceFastestUp,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT] = gMovementActionFuncs_WalkInPlaceFastestLeft,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT] = gMovementActionFuncs_WalkInPlaceFastestRight,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN] = gMovementActionFuncs_WalkInPlaceFasterDown,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP] = gMovementActionFuncs_WalkInPlaceFasterUp,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT] = gMovementActionFuncs_WalkInPlaceFasterLeft,
|
||||
[MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT] = gMovementActionFuncs_WalkInPlaceFasterRight,
|
||||
[MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN] = gMovementActionFuncs_RideWaterCurrentDown,
|
||||
[MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP] = gMovementActionFuncs_RideWaterCurrentUp,
|
||||
[MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT] = gMovementActionFuncs_RideWaterCurrentLeft,
|
||||
@@ -859,26 +859,26 @@ u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, st
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFastestDown_Step0,
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterDown[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFasterDown_Step0,
|
||||
MovementAction_WalkInPlace_Step1,
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFastestUp_Step0,
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterUp[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFasterUp_Step0,
|
||||
MovementAction_WalkInPlace_Step1,
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFastestLeft_Step0,
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterLeft[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFasterLeft_Step0,
|
||||
MovementAction_WalkInPlace_Step1,
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFastestRight_Step0,
|
||||
u8 (*const gMovementActionFuncs_WalkInPlaceFasterRight[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_WalkInPlaceFasterRight_Step0,
|
||||
MovementAction_WalkInPlace_Step1,
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
+2
-2
@@ -1199,7 +1199,7 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y)
|
||||
printer.bgColor = 1;
|
||||
printer.shadowColor = 3;
|
||||
|
||||
AddTextPrinter(&printer, 0xFF, NULL);
|
||||
AddTextPrinter(&printer, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y)
|
||||
@@ -1285,7 +1285,7 @@ void ShowDaycareLevelMenu(void)
|
||||
menuTemplate.windowId = windowId;
|
||||
listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0);
|
||||
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
|
||||
daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3);
|
||||
gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId;
|
||||
|
||||
+5
-5
@@ -557,7 +557,7 @@ static void AddDecorationActionsWindow(void)
|
||||
{
|
||||
u8 windowId = AddDecorationWindow(WINDOW_MAIN_MENU);
|
||||
PrintMenuTable(windowId, ARRAY_COUNT(sDecorationMainMenuActions), sDecorationMainMenuActions);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, ARRAY_COUNT(sDecorationMainMenuActions), sDecorationActionsCursorPos);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, ARRAY_COUNT(sDecorationMainMenuActions), sDecorationActionsCursorPos);
|
||||
}
|
||||
|
||||
static void InitDecorationActionsWindow(void)
|
||||
@@ -697,7 +697,7 @@ static void InitDecorationCategoriesWindow(u8 taskId)
|
||||
{
|
||||
u8 windowId = AddDecorationWindow(WINDOW_DECORATION_CATEGORIES);
|
||||
PrintDecorationCategoryMenuItems(taskId);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory);
|
||||
gTasks[taskId].func = HandleDecorationCategoriesMenuInput;
|
||||
}
|
||||
|
||||
@@ -705,7 +705,7 @@ static void ReinitDecorationCategoriesWindow(u8 taskId)
|
||||
{
|
||||
FillWindowPixelBuffer(sDecorMenuWindowIds[WINDOW_DECORATION_CATEGORIES], PIXEL_FILL(1));
|
||||
PrintDecorationCategoryMenuItems(taskId);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIds[WINDOW_DECORATION_CATEGORIES], DECORCAT_COUNT + 1, sCurDecorationCategory);
|
||||
InitMenuInUpperLeftCornerNormal(sDecorMenuWindowIds[WINDOW_DECORATION_CATEGORIES], DECORCAT_COUNT + 1, sCurDecorationCategory);
|
||||
gTasks[taskId].func = HandleDecorationCategoriesMenuInput;
|
||||
}
|
||||
|
||||
@@ -723,9 +723,9 @@ static void PrintDecorationCategoryMenuItems(u8 taskId)
|
||||
{
|
||||
// Only DOLL and CUSHION decorations are enabled when decorating the player's room.
|
||||
if (shouldDisable == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION)
|
||||
PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SPEED_FF);
|
||||
PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SKIP_DRAW);
|
||||
else
|
||||
PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF);
|
||||
PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SKIP_DRAW);
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gTasks[taskId].tDecorationMenuCommand == DECOR_MENU_TRADE ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL);
|
||||
|
||||
+3
-3
@@ -83,7 +83,7 @@ void CB2_ShowDiploma(void)
|
||||
LZDecompressWram(sDiplomaTilemap, sDiplomaTilemapPtr);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
DisplayDiplomaText();
|
||||
BlendPalettes(-1, 16, 0);
|
||||
BlendPalettes(PALETTES_ALL, 16, RGB_BLACK);
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
|
||||
EnableInterrupts(1);
|
||||
SetVBlankCallback(VBlankCB);
|
||||
@@ -140,7 +140,7 @@ static void DisplayDiplomaText(void)
|
||||
StringExpandPlaceholders(gStringVar4, gText_PokedexDiploma);
|
||||
PrintDiplomaText(gStringVar4, 0, 1);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static const struct BgTemplate sDiplomaBgTemplates[2] =
|
||||
@@ -205,5 +205,5 @@ static void PrintDiplomaText(u8 *text, u8 var1, u8 var2)
|
||||
{
|
||||
u8 color[3] = {0, 2, 3};
|
||||
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, var1, var2, 0, 0, color, -1, text);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, var1, var2, 0, 0, color, TEXT_SKIP_DRAW, text);
|
||||
}
|
||||
|
||||
+63
-63
@@ -1352,14 +1352,14 @@ static void ResetGame(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
sGame->state++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -2968,7 +2968,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
|
||||
window.width = width;
|
||||
tWindowId = AddWindow(&window);
|
||||
PrintRecordsText(tWindowId, width);
|
||||
CopyWindowToVram(tWindowId, 3);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_FULL);
|
||||
tState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -2979,7 +2979,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
rbox_fill_rectangle(tWindowId);
|
||||
CopyWindowToVram(tWindowId, 1);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_MAP);
|
||||
tState++;
|
||||
}
|
||||
break;
|
||||
@@ -3008,14 +3008,14 @@ static void PrintRecordsText(u8 windowId, s32 width)
|
||||
LoadUserWindowBorderGfx_(windowId, 0x21D, 0xD0);
|
||||
DrawTextBorderOuter(windowId, 0x21D, 0xD);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_BerryPickingRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryPickingRecords, width * 8), 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_BerryPickingRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryPickingRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL);
|
||||
for (i = 0; i < NUM_RECORD_TYPES; i++)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, recordNums[i], STR_CONV_MODE_LEFT_ALIGN, sRecordNumMaxDigits[i]);
|
||||
numWidth = GetStringWidth(FONT_NORMAL, gStringVar1, -1);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[i], 0, sRecordTextYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[i], 0, sRecordTextYCoords[i][0], TEXT_SKIP_DRAW, NULL);
|
||||
x = (width * 8) - numWidth;
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, sRecordNumYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, sRecordNumYCoords[i][0], TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
PutWindowTilemap(windowId);
|
||||
}
|
||||
@@ -3056,16 +3056,16 @@ static const u16 sDebug_BerryResults[MAX_RFU_PLAYERS][4] =
|
||||
};
|
||||
|
||||
static const u8 sJPText_Vowels[] = _("あいうえおかき");
|
||||
static const u8 sText_ABCDEFG[] = _("ABCDEFG");
|
||||
static const u8 sText_0123456[] = _("0123456");
|
||||
static const u8 sText_Letters[] = _("ABCDEFG");
|
||||
static const u8 sText_Digits[] = _("0123456");
|
||||
|
||||
static const u8 *const sDebug_PlayerNames[] =
|
||||
{
|
||||
sJPText_Vowels,
|
||||
sJPText_Vowels,
|
||||
sJPText_Vowels,
|
||||
sText_ABCDEFG,
|
||||
sText_0123456
|
||||
sText_Letters,
|
||||
sText_Digits
|
||||
};
|
||||
|
||||
static void Debug_UpdateNumPlayers(void)
|
||||
@@ -4649,8 +4649,8 @@ static void ShowNames(void)
|
||||
if (playerId == GetMultiplayerId())
|
||||
colorsId = COLORID_BLUE;
|
||||
name = GetPlayerName(playerId);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[i], FONT_NORMAL, left, 1, sTextColorTable[colorsId], -1, name);
|
||||
CopyWindowToVram(sGfx->windowIds[i], 2);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[i], FONT_NORMAL, left, 1, sTextColorTable[colorsId], TEXT_SKIP_DRAW, name);
|
||||
CopyWindowToVram(sGfx->windowIds[i], COPYWIN_GFX);
|
||||
window.baseBlock += 0xE;
|
||||
DrawMessageWindow(&window);
|
||||
}
|
||||
@@ -4733,15 +4733,15 @@ static void PrintRankedScores(u8 numPlayers_)
|
||||
u8 playerId = playersByRanking[i];
|
||||
u32 points = scoreResults[playerId].score;
|
||||
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, sRankingTexts[scoreResults[playerId].ranking], 8, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, sRankingTexts[scoreResults[playerId].ranking], 8, sRankingYCoords[i], TEXT_SKIP_DRAW, NULL);
|
||||
if (playerId == GetMultiplayerId())
|
||||
colorsId = COLORID_BLUE;
|
||||
name = GetPlayerName(playerId);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 28, sRankingYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 28, sRankingYCoords[i], sTextColorTable[colorsId], TEXT_SKIP_DRAW, name);
|
||||
ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_LEFT_ALIGN, 7);
|
||||
numWidth = GetStringWidth(FONT_NORMAL, numString, -1);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, numString, x - numWidth, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_SpacePoints, x, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, numString, x - numWidth, sRankingYCoords[i], TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_SpacePoints, x, sRankingYCoords[i], TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4772,8 +4772,8 @@ static void ShowResults(void)
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_BerryPickingResults, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_BerryPickingResults, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_10P30P50P50P, 68, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_BerryPickingResults, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_10P30P50P50P, 68, 17, TEXT_SKIP_DRAW, NULL);
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
u8 colorsId = COLORID_GRAY;
|
||||
@@ -4781,7 +4781,7 @@ static void ShowResults(void)
|
||||
colorsId = COLORID_BLUE;
|
||||
|
||||
name = GetPlayerName(i);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 0, sResultsYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 0, sResultsYCoords[i], sTextColorTable[colorsId], TEXT_SKIP_DRAW, name);
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
u32 width;
|
||||
@@ -4793,13 +4793,13 @@ static void ShowResults(void)
|
||||
|
||||
// If player got the most of a berry type, highlight their number in red
|
||||
if (maxBerriesPicked == berriesPicked && maxBerriesPicked != 0)
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], TEXT_SKIP_DRAW, gStringVar4);
|
||||
else
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, sResultsXCoords[j] - width, sResultsYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, sResultsXCoords[j] - width, sResultsYCoords[i], TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[1], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[0], COPYWIN_GFX);
|
||||
CopyWindowToVram(sGfx->windowIds[1], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -4826,13 +4826,13 @@ static void ShowResults(void)
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_AnnouncingRankings, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingRankings, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingRankings, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 6:
|
||||
PrintRankedScores(numPlayers);
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[1], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[0], COPYWIN_GFX);
|
||||
CopyWindowToVram(sGfx->windowIds[1], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 7:
|
||||
@@ -4872,12 +4872,12 @@ static void ShowResults(void)
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_AnnouncingPrizes, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingPrizes, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingPrizes, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
CopyItemName(GetPrizeItemId(), gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_FirstPlacePrize);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
prizeState = TryGivePrize();
|
||||
if (prizeState != PRIZE_RECEIVED && prizeState != NO_PRIZE)
|
||||
{
|
||||
@@ -4888,10 +4888,10 @@ static void ShowResults(void)
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_CantHoldAnyMore);
|
||||
else if (prizeState == PRIZE_FILLED_BAG)
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_FilledStorageSpace);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 41, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 41, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[1], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[0], COPYWIN_GFX);
|
||||
CopyWindowToVram(sGfx->windowIds[1], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 10:
|
||||
@@ -4946,12 +4946,12 @@ static void Msg_WantToPlayAgain(void)
|
||||
// Print text
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_PLAY_AGAIN], PIXEL_FILL(1));
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_YES_NO], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_PLAY_AGAIN], FONT_NORMAL, gText_WantToPlayAgain, 0, 5, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, 1, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_PLAY_AGAIN], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 2);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_PLAY_AGAIN], FONT_NORMAL, gText_WantToPlayAgain, 0, 5, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_PLAY_AGAIN], COPYWIN_GFX);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 2:
|
||||
@@ -4970,10 +4970,10 @@ static void Msg_WantToPlayAgain(void)
|
||||
if (y == PLAY_AGAIN_NONE)
|
||||
y = PLAY_AGAIN_YES;
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_YES_NO], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 3);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], COPYWIN_FULL);
|
||||
|
||||
// Increment state only if A or B button have been pressed.
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
@@ -5029,18 +5029,18 @@ static void Msg_SavingDontTurnOff(void)
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 1:
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 2:
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
{
|
||||
CreateTask(Task_LinkSave, 0);
|
||||
CreateTask(Task_LinkFullSave, 0);
|
||||
sGfx->state++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (!FuncIsActiveTask(Task_LinkSave))
|
||||
if (!FuncIsActiveTask(Task_LinkFullSave))
|
||||
sGfx->state++;
|
||||
break;
|
||||
default:
|
||||
@@ -5063,8 +5063,8 @@ static void Msg_CommunicationStandby(void)
|
||||
break;
|
||||
case 1:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_CommunicationStandby3, 0, 5, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_CommunicationStandby3, 0, 5, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 2:
|
||||
@@ -5103,8 +5103,8 @@ static void Msg_SomeoneDroppedOut(void)
|
||||
break;
|
||||
case 1:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_SomeoneDroppedOut, 0, 5, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_SomeoneDroppedOut, 0, 5, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], COPYWIN_GFX);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 2:
|
||||
@@ -5172,14 +5172,14 @@ static void InitBgs(void)
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
InitStandardTextBoxWindows();
|
||||
InitTextBoxGfxAndPrinters();
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
|
||||
+25
-25
@@ -3900,14 +3900,14 @@ static bool8 InitEasyChatScreenControl_(void)
|
||||
|
||||
static void InitEasyChatBgs(void)
|
||||
{
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON);
|
||||
}
|
||||
|
||||
@@ -3932,9 +3932,9 @@ static void PrintTitle(void)
|
||||
|
||||
xOffset = GetStringCenterAlignXOffset(FONT_NORMAL, titleText, 144);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
PrintEasyChatTextWithColors(0, FONT_NORMAL, titleText, xOffset, 1, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PrintEasyChatTextWithColors(0, FONT_NORMAL, titleText, xOffset, 1, TEXT_SKIP_DRAW, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void PrintEasyChatText(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
|
||||
@@ -4003,12 +4003,12 @@ static void PrintEasyChatStdMessage(u8 msgId)
|
||||
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
if (text1)
|
||||
PrintEasyChatText(1, FONT_NORMAL, text1, 0, 1, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(1, FONT_NORMAL, text1, 0, 1, TEXT_SKIP_DRAW, 0);
|
||||
|
||||
if (text2)
|
||||
PrintEasyChatText(1, FONT_NORMAL, text2, 0, 17, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(1, FONT_NORMAL, text2, 0, 17, TEXT_SKIP_DRAW, 0);
|
||||
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void CreateEasyChatYesNoMenu(u8 initialCursorPos)
|
||||
@@ -4099,10 +4099,10 @@ static void PrintCurrentPhrase(void)
|
||||
}
|
||||
|
||||
*str = EOS;
|
||||
PrintEasyChatText(sScreenControl->windowId, FONT_NORMAL, sScreenControl->phrasePrintBuffer, 0, i * 16 + 1, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(sScreenControl->windowId, FONT_NORMAL, sScreenControl->phrasePrintBuffer, 0, i * 16 + 1, TEXT_SKIP_DRAW, 0);
|
||||
}
|
||||
|
||||
CopyWindowToVram(sScreenControl->windowId, 3);
|
||||
CopyWindowToVram(sScreenControl->windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void BufferFrameTilemap(u16 *tilemap)
|
||||
@@ -4216,7 +4216,7 @@ static void InitLowerWindowText(u32 whichText)
|
||||
break;
|
||||
}
|
||||
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintKeyboardText(void)
|
||||
@@ -4245,7 +4245,7 @@ static void PrintKeyboardGroupNames(void)
|
||||
return;
|
||||
}
|
||||
|
||||
PrintEasyChatText(2, FONT_NORMAL, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
y += 16;
|
||||
@@ -4257,7 +4257,7 @@ static void PrintKeyboardAlphabet(void)
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sEasyChatKeyboardAlphabet); i++)
|
||||
PrintEasyChatText(2, FONT_NORMAL, sEasyChatKeyboardAlphabet[i], 10, 97 + i * 16, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, sEasyChatKeyboardAlphabet[i], 10, 97 + i * 16, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PrintInitialWordSelectText(void)
|
||||
@@ -4328,16 +4328,16 @@ static void PrintWordSelectText(u8 scrollOffset, u8 numRows)
|
||||
{
|
||||
CopyEasyChatWordPadded(sScreenControl->wordSelectPrintBuffer, easyChatWord, 0);
|
||||
if (!DummyWordCheck(easyChatWord))
|
||||
PrintEasyChatText(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SKIP_DRAW, NULL);
|
||||
else // Never reached
|
||||
PrintEasyChatTextWithColors(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GRAY);
|
||||
PrintEasyChatTextWithColors(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SKIP_DRAW, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GRAY);
|
||||
}
|
||||
}
|
||||
|
||||
y += 16;
|
||||
}
|
||||
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void EraseWordSelectRows(u8 scrollOffset, u8 numRows)
|
||||
@@ -4369,7 +4369,7 @@ static void EraseWordSelectRows(u8 scrollOffset, u8 numRows)
|
||||
static void ClearWordSelectWindow(void)
|
||||
{
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(1));
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void InitLowerWindowAnim(int winAnimType)
|
||||
@@ -4550,7 +4550,7 @@ static void BufferLowerWindowFrame(int left, int top, int width, int height)
|
||||
|
||||
static void ResetLowerWindowScroll(void)
|
||||
{
|
||||
ChangeBgY(2, 0x800, 0);
|
||||
ChangeBgY(2, 0x800, BG_COORD_SET);
|
||||
sScreenControl->scrollOffset = 0;
|
||||
}
|
||||
|
||||
@@ -4572,7 +4572,7 @@ static void InitLowerWindowScroll(s16 scrollChange, u8 speed)
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeBgY(2, bgY, 0);
|
||||
ChangeBgY(2, bgY, BG_COORD_SET);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4587,7 +4587,7 @@ static bool8 UpdateLowerWindowScroll(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeBgY(2, sScreenControl->scrollSpeed, 1);
|
||||
ChangeBgY(2, sScreenControl->scrollSpeed, BG_COORD_ADD);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -495,10 +495,10 @@ static void CB2_EggHatch_0(void)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates_EggHatch, ARRAY_COUNT(sBgTemplates_EggHatch));
|
||||
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
|
||||
SetBgAttribute(1, BG_ATTR_PRIORITY, 2);
|
||||
SetBgTilemapBuffer(1, Alloc(0x1000));
|
||||
@@ -640,11 +640,11 @@ static void CB2_EggHatch_1(void)
|
||||
case 5:
|
||||
GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg);
|
||||
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF);
|
||||
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, TEXT_SKIP_DRAW);
|
||||
PlayFanfare(MUS_EVOLVED);
|
||||
sEggHatchData->CB2_state++;
|
||||
PutWindowTilemap(sEggHatchData->windowId);
|
||||
CopyWindowToVram(sEggHatchData->windowId, 3);
|
||||
CopyWindowToVram(sEggHatchData->windowId, COPYWIN_FULL);
|
||||
break;
|
||||
case 6:
|
||||
if (IsFanfareTaskInactive())
|
||||
|
||||
@@ -481,7 +481,7 @@ static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSe
|
||||
}
|
||||
|
||||
hillTag->checksum = CalcByteArraySum((u8 *)hillTag->floors, NUM_TRAINER_HILL_FLOORS * sizeof(struct TrHillFloor));
|
||||
if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)hillTag) != SAVE_STATUS_OK)
|
||||
if (TryWriteSpecialSaveSector(SECTOR_ID_TRAINER_HILL, (u8 *)hillTag) != SAVE_STATUS_OK)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
@@ -497,7 +497,7 @@ bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet * hillSet)
|
||||
|
||||
static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet * dest, u8 * buffer)
|
||||
{
|
||||
if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK)
|
||||
if (TryReadSpecialSaveSector(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK)
|
||||
return FALSE;
|
||||
|
||||
memcpy(dest, buffer, sizeof(struct EReaderTrainerHillSet));
|
||||
|
||||
+12
-12
@@ -987,12 +987,12 @@ const u8 gWalkInPlaceFastMovementActions[] = {
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT,
|
||||
};
|
||||
const u8 gWalkInPlaceFastestMovementActions[] = {
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT,
|
||||
const u8 gWalkInPlaceFasterMovementActions[] = {
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT,
|
||||
MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT,
|
||||
};
|
||||
const u8 gAcroWheelieFaceDirectionMovementActions[] = {
|
||||
MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN,
|
||||
@@ -4407,7 +4407,7 @@ movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace)
|
||||
bool8 MovementType_RunInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
ClearObjectEventMovement(objectEvent, sprite);
|
||||
ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFastestMovementAction(objectEvent->facingDirection));
|
||||
ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFasterMovementAction(objectEvent->facingDirection));
|
||||
sprite->sTypeFuncId = 1;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -4926,7 +4926,7 @@ dirn_to_anim(GetJumpSpecialMovementAction, gJumpSpecialMovementActions);
|
||||
dirn_to_anim(GetWalkInPlaceSlowMovementAction, gWalkInPlaceSlowMovementActions);
|
||||
dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActions);
|
||||
dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions);
|
||||
dirn_to_anim(GetWalkInPlaceFastestMovementAction, gWalkInPlaceFastestMovementActions);
|
||||
dirn_to_anim(GetWalkInPlaceFasterMovementAction, gWalkInPlaceFasterMovementActions);
|
||||
|
||||
bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direction)
|
||||
{
|
||||
@@ -5753,25 +5753,25 @@ bool8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *objectEvent,
|
||||
return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
|
||||
}
|
||||
|
||||
bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
bool8 MovementAction_WalkInPlaceFasterDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4);
|
||||
return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
|
||||
}
|
||||
|
||||
bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
bool8 MovementAction_WalkInPlaceFasterUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4);
|
||||
return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
|
||||
}
|
||||
|
||||
bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
bool8 MovementAction_WalkInPlaceFasterLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4);
|
||||
return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
|
||||
}
|
||||
|
||||
bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
bool8 MovementAction_WalkInPlaceFasterRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4);
|
||||
return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
|
||||
|
||||
@@ -1094,7 +1094,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
||||
case T_EVOSTATE_INTRO_CRY:
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
PlayCry1(gTasks[taskId].tPreEvoSpecies, 0);
|
||||
PlayCry_Normal(gTasks[taskId].tPreEvoSpecies, 0);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
|
||||
+12
-14
@@ -2163,7 +2163,7 @@ static bool8 LavaridgeGym1FWarpEffect_AshPuff(struct Task *task, struct ObjectEv
|
||||
} else
|
||||
{
|
||||
task->data[1]++;
|
||||
ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFastestMovementAction(objectEvent->facingDirection));
|
||||
ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFasterMovementAction(objectEvent->facingDirection));
|
||||
PlaySE(SE_LAVARIDGE_FALL_WARP);
|
||||
}
|
||||
}
|
||||
@@ -2565,15 +2565,17 @@ bool8 FldEff_FieldMoveShowMon(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#define SHOW_MON_CRY_NO_DUCKING (1 << 31)
|
||||
|
||||
bool8 FldEff_FieldMoveShowMonInit(void)
|
||||
{
|
||||
struct Pokemon *pokemon;
|
||||
u32 flag = gFieldEffectArguments[0] & 0x80000000;
|
||||
bool32 noDucking = gFieldEffectArguments[0] & SHOW_MON_CRY_NO_DUCKING;
|
||||
pokemon = &gPlayerParty[(u8)gFieldEffectArguments[0]];
|
||||
gFieldEffectArguments[0] = GetMonData(pokemon, MON_DATA_SPECIES);
|
||||
gFieldEffectArguments[1] = GetMonData(pokemon, MON_DATA_OT_ID);
|
||||
gFieldEffectArguments[2] = GetMonData(pokemon, MON_DATA_PERSONALITY);
|
||||
gFieldEffectArguments[0] |= flag;
|
||||
gFieldEffectArguments[0] |= noDucking;
|
||||
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON);
|
||||
FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
|
||||
return FALSE;
|
||||
@@ -2913,17 +2915,17 @@ static bool8 SlideIndoorBannerOffscreen(struct Task *task)
|
||||
|
||||
static u8 InitFieldMoveMonSprite(u32 species, u32 otId, u32 personality)
|
||||
{
|
||||
u16 v0;
|
||||
bool16 noDucking;
|
||||
u8 monSprite;
|
||||
struct Sprite *sprite;
|
||||
v0 = (species & 0x80000000) >> 16;
|
||||
species &= 0x7fffffff;
|
||||
noDucking = (species & SHOW_MON_CRY_NO_DUCKING) >> 16;
|
||||
species &= ~SHOW_MON_CRY_NO_DUCKING;
|
||||
monSprite = CreateMonSprite_FieldMove(species, otId, personality, 320, 80, 0);
|
||||
sprite = &gSprites[monSprite];
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->oam.priority = 0;
|
||||
sprite->sSpecies = species;
|
||||
sprite->data[6] = v0;
|
||||
sprite->data[6] = noDucking;
|
||||
return monSprite;
|
||||
}
|
||||
|
||||
@@ -2935,13 +2937,9 @@ static void SpriteCB_FieldMoveMonSlideOnscreen(struct Sprite *sprite)
|
||||
sprite->sOnscreenTimer = 30;
|
||||
sprite->callback = SpriteCB_FieldMoveMonWaitAfterCry;
|
||||
if (sprite->data[6])
|
||||
{
|
||||
PlayCry2(sprite->sSpecies, 0, 0x7d, 0xa);
|
||||
}
|
||||
PlayCry_NormalNoDucking(sprite->sSpecies, 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL);
|
||||
else
|
||||
{
|
||||
PlayCry1(sprite->sSpecies, 0);
|
||||
}
|
||||
PlayCry_Normal(sprite->sSpecies, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3021,7 +3019,7 @@ static void SurfFieldEffect_ShowMon(struct Task *task)
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
if (ObjectEventCheckHeldMovementStatus(objectEvent))
|
||||
{
|
||||
gFieldEffectArguments[0] = task->tMonId | 0x80000000;
|
||||
gFieldEffectArguments[0] = task->tMonId | SHOW_MON_CRY_NO_DUCKING;
|
||||
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
|
||||
task->tState++;
|
||||
}
|
||||
|
||||
@@ -903,7 +903,7 @@ static bool8 PlayerAnimIsMultiFrameStationary(void)
|
||||
|
||||
if (movementActionId <= MOVEMENT_ACTION_FACE_RIGHT
|
||||
|| (movementActionId >= MOVEMENT_ACTION_DELAY_1 && movementActionId <= MOVEMENT_ACTION_DELAY_16)
|
||||
|| (movementActionId >= MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN && movementActionId <= MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT)
|
||||
|| (movementActionId >= MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN && movementActionId <= MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT)
|
||||
|| (movementActionId >= MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN && movementActionId <= MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT)
|
||||
|| (movementActionId >= MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN && movementActionId <= MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT))
|
||||
return TRUE;
|
||||
@@ -1764,7 +1764,7 @@ static bool8 Fishing_InitDots(struct Task *task)
|
||||
{
|
||||
u32 randVal;
|
||||
|
||||
sub_819786C(0, TRUE);
|
||||
LoadMessageBoxAndFrameGfx(0, TRUE);
|
||||
task->tStep++;
|
||||
task->tFrameCounter = 0;
|
||||
task->tNumDots = 0;
|
||||
|
||||
@@ -213,6 +213,6 @@ static void PrintRegionMapSecName(void)
|
||||
else
|
||||
{
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1145,7 +1145,7 @@ static void Task_OrbEffect(u8 taskId)
|
||||
tState = 1;
|
||||
break;
|
||||
case 1:
|
||||
sub_8199DF0(0, PIXEL_FILL(1), 0, 1);
|
||||
BgDmaFill(0, PIXEL_FILL(1), 0, 1);
|
||||
LoadOrbEffectPalette(tBlueOrb);
|
||||
StartUpdateOrbFlashEffect(tCenterX, tCenterY, 1, 160, 1, 2);
|
||||
tState = 2;
|
||||
@@ -1190,7 +1190,7 @@ static void Task_OrbEffect(u8 taskId)
|
||||
if (UpdateOrbEffectBlend(tShakeDir) == TRUE)
|
||||
{
|
||||
tState = 5;
|
||||
sub_8199DF0(0, PIXEL_FILL(0), 0, 1);
|
||||
BgDmaFill(0, PIXEL_FILL(0), 0, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
+10
-18
@@ -1911,13 +1911,13 @@ void ShowDeptStoreElevatorFloorSelect(void)
|
||||
SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gText_ElevatorNowOn, 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gText_ElevatorNowOn, xPos, 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gDeptStoreFloorNames[gSpecialVar_0x8005], 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
PutWindowTilemap(sTutorMoveAndElevatorWindowId);
|
||||
CopyWindowToVram(sTutorMoveAndElevatorWindowId, 3);
|
||||
CopyWindowToVram(sTutorMoveAndElevatorWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void CloseDeptStoreElevatorWindow(void)
|
||||
@@ -2723,7 +2723,7 @@ static void CloseScrollableMultichoice(u8 taskId)
|
||||
Free(sScrollableMultichoice_ListMenuItem);
|
||||
ClearStdWindowAndFrameToTransparent(task->tWindowId, 1);
|
||||
FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0));
|
||||
CopyWindowToVram(task->tWindowId, 2);
|
||||
CopyWindowToVram(task->tWindowId, COPYWIN_GFX);
|
||||
RemoveWindow(task->tWindowId);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
@@ -2976,7 +2976,7 @@ void ShowBattlePointsWindow(void)
|
||||
sBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(sBattlePointsWindowId, 0);
|
||||
UpdateBattlePointsWindow();
|
||||
CopyWindowToVram(sBattlePointsWindowId, 2);
|
||||
CopyWindowToVram(sBattlePointsWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
void CloseBattlePointsWindow(void)
|
||||
@@ -2988,25 +2988,17 @@ void CloseBattlePointsWindow(void)
|
||||
void TakeFrontierBattlePoints(void)
|
||||
{
|
||||
if (gSaveBlock2Ptr->frontier.battlePoints < gSpecialVar_0x8004)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.battlePoints = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.battlePoints -= gSpecialVar_0x8004;
|
||||
}
|
||||
}
|
||||
|
||||
void GiveFrontierBattlePoints(void)
|
||||
{
|
||||
if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > MAX_BATTLE_FRONTIER_POINTS)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.battlePoints = gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004;
|
||||
}
|
||||
}
|
||||
|
||||
u16 GetFrontierBattlePoints(void)
|
||||
@@ -3028,7 +3020,7 @@ void ShowFrontierExchangeCornerItemIconWindow(void)
|
||||
|
||||
sFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate);
|
||||
SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, 0);
|
||||
CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, 2);
|
||||
CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
void CloseFrontierExchangeCornerItemIconWindow(void)
|
||||
@@ -3244,11 +3236,11 @@ void ScrollableMultichoice_RedrawPersistentMenu(void)
|
||||
SetStandardWindowBorderStyle(task->tWindowId, 0);
|
||||
|
||||
for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++)
|
||||
AddTextPrinterParameterized5(task->tWindowId, FONT_NORMAL, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
|
||||
AddTextPrinterParameterized5(task->tWindowId, FONT_NORMAL, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SKIP_DRAW, NULL, 0, 0);
|
||||
|
||||
AddTextPrinterParameterized(task->tWindowId, FONT_NORMAL, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(task->tWindowId, FONT_NORMAL, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SKIP_DRAW, NULL);
|
||||
PutWindowTilemap(task->tWindowId);
|
||||
CopyWindowToVram(task->tWindowId, 3);
|
||||
CopyWindowToVram(task->tWindowId, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3303,7 +3295,7 @@ void ScrollableMultichoice_ClosePersistentMenu(void)
|
||||
ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE);
|
||||
FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0));
|
||||
ClearWindowTilemap(task->tWindowId);
|
||||
CopyWindowToVram(task->tWindowId, 2);
|
||||
CopyWindowToVram(task->tWindowId, COPYWIN_GFX);
|
||||
RemoveWindow(task->tWindowId);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
+12
-12
@@ -561,14 +561,14 @@ static void ResetGpuRegsAndBgs(void)
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0CNT, 0);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
@@ -1166,7 +1166,7 @@ static void ShowAndPrintWindows(void)
|
||||
PrintAreaDescription(sPassData->cursorArea);
|
||||
|
||||
for (i = 0; i < WINDOW_COUNT; i++)
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
@@ -1180,7 +1180,7 @@ static void PrintAreaDescription(u8 cursorArea)
|
||||
else if (cursorArea != CURSOR_AREA_NOTHING)
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, FONT_NORMAL, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[cursorArea]);
|
||||
|
||||
CopyWindowToVram(WINDOW_DESCRIPTION, 3);
|
||||
CopyWindowToVram(WINDOW_DESCRIPTION, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
|
||||
@@ -1723,7 +1723,7 @@ static void PrintOnFrontierMap(void)
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, FONT_NORMAL, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
|
||||
for (i = 0; i < MAP_WINDOW_COUNT; i++)
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
@@ -1755,7 +1755,7 @@ static void HandleFrontierMapCursorMove(u8 direction)
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, FONT_NORMAL, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
|
||||
for (i = 0; i < MAP_WINDOW_COUNT; i++)
|
||||
CopyWindowToVram(i, 3);
|
||||
CopyWindowToVram(i, COPYWIN_FULL);
|
||||
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
PlaySE(SE_DEX_SCROLL);
|
||||
|
||||
+62
-62
@@ -960,7 +960,7 @@ static void PrintAligned(const u8 *str, s32 y)
|
||||
{
|
||||
s32 x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 224);
|
||||
y = (y * 8) + 1;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PrintHyphens(s32 y)
|
||||
@@ -973,18 +973,18 @@ static void PrintHyphens(s32 y)
|
||||
text[i] = EOS;
|
||||
|
||||
y = (y * 8) + 1;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, 4, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, 4, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
// Battle Tower records.
|
||||
static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1056,15 +1056,15 @@ static void ShowTowerResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_LinkMultiBattleRoomResults);
|
||||
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
TowerPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 132, 49);
|
||||
TowerPrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 132, 65);
|
||||
TowerPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 72, 132, 97);
|
||||
TowerPrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 72, 132, 113);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Dome records.
|
||||
@@ -1079,10 +1079,10 @@ static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode)
|
||||
|
||||
static void PrintTwoStrings(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, str2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1123,8 +1123,8 @@ static void ShowDomeResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_DoubleBattleTourneyResults);
|
||||
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 64, 121, 33);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_50], 64, 121, 49);
|
||||
@@ -1133,18 +1133,18 @@ static void ShowDomeResultsWindow(u8 battleMode)
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_OPEN], 64, 121, 113);
|
||||
PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_OPEN], 64, 112, 129);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Palace records.
|
||||
static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1199,15 +1199,15 @@ static void ShowPalaceResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_DoubleBattleHallResults);
|
||||
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
PalacePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 131, 49);
|
||||
PalacePrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 131, 65);
|
||||
PalacePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 72, 131, 97);
|
||||
PalacePrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 72, 131, 113);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Pike records.
|
||||
@@ -1222,10 +1222,10 @@ static u16 PikeGetWinStreak(u8 lvlMode)
|
||||
|
||||
static void PikePrintCleared(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, str2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1251,8 +1251,8 @@ static void ShowPikeResultsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults);
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 114, 33);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_50], 64, 114, 49);
|
||||
@@ -1261,18 +1261,18 @@ static void ShowPikeResultsWindow(void)
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_OPEN], 64, 114, 113);
|
||||
PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_OPEN], 64, 114, 129);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Arena records.
|
||||
static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_KOsInARow);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1314,29 +1314,29 @@ static void ShowArenaResultsWindow(void)
|
||||
PrintHyphens(10);
|
||||
StringExpandPlaceholders(gStringVar4, gText_SetKOTourneyResults);
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SKIP_DRAW, NULL);
|
||||
ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 72, 126, 49);
|
||||
ArenaPrintRecordStreak(FRONTIER_LVL_50, 72, 126, 65);
|
||||
ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 72, 126, 97);
|
||||
ArenaPrintRecordStreak(FRONTIER_LVL_OPEN, 72, 126, 113);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Factory records.
|
||||
static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
if (num1 > MAX_STREAK)
|
||||
num1 = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, num2, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TimesVar1);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x3, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x3, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 x3, u8 y)
|
||||
@@ -1403,27 +1403,27 @@ static void ShowFactoryResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleSwapDoubleResults);
|
||||
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_RentalSwap, 152, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_RentalSwap, 152, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 49);
|
||||
FactoryPrintRecordStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 65);
|
||||
FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 8, 64, 158, 113);
|
||||
FactoryPrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 8, 64, 158, 129);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Battle Pyramid records.
|
||||
static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SKIP_DRAW, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_FloorsCleared);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@@ -1464,15 +1464,15 @@ static void ShowPyramidResultsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults);
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 49, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
PyramidPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 111, 49);
|
||||
PyramidPrintRecordStreak(FRONTIER_LVL_50, 64, 111, 65);
|
||||
PyramidPrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 64, 111, 97);
|
||||
PyramidPrintRecordStreak(FRONTIER_LVL_OPEN, 64, 111, 113);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
// Link contest records. Why is it in this file?
|
||||
@@ -1488,42 +1488,42 @@ static void ShowLinkContestResultsWindow(void)
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_LinkContestResults);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_1st;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 50;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_2nd;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 88;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_3rd;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 126;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_4th;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 164;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
x = 6;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cool, x, 41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Beauty, x, 57, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cute, x, 73, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Smart, x, 89, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Tough, x, 105, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cool, x, 41, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Beauty, x, 57, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cute, x, 73, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Smart, x, 89, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Tough, x, 105, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
for (i = 0; i < CONTEST_CATEGORIES_COUNT; i++)
|
||||
{
|
||||
for (j = 0; j < CONTESTANT_COUNT; j++)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar4, gSaveBlock2Ptr->contestLinkResults[i][j], STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, (j * 38) + 64, (i * 16) + 41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, (j * 38) + 64, (i * 16) + 41, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void CheckPutFrontierTVShowOnAir(void)
|
||||
@@ -2224,18 +2224,18 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
|
||||
u8 text[32];
|
||||
u16 winStreak;
|
||||
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
hallRecord->name[PLAYER_NAME_LENGTH] = EOS;
|
||||
if (hallRecord->winStreak)
|
||||
{
|
||||
TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
winStreak = hallRecord->winStreak;
|
||||
if (winStreak > MAX_STREAK)
|
||||
winStreak = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2244,25 +2244,25 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
|
||||
u8 text[32];
|
||||
u16 winStreak;
|
||||
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
if (hallRecord->winStreak)
|
||||
{
|
||||
hallRecord->name1[PLAYER_NAME_LENGTH] = EOS;
|
||||
hallRecord->name2[PLAYER_NAME_LENGTH] = EOS;
|
||||
TVShowConvertInternationalString(text, hallRecord->name1, hallRecord->language);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position - 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position - 1)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
if (IsStringJapanese(hallRecord->name2))
|
||||
TVShowConvertInternationalString(text, hallRecord->name2, LANGUAGE_JAPANESE);
|
||||
else
|
||||
StringCopy(text, hallRecord->name2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
winStreak = hallRecord->winStreak;
|
||||
if (winStreak > MAX_STREAK)
|
||||
winStreak = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2343,9 +2343,9 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
|
||||
|
||||
StringCopy(gStringVar1, sRecordsWindowChallengeTexts[hallFacilityId][0]);
|
||||
StringExpandPlaceholders(gStringVar4, sRecordsWindowChallengeTexts[hallFacilityId][1]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, sLevelModeText[lvlMode], 0xD0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sLevelModeText[lvlMode], x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
if (hallFacilityId == RANKING_HALL_TOWER_LINK)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.opponentNames[0][PLAYER_NAME_LENGTH] = EOS;
|
||||
@@ -2369,14 +2369,14 @@ void ShowRankingHallRecordsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_50);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void ScrollRankingHallRecordsWindow(void)
|
||||
{
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_OPEN);
|
||||
CopyWindowToVram(gRecordsWindowId, 2);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
void ClearRankingHallRecords(void)
|
||||
|
||||
+4
-4
@@ -1272,10 +1272,10 @@ const u32 gPokedexAreaScreenAreaUnknown_Gfx[] = INCBIN_U32("graphics/pokedex/are
|
||||
|
||||
// seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions.
|
||||
|
||||
const u16 gFireRedMenuElements1_Pal[] = INCBIN_U16("graphics/interface_fr/menu1.gbapal");
|
||||
const u16 gFireRedMenuElements2_Pal[] = INCBIN_U16("graphics/interface_fr/menu2.gbapal");
|
||||
const u16 gFireRedMenuElements3_Pal[] = INCBIN_U16("graphics/interface_fr/menu3.gbapal");
|
||||
const u8 gFireRedMenuElements_Gfx[] = INCBIN_U8("graphics/interface_fr/menu.4bpp"); //the types are reused for item menu
|
||||
const u16 gMenuInfoElements1_Pal[] = INCBIN_U16("graphics/interface/menu_info1.gbapal");
|
||||
const u16 gMenuInfoElements2_Pal[] = INCBIN_U16("graphics/interface/menu_info2.gbapal");
|
||||
const u16 gMenuInfoElements3_Pal[] = INCBIN_U16("graphics/interface/menu_info3.gbapal");
|
||||
const u8 gMenuInfoElements_Gfx[] = INCBIN_U8("graphics/interface/menu_info.4bpp"); //the types are reused for item menu
|
||||
|
||||
const u8 gBagMenuHMIcon_Gfx[] = INCBIN_U8("graphics/interface/hm.4bpp");
|
||||
|
||||
|
||||
+37
-38
@@ -343,7 +343,6 @@ static const struct HallofFameMon sDummyFameMon =
|
||||
static const u8 sHallOfFame_SlotOrder[] = {
|
||||
2, 1, 3,
|
||||
6, 4, 5,
|
||||
0, 0
|
||||
};
|
||||
|
||||
// code
|
||||
@@ -487,12 +486,12 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
||||
|
||||
if (!gHasHallOfFameRecords)
|
||||
{
|
||||
memset(gDecompressionBuffer, 0, 0x2000);
|
||||
memset(gDecompressionBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
|
||||
memset(gDecompressionBuffer, 0, 0x2000);
|
||||
if (LoadGameSave(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
|
||||
memset(gDecompressionBuffer, 0, SECTOR_SIZE * NUM_HOF_SECTORS);
|
||||
}
|
||||
|
||||
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++)
|
||||
@@ -515,7 +514,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
||||
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
gTasks[taskId].func = Task_Hof_TrySaveData;
|
||||
}
|
||||
|
||||
@@ -676,7 +675,7 @@ static void Task_Hof_DoConfetti(u8 taskId)
|
||||
}
|
||||
BeginNormalPaletteFade(sHofFadePalettes, 0, 12, 12, RGB(16, 29, 24));
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
gTasks[taskId].tFrameCount = 7;
|
||||
gTasks[taskId].func = Task_Hof_WaitToDisplayPlayer;
|
||||
}
|
||||
@@ -725,7 +724,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
|
||||
HallOfFame_PrintPlayerInfo(1, 2);
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
|
||||
}
|
||||
}
|
||||
@@ -853,7 +852,7 @@ void CB2_DoHallOfFamePC(void)
|
||||
gTasks[taskId].tMonSpriteId(i) = SPRITE_NONE;
|
||||
}
|
||||
|
||||
sHofMonPtr = AllocZeroed(0x2000);
|
||||
sHofMonPtr = AllocZeroed(SECTOR_SIZE * NUM_HOF_SECTORS);
|
||||
SetMainCallback2(CB2_HallOfFame);
|
||||
}
|
||||
break;
|
||||
@@ -862,8 +861,8 @@ void CB2_DoHallOfFamePC(void)
|
||||
|
||||
static void Task_HofPC_CopySaveData(u8 taskId)
|
||||
{
|
||||
sub_81980F0(0, 0x1E, 0, 0xC, 0x226);
|
||||
if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
|
||||
HofPCTopBar_AddWindow(0, 30, 0, 12, 0x226);
|
||||
if (LoadGameSave(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
|
||||
{
|
||||
gTasks[taskId].func = Task_HofPC_PrintDataIsCorrupted;
|
||||
}
|
||||
@@ -872,7 +871,7 @@ static void Task_HofPC_CopySaveData(u8 taskId)
|
||||
u16 i;
|
||||
struct HallofFameTeam* savedTeams;
|
||||
|
||||
CpuCopy16(gDecompressionBuffer, sHofMonPtr, 0x2000);
|
||||
CpuCopy16(gDecompressionBuffer, sHofMonPtr, SECTOR_SIZE * NUM_HOF_SECTORS);
|
||||
savedTeams = sHofMonPtr;
|
||||
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++)
|
||||
{
|
||||
@@ -950,9 +949,9 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gText_HOFNumber);
|
||||
|
||||
if (gTasks[taskId].tCurrTeamNo <= 0)
|
||||
sub_8198204(gStringVar4, gText_PickCancel, 0, 0, TRUE);
|
||||
HofPCTopBar_PrintPair(gStringVar4, gText_PickCancel, FALSE, 0, TRUE);
|
||||
else
|
||||
sub_8198204(gStringVar4, gText_PickNextCancel, 0, 0, TRUE);
|
||||
HofPCTopBar_PrintPair(gStringVar4, gText_PickNextCancel, FALSE, 0, TRUE);
|
||||
|
||||
gTasks[taskId].func = Task_HofPC_PrintMonInfo;
|
||||
}
|
||||
@@ -983,7 +982,7 @@ static void Task_HofPC_PrintMonInfo(u8 taskId)
|
||||
if (currMon->species != SPECIES_EGG)
|
||||
{
|
||||
StopCryAndClearCrySongs();
|
||||
PlayCry1(currMon->species, 0);
|
||||
PlayCry_Normal(currMon->species, 0);
|
||||
}
|
||||
HallOfFame_PrintMonInfo(currMon, 0, 14);
|
||||
|
||||
@@ -1073,7 +1072,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
|
||||
HideBg(0);
|
||||
HideBg(1);
|
||||
HideBg(3);
|
||||
sub_8198314();
|
||||
HofPCTopBar_RemoveWindow();
|
||||
FreeAllWindowBuffers();
|
||||
UnsetBgTilemapBuffer(1);
|
||||
UnsetBgTilemapBuffer(3);
|
||||
@@ -1091,10 +1090,10 @@ static void Task_HofPC_HandleExit(u8 taskId)
|
||||
|
||||
static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
|
||||
{
|
||||
sub_8198180(gText_AButtonExit, 8, TRUE);
|
||||
HofPCTopBar_Print(gText_AButtonExit, 8, TRUE);
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
|
||||
}
|
||||
|
||||
@@ -1115,7 +1114,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
PutWindowTilemap(0);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, GetStringCenterAlignXOffset(FONT_NORMAL, gText_WelcomeToHOF, 0xD0), 1, sMonInfoTextColors, 0, gText_WelcomeToHOF);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2)
|
||||
@@ -1150,7 +1149,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
*(stringPtr)++ = CHAR_QUESTION_MARK;
|
||||
}
|
||||
stringPtr[0] = EOS;
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x10, 1, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x10, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
}
|
||||
|
||||
// nick, species names, gender and level
|
||||
@@ -1159,13 +1158,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
if (currMon->species == SPECIES_EGG)
|
||||
{
|
||||
width = GetStringCenterAlignXOffset(FONT_NORMAL, text, 0xD0);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, -1, text);
|
||||
CopyWindowToVram(0, 3);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x80);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
text[0] = CHAR_SLASH;
|
||||
stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]);
|
||||
@@ -1186,17 +1185,17 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
}
|
||||
|
||||
stringPtr[0] = EOS;
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x80, 1, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x80, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
stringPtr = StringCopy(text, gText_Level);
|
||||
ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x24, 0x11, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x24, 0x11, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
stringPtr = StringCopy(text, gText_IDNumber);
|
||||
ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x68, 0x11, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x68, 0x11, sMonInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1209,10 +1208,10 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
PutWindowTilemap(1);
|
||||
DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sPlayerInfoTextColors, -1, gText_Name);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sPlayerInfoTextColors, TEXT_SKIP_DRAW, gText_Name);
|
||||
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, gSaveBlock2Ptr->playerName, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 1, sPlayerInfoTextColors, -1, gSaveBlock2Ptr->playerName);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 1, sPlayerInfoTextColors, TEXT_SKIP_DRAW, gSaveBlock2Ptr->playerName);
|
||||
|
||||
trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0x11, sPlayerInfoTextColors, 0, gText_IDNumber);
|
||||
@@ -1223,9 +1222,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
text[4] = (trainerId % 10) / 1 + CHAR_0;
|
||||
text[5] = EOS;
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x11, sPlayerInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x11, sPlayerInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0x21, sPlayerInfoTextColors, -1, gText_Time);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0x21, sPlayerInfoTextColors, TEXT_SKIP_DRAW, gText_Time);
|
||||
text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0;
|
||||
text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0;
|
||||
text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0;
|
||||
@@ -1241,9 +1240,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
text[6] = EOS;
|
||||
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x21, sPlayerInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x21, sPlayerInfoTextColors, TEXT_SKIP_DRAW, text);
|
||||
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void ClearVramOamPltt_LoadHofPal(void)
|
||||
@@ -1296,12 +1295,12 @@ static void InitHofBgs(void)
|
||||
InitBgsFromTemplates(0, sHof_BgTemplates, ARRAY_COUNT(sHof_BgTemplates));
|
||||
SetBgTilemapBuffer(1, sHofGfxPtr->tilemap1);
|
||||
SetBgTilemapBuffer(3, sHofGfxPtr->tilemap2);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static bool8 LoadHofBgs(void)
|
||||
|
||||
+3
-3
@@ -1145,7 +1145,7 @@ void CB2_InitCopyrightScreenAfterBootup(void)
|
||||
SetSaveBlocksPointers(GetSaveBlocksPointersBaseOffset());
|
||||
ResetMenuAndMonGlobals();
|
||||
Save_ResetSaveCounters();
|
||||
Save_LoadGameData(SAVE_NORMAL);
|
||||
LoadGameSave(SAVE_NORMAL);
|
||||
if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT)
|
||||
Sav2_ClearSetDefault();
|
||||
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
|
||||
@@ -1925,7 +1925,7 @@ static void Task_Scene3_Groudon(u8 taskId)
|
||||
tScreenX = 80;
|
||||
tScreenY = 41;
|
||||
tDelay = 16;
|
||||
PlayCryInternal(SPECIES_GROUDON, 0, 100, 10, 0);
|
||||
PlayCryInternal(SPECIES_GROUDON, 0, 100, CRY_PRIORITY_NORMAL, CRY_MODE_NORMAL);
|
||||
tState++;
|
||||
}
|
||||
break;
|
||||
@@ -2127,7 +2127,7 @@ static void Task_Scene3_Kyogre(u8 taskId)
|
||||
{
|
||||
tDelay = 1;
|
||||
tState++;
|
||||
PlayCryInternal(SPECIES_KYOGRE, 0, 120, 10, 0);
|
||||
PlayCryInternal(SPECIES_KYOGRE, 0, 120, CRY_PRIORITY_NORMAL, CRY_MODE_NORMAL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
+20
-20
@@ -974,7 +974,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y)
|
||||
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BERRY_CAPACITY_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SKIP_DRAW, COLORID_NORMAL);
|
||||
}
|
||||
else if (gBagPosition.pocket != KEYITEMS_POCKET && ItemId_GetImportance(itemId) == FALSE)
|
||||
{
|
||||
@@ -982,7 +982,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y)
|
||||
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BAG_ITEM_CAPACITY_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SKIP_DRAW, COLORID_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1204,7 +1204,7 @@ static void PrintItemSoldAmount(int windowId, int numSold, int moneyEarned)
|
||||
u8 numDigits = (gBagPosition.pocket == BERRIES_POCKET) ? BERRY_CAPACITY_DIGITS : BAG_ITEM_CAPACITY_DIGITS;
|
||||
ConvertIntToDecimalStringN(gStringVar1, numSold, STR_CONV_MODE_LEADING_ZEROS, numDigits);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SPEED_FF, 0);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SKIP_DRAW, 0);
|
||||
PrintMoneyAmount(windowId, 38, 1, moneyEarned, 0);
|
||||
}
|
||||
|
||||
@@ -1667,8 +1667,8 @@ static void OpenContextMenu(u8 taskId)
|
||||
|
||||
static void PrintContextMenuItems(u8 windowId)
|
||||
{
|
||||
AddItemMenuActionTextPrinters(windowId, FONT_NARROW, 8, 1, 0, 16, gBagMenu->contextMenuNumItems, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gBagMenu->contextMenuNumItems, 0);
|
||||
PrintMenuActionTexts(windowId, FONT_NARROW, 8, 1, 0, 16, gBagMenu->contextMenuNumItems, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, gBagMenu->contextMenuNumItems, 0);
|
||||
}
|
||||
|
||||
static void PrintContextMenuItemGrid(u8 windowId, u8 columns, u8 rows)
|
||||
@@ -1720,7 +1720,7 @@ static void Task_ItemContext_MultipleRows(u8 taskId)
|
||||
if (cursorPos > 0 && IsValidContextMenuPos(cursorPos - 2))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_UP);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_UP);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_DOWN))
|
||||
@@ -1728,7 +1728,7 @@ static void Task_ItemContext_MultipleRows(u8 taskId)
|
||||
if (cursorPos < (gBagMenu->contextMenuNumItems - 2) && IsValidContextMenuPos(cursorPos + 2))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_DOWN);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_NONE, MENU_CURSOR_DELTA_DOWN);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED)
|
||||
@@ -1736,7 +1736,7 @@ static void Task_ItemContext_MultipleRows(u8 taskId)
|
||||
if ((cursorPos & 1) && IsValidContextMenuPos(cursorPos - 1))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_LEFT, MENU_CURSOR_DELTA_NONE);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_LEFT, MENU_CURSOR_DELTA_NONE);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED)
|
||||
@@ -1744,7 +1744,7 @@ static void Task_ItemContext_MultipleRows(u8 taskId)
|
||||
if (!(cursorPos & 1) && IsValidContextMenuPos(cursorPos + 1))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
ChangeListMenuCursorPosition(MENU_CURSOR_DELTA_RIGHT, MENU_CURSOR_DELTA_NONE);
|
||||
ChangeMenuGridCursorPosition(MENU_CURSOR_DELTA_RIGHT, MENU_CURSOR_DELTA_NONE);
|
||||
}
|
||||
}
|
||||
else if (JOY_NEW(A_BUTTON))
|
||||
@@ -2039,7 +2039,7 @@ bool8 UseRegisteredKeyItemOnField(void)
|
||||
if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiPartnerRoom() == TRUE)
|
||||
return FALSE;
|
||||
HideMapNamePopUpWindow();
|
||||
ChangeBgY_ScreenOff(0, 0, 0);
|
||||
ChangeBgY_ScreenOff(0, 0, BG_COORD_SET);
|
||||
if (gSaveBlock1Ptr->registeredItem != ITEM_NONE)
|
||||
{
|
||||
if (CheckBagHasItem(gSaveBlock1Ptr->registeredItem, 1) == TRUE)
|
||||
@@ -2417,11 +2417,11 @@ static void PrintPocketNames(const u8 *pocketName1, const u8 *pocketName2)
|
||||
windowId = AddWindow(&window);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
offset = GetStringCenterAlignXOffset(FONT_NORMAL, pocketName1, 0x40);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName1, offset, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName1, offset, 1, 0, 0, TEXT_SKIP_DRAW, COLORID_POCKET_NAME);
|
||||
if (pocketName2)
|
||||
{
|
||||
offset = GetStringCenterAlignXOffset(FONT_NORMAL, pocketName2, 0x40);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName2, offset + 0x40, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName2, offset + 0x40, 1, 0, 0, TEXT_SKIP_DRAW, COLORID_POCKET_NAME);
|
||||
}
|
||||
CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gBagMenu->pocketNameBuffer, sizeof(gBagMenu->pocketNameBuffer));
|
||||
RemoveWindow(windowId);
|
||||
@@ -2439,7 +2439,7 @@ static void CopyPocketNameToWindow(u32 a)
|
||||
CpuCopy32(tileDataBuffer[0][a], windowTileData, 0x100); // Top half of pocket name
|
||||
b = a + 16;
|
||||
CpuCopy32(tileDataBuffer[0][b], windowTileData + 0x100, 0x100); // Bottom half of pocket name
|
||||
CopyWindowToVram(WIN_POCKET_NAME, 2);
|
||||
CopyWindowToVram(WIN_POCKET_NAME, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void LoadBagMenuTextWindows(void)
|
||||
@@ -2544,7 +2544,7 @@ static void PrepareTMHMMoveWindow(void)
|
||||
BlitMenuInfoIcon(WIN_TMHM_INFO_ICONS, MENU_INFO_ICON_POWER, 0, 12);
|
||||
BlitMenuInfoIcon(WIN_TMHM_INFO_ICONS, MENU_INFO_ICON_ACCURACY, 0, 24);
|
||||
BlitMenuInfoIcon(WIN_TMHM_INFO_ICONS, MENU_INFO_ICON_PP, 0, 36);
|
||||
CopyWindowToVram(WIN_TMHM_INFO_ICONS, 2);
|
||||
CopyWindowToVram(WIN_TMHM_INFO_ICONS, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintTMHMMoveData(u16 itemId)
|
||||
@@ -2557,8 +2557,8 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
if (itemId == ITEM_NONE)
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gText_ThreeDashes, 7, i * 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
CopyWindowToVram(WIN_TMHM_INFO, 2);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gText_ThreeDashes, 7, i * 12, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO);
|
||||
CopyWindowToVram(WIN_TMHM_INFO, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2575,7 +2575,7 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
text = gStringVar1;
|
||||
}
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO);
|
||||
|
||||
// Print TMHM accuracy
|
||||
if (gBattleMoves[moveId].accuracy == 0)
|
||||
@@ -2587,12 +2587,12 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
text = gStringVar1;
|
||||
}
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO);
|
||||
|
||||
// Print TMHM pp
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO);
|
||||
|
||||
CopyWindowToVram(WIN_TMHM_INFO, 2);
|
||||
CopyWindowToVram(WIN_TMHM_INFO, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -1648,8 +1648,8 @@ static void ErrorMsg_MoveCloserToPartner(void)
|
||||
AddTextPrinterParameterized3(2, FONT_SHORT_COPY_1, 2, 1, sTextColors, 0, gText_MoveCloserToLinkPartner);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(2);
|
||||
CopyWindowToVram(0, 0);
|
||||
CopyWindowToVram(2, 3);
|
||||
CopyWindowToVram(0, COPYWIN_NONE); // Does nothing
|
||||
CopyWindowToVram(2, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void ErrorMsg_CheckConnections(void)
|
||||
@@ -1660,8 +1660,8 @@ static void ErrorMsg_CheckConnections(void)
|
||||
AddTextPrinterParameterized3(1, FONT_SHORT_COPY_1, 2, 0, sTextColors, 0, gText_CommErrorCheckConnections);
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(2);
|
||||
CopyWindowToVram(1, 0);
|
||||
CopyWindowToVram(2, 3);
|
||||
CopyWindowToVram(1, COPYWIN_NONE); // Does nothing
|
||||
CopyWindowToVram(2, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void CB2_PrintErrorMessage(void)
|
||||
|
||||
+9
-9
@@ -330,7 +330,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
||||
gMultiuseListMenuTemplate = *listMenuTemplate;
|
||||
gMultiuseListMenuTemplate.windowId = sMysteryGiftLinkMenu.windowId;
|
||||
sMysteryGiftLinkMenu.listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
|
||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1);
|
||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, COPYWIN_MAP);
|
||||
sMysteryGiftLinkMenu.state = 1;
|
||||
break;
|
||||
case 1:
|
||||
@@ -364,7 +364,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
||||
}
|
||||
}
|
||||
|
||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1);
|
||||
CopyWindowToVram(sMysteryGiftLinkMenu.windowId, COPYWIN_MAP);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -381,7 +381,7 @@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16
|
||||
{
|
||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, scrollOffset, selectedRow);
|
||||
PutWindowTilemap(listMenuTemplate->windowId);
|
||||
CopyWindowToVram(listMenuTemplate->windowId, 2);
|
||||
CopyWindowToVram(listMenuTemplate->windowId, COPYWIN_GFX);
|
||||
|
||||
return taskId;
|
||||
}
|
||||
@@ -401,7 +401,7 @@ u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenu
|
||||
rect[i].height,
|
||||
rect[i].palNum);
|
||||
}
|
||||
CopyWindowToVram(listMenuTemplate->windowId, 2);
|
||||
CopyWindowToVram(listMenuTemplate->windowId, COPYWIN_GFX);
|
||||
|
||||
return taskId;
|
||||
}
|
||||
@@ -489,7 +489,7 @@ void RedrawListMenu(u8 listTaskId)
|
||||
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed);
|
||||
ListMenuDrawCursor(list);
|
||||
CopyWindowToVram(list->template.windowId, 2);
|
||||
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
// unused
|
||||
@@ -604,7 +604,7 @@ static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y)
|
||||
gListMenuOverride.fontId,
|
||||
x, y,
|
||||
gListMenuOverride.lettersSpacing,
|
||||
0, colors, TEXT_SPEED_FF, str);
|
||||
0, colors, TEXT_SKIP_DRAW, str);
|
||||
|
||||
gListMenuOverride.enabled = FALSE;
|
||||
}
|
||||
@@ -617,7 +617,7 @@ static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y)
|
||||
list->template.fontId,
|
||||
x, y,
|
||||
list->template.lettersSpacing,
|
||||
0, colors, TEXT_SPEED_FF, str);
|
||||
0, colors, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -862,7 +862,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
||||
ListMenuErasePrintedCursor(list, oldSelectedRow);
|
||||
ListMenuDrawCursor(list);
|
||||
ListMenuCallSelectionChangedCallback(list, FALSE);
|
||||
CopyWindowToVram(list->template.windowId, 2);
|
||||
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
@@ -870,7 +870,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
||||
ListMenuScroll(list, cursorCount, movingDown);
|
||||
ListMenuDrawCursor(list);
|
||||
ListMenuCallSelectionChangedCallback(list, FALSE);
|
||||
CopyWindowToVram(list->template.windowId, 2);
|
||||
CopyWindowToVram(list->template.windowId, COPYWIN_GFX);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-12
@@ -29,14 +29,9 @@ struct LoadedSaveData
|
||||
};
|
||||
|
||||
// EWRAM DATA
|
||||
EWRAM_DATA struct SaveBlock2 gSaveblock2 = {0};
|
||||
EWRAM_DATA u8 gSaveblock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
|
||||
EWRAM_DATA struct SaveBlock1 gSaveblock1 = {0};
|
||||
EWRAM_DATA u8 gSaveblock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
|
||||
EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
|
||||
EWRAM_DATA u8 gSaveblock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
EWRAM_DATA struct SaveBlock2DMA gSaveblock2 = {0};
|
||||
EWRAM_DATA struct SaveBlock1DMA gSaveblock1 = {0};
|
||||
EWRAM_DATA struct PokemonStorageDMA gPokemonStorage = {0};
|
||||
|
||||
EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
|
||||
EWRAM_DATA u32 gLastEncryptionKey = 0;
|
||||
@@ -63,12 +58,12 @@ void CheckForFlashMemory(void)
|
||||
|
||||
void ClearSav2(void)
|
||||
{
|
||||
CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2) + sizeof(gSaveblock2_DMA));
|
||||
CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2DMA));
|
||||
}
|
||||
|
||||
void ClearSav1(void)
|
||||
{
|
||||
CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1) + sizeof(gSaveblock1_DMA));
|
||||
CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1DMA));
|
||||
}
|
||||
|
||||
// Offset is the sum of the trainer id bytes
|
||||
@@ -198,13 +193,13 @@ void LoadObjectEvents(void)
|
||||
gObjectEvents[i] = gSaveBlock1Ptr->objectEvents[i];
|
||||
}
|
||||
|
||||
void SaveSerializedGame(void)
|
||||
void CopyPartyAndObjectsToSave(void)
|
||||
{
|
||||
SavePlayerParty();
|
||||
SaveObjectEvents();
|
||||
}
|
||||
|
||||
void LoadSerializedGame(void)
|
||||
void CopyPartyAndObjectsFromSave(void)
|
||||
{
|
||||
LoadPlayerParty();
|
||||
LoadObjectEvents();
|
||||
|
||||
+17
-15
@@ -302,7 +302,7 @@ _081DD044:
|
||||
ldrb r0, [r4, o_SoundChannel_type]
|
||||
tst r0, TONEDATA_TYPE_CMP | TONEDATA_TYPE_REV
|
||||
beq _081DD068
|
||||
bl sub_82DF49C
|
||||
bl SoundMainRAM_Unk1
|
||||
b _081DD228
|
||||
_081DD068:
|
||||
mov r10, r10, lsl 16
|
||||
@@ -465,8 +465,9 @@ _081DD25E:
|
||||
.pool
|
||||
thumb_func_end SoundMainRAM
|
||||
|
||||
arm_func_start sub_82DF49C
|
||||
sub_82DF49C:
|
||||
@ Not present in GBA SDK 3.0
|
||||
arm_func_start SoundMainRAM_Unk1
|
||||
SoundMainRAM_Unk1:
|
||||
ldr r6, [r4, o_SoundChannel_wav]
|
||||
ldrb r0, [r4, o_SoundChannel_statusFlags]
|
||||
tst r0, SOUND_CHANNEL_SF_SPECIAL
|
||||
@@ -505,10 +506,10 @@ _081DD2B4:
|
||||
ldrb r0, [r4, o_SoundChannel_type]
|
||||
tst r0, TONEDATA_TYPE_REV
|
||||
bne _081DD3C0
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
mov r0, r1
|
||||
add r3, r3, 0x1
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
sub r1, r1, r0
|
||||
_081DD308:
|
||||
ldr r6, [r5]
|
||||
@@ -534,11 +535,11 @@ _081DD310:
|
||||
b _081DD364
|
||||
_081DD358:
|
||||
add r3, r3, lr
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
mov r0, r1
|
||||
_081DD364:
|
||||
add r3, r3, 0x1
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
sub r1, r1, r0
|
||||
_081DD370:
|
||||
adds r5, r5, 0x40000000
|
||||
@@ -565,10 +566,10 @@ _081DD3B0:
|
||||
b _081DD3B0
|
||||
_081DD3C0:
|
||||
sub r3, r3, 0x1
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
mov r0, r1
|
||||
sub r3, r3, 0x1
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
sub r1, r1, r0
|
||||
_081DD3D8:
|
||||
ldr r6, [r5]
|
||||
@@ -594,11 +595,11 @@ _081DD3E0:
|
||||
b _081DD434
|
||||
_081DD428:
|
||||
sub r3, r3, lr
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
mov r0, r1
|
||||
_081DD434:
|
||||
sub r3, r3, 0x1
|
||||
bl sub_82DF758
|
||||
bl SoundMainRAM_Unk2
|
||||
sub r1, r1, r0
|
||||
_081DD440:
|
||||
adds r5, r5, 0x40000000
|
||||
@@ -663,10 +664,11 @@ _081DD4F4:
|
||||
str r7, [r5, 0x630]
|
||||
str r6, [r5], 0x4
|
||||
pop {r8,r12,pc}
|
||||
arm_func_end sub_82DF49C
|
||||
arm_func_end SoundMainRAM_Unk1
|
||||
|
||||
arm_func_start sub_82DF758
|
||||
sub_82DF758:
|
||||
@ Not present in GBA SDK 3.0
|
||||
arm_func_start SoundMainRAM_Unk2
|
||||
SoundMainRAM_Unk2:
|
||||
push {r0,r2,r5-r7,lr}
|
||||
mov r0, r3, lsr 6
|
||||
ldr r1, [r4, o_SoundChannel_xpi]
|
||||
@@ -704,7 +706,7 @@ _081DD594:
|
||||
ldrsb r1, [r5, r0]
|
||||
pop {r0,r2,r5-r7,pc}
|
||||
.pool
|
||||
arm_func_end sub_82DF758
|
||||
arm_func_end SoundMainRAM_Unk2
|
||||
|
||||
thumb_func_start SoundMainBTM
|
||||
SoundMainBTM:
|
||||
|
||||
+2
-2
@@ -698,8 +698,8 @@ static void PrintMailText(void)
|
||||
box_x = GetStringCenterAlignXOffset(FONT_NORMAL, signature, sMailRead->signatureWidth) + 104;
|
||||
box_y = sMailRead->layout->signatureYPos + 88;
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, box_x, box_y, sTextColors, 0, signature);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void VBlankCB_MailRead(void)
|
||||
|
||||
+2
-2
@@ -172,8 +172,8 @@ static void InitMainCallbacks(void)
|
||||
gMain.vblankCounter2 = 0;
|
||||
gMain.callback1 = NULL;
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterBootup);
|
||||
gSaveBlock2Ptr = &gSaveblock2;
|
||||
gPokemonStoragePtr = &gPokemonStorage;
|
||||
gSaveBlock2Ptr = &gSaveblock2.block;
|
||||
gPokemonStoragePtr = &gPokemonStorage.block;
|
||||
}
|
||||
|
||||
static void CallCallbacks(void)
|
||||
|
||||
+55
-55
@@ -583,10 +583,10 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_WHITEALPHA); // fade to white
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sMainMenuBgTemplates, ARRAY_COUNT(sMainMenuBgTemplates));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
InitWindows(sWindowTemplates_MainMenu);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE);
|
||||
@@ -780,12 +780,12 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
default:
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuOption);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(1, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[0], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[1], MAIN_MENU_BORDER_TILE);
|
||||
break;
|
||||
@@ -793,16 +793,16 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(3, 2);
|
||||
CopyWindowToVram(4, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
CopyWindowToVram(3, COPYWIN_GFX);
|
||||
CopyWindowToVram(4, COPYWIN_GFX);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
|
||||
@@ -812,19 +812,19 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(5, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuMysteryGift);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(3, 2);
|
||||
CopyWindowToVram(4, 2);
|
||||
CopyWindowToVram(5, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
CopyWindowToVram(3, COPYWIN_GFX);
|
||||
CopyWindowToVram(4, COPYWIN_GFX);
|
||||
CopyWindowToVram(5, COPYWIN_GFX);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
|
||||
@@ -836,22 +836,22 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(5, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(6, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift2);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryEvents);
|
||||
AddTextPrinterParameterized3(6, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuMysteryGift2);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuMysteryEvents);
|
||||
AddTextPrinterParameterized3(6, FONT_NORMAL, 0, 1, sTextColor_Headers, TEXT_SKIP_DRAW, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
PutWindowTilemap(6);
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(3, 2);
|
||||
CopyWindowToVram(4, 2);
|
||||
CopyWindowToVram(5, 2);
|
||||
CopyWindowToVram(6, 2);
|
||||
CopyWindowToVram(2, COPYWIN_GFX);
|
||||
CopyWindowToVram(3, COPYWIN_GFX);
|
||||
CopyWindowToVram(4, COPYWIN_GFX);
|
||||
CopyWindowToVram(5, COPYWIN_GFX);
|
||||
CopyWindowToVram(6, COPYWIN_GFX);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
|
||||
@@ -861,8 +861,8 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
gTasks[tScrollArrowTaskId].func = Task_ScrollIndicatorArrowPairOnMainMenu;
|
||||
if (sCurrItemAndOptionMenuCheck == 4)
|
||||
{
|
||||
ChangeBgY(0, 0x2000, 1);
|
||||
ChangeBgY(1, 0x2000, 1);
|
||||
ChangeBgY(0, 0x2000, BG_COORD_ADD);
|
||||
ChangeBgY(1, 0x2000, BG_COORD_ADD);
|
||||
tIsScrolled = TRUE;
|
||||
gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = TRUE;
|
||||
}
|
||||
@@ -901,8 +901,8 @@ static bool8 HandleMainMenuInput(u8 taskId)
|
||||
{
|
||||
if (tMenuType == HAS_MYSTERY_EVENTS && tIsScrolled == TRUE && tCurrItem == 1)
|
||||
{
|
||||
ChangeBgY(0, 0x2000, 2);
|
||||
ChangeBgY(1, 0x2000, 2);
|
||||
ChangeBgY(0, 0x2000, BG_COORD_SUB);
|
||||
ChangeBgY(1, 0x2000, BG_COORD_SUB);
|
||||
gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = FALSE;
|
||||
}
|
||||
tCurrItem--;
|
||||
@@ -913,8 +913,8 @@ static bool8 HandleMainMenuInput(u8 taskId)
|
||||
{
|
||||
if (tMenuType == HAS_MYSTERY_EVENTS && tCurrItem == 3 && tIsScrolled == FALSE)
|
||||
{
|
||||
ChangeBgY(0, 0x2000, 1);
|
||||
ChangeBgY(1, 0x2000, 1);
|
||||
ChangeBgY(0, 0x2000, BG_COORD_ADD);
|
||||
ChangeBgY(1, 0x2000, BG_COORD_ADD);
|
||||
gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = TRUE;
|
||||
}
|
||||
tCurrItem++;
|
||||
@@ -1048,8 +1048,8 @@ static void Task_HandleMainMenuAPressed(u8 taskId)
|
||||
}
|
||||
break;
|
||||
}
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
switch (action)
|
||||
{
|
||||
case ACTION_NEW_GAME:
|
||||
@@ -1330,7 +1330,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId)
|
||||
LoadMessageBoxGfx(0, 0xFC, 0xF0);
|
||||
NewGameBirchSpeech_ShowDialogueWindow(0, 1);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
NewGameBirchSpeech_ClearWindow(0);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Birch_Welcome);
|
||||
AddTextPrinterForMessage(1);
|
||||
@@ -1855,7 +1855,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void)
|
||||
LoadMainMenuWindowFrameTiles(0, 0xF3);
|
||||
LoadMessageBoxGfx(0, 0xFC, 0xF0);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void SpriteCB_Null(struct Sprite *sprite)
|
||||
@@ -2090,9 +2090,9 @@ static void NewGameBirchSpeech_ShowGenderMenu(void)
|
||||
DrawMainMenuWindowBorder(&gNewGameBirchSpeechTextWindows[1], 0xF3);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
PrintMenuTable(1, ARRAY_COUNT(sMenuActions_Gender), sMenuActions_Gender);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0);
|
||||
InitMenuInUpperLeftCornerNormal(1, 2, 0);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static s8 NewGameBirchSpeech_ProcessGenderMenuInput(void)
|
||||
@@ -2119,7 +2119,7 @@ static void CreateMainMenuErrorWindow(const u8* str)
|
||||
FillWindowPixelBuffer(7, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(7, FONT_NORMAL, str, 0, 1, 2, 0);
|
||||
PutWindowTilemap(7);
|
||||
CopyWindowToVram(7, 2);
|
||||
CopyWindowToVram(7, COPYWIN_GFX);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[7], MAIN_MENU_BORDER_TILE);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(9, DISPLAY_WIDTH - 9));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(113, DISPLAY_HEIGHT - 1));
|
||||
@@ -2136,8 +2136,8 @@ static void MainMenu_FormatSavegameText(void)
|
||||
static void MainMenu_FormatSavegamePlayer(void)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, -1, gSaveBlock2Ptr->playerName);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 17, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gSaveBlock2Ptr->playerName);
|
||||
}
|
||||
|
||||
static void MainMenu_FormatSavegameTime(void)
|
||||
@@ -2146,11 +2146,11 @@ static void MainMenu_FormatSavegameTime(void)
|
||||
u8* ptr;
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 17, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gStringVar4);
|
||||
ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
*ptr = 0xF0;
|
||||
ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 17, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 17, sTextColor_MenuInfo, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
static void MainMenu_FormatSavegamePokedex(void)
|
||||
@@ -2165,9 +2165,9 @@ static void MainMenu_FormatSavegamePokedex(void)
|
||||
else
|
||||
dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 33, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gStringVar4);
|
||||
ConvertIntToDecimalStringN(str, dexCount, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 100), 33, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 100), 33, sTextColor_MenuInfo, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2183,9 +2183,9 @@ static void MainMenu_FormatSavegameBadges(void)
|
||||
badgeCount++;
|
||||
}
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 33, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gStringVar4);
|
||||
ConvertIntToDecimalStringN(str, badgeCount, STR_CONV_MODE_LEADING_ZEROS, 1);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 33, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 33, sTextColor_MenuInfo, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset)
|
||||
@@ -2232,7 +2232,7 @@ static void NewGameBirchSpeech_ClearGenderWindow(u8 windowId, bool8 copyToVram)
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void NewGameBirchSpeech_ClearWindow(u8 windowId)
|
||||
@@ -2244,7 +2244,7 @@ static void NewGameBirchSpeech_ClearWindow(u8 windowId)
|
||||
u8 winHeight = GetWindowAttribute(windowId, WINDOW_HEIGHT);
|
||||
|
||||
FillWindowPixelRect(windowId, bgColor, 0, 0, maxCharWidth * winWidth, maxCharHeight * winHeight);
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void NewGameBirchSpeech_WaitForThisIsPokemonText(struct TextPrinterTemplate *printer, u16 a)
|
||||
|
||||
@@ -329,8 +329,8 @@ static void ShowMapNamePopUpWindow(void)
|
||||
mapDisplayHeader[0] = EXT_CTRL_CODE_BEGIN;
|
||||
mapDisplayHeader[1] = EXT_CTRL_CODE_HIGHLIGHT;
|
||||
mapDisplayHeader[2] = TEXT_COLOR_TRANSPARENT;
|
||||
AddTextPrinterParameterized(GetMapNamePopUpWindowId(), FONT_NARROW, mapDisplayHeader, x, 3, 0xFF, NULL);
|
||||
CopyWindowToVram(GetMapNamePopUpWindowId(), 3);
|
||||
AddTextPrinterParameterized(GetMapNamePopUpWindowId(), FONT_NARROW, mapDisplayHeader, x, 3, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(GetMapNamePopUpWindowId(), COPYWIN_FULL);
|
||||
}
|
||||
|
||||
#define TILE_TOP_EDGE_START 0x21D
|
||||
|
||||
+7
-7
@@ -1263,7 +1263,7 @@ static bool32 MatchCall_LoadGfx(u8 taskId)
|
||||
FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8));
|
||||
LoadPalette(sMatchCallWindow_Pal, 0xE0, sizeof(sMatchCallWindow_Pal));
|
||||
LoadPalette(sPokenavIcon_Pal, 0xF0, sizeof(sPokenavIcon_Pal));
|
||||
ChangeBgY(0, -0x2000, 0);
|
||||
ChangeBgY(0, -0x2000, BG_COORD_SET);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1277,7 +1277,7 @@ static bool32 MatchCall_DrawWindow(u8 taskId)
|
||||
DrawMatchCallTextBoxBorder_Internal(tWindowId, TILE_MC_WINDOW, 14);
|
||||
WriteSequenceToBgTilemapBuffer(0, (0xF << 12) | TILE_POKENAV_ICON, 1, 15, 4, 4, 17, 1);
|
||||
tIconTaskId = CreateTask(Task_SpinPokenavIcon, 10);
|
||||
CopyWindowToVram(tWindowId, 2);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1297,9 +1297,9 @@ static bool32 MatchCall_ReadyIntro(u8 taskId)
|
||||
|
||||
static bool32 MatchCall_SlideWindowIn(u8 taskId)
|
||||
{
|
||||
if (ChangeBgY(0, 0x600, 1) >= 0)
|
||||
if (ChangeBgY(0, 0x600, BG_COORD_ADD) >= 0)
|
||||
{
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1329,7 +1329,7 @@ static bool32 MatchCall_PrintMessage(u8 taskId)
|
||||
if (!RunMatchCallTextPrinter(tWindowId) && !IsSEPlaying() && JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8));
|
||||
CopyWindowToVram(tWindowId, 2);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_GFX);
|
||||
PlaySE(SE_POKENAV_HANG_UP);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1340,7 +1340,7 @@ static bool32 MatchCall_PrintMessage(u8 taskId)
|
||||
static bool32 MatchCall_SlideWindowOut(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
if (ChangeBgY(0, 0x600, 2) <= -0x2000)
|
||||
if (ChangeBgY(0, 0x600, BG_COORD_SUB) <= -0x2000)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 14, 30, 6);
|
||||
DestroyTask(tIconTaskId);
|
||||
@@ -1357,7 +1357,7 @@ static bool32 MatchCall_EndCall(u8 taskId)
|
||||
u8 playerObjectId;
|
||||
if (!IsDma3ManagerBusyWithBgCopy() && !IsSEPlaying())
|
||||
{
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
if (!sMatchCallState.triggeredFromScript)
|
||||
{
|
||||
LoadMessageBoxAndBorderGfx();
|
||||
|
||||
@@ -449,7 +449,7 @@ static void DrawSongTextWindow(const u8 * str)
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0, 1, 1, DisableTextPrinters);
|
||||
gDisableTextPrinters = TRUE;
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void BardSing(struct Task *task, struct BardSong *song)
|
||||
@@ -1343,11 +1343,11 @@ static void PrintStoryList(void)
|
||||
u16 gameStatID = sStorytellerPtr->gameStatIDs[i];
|
||||
if (gameStatID == 0)
|
||||
break;
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, gText_Exit, 8, 16 * i + 1, 0xFF, NULL);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sStorytellerWindowId, GetFreeStorySlot() + 1, 0);
|
||||
CopyWindowToVram(sStorytellerWindowId, 3);
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, gText_Exit, 8, 16 * i + 1, TEXT_SKIP_DRAW, NULL);
|
||||
InitMenuInUpperLeftCornerNormal(sStorytellerWindowId, GetFreeStorySlot() + 1, 0);
|
||||
CopyWindowToVram(sStorytellerWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void Task_StoryListMenu(u8 taskId)
|
||||
|
||||
+216
-221
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -106,14 +106,14 @@ void ResetVramOamAndBgCntRegs(void)
|
||||
|
||||
void ResetAllBgsCoordinates(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
void SetVBlankHBlankCallbacksToNull(void)
|
||||
|
||||
+17
-17
@@ -268,7 +268,7 @@ static void MailboxMenu_ItemPrintFunc(u8 windowId, u32 itemId, u8 y)
|
||||
length = StringLength(buffer);
|
||||
if (length < PLAYER_NAME_LENGTH - 1)
|
||||
ConvertInternationalString(buffer, LANGUAGE_JAPANESE);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 8, y, 0, 0, sPlayerNameTextColors, -1, buffer);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 8, y, 0, 0, sPlayerNameTextColors, TEXT_SKIP_DRAW, buffer);
|
||||
}
|
||||
|
||||
u8 MailboxMenu_CreateList(struct PlayerPCItemPageStruct *page)
|
||||
@@ -740,30 +740,30 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
str = gText_MoveRelearnerBattleMoves;
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 0x80);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_MoveRelearnerPP;
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x29, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_MoveRelearnerPower;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x19, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_MoveRelearnerAccuracy;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x29, TEXT_SKIP_DRAW, NULL);
|
||||
if (chosenMove == LIST_CANCEL)
|
||||
{
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
return;
|
||||
}
|
||||
move = &gBattleMoves[chosenMove];
|
||||
str = gTypeNames[move->type];
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x19, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
x = 4 + GetStringWidth(FONT_NORMAL, gText_MoveRelearnerPP, 0);
|
||||
ConvertIntToDecimalStringN(buffer, move->pp, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, buffer, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, buffer, x, 0x29, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
if (move->power < 2)
|
||||
{
|
||||
@@ -774,7 +774,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
ConvertIntToDecimalStringN(buffer, move->power, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
str = buffer;
|
||||
}
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x19, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
if (move->accuracy == 0)
|
||||
{
|
||||
@@ -785,7 +785,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
ConvertIntToDecimalStringN(buffer, move->accuracy, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
str = buffer;
|
||||
}
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x29, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gMoveDescriptionPointers[chosenMove - 1];
|
||||
AddTextPrinterParameterized(0, FONT_NARROW, str, 0, 0x41, 0, NULL);
|
||||
@@ -801,30 +801,30 @@ static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
str = gText_MoveRelearnerContestMovesTitle;
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 0x80);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_MoveRelearnerAppeal;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x19, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gText_MoveRelearnerJam;
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x29, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
if (chosenMove == MENU_NOTHING_CHOSEN)
|
||||
{
|
||||
CopyWindowToVram(1, 2);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
return;
|
||||
}
|
||||
|
||||
move = &gContestMoves[chosenMove];
|
||||
str = gContestMoveTypeTextPointers[move->contestCategory];
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, 4, 0x19, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gContestEffectDescriptionPointers[move->effect];
|
||||
AddTextPrinterParameterized(1, FONT_NARROW, str, 0, 0x41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NARROW, str, 0, 0x41, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
CopyWindowToVram(1, 2);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||
|
||||
+2
-2
@@ -536,8 +536,8 @@ static void InitMirageTowerShake(u8 taskId)
|
||||
case 1:
|
||||
sMirageTowerGfxBuffer = (u8 *)AllocZeroed(MIRAGE_TOWER_GFX_LENGTH);
|
||||
sMirageTowerTilemapBuffer = (u8 *)AllocZeroed(BG_SCREEN_SIZE);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 2:
|
||||
|
||||
+2
-2
@@ -171,7 +171,7 @@ void DrawMoneyBox(int amount, u8 x, u8 y)
|
||||
sMoneyBoxWindowId = AddWindow(&template);
|
||||
FillWindowPixelBuffer(sMoneyBoxWindowId, PIXEL_FILL(0));
|
||||
PutWindowTilemap(sMoneyBoxWindowId);
|
||||
CopyWindowToVram(sMoneyBoxWindowId, 1);
|
||||
CopyWindowToVram(sMoneyBoxWindowId, COPYWIN_MAP);
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(sMoneyBoxWindowId, 0x214, 14, amount);
|
||||
AddMoneyLabelObject((8 * x) + 19, (8 * y) + 11);
|
||||
}
|
||||
@@ -180,7 +180,7 @@ void HideMoneyBox(void)
|
||||
{
|
||||
RemoveMoneyLabelObject();
|
||||
ClearStdWindowAndFrameToTransparent(sMoneyBoxWindowId, FALSE);
|
||||
CopyWindowToVram(sMoneyBoxWindowId, 2);
|
||||
CopyWindowToVram(sMoneyBoxWindowId, COPYWIN_GFX);
|
||||
RemoveWindow(sMoneyBoxWindowId);
|
||||
}
|
||||
|
||||
|
||||
@@ -687,7 +687,7 @@ static void DoMoveRelearnerMain(void)
|
||||
ShowTeachMoveText(TRUE);
|
||||
}
|
||||
RemoveScrollArrows();
|
||||
CopyWindowToVram(3, 2);
|
||||
CopyWindowToVram(3, COPYWIN_GFX);
|
||||
break;
|
||||
case MENU_STATE_TRY_OVERWRITE_MOVE:
|
||||
if (!gPaletteFade.active)
|
||||
|
||||
@@ -133,7 +133,7 @@ static void CB2_MysteryEventMenu(void)
|
||||
case 0:
|
||||
DrawStdFrameWithCustomTileAndPalette(0, 1, 1, 0xD);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
ShowBg(0);
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
|
||||
gMain.state++;
|
||||
@@ -181,7 +181,7 @@ static void CB2_MysteryEventMenu(void)
|
||||
DrawStdFrameWithCustomTileAndPalette(1, 1, 1, 0xD);
|
||||
PrintMysteryMenuText(1, gText_LoadingEvent, 1, 2, 0);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
gMain.state++;
|
||||
}
|
||||
else if (JOY_NEW(B_BUTTON))
|
||||
|
||||
+20
-20
@@ -387,14 +387,14 @@ static bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
|
||||
InitBgsFromTemplates(0, sBGTemplates, ARRAY_COUNT(sBGTemplates));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
|
||||
SetBgTilemapBuffer(3, Alloc(BG_SCREEN_SIZE));
|
||||
SetBgTilemapBuffer(2, Alloc(BG_SCREEN_SIZE));
|
||||
@@ -490,9 +490,9 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 isEReader, bool32 useCancel)
|
||||
options = gJPText_DecideStop;
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, 4, 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, header);
|
||||
AddTextPrinterParameterized4(0, FONT_SMALL, GetStringRightAlignXOffset(FONT_SMALL, options, 0xDE), 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, options);
|
||||
CopyWindowToVram(0, 2);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, 4, 1, 0, 0, sTextColors_TopMenu, TEXT_SKIP_DRAW, header);
|
||||
AddTextPrinterParameterized4(0, FONT_SMALL, GetStringRightAlignXOffset(FONT_SMALL, options, 0xDE), 1, 0, 0, sTextColors_TopMenu, TEXT_SKIP_DRAW, options);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
PutWindowTilemap(0);
|
||||
}
|
||||
|
||||
@@ -540,14 +540,14 @@ void AddTextPrinterToWindow1(const u8 *str)
|
||||
AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(1, 0x001, 0xF);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
CopyWindowToVram(1, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void ClearTextWindow(void)
|
||||
{
|
||||
rbox_fill_rectangle(1);
|
||||
ClearWindowTilemap(1);
|
||||
CopyWindowToVram(1, 1);
|
||||
CopyWindowToVram(1, COPYWIN_MAP);
|
||||
}
|
||||
|
||||
#define DOWN_ARROW_X 208
|
||||
@@ -649,7 +649,7 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi
|
||||
if (response != LIST_NOTHING_CHOSEN)
|
||||
{
|
||||
ClearWindowTilemap(2);
|
||||
CopyWindowToVram(2, 1);
|
||||
CopyWindowToVram(2, COPYWIN_MAP);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
@@ -671,7 +671,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
break;
|
||||
@@ -693,7 +693,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||
RemoveWindow(*windowId);
|
||||
return input;
|
||||
}
|
||||
@@ -702,7 +702,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||
RemoveWindow(*windowId);
|
||||
return MENU_B_PRESSED;
|
||||
}
|
||||
@@ -728,7 +728,7 @@ static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotTos
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
CopyWindowToVram(*windowId, COPYWIN_GFX);
|
||||
PutWindowTilemap(*windowId);
|
||||
(*textState)++;
|
||||
break;
|
||||
@@ -753,7 +753,7 @@ static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotTos
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||
RemoveWindow(*windowId);
|
||||
return input;
|
||||
}
|
||||
@@ -762,7 +762,7 @@ static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotTos
|
||||
*textState = 0;
|
||||
rbox_fill_rectangle(*windowId);
|
||||
ClearWindowTilemap(*windowId);
|
||||
CopyWindowToVram(*windowId, 1);
|
||||
CopyWindowToVram(*windowId, COPYWIN_MAP);
|
||||
RemoveWindow(*windowId);
|
||||
return LIST_CANCEL;
|
||||
}
|
||||
|
||||
+10
-10
@@ -479,7 +479,7 @@ static void DrawCardWindow(u8 whichWindow)
|
||||
}
|
||||
break;
|
||||
}
|
||||
CopyWindowToVram(windowId, 3);
|
||||
CopyWindowToVram(windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void CreateCardSprites(void)
|
||||
@@ -678,10 +678,10 @@ s32 WonderNews_Enter(void)
|
||||
case 1:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(26, 152));
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ);
|
||||
@@ -753,7 +753,7 @@ s32 WonderNews_Exit(bool32 useCancel)
|
||||
case 1:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0V, 0);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||
@@ -777,8 +777,8 @@ s32 WonderNews_Exit(bool32 useCancel)
|
||||
RemoveWindow(sWonderNewsData->windowIds[NEWS_WIN_TITLE]);
|
||||
break;
|
||||
case 4:
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
if (sWonderNewsData->arrowTaskId != TASK_NONE)
|
||||
{
|
||||
RemoveScrollIndicatorArrowPair(sWonderNewsData->arrowTaskId);
|
||||
@@ -905,8 +905,8 @@ static void DrawNewsWindows(void)
|
||||
sNews_TextColorTable[sWonderNewsData->gfx->bodyTextPal],
|
||||
0, sWonderNewsData->bodyText[i]);
|
||||
|
||||
CopyWindowToVram(sWonderNewsData->windowIds[NEWS_WIN_TITLE], 3);
|
||||
CopyWindowToVram(sWonderNewsData->windowIds[NEWS_WIN_BODY], 3);
|
||||
CopyWindowToVram(sWonderNewsData->windowIds[NEWS_WIN_TITLE], COPYWIN_FULL);
|
||||
CopyWindowToVram(sWonderNewsData->windowIds[NEWS_WIN_BODY], COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void UpdateNewsScroll(void)
|
||||
|
||||
+13
-13
@@ -516,14 +516,14 @@ static void NamingScreen_InitBGs(void)
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
|
||||
InitStandardTextBoxWindows();
|
||||
InitTextBoxGfxAndPrinters();
|
||||
@@ -741,7 +741,7 @@ static void DisplaySentToPCMessage(void)
|
||||
DrawDialogueFrame(0, 0);
|
||||
gTextFlags.canABSpeedUpPrint = TRUE;
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static bool8 MainState_WaitSentToPCMessage(void)
|
||||
@@ -1781,7 +1781,7 @@ static void DrawGenderIcon(void)
|
||||
StringCopy(text, gText_FemaleSymbol);
|
||||
isFemale = TRUE;
|
||||
}
|
||||
AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, 0x68, 1, sGenderColors[isFemale], -1, text);
|
||||
AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, 0x68, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1921,11 +1921,11 @@ static void DrawTextEntry(void)
|
||||
temp[1] = gText_ExpandedPlaceholder_Empty[0];
|
||||
extraWidth = (IsWideLetter(temp[0]) == TRUE) ? 2 : 0;
|
||||
|
||||
AddTextPrinterParameterized(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, temp, i * 8 + x + extraWidth, 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, temp, i * 8 + x + extraWidth, 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
TryDrawGenderIcon();
|
||||
CopyWindowToVram(sNamingScreen->windows[WIN_TEXT_ENTRY], 2);
|
||||
CopyWindowToVram(sNamingScreen->windows[WIN_TEXT_ENTRY], COPYWIN_GFX);
|
||||
PutWindowTilemap(sNamingScreen->windows[WIN_TEXT_ENTRY]);
|
||||
}
|
||||
|
||||
@@ -2012,7 +2012,7 @@ static void PrintControls(void)
|
||||
FillWindowPixelBuffer(sNamingScreen->windows[WIN_BANNER], PIXEL_FILL(15));
|
||||
AddTextPrinterParameterized3(sNamingScreen->windows[WIN_BANNER], FONT_SMALL, 2, 1, color, 0, gText_MoveOkBack);
|
||||
PutWindowTilemap(sNamingScreen->windows[WIN_BANNER]);
|
||||
CopyWindowToVram(sNamingScreen->windows[WIN_BANNER], 3);
|
||||
CopyWindowToVram(sNamingScreen->windows[WIN_BANNER], COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void CB2_NamingScreen(void)
|
||||
|
||||
+15
-17
@@ -173,14 +173,14 @@ void CB2_InitOptionMenu(void)
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sOptionMenuBgTemplates, ARRAY_COUNT(sOptionMenuBgTemplates));
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
InitWindows(sOptionMenuWinTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
@@ -251,7 +251,7 @@ void CB2_InitOptionMenu(void)
|
||||
FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]);
|
||||
HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]);
|
||||
|
||||
CopyWindowToVram(WIN_OPTIONS, 3);
|
||||
CopyWindowToVram(WIN_OPTIONS, COPYWIN_FULL);
|
||||
gMain.state++;
|
||||
break;
|
||||
}
|
||||
@@ -351,7 +351,7 @@ static void Task_OptionMenuProcessInput(u8 taskId)
|
||||
if (sArrowPressed)
|
||||
{
|
||||
sArrowPressed = FALSE;
|
||||
CopyWindowToVram(WIN_OPTIONS, 2);
|
||||
CopyWindowToVram(WIN_OPTIONS, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -400,7 +400,7 @@ static void DrawOptionMenuChoice(const u8 *text, u8 x, u8 y, u8 style)
|
||||
}
|
||||
|
||||
dst[i] = EOS;
|
||||
AddTextPrinterParameterized(WIN_OPTIONS, FONT_NORMAL, dst, x, y + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(WIN_OPTIONS, FONT_NORMAL, dst, x, y + 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static u8 TextSpeed_ProcessInput(u8 selection)
|
||||
@@ -626,8 +626,8 @@ static void ButtonMode_DrawChoices(u8 selection)
|
||||
static void DrawTextOption(void)
|
||||
{
|
||||
FillWindowPixelBuffer(WIN_TEXT_OPTION, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(WIN_TEXT_OPTION, FONT_NORMAL, gText_Option, 8, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(WIN_TEXT_OPTION, 3);
|
||||
AddTextPrinterParameterized(WIN_TEXT_OPTION, FONT_NORMAL, gText_Option, 8, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(WIN_TEXT_OPTION, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void DrawOptionMenuTexts(void)
|
||||
@@ -636,10 +636,8 @@ static void DrawOptionMenuTexts(void)
|
||||
|
||||
FillWindowPixelBuffer(WIN_OPTIONS, PIXEL_FILL(1));
|
||||
for (i = 0; i < MENUITEM_COUNT; i++)
|
||||
{
|
||||
AddTextPrinterParameterized(WIN_OPTIONS, FONT_NORMAL, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
CopyWindowToVram(WIN_OPTIONS, 3);
|
||||
AddTextPrinterParameterized(WIN_OPTIONS, FONT_NORMAL, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(WIN_OPTIONS, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
#define TILE_TOP_CORNER_L 0x1A2
|
||||
|
||||
+9
-9
@@ -1254,7 +1254,7 @@ static void PlayAmbientCry(void)
|
||||
return;
|
||||
pan = (Random() % 88) + 212;
|
||||
volume = (Random() % 30) + 50;
|
||||
PlayCry2(sAmbientCrySpecies, pan, volume, 1);
|
||||
PlayCry_NormalNoDucking(sAmbientCrySpecies, pan, volume, CRY_PRIORITY_AMBIENT);
|
||||
}
|
||||
|
||||
void UpdateAmbientCry(s16 *state, u16 *delayCounter)
|
||||
@@ -2101,14 +2101,14 @@ static void InitOverworldGraphicsRegisters(void)
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
ScheduleBgCopyTilemapToVram(3);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON
|
||||
| DISPCNT_OBJ_1D_MAP | DISPCNT_HBLANK_INTERVAL);
|
||||
ShowBg(0);
|
||||
|
||||
+123
-121
@@ -16,36 +16,38 @@ enum
|
||||
// These are structs for some unused palette system.
|
||||
// The full functionality of this system is unknown.
|
||||
|
||||
#define NUM_PALETTE_STRUCTS 16
|
||||
|
||||
struct PaletteStructTemplate
|
||||
{
|
||||
u16 uid;
|
||||
u16 id;
|
||||
u16 *src;
|
||||
u16 pst_field_8_0:1;
|
||||
u16 pst_field_8_1:9;
|
||||
bool16 pst_field_8_0:1;
|
||||
u16 unused:9;
|
||||
u16 size:5;
|
||||
u16 pst_field_9_7:1;
|
||||
u8 pst_field_A;
|
||||
u8 time1;
|
||||
u8 srcCount:5;
|
||||
u8 pst_field_B_5:3;
|
||||
u8 pst_field_C;
|
||||
u8 state:3;
|
||||
u8 time2;
|
||||
};
|
||||
|
||||
struct PaletteStruct
|
||||
{
|
||||
const struct PaletteStructTemplate *base;
|
||||
u32 ps_field_4_0:1;
|
||||
u16 ps_field_4_1:1;
|
||||
const struct PaletteStructTemplate *template;
|
||||
bool32 active:1;
|
||||
bool32 flag:1;
|
||||
u32 baseDestOffset:9;
|
||||
u16 destOffset:10;
|
||||
u16 srcIndex:7;
|
||||
u8 ps_field_8;
|
||||
u8 ps_field_9;
|
||||
u32 destOffset:10;
|
||||
u32 srcIndex:7;
|
||||
u8 countdown1;
|
||||
u8 countdown2;
|
||||
};
|
||||
|
||||
static void unused_sub_80A1CDC(struct PaletteStruct *, u32 *);
|
||||
static void unused_sub_80A1E40(struct PaletteStruct *, u32 *);
|
||||
static void unused_sub_80A1F00(struct PaletteStruct *);
|
||||
static u8 GetPaletteNumByUid(u16);
|
||||
static void PaletteStruct_Copy(struct PaletteStruct *, u32 *);
|
||||
static void PaletteStruct_Blend(struct PaletteStruct *, u32 *);
|
||||
static void PaletteStruct_TryEnd(struct PaletteStruct *);
|
||||
static void PaletteStruct_Reset(u8);
|
||||
static u8 PaletteStruct_GetPalNum(u16);
|
||||
static u8 UpdateNormalPaletteFade(void);
|
||||
static void BeginFastPaletteFadeInternal(u8);
|
||||
static u8 UpdateFastPaletteFade(void);
|
||||
@@ -58,15 +60,15 @@ static void Task_BlendPalettesGradually(u8 taskId);
|
||||
// unaligned word reads are issued in BlendPalette otherwise
|
||||
ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0};
|
||||
ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
|
||||
EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
|
||||
EWRAM_DATA struct PaletteStruct sPaletteStructs[NUM_PALETTE_STRUCTS] = {0};
|
||||
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
static EWRAM_DATA u32 sFiller = 0;
|
||||
static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
|
||||
|
||||
static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
|
||||
.uid = 0xFFFF,
|
||||
.pst_field_B_5 = 1
|
||||
.id = 0xFFFF,
|
||||
.state = 1
|
||||
};
|
||||
|
||||
static const u8 sRoundedDownGrayscaleMap[] = {
|
||||
@@ -82,20 +84,20 @@ static const u8 sRoundedDownGrayscaleMap[] = {
|
||||
void LoadCompressedPalette(const u32 *src, u16 offset, u16 size)
|
||||
{
|
||||
LZDecompressWram(src, gPaletteDecompressionBuffer);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferFaded + offset, size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void LoadPalette(const void *src, u16 offset, u16 size)
|
||||
{
|
||||
CpuCopy16(src, gPlttBufferUnfaded + offset, size);
|
||||
CpuCopy16(src, gPlttBufferFaded + offset, size);
|
||||
CpuCopy16(src, &gPlttBufferUnfaded[offset], size);
|
||||
CpuCopy16(src, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void FillPalette(u16 value, u16 offset, u16 size)
|
||||
{
|
||||
CpuFill16(value, gPlttBufferUnfaded + offset, size);
|
||||
CpuFill16(value, gPlttBufferFaded + offset, size);
|
||||
CpuFill16(value, &gPlttBufferUnfaded[offset], size);
|
||||
CpuFill16(value, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void TransferPlttBuffer(void)
|
||||
@@ -105,7 +107,7 @@ void TransferPlttBuffer(void)
|
||||
void *src = gPlttBufferFaded;
|
||||
void *dest = (void *)PLTT;
|
||||
DmaCopy16(3, src, dest, PLTT_SIZE);
|
||||
sPlttBufferTransferPending = 0;
|
||||
sPlttBufferTransferPending = FALSE;
|
||||
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
|
||||
UpdateBlendRegisters();
|
||||
}
|
||||
@@ -135,13 +137,13 @@ void ResetPaletteFade(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
ResetPaletteStruct(i);
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
|
||||
PaletteStruct_Reset(i);
|
||||
|
||||
ResetPaletteFadeControl();
|
||||
}
|
||||
|
||||
void ReadPlttIntoBuffers(void)
|
||||
static void ReadPlttIntoBuffers(void)
|
||||
{
|
||||
u16 i;
|
||||
u16 *pltt = (u16 *)PLTT;
|
||||
@@ -178,7 +180,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
|
||||
gPaletteFade.y = startY;
|
||||
gPaletteFade.targetY = targetY;
|
||||
gPaletteFade.blendColor = color;
|
||||
gPaletteFade.active = 1;
|
||||
gPaletteFade.active = TRUE;
|
||||
gPaletteFade.mode = NORMAL_FADE;
|
||||
|
||||
if (startY < targetY)
|
||||
@@ -189,9 +191,9 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
|
||||
UpdatePaletteFade();
|
||||
|
||||
temp = gPaletteFade.bufferTransferDisabled;
|
||||
gPaletteFade.bufferTransferDisabled = 0;
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE);
|
||||
sPlttBufferTransferPending = 0;
|
||||
sPlttBufferTransferPending = FALSE;
|
||||
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
|
||||
UpdateBlendRegisters();
|
||||
gPaletteFade.bufferTransferDisabled = temp;
|
||||
@@ -199,55 +201,55 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
|
||||
}
|
||||
}
|
||||
|
||||
bool8 unref_sub_80A1C1C(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5)
|
||||
// Unused
|
||||
static bool8 BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor)
|
||||
{
|
||||
ReadPlttIntoBuffers();
|
||||
return BeginNormalPaletteFade(a1, a2, a3, a4, a5);
|
||||
return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor);
|
||||
}
|
||||
|
||||
void unref_sub_80A1C64(u8 a1, u32 *a2)
|
||||
// Unused
|
||||
static void PaletteStruct_Run(u8 a1, u32 *unkFlags)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
|
||||
{
|
||||
struct PaletteStruct *palstruct = &sPaletteStructs[i];
|
||||
if (palstruct->ps_field_4_0)
|
||||
if (palstruct->active)
|
||||
{
|
||||
if (palstruct->base->pst_field_8_0 == a1)
|
||||
if (palstruct->template->pst_field_8_0 == a1)
|
||||
{
|
||||
u8 val1 = palstruct->srcIndex;
|
||||
u8 val2 = palstruct->base->srcCount;
|
||||
if (val1 == val2)
|
||||
if (palstruct->srcIndex == palstruct->template->srcCount)
|
||||
{
|
||||
unused_sub_80A1F00(palstruct);
|
||||
if (!palstruct->ps_field_4_0)
|
||||
PaletteStruct_TryEnd(palstruct);
|
||||
if (!palstruct->active)
|
||||
continue;
|
||||
}
|
||||
if (palstruct->ps_field_8 == 0)
|
||||
unused_sub_80A1CDC(palstruct, a2);
|
||||
if (palstruct->countdown1 == 0)
|
||||
PaletteStruct_Copy(palstruct, unkFlags);
|
||||
else
|
||||
palstruct->ps_field_8--;
|
||||
palstruct->countdown1--;
|
||||
|
||||
unused_sub_80A1E40(palstruct, a2);
|
||||
PaletteStruct_Blend(palstruct, unkFlags);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2)
|
||||
static void PaletteStruct_Copy(struct PaletteStruct *a1, u32 *unkFlags)
|
||||
{
|
||||
s32 srcIndex;
|
||||
s32 srcCount;
|
||||
u8 i = 0;
|
||||
u16 srcOffset = a1->srcIndex * a1->base->size;
|
||||
u16 srcOffset = a1->srcIndex * a1->template->size;
|
||||
|
||||
if (!a1->base->pst_field_8_0)
|
||||
if (!a1->template->pst_field_8_0)
|
||||
{
|
||||
while (i < a1->base->size)
|
||||
while (i < a1->template->size)
|
||||
{
|
||||
gPlttBufferUnfaded[a1->destOffset] = a1->base->src[srcOffset];
|
||||
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset];
|
||||
gPlttBufferUnfaded[a1->destOffset] = a1->template->src[srcOffset];
|
||||
gPlttBufferFaded[a1->destOffset] = a1->template->src[srcOffset];
|
||||
i++;
|
||||
a1->destOffset++;
|
||||
srcOffset++;
|
||||
@@ -255,9 +257,9 @@ static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2)
|
||||
}
|
||||
else
|
||||
{
|
||||
while (i < a1->base->size)
|
||||
while (i < a1->template->size)
|
||||
{
|
||||
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset];
|
||||
gPlttBufferFaded[a1->destOffset] = a1->template->src[srcOffset];
|
||||
i++;
|
||||
a1->destOffset++;
|
||||
srcOffset++;
|
||||
@@ -265,33 +267,33 @@ static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2)
|
||||
}
|
||||
|
||||
a1->destOffset = a1->baseDestOffset;
|
||||
a1->ps_field_8 = a1->base->pst_field_A;
|
||||
a1->countdown1 = a1->template->time1;
|
||||
a1->srcIndex++;
|
||||
|
||||
srcIndex = a1->srcIndex;
|
||||
srcCount = a1->base->srcCount;
|
||||
srcCount = a1->template->srcCount;
|
||||
|
||||
if (srcIndex >= srcCount)
|
||||
{
|
||||
if (a1->ps_field_9)
|
||||
a1->ps_field_9--;
|
||||
if (a1->countdown2)
|
||||
a1->countdown2--;
|
||||
a1->srcIndex = 0;
|
||||
}
|
||||
|
||||
*a2 |= 1 << (a1->baseDestOffset >> 4);
|
||||
*unkFlags |= 1 << (a1->baseDestOffset >> 4);
|
||||
}
|
||||
|
||||
static void unused_sub_80A1E40(struct PaletteStruct *a1, u32 *a2)
|
||||
static void PaletteStruct_Blend(struct PaletteStruct *a1, u32 *unkFlags)
|
||||
{
|
||||
if (gPaletteFade.active && ((1 << (a1->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes))
|
||||
{
|
||||
if (!a1->base->pst_field_8_0)
|
||||
if (!a1->template->pst_field_8_0)
|
||||
{
|
||||
if (gPaletteFade.delayCounter != gPaletteFade_delay)
|
||||
{
|
||||
BlendPalette(
|
||||
a1->baseDestOffset,
|
||||
a1->base->size,
|
||||
a1->template->size,
|
||||
gPaletteFade.y,
|
||||
gPaletteFade.blendColor);
|
||||
}
|
||||
@@ -300,64 +302,64 @@ static void unused_sub_80A1E40(struct PaletteStruct *a1, u32 *a2)
|
||||
{
|
||||
if (!gPaletteFade.delayCounter)
|
||||
{
|
||||
if (a1->ps_field_8 != a1->base->pst_field_A)
|
||||
if (a1->countdown1 != a1->template->time1)
|
||||
{
|
||||
u32 srcOffset = a1->srcIndex * a1->base->size;
|
||||
u32 srcOffset = a1->srcIndex * a1->template->size;
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < a1->base->size; i++)
|
||||
gPlttBufferFaded[a1->baseDestOffset + i] = a1->base->src[srcOffset + i];
|
||||
for (i = 0; i < a1->template->size; i++)
|
||||
gPlttBufferFaded[a1->baseDestOffset + i] = a1->template->src[srcOffset + i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void unused_sub_80A1F00(struct PaletteStruct *a1)
|
||||
static void PaletteStruct_TryEnd(struct PaletteStruct *pal)
|
||||
{
|
||||
if (!a1->ps_field_9)
|
||||
if (pal->countdown2 == 0)
|
||||
{
|
||||
s32 val = a1->base->pst_field_B_5;
|
||||
s32 state = pal->template->state;
|
||||
|
||||
if (!val)
|
||||
if (state == 0)
|
||||
{
|
||||
a1->srcIndex = 0;
|
||||
a1->ps_field_8 = a1->base->pst_field_A;
|
||||
a1->ps_field_9 = a1->base->pst_field_C;
|
||||
a1->destOffset = a1->baseDestOffset;
|
||||
pal->srcIndex = 0;
|
||||
pal->countdown1 = pal->template->time1;
|
||||
pal->countdown2 = pal->template->time2;
|
||||
pal->destOffset = pal->baseDestOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (val < 0)
|
||||
if (state < 0)
|
||||
return;
|
||||
if (val > 2)
|
||||
if (state > 2)
|
||||
return;
|
||||
ResetPaletteStructByUid(a1->base->uid);
|
||||
PaletteStruct_ResetById(pal->template->id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
a1->ps_field_9--;
|
||||
pal->countdown2--;
|
||||
}
|
||||
}
|
||||
|
||||
void ResetPaletteStructByUid(u16 a1)
|
||||
void PaletteStruct_ResetById(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(a1);
|
||||
if (paletteNum != 16)
|
||||
ResetPaletteStruct(paletteNum);
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
PaletteStruct_Reset(paletteNum);
|
||||
}
|
||||
|
||||
void ResetPaletteStruct(u8 paletteNum)
|
||||
static void PaletteStruct_Reset(u8 paletteNum)
|
||||
{
|
||||
sPaletteStructs[paletteNum].base = &gDummyPaletteStructTemplate;
|
||||
sPaletteStructs[paletteNum].ps_field_4_0 = 0;
|
||||
sPaletteStructs[paletteNum].template = &gDummyPaletteStructTemplate;
|
||||
sPaletteStructs[paletteNum].active = FALSE;
|
||||
sPaletteStructs[paletteNum].baseDestOffset = 0;
|
||||
sPaletteStructs[paletteNum].destOffset = 0;
|
||||
sPaletteStructs[paletteNum].srcIndex = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_8 = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_9 = 0;
|
||||
sPaletteStructs[paletteNum].flag = 0;
|
||||
sPaletteStructs[paletteNum].countdown1 = 0;
|
||||
sPaletteStructs[paletteNum].countdown2 = 0;
|
||||
}
|
||||
|
||||
void ResetPaletteFadeControl(void)
|
||||
@@ -368,41 +370,41 @@ void ResetPaletteFadeControl(void)
|
||||
gPaletteFade.y = 0;
|
||||
gPaletteFade.targetY = 0;
|
||||
gPaletteFade.blendColor = 0;
|
||||
gPaletteFade.active = 0;
|
||||
gPaletteFade.active = FALSE;
|
||||
gPaletteFade.multipurpose2 = 0; // assign same value twice
|
||||
gPaletteFade.yDec = 0;
|
||||
gPaletteFade.bufferTransferDisabled = 0;
|
||||
gPaletteFade.shouldResetBlendRegisters = 0;
|
||||
gPaletteFade.hardwareFadeFinishing = 0;
|
||||
gPaletteFade.softwareFadeFinishing = 0;
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
gPaletteFade.shouldResetBlendRegisters = FALSE;
|
||||
gPaletteFade.hardwareFadeFinishing = FALSE;
|
||||
gPaletteFade.softwareFadeFinishing = FALSE;
|
||||
gPaletteFade.softwareFadeFinishingCounter = 0;
|
||||
gPaletteFade.objPaletteToggle = 0;
|
||||
gPaletteFade.deltaY = 2;
|
||||
}
|
||||
|
||||
void unref_sub_80A2048(u16 uid)
|
||||
static void PaletteStruct_SetUnusedFlag(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(uid);
|
||||
if (paletteNum != 16)
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 1;
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
sPaletteStructs[paletteNum].flag = TRUE;
|
||||
}
|
||||
|
||||
void unref_sub_80A2074(u16 uid)
|
||||
static void PaletteStruct_ClearUnusedFlag(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(uid);
|
||||
if (paletteNum != 16)
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 0;
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
sPaletteStructs[paletteNum].flag = FALSE;
|
||||
}
|
||||
|
||||
static u8 GetPaletteNumByUid(u16 uid)
|
||||
static u8 PaletteStruct_GetPalNum(u16 id)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
if (sPaletteStructs[i].base->uid == uid)
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
|
||||
if (sPaletteStructs[i].template->id == id)
|
||||
return i;
|
||||
|
||||
return 16;
|
||||
return NUM_PALETTE_STRUCTS;
|
||||
}
|
||||
|
||||
static u8 UpdateNormalPaletteFade(void)
|
||||
@@ -460,7 +462,7 @@ static u8 UpdateNormalPaletteFade(void)
|
||||
if (gPaletteFade.y == gPaletteFade.targetY)
|
||||
{
|
||||
gPaletteFade_selectedPalettes = 0;
|
||||
gPaletteFade.softwareFadeFinishing = 1;
|
||||
gPaletteFade.softwareFadeFinishing = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -557,7 +559,7 @@ static void BeginFastPaletteFadeInternal(u8 submode)
|
||||
{
|
||||
gPaletteFade.y = 31;
|
||||
gPaletteFade_submode = submode & 0x3F;
|
||||
gPaletteFade.active = 1;
|
||||
gPaletteFade.active = TRUE;
|
||||
gPaletteFade.mode = FAST_FADE;
|
||||
|
||||
if (submode == FAST_FADE_IN_FROM_BLACK)
|
||||
@@ -719,7 +721,7 @@ static u8 UpdateFastPaletteFade(void)
|
||||
}
|
||||
|
||||
gPaletteFade.mode = NORMAL_FADE;
|
||||
gPaletteFade.softwareFadeFinishing = 1;
|
||||
gPaletteFade.softwareFadeFinishing = TRUE;
|
||||
}
|
||||
|
||||
// gPaletteFade.active cannot change since the last time it was checked. So this
|
||||
@@ -734,10 +736,10 @@ void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 should
|
||||
gPaletteFade_delay = delay;
|
||||
gPaletteFade.y = y;
|
||||
gPaletteFade.targetY = targetY;
|
||||
gPaletteFade.active = 1;
|
||||
gPaletteFade.active = TRUE;
|
||||
gPaletteFade.mode = HARDWARE_FADE;
|
||||
gPaletteFade.shouldResetBlendRegisters = shouldResetBlendRegisters & 1;
|
||||
gPaletteFade.hardwareFadeFinishing = 0;
|
||||
gPaletteFade.hardwareFadeFinishing = FALSE;
|
||||
|
||||
if (y < targetY)
|
||||
gPaletteFade.yDec = 0;
|
||||
@@ -784,7 +786,7 @@ static u8 UpdateHardwarePaletteFade(void)
|
||||
gPaletteFade_blendCnt = 0;
|
||||
gPaletteFade.y = 0;
|
||||
}
|
||||
gPaletteFade.shouldResetBlendRegisters = 0;
|
||||
gPaletteFade.shouldResetBlendRegisters = FALSE;
|
||||
}
|
||||
|
||||
// gPaletteFade.active cannot change since the last time it was checked. So this
|
||||
@@ -798,11 +800,11 @@ static void UpdateBlendRegisters(void)
|
||||
SetGpuReg(REG_OFFSET_BLDY, gPaletteFade.y);
|
||||
if (gPaletteFade.hardwareFadeFinishing)
|
||||
{
|
||||
gPaletteFade.hardwareFadeFinishing = 0;
|
||||
gPaletteFade.hardwareFadeFinishing = FALSE;
|
||||
gPaletteFade.mode = 0;
|
||||
gPaletteFade_blendCnt = 0;
|
||||
gPaletteFade.y = 0;
|
||||
gPaletteFade.active = 0;
|
||||
gPaletteFade.active = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -812,8 +814,8 @@ static bool8 IsSoftwarePaletteFadeFinishing(void)
|
||||
{
|
||||
if (gPaletteFade.softwareFadeFinishingCounter == 4)
|
||||
{
|
||||
gPaletteFade.active = 0;
|
||||
gPaletteFade.softwareFadeFinishing = 0;
|
||||
gPaletteFade.active = FALSE;
|
||||
gPaletteFade.softwareFadeFinishing = FALSE;
|
||||
gPaletteFade.softwareFadeFinishingCounter = 0;
|
||||
}
|
||||
else
|
||||
@@ -950,7 +952,7 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b
|
||||
#define tId data[8]
|
||||
|
||||
// Blend the selected palettes in a series of steps toward or away from the color.
|
||||
// Only used by the Groudon/Kyogre fight scene to flash the screen for lightning
|
||||
// Only used by the Groudon/Kyogre fight scene to flash the screen for lightning.
|
||||
// One call is used to fade the bg from white, while another fades the duo from black
|
||||
void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id)
|
||||
{
|
||||
@@ -987,8 +989,8 @@ static bool32 IsBlendPalettesGraduallyTaskActive(u8 id)
|
||||
|
||||
for (i = 0; i < NUM_TASKS; i++)
|
||||
if ((gTasks[i].isActive == TRUE)
|
||||
&& (gTasks[i].func == Task_BlendPalettesGradually)
|
||||
&& (gTasks[i].tId == id))
|
||||
&& (gTasks[i].func == Task_BlendPalettesGradually)
|
||||
&& (gTasks[i].tId == id))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
|
||||
+15
-15
@@ -754,7 +754,7 @@ static void RenderPartyMenuBox(u8 slot)
|
||||
LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON);
|
||||
else
|
||||
LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_MULTI_ALT);
|
||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
|
||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, COPYWIN_GFX);
|
||||
PutWindowTilemap(sPartyMenuBoxes[slot].windowId);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
@@ -764,7 +764,7 @@ static void RenderPartyMenuBox(u8 slot)
|
||||
{
|
||||
DrawEmptySlot(sPartyMenuBoxes[slot].windowId);
|
||||
LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON);
|
||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
|
||||
CopyWindowToVram(sPartyMenuBoxes[slot].windowId, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2036,9 +2036,9 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf)
|
||||
confirmWindowId = AddWindow(&sConfirmButtonWindowTemplate);
|
||||
FillWindowPixelBuffer(confirmWindowId, PIXEL_FILL(0));
|
||||
mainOffset = GetStringCenterAlignXOffset(FONT_SMALL, gMenuText_Confirm, 48);
|
||||
AddTextPrinterParameterized4(confirmWindowId, FONT_SMALL, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm);
|
||||
AddTextPrinterParameterized4(confirmWindowId, FONT_SMALL, mainOffset, 1, 0, 0, sFontColorTable[0], TEXT_SKIP_DRAW, gMenuText_Confirm);
|
||||
PutWindowTilemap(confirmWindowId);
|
||||
CopyWindowToVram(confirmWindowId, 2);
|
||||
CopyWindowToVram(confirmWindowId, COPYWIN_GFX);
|
||||
cancelWindowId = AddWindow(&sMultiCancelButtonWindowTemplate);
|
||||
offset = 0;
|
||||
}
|
||||
@@ -2053,15 +2053,15 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf)
|
||||
if (gPartyMenu.menuType != PARTY_MENU_TYPE_SPIN_TRADE)
|
||||
{
|
||||
mainOffset = GetStringCenterAlignXOffset(FONT_SMALL, gText_Cancel, 48);
|
||||
AddTextPrinterParameterized3(cancelWindowId, FONT_SMALL, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel);
|
||||
AddTextPrinterParameterized3(cancelWindowId, FONT_SMALL, mainOffset + offset, 1, sFontColorTable[0], TEXT_SKIP_DRAW, gText_Cancel);
|
||||
}
|
||||
else
|
||||
{
|
||||
mainOffset = GetStringCenterAlignXOffset(FONT_SMALL, gText_Cancel2, 48);
|
||||
AddTextPrinterParameterized3(cancelWindowId, FONT_SMALL, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2);
|
||||
AddTextPrinterParameterized3(cancelWindowId, FONT_SMALL, mainOffset + offset, 1, sFontColorTable[0], TEXT_SKIP_DRAW, gText_Cancel2);
|
||||
}
|
||||
PutWindowTilemap(cancelWindowId);
|
||||
CopyWindowToVram(cancelWindowId, 2);
|
||||
CopyWindowToVram(cancelWindowId, COPYWIN_GFX);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
}
|
||||
@@ -2354,7 +2354,7 @@ static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *men
|
||||
FillWindowPixelRect(menuBox->windowId, 0x0D, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21], menuBox->infoRects->dimensions[22] - hpFraction, 1);
|
||||
FillWindowPixelRect(menuBox->windowId, 0x02, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21] + 1, menuBox->infoRects->dimensions[22] - hpFraction, 2);
|
||||
}
|
||||
CopyWindowToVram(menuBox->windowId, 2);
|
||||
CopyWindowToVram(menuBox->windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonDescriptionText(u8 stringID, struct PartyMenuBox *menuBox, u8 c)
|
||||
@@ -2481,7 +2481,7 @@ static u8 DisplaySelectionWindow(u8 windowType)
|
||||
AddTextPrinterParameterized4(sPartyMenuInternal->windowId[0], FONT_NORMAL, cursorDimension, (i * 16) + 1, letterSpacing, 0, sFontColorTable[fontColorsId], 0, sCursorOptions[sPartyMenuInternal->actions[i]].text);
|
||||
}
|
||||
|
||||
InitMenuInUpperLeftCorner(sPartyMenuInternal->windowId[0], sPartyMenuInternal->numActions, 0, 1);
|
||||
InitMenuInUpperLeftCorner(sPartyMenuInternal->windowId[0], sPartyMenuInternal->numActions, 0, TRUE);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
|
||||
return sPartyMenuInternal->windowId[0];
|
||||
@@ -4504,11 +4504,11 @@ static void ShowMoveSelectWindow(u8 slot)
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
move = GetMonData(&gPlayerParty[slot], MON_DATA_MOVE1 + i);
|
||||
AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
if (move != MOVE_NONE)
|
||||
moveCount++;
|
||||
}
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, moveCount, 0);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, moveCount, 0);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
@@ -4954,7 +4954,7 @@ static void DisplayLevelUpStatsPg1(u8 taskId)
|
||||
|
||||
arrayPtr[12] = CreateLevelUpStatsWindow();
|
||||
DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
CopyWindowToVram(arrayPtr[12], 2);
|
||||
CopyWindowToVram(arrayPtr[12], COPYWIN_GFX);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
@@ -4963,7 +4963,7 @@ static void DisplayLevelUpStatsPg2(u8 taskId)
|
||||
s16 *arrayPtr = sPartyMenuInternal->data;
|
||||
|
||||
DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
CopyWindowToVram(arrayPtr[12], 2);
|
||||
CopyWindowToVram(arrayPtr[12], COPYWIN_GFX);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
@@ -6056,7 +6056,7 @@ static void Task_InitMultiPartnerPartySlideIn(u8 taskId)
|
||||
// The first slide step also sets the sprites offscreen
|
||||
gTasks[taskId].tXPos = 256;
|
||||
SlideMultiPartyMenuBoxSpritesOneStep(taskId);
|
||||
ChangeBgX(2, 0x10000, 0);
|
||||
ChangeBgX(2, 0x10000, BG_COORD_SET);
|
||||
gTasks[taskId].func = Task_MultiPartnerPartySlideIn;
|
||||
}
|
||||
|
||||
@@ -6112,7 +6112,7 @@ static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId)
|
||||
MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].statusSpriteId, tXPos - 8);
|
||||
}
|
||||
}
|
||||
ChangeBgX(2, 0x800, 1);
|
||||
ChangeBgX(2, 0x800, BG_COORD_ADD);
|
||||
}
|
||||
|
||||
#undef tXpos
|
||||
|
||||
+8
-8
@@ -399,8 +399,8 @@ static void InitPlayerPCMenu(u8 taskId)
|
||||
windowTemplate.width = GetMaxWidthInSubsetOfMenuTable(sPlayerPCMenuActions, sTopMenuOptionOrder, sTopMenuNumOptions);
|
||||
tWindowId = AddWindow(&windowTemplate);
|
||||
SetStandardWindowBorderStyle(tWindowId, 0);
|
||||
sub_81995E4(tWindowId, sTopMenuNumOptions, sPlayerPCMenuActions, sTopMenuOptionOrder);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(tWindowId, sTopMenuNumOptions, 0);
|
||||
PrintMenuActionTextsInUpperLeftCorner(tWindowId, sTopMenuNumOptions, sPlayerPCMenuActions, sTopMenuOptionOrder);
|
||||
InitMenuInUpperLeftCornerNormal(tWindowId, sTopMenuNumOptions, 0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gTasks[taskId].func = PlayerPCProcessMenuInput;
|
||||
}
|
||||
@@ -511,7 +511,7 @@ static void InitItemStorageMenu(u8 taskId, u8 var)
|
||||
tWindowId = AddWindow(&windowTemplate);
|
||||
SetStandardWindowBorderStyle(tWindowId, 0);
|
||||
PrintMenuTable(tWindowId, ARRAY_COUNT(sItemStorage_MenuActions), sItemStorage_MenuActions);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(tWindowId, 4, var);
|
||||
InitMenuInUpperLeftCornerNormal(tWindowId, 4, var);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemStorageMenuPrint(sItemStorage_OptionDescriptions[var]);
|
||||
}
|
||||
@@ -753,7 +753,7 @@ static void Mailbox_PrintMailOptions(u8 taskId)
|
||||
{
|
||||
u8 windowId = MailboxMenu_AddWindow(MAILBOXWIN_OPTIONS);
|
||||
PrintMenuTable(windowId, ARRAY_COUNT(gMailboxMailOptions), gMailboxMailOptions);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, 4, 0);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, 4, 0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gTasks[taskId].func = Mailbox_MailOptionsProcessInput;
|
||||
}
|
||||
@@ -1027,13 +1027,13 @@ static void ItemStorage_PrintMenuItem(u8 windowId, u32 id, u8 yOffset)
|
||||
if (sItemStorageMenu->toSwapPos != NOT_SWAPPING)
|
||||
{
|
||||
if (sItemStorageMenu->toSwapPos == (u8)id)
|
||||
ItemStorage_DrawSwapArrow(yOffset, 0, TEXT_SPEED_FF);
|
||||
ItemStorage_DrawSwapArrow(yOffset, 0, TEXT_SKIP_DRAW);
|
||||
else
|
||||
ItemStorage_DrawSwapArrow(yOffset, 0xFF, TEXT_SPEED_FF);
|
||||
ItemStorage_DrawSwapArrow(yOffset, 0xFF, TEXT_SKIP_DRAW);
|
||||
}
|
||||
ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1Ptr->pcItems[id].quantity, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, gStringVar4, GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 104), yOffset, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, gStringVar4, GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 104), yOffset, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1144,7 +1144,7 @@ static void ItemStorage_CreateListMenu(u8 taskId)
|
||||
text = gText_WithdrawItem;
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, text, 104);
|
||||
AddTextPrinterParameterized(sItemStorageMenu->windowIds[ITEMPC_WIN_TITLE], FONT_NORMAL, text, x, 1, 0, NULL);
|
||||
CopyWindowToVram(sItemStorageMenu->windowIds[ITEMPC_WIN_ICON], 2);
|
||||
CopyWindowToVram(sItemStorageMenu->windowIds[ITEMPC_WIN_ICON], COPYWIN_GFX);
|
||||
ItemStorage_CompactList();
|
||||
ItemStorage_CompactCursor();
|
||||
ItemStorage_RefreshListMenu();
|
||||
|
||||
+10
-7
@@ -641,7 +641,7 @@ static void SpriteCB_BallThrow_Shake(struct Sprite *sprite)
|
||||
#define tCryTaskSpecies data[0]
|
||||
#define tCryTaskPan data[1]
|
||||
#define tCryTaskWantedCry data[2]
|
||||
#define tCryTaskBattler data[3]
|
||||
#define tCryTaskBattler data[3]
|
||||
#define tCryTaskMonSpriteId data[4]
|
||||
#define tCryTaskMonPtr1 data[5]
|
||||
#define tCryTaskMonPtr2 data[6]
|
||||
@@ -665,10 +665,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId)
|
||||
gTasks[taskId].tCryTaskState = wantedCry + 1;
|
||||
break;
|
||||
case 1:
|
||||
// Play single cry
|
||||
if (ShouldPlayNormalMonCry(mon) == TRUE)
|
||||
PlayCry3(species, pan, 0);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_NORMAL);
|
||||
else
|
||||
PlayCry3(species, pan, 11);
|
||||
PlayCry_ByMode(species, pan, CRY_MODE_WEAK);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE;
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
@@ -680,10 +681,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId)
|
||||
case 20:
|
||||
if (gTasks[taskId].tCryTaskFrames == 0)
|
||||
{
|
||||
// Play first doubles cry
|
||||
if (ShouldPlayNormalMonCry(mon) == TRUE)
|
||||
PlayCry4(species, pan, 1);
|
||||
PlayCry_ReleaseDouble(species, pan, CRY_MODE_DOUBLES);
|
||||
else
|
||||
PlayCry4(species, pan, 12);
|
||||
PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK_DOUBLES);
|
||||
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE;
|
||||
DestroyTask(taskId);
|
||||
@@ -719,10 +721,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId)
|
||||
gTasks[taskId].tCryTaskFrames--;
|
||||
break;
|
||||
}
|
||||
// Play second doubles cry
|
||||
if (ShouldPlayNormalMonCry(mon) == TRUE)
|
||||
PlayCry4(species, pan, 0);
|
||||
PlayCry_ReleaseDouble(species, pan, CRY_MODE_NORMAL);
|
||||
else
|
||||
PlayCry4(species, pan, 11);
|
||||
PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK);
|
||||
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE;
|
||||
DestroyTask(taskId);
|
||||
|
||||
+3
-3
@@ -802,7 +802,7 @@ static void DrawPokeblockInfo(s32 pkblId)
|
||||
for (i = 0; i < FLAVOR_COUNT; i++)
|
||||
CopyToBgTilemapBufferRect(2, rectTilemapSrc, (i / 3 * 6) + 1, (i % 3 * 2) + 13, 1, 2);
|
||||
|
||||
CopyWindowToVram(7, 2);
|
||||
CopyWindowToVram(7, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
@@ -1149,8 +1149,8 @@ static void ShowPokeblockActionsWindow(u8 taskId)
|
||||
|
||||
DestroyScrollArrows();
|
||||
DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 1, 0xE);
|
||||
sub_81995E4(tWindowId, sPokeblockMenu->numActions, sPokeblockMenuActions, sPokeblockMenu->pokeblockActionIds);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(tWindowId, sPokeblockMenu->numActions, 0);
|
||||
PrintMenuActionTextsInUpperLeftCorner(tWindowId, sPokeblockMenu->numActions, sPokeblockMenuActions, sPokeblockMenu->pokeblockActionIds);
|
||||
InitMenuInUpperLeftCornerNormal(tWindowId, sPokeblockMenu->numActions, 0);
|
||||
PutWindowTilemap(tWindowId);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
|
||||
|
||||
@@ -945,7 +945,7 @@ static void SpriteCB_MonJumpForPokeblock(struct Sprite* sprite)
|
||||
|
||||
// Play cry at jump peak
|
||||
if (sprite->sSpeed == 0)
|
||||
PlayCry1(sprite->sSpecies, 0);
|
||||
PlayCry_Normal(sprite->sSpecies, 0);
|
||||
|
||||
if (sprite->sSpeed == 9)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
|
||||
+31
-31
@@ -2081,7 +2081,7 @@ static bool8 LoadPokedexListPage(u8 page)
|
||||
InitWindows(sPokemonList_WindowTemplate);
|
||||
DeactivateAllTextPrinters();
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
gMain.state = 1;
|
||||
break;
|
||||
case 1:
|
||||
@@ -2324,7 +2324,7 @@ static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8* str, u8 left
|
||||
color[0] = TEXT_COLOR_TRANSPARENT;
|
||||
color[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
color[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
// u16 ignored is passed but never used
|
||||
@@ -2412,7 +2412,7 @@ static void CreateMonListEntry(u8 position, u16 b, u16 ignored)
|
||||
}
|
||||
break;
|
||||
}
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void CreateMonDexNum(u16 entryNum, u8 left, u8 top, u16 unused)
|
||||
@@ -3167,7 +3167,7 @@ static void PrintInfoScreenText(const u8* str, u8 left, u8 top)
|
||||
color[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
color[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, left, top, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, left, top, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
#define tScrolling data[0]
|
||||
@@ -3248,7 +3248,7 @@ static void Task_LoadInfoScreen(u8 taskId)
|
||||
PutWindowTilemap(WIN_INFO);
|
||||
PutWindowTilemap(WIN_FOOTPRINT);
|
||||
DrawFootprint(WIN_FOOTPRINT, sPokedexListItem->dexNum);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, 2);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
@@ -3264,7 +3264,7 @@ static void Task_LoadInfoScreen(u8 taskId)
|
||||
PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == DEX_MODE_HOENN ? FALSE : TRUE, sPokedexListItem->owned, 0);
|
||||
if (!sPokedexListItem->owned)
|
||||
LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E);
|
||||
CopyWindowToVram(WIN_INFO, 3);
|
||||
CopyWindowToVram(WIN_INFO, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
@@ -3309,7 +3309,7 @@ static void Task_LoadInfoScreen(u8 taskId)
|
||||
if (!gTasks[taskId].tSkipCry)
|
||||
{
|
||||
StopCryAndClearCrySongs();
|
||||
PlayCry2(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), 0, 125, 10);
|
||||
PlayCry_NormalNoDucking(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3594,8 +3594,8 @@ static void Task_LoadCryScreen(u8 taskId)
|
||||
cryMeter.yPos = 3;
|
||||
if (LoadCryMeter(&cryMeter, 3))
|
||||
gMain.state++;
|
||||
CopyWindowToVram(WIN_VU_METER, 2);
|
||||
CopyWindowToVram(WIN_INFO, 3);
|
||||
CopyWindowToVram(WIN_VU_METER, COPYWIN_GFX);
|
||||
CopyWindowToVram(WIN_INFO, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
@@ -3780,7 +3780,7 @@ static void Task_LoadSizeScreen(u8 taskId)
|
||||
SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale);
|
||||
LoadPalette(sSizeScreenSilhouette_Pal, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
|
||||
gTasks[taskId].tMonSpriteId = spriteId;
|
||||
CopyWindowToVram(WIN_INFO, 3);
|
||||
CopyWindowToVram(WIN_INFO, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
@@ -3975,7 +3975,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
PutWindowTilemap(WIN_INFO);
|
||||
PutWindowTilemap(WIN_FOOTPRINT);
|
||||
DrawFootprint(WIN_FOOTPRINT, gTasks[taskId].tDexNum);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, 2);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
ResetPaletteFade();
|
||||
LoadPokedexBgPalette(FALSE);
|
||||
gTasks[taskId].tState++;
|
||||
@@ -3985,7 +3985,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
break;
|
||||
case 3:
|
||||
PrintMonInfo(dexNum, IsNationalPokedexEnabled(), 1, 1);
|
||||
CopyWindowToVram(WIN_INFO, 3);
|
||||
CopyWindowToVram(WIN_INFO, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
gTasks[taskId].tState++;
|
||||
@@ -4010,7 +4010,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
case 6:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
PlayCry1(NationalPokedexNumToSpecies(dexNum), 0);
|
||||
PlayCry_Normal(NationalPokedexNumToSpecies(dexNum), 0);
|
||||
gTasks[taskId].tPalTimer = 0;
|
||||
gTasks[taskId].func = Task_HandleCaughtMonPageInput;
|
||||
}
|
||||
@@ -4474,7 +4474,7 @@ static void PrintInfoSubMenuText(u8 windowId, const u8 *str, u8 left, u8 top)
|
||||
color[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
color[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, left, top, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, left, top, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
static void UnusedPrintNum(u8 windowId, u16 num, u8 left, u8 top)
|
||||
@@ -4781,7 +4781,7 @@ static void PrintSearchText(const u8 *str, u32 x, u32 y)
|
||||
color[0] = TEXT_COLOR_TRANSPARENT;
|
||||
color[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
color[2] = TEXT_COLOR_DARK_GRAY;
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, x, y, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, x, y, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
static void ClearSearchMenuRect(u32 x, u32 y, u32 width, u32 height)
|
||||
@@ -4847,7 +4847,7 @@ static void Task_LoadSearchMenu(u8 taskId)
|
||||
SetDefaultSearchModeAndOrder(taskId);
|
||||
HighlightSelectedSearchTopBarItem(SEARCH_TOPBAR_SEARCH);
|
||||
PrintSelectedSearchParameters(taskId);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
@@ -4901,7 +4901,7 @@ static void Task_SwitchToSearchMenuTopBar(u8 taskId)
|
||||
{
|
||||
HighlightSelectedSearchTopBarItem(gTasks[taskId].tTopBarItem);
|
||||
PrintSelectedSearchParameters(taskId);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
gTasks[taskId].func = Task_HandleSearchTopBarInput;
|
||||
}
|
||||
@@ -4940,7 +4940,7 @@ static void Task_HandleSearchTopBarInput(u8 taskId)
|
||||
PlaySE(SE_DEX_PAGE);
|
||||
gTasks[taskId].tTopBarItem--;
|
||||
HighlightSelectedSearchTopBarItem(gTasks[taskId].tTopBarItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
if (JOY_NEW(DPAD_RIGHT) && gTasks[taskId].tTopBarItem < SEARCH_TOPBAR_CANCEL)
|
||||
@@ -4948,7 +4948,7 @@ static void Task_HandleSearchTopBarInput(u8 taskId)
|
||||
PlaySE(SE_DEX_PAGE);
|
||||
gTasks[taskId].tTopBarItem++;
|
||||
HighlightSelectedSearchTopBarItem(gTasks[taskId].tTopBarItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
}
|
||||
@@ -4957,7 +4957,7 @@ static void Task_SwitchToSearchMenu(u8 taskId)
|
||||
{
|
||||
HighlightSelectedSearchMenuItem(gTasks[taskId].tTopBarItem, gTasks[taskId].tMenuItem);
|
||||
PrintSelectedSearchParameters(taskId);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
gTasks[taskId].func = Task_HandleSearchMenuInput;
|
||||
}
|
||||
@@ -5013,7 +5013,7 @@ static void Task_HandleSearchMenuInput(u8 taskId)
|
||||
EraseAndPrintSearchTextBox(gText_SearchingPleaseWait);
|
||||
gTasks[taskId].func = Task_StartPokedexSearch;
|
||||
PlaySE(SE_DEX_SEARCH);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5029,7 +5029,7 @@ static void Task_HandleSearchMenuInput(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].tMenuItem = movementMap[gTasks[taskId].tMenuItem][0];
|
||||
HighlightSelectedSearchMenuItem(gTasks[taskId].tTopBarItem, gTasks[taskId].tMenuItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
if (JOY_NEW(DPAD_RIGHT) && movementMap[gTasks[taskId].tMenuItem][1] != 0xFF)
|
||||
@@ -5037,7 +5037,7 @@ static void Task_HandleSearchMenuInput(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].tMenuItem = movementMap[gTasks[taskId].tMenuItem][1];
|
||||
HighlightSelectedSearchMenuItem(gTasks[taskId].tTopBarItem, gTasks[taskId].tMenuItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
if (JOY_NEW(DPAD_UP) && movementMap[gTasks[taskId].tMenuItem][2] != 0xFF)
|
||||
@@ -5045,7 +5045,7 @@ static void Task_HandleSearchMenuInput(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].tMenuItem = movementMap[gTasks[taskId].tMenuItem][2];
|
||||
HighlightSelectedSearchMenuItem(gTasks[taskId].tTopBarItem, gTasks[taskId].tMenuItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
if (JOY_NEW(DPAD_DOWN) && movementMap[gTasks[taskId].tMenuItem][3] != 0xFF)
|
||||
@@ -5053,7 +5053,7 @@ static void Task_HandleSearchMenuInput(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].tMenuItem = movementMap[gTasks[taskId].tMenuItem][3];
|
||||
HighlightSelectedSearchMenuItem(gTasks[taskId].tTopBarItem, gTasks[taskId].tMenuItem);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
}
|
||||
@@ -5086,7 +5086,7 @@ static void Task_WaitAndCompleteSearch(u8 taskId)
|
||||
EraseAndPrintSearchTextBox(gText_NoMatchingPkmnWereFound);
|
||||
}
|
||||
gTasks[taskId].func = Task_SearchCompleteWaitForInput;
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5126,7 +5126,7 @@ static void Task_SelectSearchMenuItem(u8 taskId)
|
||||
PrintSearchParameterText(taskId);
|
||||
PrintSelectorArrow(*cursorPos);
|
||||
gTasks[taskId].func = Task_HandleSearchParameterInput;
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
}
|
||||
|
||||
@@ -5151,7 +5151,7 @@ static void Task_HandleSearchParameterInput(u8 taskId)
|
||||
ClearSearchParameterBoxText();
|
||||
DrawOrEraseSearchParameterBox(TRUE);
|
||||
gTasks[taskId].func = Task_SwitchToSearchMenu;
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
return;
|
||||
}
|
||||
@@ -5163,7 +5163,7 @@ static void Task_HandleSearchParameterInput(u8 taskId)
|
||||
*cursorPos = gTasks[taskId].tCursorPos;
|
||||
*scrollOffset = gTasks[taskId].tScrollOffset;
|
||||
gTasks[taskId].func = Task_SwitchToSearchMenu;
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
return;
|
||||
}
|
||||
@@ -5190,7 +5190,7 @@ static void Task_HandleSearchParameterInput(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
EraseAndPrintSearchTextBox(texts[*cursorPos + *scrollOffset].description);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -5216,7 +5216,7 @@ static void Task_HandleSearchParameterInput(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
EraseAndPrintSearchTextBox(texts[*cursorPos + *scrollOffset].description);
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ static const u32 sPokedexAreaMapAffine_Tilemap[] = INCBIN_U32("graphics/interfac
|
||||
void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template)
|
||||
{
|
||||
u8 mode;
|
||||
void * tilemap;
|
||||
sPokedexAreaMapBgNum = Alloc(sizeof(sPokedexAreaMapBgNum));
|
||||
mode = template->mode;
|
||||
|
||||
@@ -24,7 +25,8 @@ void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template)
|
||||
{
|
||||
SetBgAttribute(template->bg, BG_ATTR_METRIC, 0);
|
||||
DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMap_Gfx, 0, template->offset, 0);
|
||||
sub_8199D3C(DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMap_Tilemap, 0, 0, 1), template->offset, 32, 32, FALSE);
|
||||
tilemap = DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMap_Tilemap, 0, 0, 1);
|
||||
AddValToTilemapBuffer(tilemap, template->offset, 32, 32, FALSE); // template->offset is always 0, so this does nothing.
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -32,11 +34,12 @@ void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template)
|
||||
SetBgAttribute(template->bg, BG_ATTR_METRIC, 2);
|
||||
SetBgAttribute(template->bg, BG_ATTR_TYPE, BG_TYPE_AFFINE); // This does nothing. BG_ATTR_TYPE can't be set with this function
|
||||
DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMapAffine_Gfx, 0, template->offset, 0);
|
||||
sub_8199D3C(DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMapAffine_Tilemap, 0, 0, 1), template->offset, 64, 64, TRUE);
|
||||
tilemap = DecompressAndCopyTileDataToVram(template->bg, sPokedexAreaMapAffine_Tilemap, 0, 0, 1);
|
||||
AddValToTilemapBuffer(tilemap, template->offset, 64, 64, TRUE); // template->offset is always 0, so this does nothing.
|
||||
}
|
||||
|
||||
ChangeBgX(template->bg, 0, 0);
|
||||
ChangeBgY(template->bg, 0, 0);
|
||||
ChangeBgX(template->bg, 0, BG_COORD_SET);
|
||||
ChangeBgY(template->bg, 0, BG_COORD_SET);
|
||||
SetBgAttribute(template->bg, BG_ATTR_PALETTEMODE, 1);
|
||||
CpuCopy32(sPokedexAreaMap_Pal, &gPlttBufferUnfaded[0x70], 0x60);
|
||||
*sPokedexAreaMapBgNum = template->bg;
|
||||
@@ -62,5 +65,5 @@ void FreePokedexAreaMapBgNum(void)
|
||||
|
||||
void PokedexAreaMapChangeBgY(u32 a0)
|
||||
{
|
||||
ChangeBgY(*sPokedexAreaMapBgNum, a0 * 0x100, 0);
|
||||
ChangeBgY(*sPokedexAreaMapBgNum, a0 * 0x100, BG_COORD_SET);
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ static bool8 DrawAreaGlow(void)
|
||||
}
|
||||
return TRUE;
|
||||
case 4:
|
||||
ChangeBgY(2, -0x800, 0);
|
||||
ChangeBgY(2, -0x800, BG_COORD_SET);
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
@@ -367,7 +367,7 @@ static void FindMapsWithMon(u16 species)
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)
|
||||
for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED); i++)
|
||||
{
|
||||
if (MapHasMon(&gWildMonHeaders[i], species))
|
||||
{
|
||||
|
||||
@@ -345,7 +345,7 @@ void CryScreenPlayButton(u16 species)
|
||||
|
||||
static void PlayCryScreenCry(u16 species)
|
||||
{
|
||||
PlayCry2(species, 0, 125, 10);
|
||||
PlayCry_NormalNoDucking(species, 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL);
|
||||
sDexCryScreen->cryState = 1;
|
||||
}
|
||||
|
||||
@@ -432,7 +432,7 @@ static void DrawWaveformSegment(u8 position, u8 amplitude)
|
||||
|
||||
static void DrawWaveformWindow(u8 windowId)
|
||||
{
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
// rsVertical is leftover from a very different version of this function in RS
|
||||
@@ -443,7 +443,7 @@ static void ShiftWaveformOver(u8 windowId, s16 offset, bool8 rsVertical)
|
||||
if (!rsVertical)
|
||||
{
|
||||
u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
|
||||
ChangeBgX(bg, offset << 8, 0);
|
||||
ChangeBgX(bg, offset << 8, BG_COORD_SET);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -6690,14 +6690,14 @@ void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry,
|
||||
{
|
||||
// No animation, only check if cry needs to be played
|
||||
if (!noCry)
|
||||
PlayCry1(species, pan);
|
||||
PlayCry_Normal(species, pan);
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!noCry)
|
||||
{
|
||||
PlayCry1(species, pan);
|
||||
PlayCry_Normal(species, pan);
|
||||
if (HasTwoFramesAnimation(species))
|
||||
StartSpriteAnim(sprite, 1);
|
||||
}
|
||||
|
||||
+29
-29
@@ -1282,12 +1282,12 @@ static bool32 SavePokeJump(void)
|
||||
case 2:
|
||||
if (AreLinkQueuesEmpty())
|
||||
{
|
||||
CreateTask(Task_LinkSave, 6);
|
||||
CreateTask(Task_LinkFullSave, 6);
|
||||
sPokemonJump->mainState++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (!FuncIsActiveTask(Task_LinkSave))
|
||||
if (!FuncIsActiveTask(Task_LinkFullSave))
|
||||
{
|
||||
ClearMessageWindow();
|
||||
sPokemonJump->mainState++;
|
||||
@@ -3313,8 +3313,8 @@ static void Msg_WantToPlayAgain(void)
|
||||
{
|
||||
case 0:
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(1, 8, 20, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_WantToPlayAgain2, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_WantToPlayAgain2, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->mainState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -3340,8 +3340,8 @@ static void Msg_SavingDontTurnOff(void)
|
||||
{
|
||||
case 0:
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(2, 7, 26, 4);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->mainState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -3366,7 +3366,7 @@ static void EraseMessage(void)
|
||||
{
|
||||
case 0:
|
||||
ClearMessageWindow();
|
||||
sub_8198C78();
|
||||
EraseYesNoWindow();
|
||||
CopyBgTilemapBufferToVram(BG_INTERFACE);
|
||||
sPokemonJumpGfx->mainState++;
|
||||
break;
|
||||
@@ -3383,8 +3383,8 @@ static void Msg_SomeoneDroppedOut(void)
|
||||
{
|
||||
case 0:
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(2, 8, 22, 4);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_SomeoneDroppedOut2, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_SomeoneDroppedOut2, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->mainState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -3409,8 +3409,8 @@ static void Msg_CommunicationStandby(void)
|
||||
{
|
||||
case 0:
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(7, 10, 16, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_CommunicationStandby4, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, gText_CommunicationStandby4, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->mainState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -3487,8 +3487,8 @@ static void PrintPrizeMessage(u16 itemId, u16 quantity)
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sPokemonJumpGfx->itemQuantityStr);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sPokemonJumpGfx->prizeMsg, gText_AwesomeWonF701F700);
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(4, 8, 22, 4);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->fanfare = MUS_LEVEL_UP;
|
||||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
@@ -3500,8 +3500,8 @@ static void PrintPrizeFilledBagMessage(u16 itemId)
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sPokemonJumpGfx->prizeMsg, gText_FilledStorageSpace2);
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(4, 8, 22, 4);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->fanfare = MUS_DUMMY;
|
||||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
@@ -3513,8 +3513,8 @@ static void PrintNoRoomForPrizeMessage(u16 itemId)
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sPokemonJumpGfx->prizeMsg, gText_CantHoldMore);
|
||||
sPokemonJumpGfx->msgWindowId = AddMessageWindow(4, 9, 22, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 2);
|
||||
AddTextPrinterParameterized(sPokemonJumpGfx->msgWindowId, FONT_NORMAL, sPokemonJumpGfx->prizeMsg, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_GFX);
|
||||
sPokemonJumpGfx->fanfare = MUS_DUMMY;
|
||||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
@@ -3558,7 +3558,7 @@ static void ClearMessageWindow(void)
|
||||
if (sPokemonJumpGfx->msgWindowId != WINDOW_NONE)
|
||||
{
|
||||
rbox_fill_rectangle(sPokemonJumpGfx->msgWindowId);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, 1);
|
||||
CopyWindowToVram(sPokemonJumpGfx->msgWindowId, COPYWIN_MAP);
|
||||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
}
|
||||
@@ -3732,7 +3732,7 @@ static void SetMonSpriteY(u32 id, s16 y)
|
||||
static void UpdateVineSwing(int vineState)
|
||||
{
|
||||
UpdateVineAnim(sPokemonJumpGfx, vineState);
|
||||
ChangeBgY(BG_VENUSAUR, (sVenusaurStates[vineState] * 5) << 13, 0);
|
||||
ChangeBgY(BG_VENUSAUR, (sVenusaurStates[vineState] * 5) << 13, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static int DoSameJumpTimeBonus(u8 flags)
|
||||
@@ -3857,8 +3857,8 @@ static void PrintPokeJumpPlayerName(int multiplayerId, u8 bgColor, u8 fgColor, u
|
||||
FillWindowPixelBuffer(sPokemonJumpGfx->nameWindowIds[multiplayerId], 0);
|
||||
x = 64 - GetStringWidth(FONT_NORMAL, GetPokeJumpPlayerName(multiplayerId), -1);
|
||||
x /= 2;
|
||||
AddTextPrinterParameterized3(sPokemonJumpGfx->nameWindowIds[multiplayerId], FONT_NORMAL, x, 1, colors, -1, GetPokeJumpPlayerName(multiplayerId));
|
||||
CopyWindowToVram(sPokemonJumpGfx->nameWindowIds[multiplayerId], 2);
|
||||
AddTextPrinterParameterized3(sPokemonJumpGfx->nameWindowIds[multiplayerId], FONT_NORMAL, x, 1, colors, TEXT_SKIP_DRAW, GetPokeJumpPlayerName(multiplayerId));
|
||||
CopyWindowToVram(sPokemonJumpGfx->nameWindowIds[multiplayerId], COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintPokeJumpPlayerNames(bool32 highlightSelf)
|
||||
@@ -3896,8 +3896,8 @@ static void DrawPlayerNameWindows(void)
|
||||
static void ShowBonus(u8 bonusId)
|
||||
{
|
||||
sPokemonJumpGfx->bonusTimer = 0;
|
||||
ChangeBgX(BG_BONUSES, (bonusId / 2) * 256 * 256, 0);
|
||||
ChangeBgY(BG_BONUSES, (((bonusId % 2) * 256) - 40) * 256, 0);
|
||||
ChangeBgX(BG_BONUSES, (bonusId / 2) * 256 * 256, BG_COORD_SET);
|
||||
ChangeBgY(BG_BONUSES, (((bonusId % 2) * 256) - 40) * 256, BG_COORD_SET);
|
||||
ShowBg(BG_BONUSES);
|
||||
CreateTask(Task_UpdateBonus, 4);
|
||||
}
|
||||
@@ -3910,7 +3910,7 @@ static bool32 UpdateBonus(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeBgY(BG_BONUSES, 128, 1);
|
||||
ChangeBgY(BG_BONUSES, 128, BG_COORD_ADD);
|
||||
if (++sPokemonJumpGfx->bonusTimer >= 32)
|
||||
HideBg(BG_BONUSES);
|
||||
return TRUE;
|
||||
@@ -4176,7 +4176,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId)
|
||||
window.width = width;
|
||||
tWindowId = AddWindow(&window);
|
||||
PrintRecordsText(tWindowId, width);
|
||||
CopyWindowToVram(tWindowId, 3);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_FULL);
|
||||
tState++;
|
||||
break;
|
||||
case 1:
|
||||
@@ -4187,7 +4187,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId)
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
rbox_fill_rectangle(tWindowId);
|
||||
CopyWindowToVram(tWindowId, 1);
|
||||
CopyWindowToVram(tWindowId, COPYWIN_MAP);
|
||||
tState++;
|
||||
}
|
||||
break;
|
||||
@@ -4217,14 +4217,14 @@ static void PrintRecordsText(u16 windowId, int width)
|
||||
LoadUserWindowBorderGfx_(windowId, 0x21D, 0xD0);
|
||||
DrawTextBorderOuter(windowId, 0x21D, 0xD);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_PkmnJumpRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PkmnJumpRecords, width * 8), 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_PkmnJumpRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PkmnJumpRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL);
|
||||
for (i = 0; i < ARRAY_COUNT(sRecordsTexts); i++)
|
||||
{
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[i], 0, 25 + (i * 16), TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[i], 0, 25 + (i * 16), TEXT_SKIP_DRAW, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, recordNums[i], STR_CONV_MODE_LEFT_ALIGN, 5);
|
||||
TruncateToFirstWordOnly(gStringVar1);
|
||||
x = (width * 8) - GetStringWidth(FONT_NORMAL, gStringVar1, 0);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, 25 + (i * 16), TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, 25 + (i * 16), TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
PutWindowTilemap(windowId);
|
||||
}
|
||||
|
||||
@@ -1358,7 +1358,7 @@ void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero
|
||||
txtColor[0] = zero2;
|
||||
txtColor[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
txtColor[2] = TEXT_DYNAMIC_COLOR_5;
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, 1, 0, 0, txtColor, -1, string);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, 1, 0, 0, txtColor, TEXT_SKIP_DRAW, string);
|
||||
|
||||
tileBytesToBuffer = bytesToBuffer;
|
||||
if (tileBytesToBuffer > 6u)
|
||||
@@ -1402,7 +1402,7 @@ static void UnusedDrawTextWindow(const u8 *string, void *dst, u16 offset, u8 bgC
|
||||
txtColor[0] = bgColor;
|
||||
txtColor[1] = fgColor;
|
||||
txtColor[2] = shadowColor;
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, 2, 0, 0, txtColor, -1, string);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, 2, 0, 0, txtColor, TEXT_SKIP_DRAW, string);
|
||||
CpuCopy16(tileData1, dst, tileSize);
|
||||
CpuCopy16(tileData2, dst + offset, tileSize);
|
||||
RemoveWindow(windowId);
|
||||
@@ -1561,9 +1561,9 @@ static void Task_PCMainMenu(u8 taskId)
|
||||
LoadMessageBoxAndBorderGfx();
|
||||
DrawDialogueFrame(0, 0);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, TEXT_SPEED_FF, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(task->tWindowId, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, TEXT_SKIP_DRAW, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, COPYWIN_FULL);
|
||||
CopyWindowToVram(task->tWindowId, COPYWIN_FULL);
|
||||
task->tState++;
|
||||
break;
|
||||
case STATE_FADE_IN:
|
||||
@@ -1699,7 +1699,7 @@ static void CreateMainMenu(u8 whichMenu, s16 *windowIdPtr)
|
||||
|
||||
DrawStdWindowFrame(windowId, FALSE);
|
||||
PrintMenuTable(windowId, OPTIONS_COUNT, (void *)sMainMenuTexts);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, OPTIONS_COUNT, whichMenu);
|
||||
InitMenuInUpperLeftCornerNormal(windowId, OPTIONS_COUNT, whichMenu);
|
||||
*windowIdPtr = windowId;
|
||||
}
|
||||
|
||||
@@ -1951,13 +1951,13 @@ static void ChooseBoxMenu_PrintInfo(void)
|
||||
|
||||
// Print box name
|
||||
center = GetStringCenterAlignXOffset(FONT_NORMAL, boxName, 64);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, center, 1, sChooseBoxMenu_TextColors, TEXT_SPEED_FF, boxName);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, center, 1, sChooseBoxMenu_TextColors, TEXT_SKIP_DRAW, boxName);
|
||||
|
||||
// Print #/30 for number of Pokémon in the box
|
||||
ConvertIntToDecimalStringN(numBoxMonsText, numInBox, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
StringAppend(numBoxMonsText, sText_OutOf30);
|
||||
center = GetStringCenterAlignXOffset(FONT_NORMAL, numBoxMonsText, 64);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, center, 17, sChooseBoxMenu_TextColors, TEXT_SPEED_FF, numBoxMonsText);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, center, 17, sChooseBoxMenu_TextColors, TEXT_SKIP_DRAW, numBoxMonsText);
|
||||
|
||||
winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA);
|
||||
CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(sChooseBoxMenu->tileTag) * 32), 0x400);
|
||||
@@ -3827,8 +3827,8 @@ static void SetScrollingBackground(void)
|
||||
|
||||
static void ScrollBackground(void)
|
||||
{
|
||||
ChangeBgX(3, 128, 1);
|
||||
ChangeBgY(3, 128, 2);
|
||||
ChangeBgX(3, 128, BG_COORD_ADD);
|
||||
ChangeBgY(3, 128, BG_COORD_SUB);
|
||||
}
|
||||
|
||||
static void LoadPokeStorageMenuGfx(void)
|
||||
@@ -4005,20 +4005,20 @@ static void PrintDisplayMonInfo(void)
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
{
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 0, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 15, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 43, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 0, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 13, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 28, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
CopyWindowToVram(0, 2);
|
||||
CopyWindowToVram(0, COPYWIN_GFX);
|
||||
if (sStorage->displayMonSpecies != SPECIES_NONE)
|
||||
{
|
||||
UpdateMonMarkingTiles(sStorage->displayMonMarkings, sStorage->markingComboTilesPtr);
|
||||
@@ -4319,10 +4319,10 @@ static void PrintMessage(u8 id)
|
||||
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sStorage->messageText, sMessages[id].text);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
DrawTextBorderOuter(1, 2, 14);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 2);
|
||||
CopyWindowToVram(1, COPYWIN_GFX);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
@@ -8024,7 +8024,7 @@ static void AddMenu(void)
|
||||
ClearWindowTilemap(sStorage->menuWindowId);
|
||||
DrawStdFrameWithCustomTileAndPalette(sStorage->menuWindowId, FALSE, 11, 14);
|
||||
PrintMenuTable(sStorage->menuWindowId, sStorage->menuItemsCount, (void*)sStorage->menuItems);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sStorage->menuWindowId, sStorage->menuItemsCount, 0);
|
||||
InitMenuInUpperLeftCornerNormal(sStorage->menuWindowId, sStorage->menuItemsCount, 0);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
sStorage->menuUnusedField = 0;
|
||||
}
|
||||
@@ -8184,14 +8184,14 @@ static bool8 MultiMove_Start(void)
|
||||
GetCursorBoxColumnAndRow(&sMultiMove->fromColumn, &sMultiMove->fromRow);
|
||||
sMultiMove->toColumn = sMultiMove->fromColumn;
|
||||
sMultiMove->toRow = sMultiMove->fromRow;
|
||||
ChangeBgX(0, -1024, 0);
|
||||
ChangeBgY(0, -1024, 0);
|
||||
ChangeBgX(0, -1024, BG_COORD_SET);
|
||||
ChangeBgY(0, -1024, BG_COORD_SET);
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
|
||||
FillWindowPixelBuffer8Bit(sStorage->multiMoveWindowId, PIXEL_FILL(0));
|
||||
MultiMove_SetIconToBg(sMultiMove->fromColumn, sMultiMove->fromRow);
|
||||
SetBgAttribute(0, BG_ATTR_PALETTEMODE, 1);
|
||||
PutWindowTilemap(sStorage->multiMoveWindowId);
|
||||
CopyWindowToVram8Bit(sStorage->multiMoveWindowId, 3);
|
||||
CopyWindowToVram8Bit(sStorage->multiMoveWindowId, COPYWIN_FULL);
|
||||
BlendPalettes(0x3F00, 8, RGB_WHITE);
|
||||
StartCursorAnim(CURSOR_ANIM_OPEN);
|
||||
SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR);
|
||||
@@ -8247,7 +8247,7 @@ static bool8 MultiMove_ChangeSelection(void)
|
||||
MultiMove_UpdateSelectedIcons();
|
||||
sMultiMove->toColumn = sMultiMove->cursorColumn;
|
||||
sMultiMove->toRow = sMultiMove->cursorRow;
|
||||
CopyWindowToVram8Bit(sStorage->multiMoveWindowId, 2);
|
||||
CopyWindowToVram8Bit(sStorage->multiMoveWindowId, COPYWIN_GFX);
|
||||
sMultiMove->state++;
|
||||
}
|
||||
break;
|
||||
@@ -8499,8 +8499,8 @@ static u8 MultiMove_UpdateMove(void)
|
||||
{
|
||||
if (sMultiMove->bgMoveSteps != 0)
|
||||
{
|
||||
ChangeBgX(0, sMultiMove->bgX, 1);
|
||||
ChangeBgY(0, sMultiMove->bgY, 1);
|
||||
ChangeBgX(0, sMultiMove->bgX, BG_COORD_ADD);
|
||||
ChangeBgY(0, sMultiMove->bgY, BG_COORD_ADD);
|
||||
sMultiMove->bgMoveSteps--;
|
||||
}
|
||||
|
||||
@@ -8605,8 +8605,8 @@ static void MultiMove_SetPlacedMonData(void)
|
||||
|
||||
static void MultiMove_ResetBg(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
SetBgAttribute(0, BG_ATTR_PALETTEMODE, 0);
|
||||
ClearGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR);
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
||||
|
||||
@@ -1462,7 +1462,7 @@ static void SetDefaultTilemaps(void)
|
||||
TilemapFiveMovesDisplay(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, FALSE);
|
||||
SetBgTilemapBuffer(1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]);
|
||||
SetBgTilemapBuffer(2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]);
|
||||
ChangeBgX(2, 0x10000, 1);
|
||||
ChangeBgX(2, 0x10000, BG_COORD_ADD);
|
||||
ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES);
|
||||
ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS);
|
||||
}
|
||||
@@ -1778,12 +1778,12 @@ static void PssScrollRight(u8 taskId) // Scroll right
|
||||
SetBgAttribute(1, BG_ATTR_PRIORITY, 2);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
ChangeBgX(data[1], 0, 0);
|
||||
ChangeBgX(data[1], 0, BG_COORD_SET);
|
||||
SetBgTilemapBuffer(data[1], sMonSummaryScreen->bgTilemapBuffers[sMonSummaryScreen->currPageIndex][0]);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
}
|
||||
ChangeBgX(data[1], 0x2000, 1);
|
||||
ChangeBgX(data[1], 0x2000, BG_COORD_ADD);
|
||||
data[0] += 32;
|
||||
if (data[0] > 0xFF)
|
||||
gTasks[taskId].func = PssScrollRightEnd;
|
||||
@@ -1811,9 +1811,9 @@ static void PssScrollLeft(u8 taskId) // Scroll left
|
||||
data[1] = 2;
|
||||
else
|
||||
data[1] = 1;
|
||||
ChangeBgX(data[1], 0x10000, 0);
|
||||
ChangeBgX(data[1], 0x10000, BG_COORD_SET);
|
||||
}
|
||||
ChangeBgX(data[1], 0x2000, 2);
|
||||
ChangeBgX(data[1], 0x2000, BG_COORD_SUB);
|
||||
data[0] += 32;
|
||||
if (data[0] > 0xFF)
|
||||
gTasks[taskId].func = PssScrollLeftEnd;
|
||||
@@ -1837,7 +1837,7 @@ static void PssScrollLeftEnd(u8 taskId) // display left
|
||||
if (sMonSummaryScreen->currPageIndex > 1)
|
||||
{
|
||||
SetBgTilemapBuffer(data[1], sMonSummaryScreen->bgTilemapBuffers[sMonSummaryScreen->currPageIndex - 1][0]);
|
||||
ChangeBgX(data[1], 0x10000, 0);
|
||||
ChangeBgX(data[1], 0x10000, BG_COORD_SET);
|
||||
}
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
@@ -2681,9 +2681,9 @@ static void DrawContestMoveHearts(u16 move)
|
||||
static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1
|
||||
{
|
||||
if (sMonSummaryScreen->summary.isEgg)
|
||||
ChangeBgX(3, 0x10000, 0);
|
||||
ChangeBgX(3, 0x10000, BG_COORD_SET);
|
||||
else
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static void ResetWindows(void)
|
||||
@@ -3677,7 +3677,7 @@ static void AddAndFillMoveNamesWindow(void)
|
||||
{
|
||||
u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES);
|
||||
FillWindowPixelRect(windowId, PIXEL_FILL(0), 0, 66, 72, 16);
|
||||
CopyWindowToVram(windowId, 2);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void SwapMovesNamesPP(u8 moveIndex1, u8 moveIndex2)
|
||||
@@ -3929,9 +3929,9 @@ static void PlayMonCry(void)
|
||||
if (!summary->isEgg)
|
||||
{
|
||||
if (ShouldPlayNormalMonCry(&sMonSummaryScreen->currentMon) == TRUE)
|
||||
PlayCry3(summary->species2, 0, 0);
|
||||
PlayCry_ByMode(summary->species2, 0, CRY_MODE_NORMAL);
|
||||
else
|
||||
PlayCry3(summary->species2, 0, 11);
|
||||
PlayCry_ByMode(summary->species2, 0, CRY_MODE_WEAK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+14
-14
@@ -199,12 +199,12 @@ u32 LoopedTask_OpenPartyConditionGraph(s32 state)
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
InitBgTemplates(sPartyConditionBgTemplates, ARRAY_COUNT(sPartyConditionBgTemplates));
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
|
||||
@@ -240,8 +240,8 @@ u32 LoopedTask_OpenPartyConditionGraph(s32 state)
|
||||
SetConditionGraphIOWindows(2);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 5:
|
||||
sub_8199DF0(1, 0, 0, 1);
|
||||
sub_8199DF0(1, 17, 1, 1);
|
||||
BgDmaFill(1, 0, 0, 1);
|
||||
BgDmaFill(1, 17, 1, 1);
|
||||
CpuFill32(0, structPtr->tilemapBuffers[1], BG_SCREEN_SIZE);
|
||||
SetBgTilemapBuffer(1, structPtr->tilemapBuffers[1]);
|
||||
return LT_INC_AND_PAUSE;
|
||||
@@ -596,9 +596,9 @@ bool32 UpdateConditionGraphWindows(u8 mode, u16 bufferIndex, bool8 winMode)
|
||||
{
|
||||
case 0:
|
||||
if (winMode)
|
||||
CopyWindowToVram(structPtr->nameGenderWindowId, 3);
|
||||
CopyWindowToVram(structPtr->nameGenderWindowId, COPYWIN_FULL);
|
||||
else
|
||||
CopyWindowToVram(structPtr->nameGenderWindowId, 2);
|
||||
CopyWindowToVram(structPtr->nameGenderWindowId, COPYWIN_GFX);
|
||||
|
||||
if (IsConditionMenuSearchMode() == TRUE)
|
||||
{
|
||||
@@ -612,9 +612,9 @@ bool32 UpdateConditionGraphWindows(u8 mode, u16 bufferIndex, bool8 winMode)
|
||||
}
|
||||
case 1:
|
||||
if (winMode)
|
||||
CopyWindowToVram(structPtr->listIndexWindowId, 3);
|
||||
CopyWindowToVram(structPtr->listIndexWindowId, COPYWIN_FULL);
|
||||
else
|
||||
CopyWindowToVram(structPtr->listIndexWindowId, 2);
|
||||
CopyWindowToVram(structPtr->listIndexWindowId, COPYWIN_GFX);
|
||||
|
||||
structPtr->windowModeState = 0;
|
||||
return TRUE;
|
||||
@@ -628,8 +628,8 @@ void CopyUnusedConditionWindowsToVram(void)
|
||||
{
|
||||
struct Pokenav7Struct *structPtr = GetSubstructPtr(POKENAV_SUBSTRUCT_MON_MARK_MENU);
|
||||
|
||||
CopyWindowToVram(structPtr->unusedWindowId1, 3);
|
||||
CopyWindowToVram(structPtr->unusedWindowId2, 3);
|
||||
CopyWindowToVram(structPtr->unusedWindowId1, COPYWIN_FULL);
|
||||
CopyWindowToVram(structPtr->unusedWindowId2, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void sub_81CE964(struct Sprite *sprite)
|
||||
|
||||
@@ -448,8 +448,8 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state)
|
||||
case 4:
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return LT_PAUSE;
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
HideBg(3);
|
||||
@@ -644,7 +644,7 @@ static void AddSearchResultListMenuWindow(struct PokenavSub8 *searchList)
|
||||
{
|
||||
searchList->winid = AddWindow(&sSearchResultListMenuWindowTemplate);
|
||||
PutWindowTilemap(searchList->winid);
|
||||
CopyWindowToVram(searchList->winid, 1);
|
||||
CopyWindowToVram(searchList->winid, COPYWIN_MAP);
|
||||
PrintSearchResultListMenuItems(searchList);
|
||||
}
|
||||
|
||||
@@ -655,10 +655,10 @@ static void PrintSearchResultListMenuItems(struct PokenavSub8 *searchList)
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
*gStringVar1 = EOS;
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar2, gText_NumberF700);
|
||||
AddTextPrinterParameterized(searchList->winid, FONT_NORMAL, gStringVar2, 4, 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(searchList->winid, FONT_NORMAL, gStringVar2, 4, 1, TEXT_SKIP_DRAW, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, r7, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
AddTextPrinterParameterized(searchList->winid, FONT_NORMAL, gStringVar1, 34, 1, 0xFF, NULL);
|
||||
CopyWindowToVram(searchList->winid, 2);
|
||||
AddTextPrinterParameterized(searchList->winid, FONT_NORMAL, gStringVar1, 34, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(searchList->winid, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void InitConditionSearchListMenuTemplate(void)
|
||||
|
||||
@@ -421,9 +421,9 @@ static u32 LoopedTask_SlideMenuHeaderUp(s32 a0)
|
||||
case 0:
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 2:
|
||||
if (ChangeBgY(0, 384, 1) >= 0x2000u)
|
||||
if (ChangeBgY(0, 384, BG_COORD_ADD) >= 0x2000u)
|
||||
{
|
||||
ChangeBgY(0, 0x2000, 0);
|
||||
ChangeBgY(0, 0x2000, BG_COORD_SET);
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
@@ -433,9 +433,9 @@ static u32 LoopedTask_SlideMenuHeaderUp(s32 a0)
|
||||
|
||||
static u32 LoopedTask_SlideMenuHeaderDown(s32 a0)
|
||||
{
|
||||
if (ChangeBgY(0, 384, 2) <= 0)
|
||||
if (ChangeBgY(0, 384, BG_COORD_SUB) <= 0)
|
||||
{
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
return LT_FINISH;
|
||||
}
|
||||
return LT_PAUSE;
|
||||
@@ -555,7 +555,7 @@ static void InitHelpBar(void)
|
||||
structPtr->helpBarWindowId = 0;
|
||||
DrawHelpBar(structPtr->helpBarWindowId);
|
||||
PutWindowTilemap(structPtr->helpBarWindowId);
|
||||
CopyWindowToVram(structPtr->helpBarWindowId, 3); // TODO: Use a defined constant here.
|
||||
CopyWindowToVram(structPtr->helpBarWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void PrintHelpBarText(u32 textId)
|
||||
|
||||
+14
-14
@@ -322,8 +322,8 @@ static u32 LoopedTask_OpenMatchCall(s32 taskState)
|
||||
{
|
||||
case 0:
|
||||
InitBgTemplates(sMatchCallBgTemplates, ARRAY_COUNT(sMatchCallBgTemplates));
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
DecompressAndCopyTileDataToVram(2, sMatchCallUI_Gfx, 0, 0, 0);
|
||||
SetBgTilemapBuffer(2, state->unk1024);
|
||||
CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0);
|
||||
@@ -335,7 +335,7 @@ static u32 LoopedTask_OpenMatchCall(s32 taskState)
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
return LT_PAUSE;
|
||||
|
||||
sub_8199DF0(1, 0, 0, 1);
|
||||
BgDmaFill(1, 0, 0, 1);
|
||||
SetBgTilemapBuffer(1, state->unk24);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20);
|
||||
CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20);
|
||||
@@ -367,8 +367,8 @@ static u32 LoopedTask_OpenMatchCall(s32 taskState)
|
||||
PrintMatchCallLocation(state, 0);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 6:
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
ShowBg(1);
|
||||
@@ -942,7 +942,7 @@ static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *state)
|
||||
PutWindowTilemap(state->locWindowId);
|
||||
FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(state->infoBoxWindowId);
|
||||
CopyWindowToVram(state->locWindowId, 1);
|
||||
CopyWindowToVram(state->locWindowId, COPYWIN_MAP);
|
||||
}
|
||||
|
||||
static void UpdateMatchCallInfoBox(struct Pokenav4Struct *state)
|
||||
@@ -952,7 +952,7 @@ static void UpdateMatchCallInfoBox(struct Pokenav4Struct *state)
|
||||
PrintNumberRegistered(state->infoBoxWindowId);
|
||||
PrintNumberOfBattlesLabel(state->infoBoxWindowId);
|
||||
PrintNumberOfBattles(state->infoBoxWindowId);
|
||||
CopyWindowToVram(state->infoBoxWindowId, 2);
|
||||
CopyWindowToVram(state->infoBoxWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintNumberRegisteredLabel(u16 windowId)
|
||||
@@ -986,14 +986,14 @@ static void PrintNumberOfBattles(u16 windowId)
|
||||
static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top)
|
||||
{
|
||||
int y = top * 16 + 1;
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, str, 2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, str, 2, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top)
|
||||
{
|
||||
int x = GetStringRightAlignXOffset(FONT_NARROW, str, 86);
|
||||
int y = top * 16 + 1;
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, str, x, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NARROW, str, x, y, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void PrintMatchCallLocation(struct Pokenav4Struct *state, int arg1)
|
||||
@@ -1023,10 +1023,10 @@ static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *state)
|
||||
if (optionText == MATCH_CALL_OPTION_COUNT)
|
||||
break;
|
||||
|
||||
AddTextPrinterParameterized(state->infoBoxWindowId, FONT_NARROW, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(state->infoBoxWindowId, FONT_NARROW, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
CopyWindowToVram(state->infoBoxWindowId, 2);
|
||||
CopyWindowToVram(state->infoBoxWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static bool32 sub_81CBFC4(struct Pokenav4Struct *state)
|
||||
@@ -1055,7 +1055,7 @@ static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *state)
|
||||
{
|
||||
CloseMatchCallSelectOptionsWindow(state);
|
||||
FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
|
||||
CopyWindowToVram(state->infoBoxWindowId, 2);
|
||||
CopyWindowToVram(state->infoBoxWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void sub_81CC034(struct Pokenav4Struct *state)
|
||||
@@ -1072,7 +1072,7 @@ static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *state)
|
||||
DrawMatchCallTextBoxBorder(state->msgBoxWindowId, 1, 4);
|
||||
FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(state->msgBoxWindowId);
|
||||
CopyWindowToVram(state->msgBoxWindowId, 3);
|
||||
CopyWindowToVram(state->msgBoxWindowId, COPYWIN_FULL);
|
||||
sprite = PauseSpinningPokenavSprite();
|
||||
sprite->x = 24;
|
||||
sprite->y = 112;
|
||||
@@ -1085,7 +1085,7 @@ static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *state)
|
||||
DrawTextBorderOuter(state->msgBoxWindowId, 1, 4);
|
||||
FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(state->msgBoxWindowId);
|
||||
CopyWindowToVram(state->msgBoxWindowId, 3);
|
||||
CopyWindowToVram(state->msgBoxWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *state)
|
||||
|
||||
+25
-25
@@ -169,13 +169,13 @@ u32 LoopedTask_sub_81C8254(s32 state)
|
||||
void sub_81C82E4(struct PokenavSub17 *matchCall)
|
||||
{
|
||||
u16 tileNum = (matchCall->list.listWindow.unk1 << 12) | matchCall->list.listWindow.unk6;
|
||||
sub_8199DF0(matchCall->list.listWindow.bg, PIXEL_FILL(1), matchCall->list.listWindow.unk6, 1);
|
||||
sub_8199DF0(matchCall->list.listWindow.bg, PIXEL_FILL(4), matchCall->list.listWindow.unk6 + 1, 1);
|
||||
BgDmaFill(matchCall->list.listWindow.bg, PIXEL_FILL(1), matchCall->list.listWindow.unk6, 1);
|
||||
BgDmaFill(matchCall->list.listWindow.bg, PIXEL_FILL(4), matchCall->list.listWindow.unk6 + 1, 1);
|
||||
SetBgTilemapBuffer(matchCall->list.listWindow.bg, matchCall->tilemapBuffer);
|
||||
FillBgTilemapBufferRect_Palette0(matchCall->list.listWindow.bg, tileNum, 0, 0, 32, 32);
|
||||
ChangeBgY(matchCall->list.listWindow.bg, 0, 0);
|
||||
ChangeBgX(matchCall->list.listWindow.bg, 0, 0);
|
||||
ChangeBgY(matchCall->list.listWindow.bg, matchCall->list.listWindow.unk3 << 11, 2);
|
||||
ChangeBgY(matchCall->list.listWindow.bg, 0, BG_COORD_SET);
|
||||
ChangeBgX(matchCall->list.listWindow.bg, 0, BG_COORD_SET);
|
||||
ChangeBgY(matchCall->list.listWindow.bg, matchCall->list.listWindow.unk3 << 11, BG_COORD_SUB);
|
||||
CopyBgTilemapBufferToVram(matchCall->list.listWindow.bg);
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ void sub_81C835C(struct PokenavListMenuWindow *listWindow)
|
||||
{
|
||||
FillWindowPixelBuffer(listWindow->windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(listWindow->windowId);
|
||||
CopyWindowToVram(listWindow->windowId, 1);
|
||||
CopyWindowToVram(listWindow->windowId, COPYWIN_MAP);
|
||||
}
|
||||
|
||||
void sub_81C837C(struct MatchCallWindowState *state, struct PokenavSub17Substruct *a1)
|
||||
@@ -231,9 +231,9 @@ u32 LoopedTask_sub_81C83F0(s32 state)
|
||||
if (++structPtr->listWindow.unkC >= structPtr->listWindow.unkE)
|
||||
{
|
||||
if (structPtr->unk38 != NULL)
|
||||
CopyWindowToVram(structPtr->listWindow.windowId, 3);
|
||||
CopyWindowToVram(structPtr->listWindow.windowId, COPYWIN_FULL);
|
||||
else
|
||||
CopyWindowToVram(structPtr->listWindow.windowId, 2);
|
||||
CopyWindowToVram(structPtr->listWindow.windowId, COPYWIN_GFX);
|
||||
return LT_INC_AND_PAUSE;
|
||||
}
|
||||
else
|
||||
@@ -295,9 +295,9 @@ void sub_81C8568(s32 a0, struct PokenavSub17Substruct *list)
|
||||
list->unk20 = GetBgY(list->listWindow.bg);
|
||||
list->unk24 = list->unk20 + (a0 << 12);
|
||||
if (a0 > 0)
|
||||
list->unk30 = 1;
|
||||
list->unk30 = BG_COORD_ADD;
|
||||
else
|
||||
list->unk30 = 2;
|
||||
list->unk30 = BG_COORD_SUB;
|
||||
list->unk2C = a0;
|
||||
list->loopedTaskId = CreateLoopedTask(LoopedTask_sub_81C85A0, 6);
|
||||
}
|
||||
@@ -319,12 +319,12 @@ u32 LoopedTask_sub_81C85A0(s32 state)
|
||||
flag = FALSE;
|
||||
y = GetBgY(subPtr->listWindow.bg);
|
||||
v1 = ChangeBgY(subPtr->listWindow.bg, 0x1000, subPtr->unk30);
|
||||
if (subPtr->unk30 == 2)
|
||||
if (subPtr->unk30 == BG_COORD_SUB)
|
||||
{
|
||||
if ((y > subPtr->unk24 || y <= subPtr->unk20) && v1 <= subPtr->unk24)
|
||||
flag = TRUE;
|
||||
}
|
||||
else
|
||||
else // BG_COORD_ADD
|
||||
{
|
||||
if ((y < subPtr->unk24 || y >= subPtr->unk20) && v1 >= subPtr->unk24)
|
||||
flag = TRUE;
|
||||
@@ -333,7 +333,7 @@ u32 LoopedTask_sub_81C85A0(s32 state)
|
||||
if (flag)
|
||||
{
|
||||
subPtr->listWindow.unkA = (subPtr->listWindow.unkA + subPtr->unk2C) & 0xF;
|
||||
ChangeBgY(subPtr->listWindow.bg, subPtr->unk24, 0);
|
||||
ChangeBgY(subPtr->listWindow.bg, subPtr->unk24, BG_COORD_SET);
|
||||
return LT_FINISH;
|
||||
}
|
||||
return LT_PAUSE;
|
||||
@@ -494,7 +494,7 @@ void sub_81C8838(void)
|
||||
struct PokenavSub17 *structPtr = GetSubstructPtr(POKENAV_SUBSTRUCT_MATCH_CALL_LIST);
|
||||
struct MatchCallWindowState *subPtr = &structPtr->unk888;
|
||||
structPtr->list.unk38(structPtr->list.listWindow.windowId, subPtr->windowTopIndex + subPtr->selectedIndexOffset, (structPtr->list.listWindow.unkA + subPtr->selectedIndexOffset) & 0xF);
|
||||
CopyWindowToVram(structPtr->list.listWindow.windowId, 1);
|
||||
CopyWindowToVram(structPtr->list.listWindow.windowId, COPYWIN_MAP);
|
||||
}
|
||||
|
||||
// TODO:
|
||||
@@ -672,7 +672,7 @@ void sub_81C8B70(struct PokenavListMenuWindow *listWindow, s32 a1, s32 a2)
|
||||
if (a1 + a2 <= 16)
|
||||
{
|
||||
CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2);
|
||||
CopyWindowToVram(listWindow->windowId, 2);
|
||||
CopyWindowToVram(listWindow->windowId, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -681,13 +681,13 @@ void sub_81C8B70(struct PokenavListMenuWindow *listWindow, s32 a1, s32 a2)
|
||||
|
||||
CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2);
|
||||
CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2);
|
||||
CopyWindowToVram(listWindow->windowId, 2);
|
||||
CopyWindowToVram(listWindow->windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
for (a2--; a2 != -1; a1 = (a1 + 1) & 0xF, a2--)
|
||||
ClearRematchPokeballIcon(listWindow->windowId, a1);
|
||||
|
||||
CopyWindowToVram(listWindow->windowId, 1);
|
||||
CopyWindowToVram(listWindow->windowId, COPYWIN_MAP);
|
||||
}
|
||||
|
||||
void sub_81C8C64(struct PokenavListMenuWindow *listWindow, u32 a1)
|
||||
@@ -712,18 +712,18 @@ void sub_81C8CB4(struct MatchCallWindowState *state, struct PokenavSub17Substruc
|
||||
list->unk34(state->unk10 + state->unkC * state->windowTopIndex, list->unkTextBuffer);
|
||||
list->unk38(list->listWindow.windowId, state->windowTopIndex, list->listWindow.unkA);
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(4), 0, list->listWindow.unkA * 16, list->listWindow.unk4 * 8, 16);
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, list->listWindow.fontId, 8, (list->listWindow.unkA * 16) + 1, colors, TEXT_SPEED_FF, list->unkTextBuffer);
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, list->listWindow.fontId, 8, (list->listWindow.unkA * 16) + 1, colors, TEXT_SKIP_DRAW, list->unkTextBuffer);
|
||||
sub_81C8C64(&list->listWindow, 1);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, 3, 0, list->listWindow.unkA * 2, list->listWindow.unk4, 2);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_FULL, 0, list->listWindow.unkA * 2, list->listWindow.unk4, 2);
|
||||
}
|
||||
|
||||
void sub_81C8D4C(struct MatchCallWindowState *state, struct PokenavSub17Substruct *list)
|
||||
{
|
||||
list->unk34(state->unk10 + state->unkC * state->windowTopIndex, list->unkTextBuffer);
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(1), 0, list->listWindow.unkA * 16, list->listWindow.unk4 * 8, 16);
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, list->listWindow.fontId, list->unkTextBuffer, 8, list->listWindow.unkA * 16 + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, list->listWindow.fontId, list->unkTextBuffer, 8, list->listWindow.unkA * 16 + 1, TEXT_SKIP_DRAW, NULL);
|
||||
sub_81C8C64(&list->listWindow, 0);
|
||||
CopyWindowToVram(list->listWindow.windowId, 3);
|
||||
CopyWindowToVram(list->listWindow.windowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *list, u32 fieldId)
|
||||
@@ -733,8 +733,8 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *list, u32 fieldId)
|
||||
u32 top = (list->listWindow.unkA + 1 + (fieldId * 2)) & 0xF;
|
||||
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(1), 0, top << 4, list->listWindow.unk4, 16);
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, FONT_NARROW, 2, (top << 4) + 1, colors, -1, fieldNames[fieldId]);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, 2, 0, top << 1, list->listWindow.unk4, 2);
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, FONT_NARROW, 2, (top << 4) + 1, colors, TEXT_SKIP_DRAW, fieldNames[fieldId]);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_GFX, 0, top << 1, list->listWindow.unk4, 2);
|
||||
}
|
||||
|
||||
static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *list, u32 checkPageEntry)
|
||||
@@ -754,8 +754,8 @@ static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct Pok
|
||||
if (str != NULL)
|
||||
{
|
||||
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);
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, FONT_NARROW, str, 2, (r6 << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_GFX, 0, r6 * 2, list->listWindow.unk4, 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -415,12 +415,12 @@ static u32 LoopedTask_OpenMenu(s32 state)
|
||||
CopyToBgTilemapBuffer(1, gPokenavMessageBox_Tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyPaletteIntoBufferUnfaded(gPokenavMessageBox_Pal, 0x10, 0x20);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
@@ -1125,7 +1125,7 @@ static void AddOptionDescriptionWindow(void)
|
||||
ptr->optionDescWindowId = AddWindow(&sOptionDescWindowTemplate);
|
||||
PutWindowTilemap(ptr->optionDescWindowId);
|
||||
FillWindowPixelBuffer(ptr->optionDescWindowId, PIXEL_FILL(6));
|
||||
CopyWindowToVram(ptr->optionDescWindowId, 3);
|
||||
CopyWindowToVram(ptr->optionDescWindowId, COPYWIN_FULL);
|
||||
}
|
||||
|
||||
static void PrintCurrentOptionDescription(void)
|
||||
@@ -1168,7 +1168,7 @@ static void DestroyMovingDotsBgTask(void)
|
||||
|
||||
static void Task_MoveBgDots(u8 taskId)
|
||||
{
|
||||
ChangeBgX(3, 0x80, 1);
|
||||
ChangeBgX(3, 0x80, BG_COORD_ADD);
|
||||
}
|
||||
|
||||
static void CreateBgDotPurplePalTask(void)
|
||||
|
||||
+17
-17
@@ -501,8 +501,8 @@ static void FreeCityZoomViewGfx(void)
|
||||
|
||||
static void LoadPokenavRegionMapGfx(struct Pokenav5Struct_2 *state)
|
||||
{
|
||||
sub_8199DF0(1, PIXEL_FILL(0), 0x40, 1);
|
||||
sub_8199DF0(1, PIXEL_FILL(1), 0x41, 1);
|
||||
BgDmaFill(1, PIXEL_FILL(0), 0x40, 1);
|
||||
BgDmaFill(1, PIXEL_FILL(1), 0x41, 1);
|
||||
CpuFill16(0x1040, state->tilemapBuffer, 0x800);
|
||||
SetBgTilemapBuffer(1, state->tilemapBuffer);
|
||||
state->infoWindowId = AddWindow(&sMapSecInfoWindowTemplate);
|
||||
@@ -511,15 +511,15 @@ static void LoadPokenavRegionMapGfx(struct Pokenav5Struct_2 *state)
|
||||
DecompressAndCopyTileDataToVram(1, sRegionMapCityZoomTiles_Gfx, 0, 0, 0);
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(state->infoWindowId);
|
||||
CopyWindowToVram(state->infoWindowId, 3);
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
CopyPaletteIntoBufferUnfaded(sMapSecInfoWindow_Pal, 0x10, 0x20);
|
||||
CopyPaletteIntoBufferUnfaded(gRegionMapCityZoomTiles_Pal, 0x30, 0x20);
|
||||
if (!IsRegionMapZoomed())
|
||||
ChangeBgY(1, -0x6000, 0);
|
||||
ChangeBgY(1, -0x6000, BG_COORD_SET);
|
||||
else
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
}
|
||||
|
||||
static bool32 TryFreeTempTileDataBuffers(void)
|
||||
@@ -535,26 +535,26 @@ static void UpdateMapSecInfoWindow(struct Pokenav5Struct_2 *state)
|
||||
case MAPSECTYPE_CITY_CANFLY:
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 12, 2);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
DrawCityMap(state, regionMap->mapSecId, regionMap->posWithinMapSec);
|
||||
CopyWindowToVram(state->infoWindowId, 3);
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
SetCityZoomTextInvisibility(FALSE);
|
||||
break;
|
||||
case MAPSECTYPE_CITY_CANTFLY:
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 12, 2);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
FillBgTilemapBufferRect(1, 0x1041, 17, 6, 12, 11, 17);
|
||||
CopyWindowToVram(state->infoWindowId, 3);
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
SetCityZoomTextInvisibility(TRUE);
|
||||
break;
|
||||
case MAPSECTYPE_ROUTE:
|
||||
case MAPSECTYPE_BATTLE_FRONTIER:
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(state->infoWindowId);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
PrintLandmarkNames(state, regionMap->mapSecId, regionMap->posWithinMapSec);
|
||||
CopyWindowToVram(state->infoWindowId, 3);
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
SetCityZoomTextInvisibility(TRUE);
|
||||
break;
|
||||
case MAPSECTYPE_NONE:
|
||||
@@ -587,9 +587,9 @@ static void Task_ChangeBgYForZoom(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].tZoomIn)
|
||||
{
|
||||
if (ChangeBgY(1, 0x480, 1) >= 0)
|
||||
if (ChangeBgY(1, 0x480, BG_COORD_ADD) >= 0)
|
||||
{
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
@@ -597,9 +597,9 @@ static void Task_ChangeBgYForZoom(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ChangeBgY(1, 0x480, 2) <= -0x6000)
|
||||
if (ChangeBgY(1, 0x480, BG_COORD_SUB) <= -0x6000)
|
||||
{
|
||||
ChangeBgY(1, -0x6000, 0);
|
||||
ChangeBgY(1, -0x6000, BG_COORD_SET);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
@@ -654,7 +654,7 @@ static void PrintLandmarkNames(struct Pokenav5Struct_2 *state, int mapSecId, int
|
||||
break;
|
||||
|
||||
StringCopyPadded(gStringVar1, landmarkName, CHAR_SPACE, 12);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, gStringVar1, 0, i * 16 + 17, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, gStringVar1, 0, i * 16 + 17, TEXT_SKIP_DRAW, NULL);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,8 +439,8 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state)
|
||||
return LT_PAUSE;
|
||||
if (!UpdateMonListBgs())
|
||||
return LT_PAUSE;
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ShowBg(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 2:
|
||||
@@ -652,7 +652,7 @@ static void AddRibbonsMonListWindow(struct PokenavSub10 *monMenu)
|
||||
PutWindowTilemap(monMenu->winid);
|
||||
r2 = GetRibbonsMonListCount();
|
||||
sub_81D02B0(monMenu->winid, 0, r2);
|
||||
CopyWindowToVram(monMenu->winid, 1);
|
||||
CopyWindowToVram(monMenu->winid, COPYWIN_MAP);
|
||||
sub_81D0288(monMenu);
|
||||
}
|
||||
|
||||
@@ -661,7 +661,7 @@ static void sub_81D0288(struct PokenavSub10 *monMenu)
|
||||
s32 r4 = GetSelectedPokenavListIndex();
|
||||
s32 r2 = GetRibbonsMonListCount();
|
||||
sub_81D02B0(monMenu->winid, r4 + 1, r2);
|
||||
CopyWindowToVram(monMenu->winid, 2);
|
||||
CopyWindowToVram(monMenu->winid, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void sub_81D02B0(s32 windowId, s32 val1, s32 val2)
|
||||
@@ -674,7 +674,7 @@ static void sub_81D02B0(s32 windowId, s32 val1, s32 val2)
|
||||
*ptr++ = CHAR_SLASH;
|
||||
ConvertIntToDecimalStringN(ptr, val2, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, strbuf, 56);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, strbuf, x, 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, strbuf, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
static void InitMonRibbonPokenavListMenuTemplate(void)
|
||||
|
||||
+15
-15
@@ -578,7 +578,7 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state)
|
||||
case 1:
|
||||
if (!FreeTempTileDataBuffersIfPossible())
|
||||
{
|
||||
sub_8199DF0(1, 0, 0, 1);
|
||||
BgDmaFill(1, 0, 0, 1);
|
||||
DecompressAndCopyTileDataToVram(1, sRibbonIconsSmall_Gfx, 0, 1, 0);
|
||||
SetBgTilemapBuffer(1, structPtr->tilemapBuffers[1]);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20);
|
||||
@@ -631,10 +631,10 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state)
|
||||
if (!IsDma3ManagerBusyWithBgCopy())
|
||||
{
|
||||
CreateBigRibbonSprite(structPtr);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
HideBg(3);
|
||||
@@ -809,8 +809,8 @@ static void PrintCurrentMonRibbonCount(struct PokenavSub14 *structPtr)
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_RibbonsF700);
|
||||
FillWindowPixelBuffer(structPtr->ribbonCountWindowId, PIXEL_FILL(4));
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, 1, color, -1, gStringVar4);
|
||||
CopyWindowToVram(structPtr->ribbonCountWindowId, 2);
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, 1, color, TEXT_SKIP_DRAW, gStringVar4);
|
||||
CopyWindowToVram(structPtr->ribbonCountWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintRibbonNameAndDescription(struct PokenavSub14 *structPtr)
|
||||
@@ -824,7 +824,7 @@ static void PrintRibbonNameAndDescription(struct PokenavSub14 *structPtr)
|
||||
{
|
||||
// Print normal ribbon name/description
|
||||
for (i = 0; i < 2; i++)
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, (i * 16) + 1, color, -1, gRibbonDescriptionPointers[ribbonId][i]);
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, (i * 16) + 1, color, TEXT_SKIP_DRAW, gRibbonDescriptionPointers[ribbonId][i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -840,10 +840,10 @@ static void PrintRibbonNameAndDescription(struct PokenavSub14 *structPtr)
|
||||
// Print gift ribbon name/description
|
||||
ribbonId--;
|
||||
for (i = 0; i < 2; i++)
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, (i * 16) + 1, color, -1, gGiftRibbonDescriptionPointers[ribbonId][i]);
|
||||
AddTextPrinterParameterized3(structPtr->ribbonCountWindowId, FONT_NORMAL, 0, (i * 16) + 1, color, TEXT_SKIP_DRAW, gGiftRibbonDescriptionPointers[ribbonId][i]);
|
||||
}
|
||||
|
||||
CopyWindowToVram(structPtr->ribbonCountWindowId, 2);
|
||||
CopyWindowToVram(structPtr->ribbonCountWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static const struct WindowTemplate sRibbonSummaryMonNameWindowTemplate =
|
||||
@@ -877,7 +877,7 @@ static void PrintRibbbonsSummaryMonInfo(struct PokenavSub14 *structPtr)
|
||||
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
GetMonNicknameLevelGender(gStringVar3, &level, &gender);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar3, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar3, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
switch (gender)
|
||||
{
|
||||
case MON_MALE:
|
||||
@@ -896,8 +896,8 @@ static void PrintRibbbonsSummaryMonInfo(struct PokenavSub14 *structPtr)
|
||||
*(txtPtr++) = CHAR_EXTRA_SYMBOL;
|
||||
*(txtPtr++) = CHAR_LV_2;
|
||||
ConvertIntToDecimalStringN(txtPtr, level, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, 60, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(windowId, 2);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, 60, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static const struct WindowTemplate sRibbonMonListIndexWindowTemplate[] =
|
||||
@@ -933,8 +933,8 @@ static void PrintRibbonsMonListIndex(struct PokenavSub14 *structPtr)
|
||||
*(txtPtr++) = CHAR_SLASH;
|
||||
ConvertIntToDecimalStringN(txtPtr, count, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar1, 56);
|
||||
AddTextPrinterParameterized(structPtr->listIdxWindowId, FONT_NORMAL, gStringVar1, x, 1, TEXT_SPEED_FF, NULL);
|
||||
CopyWindowToVram(structPtr->listIdxWindowId, 2);
|
||||
AddTextPrinterParameterized(structPtr->listIdxWindowId, FONT_NORMAL, gStringVar1, x, 1, TEXT_SKIP_DRAW, NULL);
|
||||
CopyWindowToVram(structPtr->listIdxWindowId, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void ResetSpritesAndDrawMonFrontPic(struct PokenavSub14 *structPtr)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user