Merge pull request #583 from GriffinRichards/sync-btrans

Sync battle transitions, misc symbol roundup
This commit is contained in:
GriffinR
2022-11-19 16:40:19 -05:00
committed by GitHub
25 changed files with 1793 additions and 1646 deletions
+2 -2
View File
@@ -252,8 +252,8 @@ gFldEffScript_UseDive::
end
gFldEffScript_Pokeball::
loadpal sSpritePalette_SlidingPokeball
callnative FldEff_Pokeball
loadpal gSpritePalette_Pokeball
callnative FldEff_PokeballTrail
end
gFldEffScript_XIcon::

Before

Width:  |  Height:  |  Size: 553 B

After

Width:  |  Height:  |  Size: 553 B

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 121 B

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 158 B

-25
View File
@@ -248,28 +248,6 @@ $(ROULETTEGFXDIR)/poke_icons2.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \
$(ROULETTEGFXDIR)/makuhita.4bpp
@cat $^ >$@
$(BATTRANSGFXDIR)/85BBC14.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 53 -Wnum_tiles
$(BATTRANSGFXDIR)/rayquaza.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 938 -Wnum_tiles
$(BATTRANSGFXDIR)/frontier_square_1.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \
$(BATTRANSGFXDIR)/frontier_squares_1.4bpp
@cat $^ >$@
$(BATTRANSGFXDIR)/frontier_square_2.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \
$(BATTRANSGFXDIR)/frontier_squares_2.4bpp
@cat $^ >$@
$(BATTRANSGFXDIR)/frontier_square_3.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \
$(BATTRANSGFXDIR)/frontier_squares_3.4bpp
@cat $^ >$@
$(BATTRANSGFXDIR)/frontier_square_4.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \
$(BATTRANSGFXDIR)/frontier_squares_4.4bpp
@cat $^ >$@
$(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.4bpp \
$(SLOTMACHINEGFXDIR)/reel_time_machine.4bpp
@cat $^ >$@
@@ -450,9 +428,6 @@ $(FIELDEFFECTSGFXDIR)/pics/tree_disguise.4bpp: %.4bpp: %.png
$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 8 -Wnum_tiles
$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 43 -Wnum_tiles
graphics/tm_case/tm_case.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 91 -Wnum_tiles
+25 -22
View File
@@ -13,29 +13,32 @@ enum
MUGSHOTS_COUNT
};
#define B_TRANSITION_BLUR 0
#define B_TRANSITION_DISTORTED_WAVE 1
#define B_TRANSITION_HORIZONTAL_CORRUGATE 2
#define B_TRANSITION_BIG_POKEBALL 3
#define B_TRANSITION_SLIDING_POKEBALLS 4
#define B_TRANSITION_CLOCKWISE_BLACKFADE 5
#define B_TRANSITION_FULLSCREEN_WAVE 6
#define B_TRANSITION_BLACK_WAVE_TO_RIGHT 7
#define B_TRANSITION_SLICED_SCREEN 8
#define B_TRANSITION_WHITEFADE_IN_STRIPES 9
#define B_TRANSITION_GRID_SQUARES 10
#define B_TRANSITION_BLACK_DOODLES 11
#define B_TRANSITION_LORELEI 12
#define B_TRANSITION_BRUNO 13
#define B_TRANSITION_AGATHA 14
#define B_TRANSITION_LANCE 15
#define B_TRANSITION_BLUE 16
#define B_TRANSITION_ANTI_CLOCKWISE_SPIRAL 17
enum {
B_TRANSITION_BLUR,
B_TRANSITION_SWIRL,
B_TRANSITION_SHUFFLE,
B_TRANSITION_BIG_POKEBALL,
B_TRANSITION_POKEBALLS_TRAIL,
B_TRANSITION_CLOCKWISE_WIPE,
B_TRANSITION_RIPPLE,
B_TRANSITION_WAVE,
B_TRANSITION_SLICE,
B_TRANSITION_WHITE_BARS_FADE,
B_TRANSITION_GRID_SQUARES,
B_TRANSITION_ANGLED_WIPES,
B_TRANSITION_LORELEI,
B_TRANSITION_BRUNO,
B_TRANSITION_AGATHA,
B_TRANSITION_LANCE,
B_TRANSITION_BLUE,
B_TRANSITION_SPIRAL,
B_TRANSITION_COUNT
};
extern const struct SpritePalette sSpritePalette_SlidingPokeball;
extern const struct SpritePalette gSpritePalette_Pokeball;
bool8 BT_IsDone(void);
void BT_StartOnField(u8 transitionId);
bool8 FldEff_Pokeball(void);
bool8 IsBattleTransitionDone(void);
void BattleTransition_StartOnField(u8 transitionId);
bool8 FldEff_PokeballTrail(void);
#endif // GUARD_BATTLE_TRANSITION_H
+1
View File
@@ -74,6 +74,7 @@
#define FLDEFF_PAL_TAG_GENERAL_0 0x1004
#define FLDEFF_PAL_TAG_GENERAL_1 0x1005
#define FLDEFF_PAL_TAG_POKEBALL_TRAIL 0x1009
#define FLDEFF_PAL_TAG_ASH 0x100D
#define FLDEFF_PAL_TAG_SMALL_SPARKLE 0x100F
+1 -1
View File
@@ -8,7 +8,7 @@ bool16 ResetAllPicSprites(void);
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 FreeAndDestroyMonPicSprite(u16);
u16 FreeAndDestroyTrainerPicSprite(u16);
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass);
u16 PlayerGenderToFrontTrainerPicId(u8 gender, bool8 getClass);
u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 LoadMonPicInWindow(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId);
u16 CreateMonPicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys);
+6 -10
View File
@@ -278,31 +278,27 @@ const struct OamData gOamData_BattlerPlayer =
.affineParam = 0,
};
// not used
static const union AnimCmd gUnknown_824F020[] =
static const union AnimCmd sAnim_Unused[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_JUMP(0),
};
// not used
static const union AnimCmd *const gUnknown_824F028[] =
static const union AnimCmd *const sAnims_Unused[] =
{
gUnknown_824F020,
sAnim_Unused,
};
// not used
static const union AffineAnimCmd gUnknown_824F02C[] =
static const union AffineAnimCmd sAffineAnim_Unused[] =
{
AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 4),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 0x3C),
AFFINEANIMCMD_JUMP(1),
};
// not used
static const union AffineAnimCmd *const gUnknown_824F044[] =
static const union AffineAnimCmd *const sAffineAnims_Unused[] =
{
gUnknown_824F02C,
sAffineAnim_Unused,
};
static const s8 sPlayerThrowXTranslation[] = { -32, -16, -16, -32, -32, 0, 0, 0 };
+38 -28
View File
@@ -33,6 +33,13 @@
#include "constants/pokemon.h"
#include "constants/trainers.h"
enum {
TRANSITION_TYPE_NORMAL,
TRANSITION_TYPE_CAVE,
TRANSITION_TYPE_FLASH,
TRANSITION_TYPE_WATER,
};
enum
{
TRAINER_PARAM_LOAD_VAL_8BIT,
@@ -74,20 +81,22 @@ static EWRAM_DATA u8 *sTrainerBattleEndScript = NULL;
static EWRAM_DATA u8 *sTrainerABattleScriptRetAddr = NULL;
static EWRAM_DATA u16 sRivalBattleFlags = 0;
// The first transition is used if the enemy pokemon are lower level than our pokemon.
// Otherwise, the second transition is used.
static const u8 sBattleTransitionTable_Wild[][2] =
{
{ B_TRANSITION_SLICED_SCREEN, B_TRANSITION_WHITEFADE_IN_STRIPES },
{ B_TRANSITION_CLOCKWISE_BLACKFADE, B_TRANSITION_GRID_SQUARES },
{ B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES },
{ B_TRANSITION_BLACK_WAVE_TO_RIGHT, B_TRANSITION_FULLSCREEN_WAVE },
[TRANSITION_TYPE_NORMAL] = {B_TRANSITION_SLICE, B_TRANSITION_WHITE_BARS_FADE},
[TRANSITION_TYPE_CAVE] = {B_TRANSITION_CLOCKWISE_WIPE, B_TRANSITION_GRID_SQUARES},
[TRANSITION_TYPE_FLASH] = {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES},
[TRANSITION_TYPE_WATER] = {B_TRANSITION_WAVE, B_TRANSITION_RIPPLE},
};
static const u8 sBattleTransitionTable_Trainer[][2] =
{
{ B_TRANSITION_SLIDING_POKEBALLS, B_TRANSITION_BLACK_DOODLES },
{ B_TRANSITION_HORIZONTAL_CORRUGATE, B_TRANSITION_BIG_POKEBALL },
{ B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES },
{ B_TRANSITION_DISTORTED_WAVE, B_TRANSITION_FULLSCREEN_WAVE },
[TRANSITION_TYPE_NORMAL] = {B_TRANSITION_POKEBALLS_TRAIL, B_TRANSITION_ANGLED_WIPES},
[TRANSITION_TYPE_CAVE] = {B_TRANSITION_SHUFFLE, B_TRANSITION_BIG_POKEBALL},
[TRANSITION_TYPE_FLASH] = {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES},
[TRANSITION_TYPE_WATER] = {B_TRANSITION_SWIRL, B_TRANSITION_RIPPLE},
};
static const struct TrainerBattleParameter sOrdinaryBattleParams[] =
@@ -182,12 +191,12 @@ static void Task_BattleStart(u8 taskId)
if (!FldEffPoison_IsActive())
{
HelpSystem_Disable();
BT_StartOnField(tTransition);
BattleTransition_StartOnField(tTransition);
++tState;
}
break;
case 1:
if (BT_IsDone() == TRUE)
if (IsBattleTransitionDone() == TRUE)
{
HelpSystem_Enable();
CleanupOverworldWindowsAndTilemaps();
@@ -294,7 +303,7 @@ void StartOldManTutorialBattle(void)
LockPlayerFieldControls();
gMain.savedCallback = CB2_ReturnToFieldContinueScriptPlayMapMusic;
gBattleTypeFlags = BATTLE_TYPE_OLD_MAN_TUTORIAL;
CreateBattleStartTask(B_TRANSITION_SLICED_SCREEN, 0);
CreateBattleStartTask(B_TRANSITION_SLICE, 0);
}
void StartScriptedWildBattle(void)
@@ -373,9 +382,9 @@ void StartGroudonKyogreBattle(void)
gMain.savedCallback = CB2_EndScriptedWildBattle;
gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_KYOGRE_GROUDON;
if (gGameVersion == VERSION_FIRE_RED)
CreateBattleStartTask(B_TRANSITION_BLACK_DOODLES, MUS_RS_VS_TRAINER);
CreateBattleStartTask(B_TRANSITION_ANGLED_WIPES, MUS_RS_VS_TRAINER);
else // pointless, exactly the same
CreateBattleStartTask(B_TRANSITION_BLACK_DOODLES, MUS_RS_VS_TRAINER);
CreateBattleStartTask(B_TRANSITION_ANGLED_WIPES, MUS_RS_VS_TRAINER);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
}
@@ -506,26 +515,27 @@ u8 BattleSetup_GetTerrainId(void)
static u8 GetBattleTransitionTypeByMap(void)
{
u16 tileBehavior;
u16 behavior;
s16 x, y;
PlayerGetDestCoords(&x, &y);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
if (Overworld_GetFlashLevel())
return B_TRANSITION_HORIZONTAL_CORRUGATE;
if (!MetatileBehavior_IsSurfable(tileBehavior))
return TRANSITION_TYPE_FLASH;
if (MetatileBehavior_IsSurfable(behavior))
return TRANSITION_TYPE_WATER;
switch (gMapHeader.mapType)
{
switch (gMapHeader.mapType)
{
case MAP_TYPE_UNDERGROUND:
return B_TRANSITION_DISTORTED_WAVE;
case MAP_TYPE_UNDERWATER:
return B_TRANSITION_BIG_POKEBALL;
default:
return B_TRANSITION_BLUR;
}
case MAP_TYPE_UNDERGROUND:
return TRANSITION_TYPE_CAVE;
case MAP_TYPE_UNDERWATER:
return TRANSITION_TYPE_WATER;
default:
return TRANSITION_TYPE_NORMAL;
}
return B_TRANSITION_BIG_POKEBALL;
}
static u16 GetSumOfPlayerPartyLevel(u8 numMons)
@@ -652,7 +662,7 @@ u8 BattleSetup_GetBattleTowerBattleTransition(void)
u8 playerLevel = GetSumOfPlayerPartyLevel(1);
if (enemyLevel < playerLevel)
return B_TRANSITION_SLIDING_POKEBALLS;
return B_TRANSITION_POKEBALLS_TRAIL;
else
return B_TRANSITION_BIG_POKEBALL;
}
+4 -4
View File
@@ -882,7 +882,7 @@ static void CB2_FinishEReaderBattle(void)
static void Task_WaitBT(u8 taskId)
{
if (BT_IsDone() == TRUE)
if (IsBattleTransitionDone() == TRUE)
{
gMain.savedCallback = CB2_FinishEReaderBattle;
CleanupOverworldWindowsAndTilemaps();
@@ -910,7 +910,7 @@ void StartSpecialBattle(void)
CreateTask(Task_WaitBT, 1);
PlayMapChosenOrBattleBGM(0);
transition = BattleSetup_GetBattleTowerBattleTransition();
BT_StartOnField(transition);
BattleTransition_StartOnField(transition);
break;
case 1: // secret base battle
for (i = 0; i < PARTY_SIZE; i++)
@@ -922,7 +922,7 @@ void StartSpecialBattle(void)
CreateTask(Task_WaitBT, 1);
PlayMapChosenOrBattleBGM(0);
transition = BattleSetup_GetBattleTowerBattleTransition();
BT_StartOnField(transition);
BattleTransition_StartOnField(transition);
break;
case 2: // e-reader trainer battle
ZeroEnemyPartyMons();
@@ -936,7 +936,7 @@ void StartSpecialBattle(void)
CreateTask(Task_WaitBT, 1);
PlayMapChosenOrBattleBGM(0);
transition = BattleSetup_GetBattleTowerBattleTransition();
BT_StartOnField(transition);
BattleTransition_StartOnField(transition);
break;
}
}
+1661 -1500
View File
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,5 @@
const u16 gObjectEventPal_Player[] = INCBIN_U16("graphics/object_events/palettes/player.gbapal");
const u16 gUnknown_835B988[] = INCBIN_U16("graphics/object_events/palettes/unk_835B988.gbapal");
const u16 gObjectEventPal_PlayerUnused[] = INCBIN_U16("graphics/object_events/palettes/player_unused.gbapal"); // Identical except for the transparency
const u16 gObjectEventPaletteNull1[16] = {};
const u16 gObjectEventPaletteNull2[16] = {};
const u16 gObjectEventPaletteNull3[16] = {};
@@ -190,7 +190,7 @@ const u16 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U16("graphics/field_effec
const u16 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U16("graphics/field_effects/pics/shadow_medium.4bpp");
const u16 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U16("graphics/field_effects/pics/shadow_large.4bpp");
const u16 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U16("graphics/field_effects/pics/shadow_extra_large.4bpp");
const u16 filler_8398188[0x90] = {};
const u16 sFiller1[0x90] = {};
const u16 gFieldEffectObjectPic_CutGrass[] = INCBIN_U16("graphics/field_effects/fldeff_cut.4bpp");
const u16 gFieldEffectObjectPic_CutGrass2[] = INCBIN_U16("graphics/field_effects/fldeff_cut.4bpp"); // Unused
const u16 gFieldEffectPal_CutGrass[] = INCBIN_U16("graphics/field_effects/fldeff_cut.gbapal");
@@ -199,7 +199,7 @@ const u16 gFieldEffectObjectPic_Ash[] = INCBIN_U16("graphics/field_effects/pics/
const u16 gFieldEffectObjectPic_Arrow[] = INCBIN_U16("graphics/field_effects/pics/arrow.4bpp");
const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effects/palettes/general_0.gbapal");
const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effects/palettes/general_1.gbapal");
const u16 filler_8398FE8[16] = {0};
const u16 sFiller2[0x10] = {};
const u16 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U16("graphics/field_effects/pics/ground_impact_dust.4bpp");
const u16 gFieldEffectObjectPic_UnusedGrass3[] = INCBIN_U16("graphics/field_effects/pics/unused_grass_3.4bpp"); // Unused
const u16 gFieldEffectObjectPic_JumpTallGrass[] = INCBIN_U16("graphics/field_effects/pics/jump_tall_grass.4bpp");
+1 -1
View File
@@ -4686,7 +4686,7 @@ u8 GetAcroWheelieDirectionAnimNum(u8 direction)
return sAcroBunnyHopBackWheelDirectionAnimNums[direction];
}
u8 Unref_GetAnimNums_080634A0(u8 direction)
u8 GetAcroBunnyHopFrontWheelDirectionAnimNum(u8 direction)
{
return sAcroBunnyHopFrontWheelDirectionAnimNums[direction];
}
+1 -1
View File
@@ -618,7 +618,7 @@ static void Task_Hof_SpawnPlayerPic(u8 taskId)
ShowBg(0);
ShowBg(1);
ShowBg(3);
gTasks[taskId].data[4] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 0x78, 0x48, 6, 0xFFFF);
gTasks[taskId].data[4] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 0x78, 0x48, 6, 0xFFFF);
AddWindow(&sWindowTemplate);
LoadStdWindowGfx(1, 0x21D, 0xD0);
gTasks[taskId].data[3] = 120;
+12 -12
View File
@@ -34,7 +34,7 @@ static void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLef
static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum);
static u8 MultichoiceGrid_MoveCursor(s8 deltaX, s8 deltaY);
static const u8 gUnknown_8456618[3] = {15, 1, 2};
static const u8 sTopBarWindowTextColors[3] = {15, 1, 2};
void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum)
{
@@ -193,7 +193,7 @@ void TopBarWindowPrintString(const u8 *string, u8 unused, bool8 copyToVram)
PutWindowTilemap(sTopBarWindowId);
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(15));
width = GetStringWidth(FONT_0, string, 0);
AddTextPrinterParameterized3(sTopBarWindowId, FONT_0, -20 - width, 1, gUnknown_8456618, 0, string);
AddTextPrinterParameterized3(sTopBarWindowId, FONT_0, -20 - width, 1, sTopBarWindowTextColors, 0, string);
if (copyToVram)
CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
}
@@ -287,8 +287,8 @@ u8 Menu_InitCursor(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8
return Menu_InitCursorInternal(windowId, fontId, left, top, cursorHeight, numChoices, initialCursorPos, 0);
}
// not used
static u8 sub_810F818(u8 windowId, u8 fontId, u8 left, u8 top, u8 numChoices, u8 initialCursorPos)
// Unused
static u8 InitMenuDefaultCursorHeight(u8 windowId, u8 fontId, u8 left, u8 top, u8 numChoices, u8 initialCursorPos)
{
return Menu_InitCursor(windowId, fontId, left, top, GetMenuCursorDimensionByFont(fontId, 1), numChoices, initialCursorPos);
}
@@ -501,8 +501,8 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l
CopyWindowToVram(windowId, COPYWIN_GFX);
}
// not used
static void sub_810FDE4(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *orderArray)
// Unused
static void PrintMenuActionTextsAtTopById(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *orderArray)
{
AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH), 0, GetFontAttribute(fontId, FONTATTR_LETTER_SPACING), lineHeight, itemCount, strs, orderArray);
}
@@ -705,8 +705,8 @@ static u8 MultichoiceGrid_MoveCursorIfValid(s8 deltaX, s8 deltaY)
}
}
// not used
static s8 sub_81105A0(void)
// Unused
static s8 Menu_ProcessGridInput_NoSoundLimit(void)
{
if (JOY_NEW(A_BUTTON))
{
@@ -784,8 +784,8 @@ s8 Menu_ProcessInputGridLayout(void)
return MENU_NOTHING_CHOSEN;
}
// not used
static s8 sub_81106F4(void)
// Unused
static s8 Menu_ProcessGridInputRepeat_NoSoundLimit(void)
{
if (JOY_NEW(A_BUTTON))
{
@@ -824,8 +824,8 @@ static s8 sub_81106F4(void)
return MENU_NOTHING_CHOSEN;
}
// not used
static s8 sub_81107A0(void)
// Unused
static s8 Menu_ProcessGridInputRepeat(void)
{
u8 oldPos = sMenu.cursorPos;
+1 -1
View File
@@ -3108,7 +3108,7 @@ u8 DexScreen_DrawMonAreaPage(void)
gSprites[sPokedexScreenData->windowIds[14]].oam.priority = 1;
gSprites[sPokedexScreenData->windowIds[14]].y2 = gPokedexEntries[speciesId].pokemonOffset;
SetOamMatrix(2, gPokedexEntries[speciesId].pokemonScale, 0, 0, gPokedexEntries[speciesId].pokemonScale);
sPokedexScreenData->windowIds[15] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), 1, 80, 104, 0, 0xFFFF);
sPokedexScreenData->windowIds[15] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender, TRUE), 1, 80, 104, 0, 0xFFFF);
gSprites[sPokedexScreenData->windowIds[15]].oam.paletteNum = 2;
gSprites[sPokedexScreenData->windowIds[15]].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[sPokedexScreenData->windowIds[15]].oam.matrixNum = 1;
+4 -4
View File
@@ -1179,9 +1179,9 @@ static void TeachyTvPrepBattle(u8 taskId)
InitPokedudePartyAndOpponent();
PlayMapChosenOrBattleBGM(MUS_DUMMY);
if (sStaticResources.whichScript == TTVSCR_BATTLE)
data[6] = B_TRANSITION_WHITEFADE_IN_STRIPES;
data[6] = B_TRANSITION_WHITE_BARS_FADE;
else
data[6] = B_TRANSITION_SLICED_SCREEN;
data[6] = B_TRANSITION_SLICE;
data[7] = 0;
gTasks[taskId].func = TeachyTvPreBattleAnimAndSetBattleCallback;
}
@@ -1192,11 +1192,11 @@ static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId)
switch (data[7])
{
case 0:
BT_StartOnField(data[6]);
BattleTransition_StartOnField(data[6]);
++data[7];
break;
case 1:
if (BT_IsDone())
if (IsBattleTransitionDone())
{
SetMainCallback2(CB2_InitBattle);
DestroyTask(taskId);
+25 -24
View File
@@ -275,46 +275,47 @@ void CopyGlyphToWindow(struct TextPrinter *textPrinter)
}
}
void sub_8003614(void *tileData, u16 currentX, u16 currentY, u16 width, u16 height)
// Unused
static void CopyGlyphToWindow_Parameterized(void *tileData, u16 currentX, u16 currentY, u16 width, u16 height)
{
int r0, r1;
u8 r2;
u16 r3;
int glyphWidth, glyphHeight;
u8 sizeType;
u16 sizeX;
if (width - currentX < gGlyphInfo.width)
r0 = width - currentX;
glyphWidth = width - currentX;
else
r0 = gGlyphInfo.width;
glyphWidth = gGlyphInfo.width;
if (height - currentY < gGlyphInfo.height)
r1 = height - currentY;
glyphHeight = height - currentY;
else
r1 = gGlyphInfo.height;
glyphHeight = gGlyphInfo.height;
r2 = 0;
r3 = (width + (width & 7)) >> 3;
if (r0 > 8)
r2 |= 1;
if (r1 > 8)
r2 |= 2;
sizeType = 0;
sizeX = (width + (width & 7)) >> 3;
if (glyphWidth > 8)
sizeType |= 1;
if (glyphHeight > 8)
sizeType |= 2;
switch (r2)
switch (sizeType)
{
case 0:
GLYPH_COPY(0, 0, r0, r1, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 0, glyphWidth, glyphHeight, tileData, currentX, currentY, sizeX);
return;
case 1:
GLYPH_COPY(0, 0, 8, r1, tileData, currentX, currentY, r3);
GLYPH_COPY(8, 0, r0 - 8, r1, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 0, 8, glyphHeight, tileData, currentX, currentY, sizeX);
GLYPH_COPY(8, 0, glyphWidth - 8, glyphHeight, tileData, currentX, currentY, sizeX);
return;
case 2:
GLYPH_COPY(0, 0, r0, 8, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 8, r0, r1 - 8, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 0, glyphWidth, 8, tileData, currentX, currentY, sizeX);
GLYPH_COPY(0, 8, glyphWidth, glyphHeight - 8, tileData, currentX, currentY, sizeX);
return;
case 3:
GLYPH_COPY(0, 0, 8, 8, tileData, currentX, currentY, r3);
GLYPH_COPY(8, 0, r0 - 8, 8, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 8, 8, r1 - 8, tileData, currentX, currentY, r3);
GLYPH_COPY(8, 8, r0 - 8, r1 - 8, tileData, currentX, currentY, r3);
GLYPH_COPY(0, 0, 8, 8, tileData, currentX, currentY, sizeX);
GLYPH_COPY(8, 0, glyphWidth - 8, 8, tileData, currentX, currentY, sizeX);
GLYPH_COPY(0, 8, 8, glyphHeight - 8, tileData, currentX, currentY, sizeX);
GLYPH_COPY(8, 8, glyphWidth - 8, glyphHeight - 8, tileData, currentX, currentY, sizeX);
return;
}
}
+1 -1
View File
@@ -1927,7 +1927,7 @@ static void CreateTrainerCardTrainerPic(void)
}
else
{
CreateTrainerCardTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE,
CreateTrainerCardTrainerPicSprite(PlayerGenderToFrontTrainerPicId(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE,
sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1],
8, 2);
+1 -1
View File
@@ -273,7 +273,7 @@ u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX,
return CreateTrainerCardSprite(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE);
}
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass)
u16 PlayerGenderToFrontTrainerPicId(u8 gender, bool8 getClass)
{
if (getClass == TRUE)
{
+2 -2
View File
@@ -721,7 +721,7 @@ static void CB2_EndTrainerTowerBattle(void)
static void Task_DoTrainerTowerBattle(u8 taskId)
{
if (BT_IsDone() == TRUE)
if (IsBattleTransitionDone() == TRUE)
{
gMain.savedCallback = CB2_EndTrainerTowerBattle;
CleanupOverworldWindowsAndTilemaps();
@@ -741,7 +741,7 @@ static void DoTrainerTowerBattle(void)
BuildEnemyParty();
CreateTask(Task_DoTrainerTowerBattle, 1);
PlayMapChosenOrBattleBGM(0);
BT_StartOnField(BattleSetup_GetBattleTowerBattleTransition());
BattleTransition_StartOnField(BattleSetup_GetBattleTowerBattleTransition());
}
static void TrainerTowerGetChallengeType(void)
+4 -4
View File
@@ -322,7 +322,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = {
.checksum = 0x00016456
};
static const struct TrainerTowerFloor gUnknown_847B36C = {
static const struct TrainerTowerFloor sTrainerTowerFloor_Single_Unused = {
.id = 3,
.floorIdx = MAX_TRAINER_TOWER_FLOORS,
.challengeType = CHALLENGE_TYPE_SINGLE,
@@ -5539,7 +5539,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = {
.checksum = 0x000160f4
};
static const struct TrainerTowerFloor gUnknown_847FD0C = {
static const struct TrainerTowerFloor sTrainerTowerFloor_Double_Unused1 = {
.id = 22,
.floorIdx = MAX_TRAINER_TOWER_FLOORS,
.challengeType = CHALLENGE_TYPE_DOUBLE,
@@ -7179,7 +7179,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = {
.checksum = 0x0001624b
};
static const struct TrainerTowerFloor gUnknown_848144C = {
static const struct TrainerTowerFloor sTrainerTowerFloor_Double_Unused2 = {
.id = 28,
.floorIdx = MAX_TRAINER_TOWER_FLOORS,
.challengeType = CHALLENGE_TYPE_DOUBLE,
@@ -7773,7 +7773,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = {
.checksum = 0x00015272
};
static const struct TrainerTowerFloor gUnknown_8481C0C = {
static const struct TrainerTowerFloor sTrainerTowerFloor_Double_Unused3 = {
.id = 30,
.floorIdx = MAX_TRAINER_TOWER_FLOORS,
.challengeType = CHALLENGE_TYPE_DOUBLE,