mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-04-26 02:14:22 -05:00
Simplified sprite visualizer's battle backgrounds (#8775)
This commit is contained in:
parent
8cd51b94b0
commit
2fba6a4da4
|
|
@ -34,20 +34,4 @@
|
|||
#define WIN_FOOTPRINT 4
|
||||
#define WIN_END 5
|
||||
|
||||
//Battle backgrounds
|
||||
#define MAP_BATTLE_SCENE_NORMAL 0
|
||||
#define MAP_BATTLE_SCENE_GYM 1
|
||||
#define MAP_BATTLE_SCENE_MAGMA 2
|
||||
#define MAP_BATTLE_SCENE_AQUA 3
|
||||
#define MAP_BATTLE_SCENE_SIDNEY 4
|
||||
#define MAP_BATTLE_SCENE_PHOEBE 5
|
||||
#define MAP_BATTLE_SCENE_GLACIA 6
|
||||
#define MAP_BATTLE_SCENE_DRAKE 7
|
||||
#define MAP_BATTLE_SCENE_FRONTIER 8
|
||||
#define MAP_BATTLE_SCENE_LEADER 9
|
||||
#define MAP_BATTLE_SCENE_WALLACE 10
|
||||
#define MAP_BATTLE_SCENE_GROUDON 11
|
||||
#define MAP_BATTLE_SCENE_KYOGRE 12
|
||||
#define MAP_BATTLE_SCENE_RAYQUAZA 13
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_SPRITE_VISUALIZER_H
|
||||
|
|
|
|||
|
|
@ -80,7 +80,6 @@ struct PokemonSpriteVisualizer
|
|||
|
||||
u8 animIdBack;
|
||||
u8 animIdFront;
|
||||
u8 battleBgType;
|
||||
u8 battleEnvironment;
|
||||
u8 currentSubmenu;
|
||||
u8 submenuYpos[3];
|
||||
|
|
|
|||
|
|
@ -338,36 +338,32 @@ const u8 gFrontAnimNames[][34] =
|
|||
[ANIM_SHAKE_GLOW_WHITE_SLOW] = _("SHAKE GLOW WHITE SLOW"),
|
||||
[ANIM_SHAKE_GLOW_PURPLE_SLOW] = _("SHAKE GLOW PURPLE SLOW"),
|
||||
};
|
||||
const u8 gBattleBackgroundNames[][30] =
|
||||
{
|
||||
[MAP_BATTLE_SCENE_NORMAL] = _("NORMAL "),
|
||||
[MAP_BATTLE_SCENE_GYM] = _("GYM "),
|
||||
[MAP_BATTLE_SCENE_MAGMA] = _("MAGMA "),
|
||||
[MAP_BATTLE_SCENE_AQUA] = _("AQUA "),
|
||||
[MAP_BATTLE_SCENE_SIDNEY] = _("SIDNEY "),
|
||||
[MAP_BATTLE_SCENE_PHOEBE] = _("PHOEBE "),
|
||||
[MAP_BATTLE_SCENE_GLACIA] = _("GLACIA "),
|
||||
[MAP_BATTLE_SCENE_DRAKE] = _("DRAKE "),
|
||||
[MAP_BATTLE_SCENE_FRONTIER] = _("FRONTIER "),
|
||||
[MAP_BATTLE_SCENE_LEADER] = _("LEADER "),
|
||||
[MAP_BATTLE_SCENE_WALLACE] = _("WALLACE "),
|
||||
[MAP_BATTLE_SCENE_GROUDON] = _("GROUDON "),
|
||||
[MAP_BATTLE_SCENE_KYOGRE] = _("KYOGRE "),
|
||||
[MAP_BATTLE_SCENE_RAYQUAZA] = _("RAYQUAZA "),
|
||||
};
|
||||
|
||||
const u8 gBattleBackgroundTerrainNames[][26] =
|
||||
const u8 gBattleEnvironmentBackgroundNames[][17] =
|
||||
{
|
||||
[BATTLE_ENVIRONMENT_GRASS] = _("NORMAL - GRASS "),
|
||||
[BATTLE_ENVIRONMENT_LONG_GRASS] = _("NORMAL - LONG GRASS "),
|
||||
[BATTLE_ENVIRONMENT_SAND] = _("NORMAL - SAND "),
|
||||
[BATTLE_ENVIRONMENT_UNDERWATER] = _("NORMAL - UNDERWATER "),
|
||||
[BATTLE_ENVIRONMENT_WATER] = _("NORMAL - WATER "),
|
||||
[BATTLE_ENVIRONMENT_POND] = _("NORMAL - POND "),
|
||||
[BATTLE_ENVIRONMENT_MOUNTAIN] = _("NORMAL - MOUNTAIN "),
|
||||
[BATTLE_ENVIRONMENT_CAVE] = _("NORMAL - CAVE "),
|
||||
[BATTLE_ENVIRONMENT_BUILDING] = _("NORMAL - BUILDING "),
|
||||
[BATTLE_ENVIRONMENT_PLAIN] = _("NORMAL - PLAIN "),
|
||||
[BATTLE_ENVIRONMENT_GRASS] = _("GRASS "),
|
||||
[BATTLE_ENVIRONMENT_LONG_GRASS] = _("LONG GRASS "),
|
||||
[BATTLE_ENVIRONMENT_SAND] = _("SAND "),
|
||||
[BATTLE_ENVIRONMENT_UNDERWATER] = _("UNDERWATER "),
|
||||
[BATTLE_ENVIRONMENT_WATER] = _("WATER "),
|
||||
[BATTLE_ENVIRONMENT_POND] = _("POND "),
|
||||
[BATTLE_ENVIRONMENT_MOUNTAIN] = _("MOUNTAIN "),
|
||||
[BATTLE_ENVIRONMENT_CAVE] = _("CAVE "),
|
||||
[BATTLE_ENVIRONMENT_BUILDING] = _("BUILDING "),
|
||||
[BATTLE_ENVIRONMENT_PLAIN] = _("PLAIN "),
|
||||
[BATTLE_ENVIRONMENT_FRONTIER] = _("FRONTIER "),
|
||||
[BATTLE_ENVIRONMENT_GYM] = _("GYM "),
|
||||
[BATTLE_ENVIRONMENT_LEADER] = _("LEADER "),
|
||||
[BATTLE_ENVIRONMENT_MAGMA] = _("MAGMA "),
|
||||
[BATTLE_ENVIRONMENT_AQUA] = _("AQUA "),
|
||||
[BATTLE_ENVIRONMENT_SIDNEY] = _("SIDNEY "),
|
||||
[BATTLE_ENVIRONMENT_PHOEBE] = _("PHOEBE "),
|
||||
[BATTLE_ENVIRONMENT_GLACIA] = _("GLACIA "),
|
||||
[BATTLE_ENVIRONMENT_DRAKE] = _("DRAKE "),
|
||||
[BATTLE_ENVIRONMENT_CHAMPION] = _("CHAMPION "),
|
||||
[BATTLE_ENVIRONMENT_GROUDON] = _("GROUDON "),
|
||||
[BATTLE_ENVIRONMENT_KYOGRE] = _("KYOGRE "),
|
||||
[BATTLE_ENVIRONMENT_RAYQUAZA] = _("RAYQUAZA "),
|
||||
};
|
||||
|
||||
const u8 sShadowSizeLabels[][4] =
|
||||
|
|
@ -894,82 +890,11 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer
|
|||
}
|
||||
|
||||
//Battle background functions
|
||||
static void LoadBattleBg(u8 battleBgType, enum BattleEnvironments battleEnvironment)
|
||||
static void LoadBattleBg(enum BattleEnvironments battleEnvironment)
|
||||
{
|
||||
switch (battleBgType)
|
||||
{
|
||||
default:
|
||||
case MAP_BATTLE_SCENE_NORMAL:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tileset, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tilemap, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentInfo[battleEnvironment].background.palette, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GYM:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Building, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Building, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_BuildingGym, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_MAGMA:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumMagma, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_AQUA:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumAqua, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_SIDNEY:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumSidney, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_PHOEBE:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumPhoebe, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GLACIA:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumGlacia, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_DRAKE:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumDrake, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_FRONTIER:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Building, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Building, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_Frontier, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_LEADER:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Building, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Building, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_BuildingLeader, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_WALLACE:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Stadium, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_StadiumWallace, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GROUDON:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Cave, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Cave, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_Groudon, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_KYOGRE:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Water, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Water, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_Kyogre, 0x20, 0x60);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_RAYQUAZA:
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTiles_Rayquaza, (void*)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentTilemap_Rayquaza, (void*)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentPalette_Rayquaza, 0x20, 0x60);
|
||||
break;
|
||||
}
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tileset, (void *)(BG_CHAR_ADDR(2)));
|
||||
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadPalette(gBattleEnvironmentInfo[battleEnvironment].background.palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
static void PrintBattleBgName(u8 taskId)
|
||||
|
|
@ -978,10 +903,7 @@ static void PrintBattleBgName(u8 taskId)
|
|||
u8 fontId = 0;
|
||||
u8 text[30+1];
|
||||
|
||||
if (data->battleBgType == 0)
|
||||
StringCopy(text, gBattleBackgroundTerrainNames[data->battleEnvironment]);
|
||||
else
|
||||
StringCopy(text, gBattleBackgroundNames[data->battleBgType]);
|
||||
StringCopy(text, gBattleEnvironmentBackgroundNames[data->battleEnvironment]);
|
||||
AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, 0, 24, 0, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -989,54 +911,31 @@ static void UpdateBattleBg(u8 taskId, bool8 increment)
|
|||
{
|
||||
struct PokemonSpriteVisualizer *data = GetStructPtr(taskId);
|
||||
|
||||
if (data->battleBgType == MAP_BATTLE_SCENE_NORMAL)
|
||||
if (data->battleEnvironment == BATTLE_ENVIRONMENT_GRASS)
|
||||
{
|
||||
if (increment)
|
||||
{
|
||||
if (data->battleEnvironment == BATTLE_ENVIRONMENT_PLAIN)
|
||||
data->battleBgType += 1;
|
||||
else
|
||||
data->battleEnvironment += 1;
|
||||
}
|
||||
data->battleEnvironment += 1;
|
||||
else
|
||||
{
|
||||
if (data->battleEnvironment == BATTLE_ENVIRONMENT_GRASS)
|
||||
data->battleBgType = MAP_BATTLE_SCENE_RAYQUAZA;
|
||||
else
|
||||
data->battleEnvironment -= 1;
|
||||
}
|
||||
data->battleEnvironment = BATTLE_ENVIRONMENT_RAYQUAZA;
|
||||
}
|
||||
else if (data->battleBgType == MAP_BATTLE_SCENE_GYM)
|
||||
else if (data->battleEnvironment == BATTLE_ENVIRONMENT_RAYQUAZA)
|
||||
{
|
||||
if (increment)
|
||||
data->battleBgType += 1;
|
||||
else
|
||||
{
|
||||
data->battleBgType = MAP_BATTLE_SCENE_NORMAL;
|
||||
data->battleEnvironment = BATTLE_ENVIRONMENT_PLAIN;
|
||||
}
|
||||
}
|
||||
else if (data->battleBgType == MAP_BATTLE_SCENE_RAYQUAZA)
|
||||
{
|
||||
if (increment)
|
||||
{
|
||||
data->battleBgType = MAP_BATTLE_SCENE_NORMAL;
|
||||
data->battleEnvironment = BATTLE_ENVIRONMENT_GRASS;
|
||||
}
|
||||
else
|
||||
data->battleBgType -= 1;
|
||||
data->battleEnvironment -= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (increment)
|
||||
data->battleBgType += 1;
|
||||
data->battleEnvironment += 1;
|
||||
else
|
||||
data->battleBgType -= 1;
|
||||
data->battleEnvironment -= 1;
|
||||
}
|
||||
|
||||
PrintBattleBgName(taskId);
|
||||
|
||||
LoadBattleBg(data->battleBgType, data->battleEnvironment);
|
||||
LoadBattleBg(data->battleEnvironment);
|
||||
}
|
||||
|
||||
// *******************************
|
||||
|
|
@ -1219,7 +1118,7 @@ void CB2_Pokemon_Sprite_Visualizer(void)
|
|||
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 15);
|
||||
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||
LoadBattleBg(0, BATTLE_ENVIRONMENT_GRASS);
|
||||
LoadBattleBg(BATTLE_ENVIRONMENT_GRASS);
|
||||
|
||||
gMain.state++;
|
||||
break;
|
||||
|
|
@ -1320,9 +1219,6 @@ void CB2_Pokemon_Sprite_Visualizer(void)
|
|||
data->animIdFront = gSpeciesInfo[data->currentmonId].frontAnimId;
|
||||
UpdateMonAnimNames(taskId);
|
||||
|
||||
//BattleNg Name
|
||||
PrintBattleBgName(taskId);
|
||||
|
||||
//Footprint
|
||||
DrawFootprint(WIN_FOOTPRINT, species);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user