Even more battle environment updates (#8835)
Some checks are pending
CI / build (push) Waiting to run
CI / docs_validate (push) Waiting to run
CI / allcontributors (push) Waiting to run

This commit is contained in:
Frank DeBlasio 2026-01-28 10:00:14 -05:00 committed by GitHub
parent 0c44cc1b27
commit e80ae56903
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 135 additions and 181 deletions

View File

@ -5,9 +5,12 @@ struct BattleBackground
{
const void *tileset;
const void *tilemap;
const void *entryTileset;
const void *entryTilemap;
const void *palette;
};
struct BattleBackgroundEntry
{
const void *tileset;
const void *tilemap;
};
void BattleInitBgsAndWindows(void);

View File

@ -13,7 +13,9 @@ struct BattleEnvironment
u16 secretPowerEffect;
enum Type camouflageType;
u16 camouflageBlend;
struct BattleBackgroundEntry entry;
struct BattleBackground background;
const void *palette;
TaskFunc battleIntroSlide;
};

View File

@ -629,7 +629,7 @@ static void LoadBattleEnvironmentGfx(u16 environment)
// Copy to bg3
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].background.tileset, (void *)(BG_CHAR_ADDR(2)));
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].background.tilemap, (void *)(BG_SCREEN_ADDR(26)));
LoadPalette(gBattleEnvironmentInfo[environment].background.palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
LoadPalette(gBattleEnvironmentInfo[environment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
}
// Loads the entry associated with the battle environment.
@ -639,8 +639,8 @@ static void LoadBattleEnvironmentEntryGfx(u16 environment)
if (environment >= NELEMS(gBattleEnvironmentInfo))
environment = BATTLE_ENVIRONMENT_PLAIN;
// Copy to bg1
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].background.entryTileset, (void *)BG_CHAR_ADDR(1));
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].background.entryTilemap, (void *)BG_SCREEN_ADDR(28));
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].entry.tileset, (void *)BG_CHAR_ADDR(1));
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[environment].entry.tilemap, (void *)BG_SCREEN_ADDR(28));
}
static u8 GetBattleEnvironmentOverride(void)
@ -1090,7 +1090,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[GetBattleEnvironmentOverride()].background.tilemap, (void *)(BG_SCREEN_ADDR(26)));
break;
case 5:
LoadPalette(gBattleEnvironmentInfo[GetBattleEnvironmentOverride()].background.palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
LoadPalette(gBattleEnvironmentInfo[GetBattleEnvironmentOverride()].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
break;
case 6:
LoadBattleMenuWindowGfx();

View File

@ -105,11 +105,6 @@ void HandleIntroSlide(u8 environment)
{
taskId = CreateTask(BattleIntroSlide3, 0);
}
else if (GetMonData(&gEnemyParty[0], MON_DATA_SPECIES) == SPECIES_KYOGRE)
{
environment = BATTLE_ENVIRONMENT_UNDERWATER;
taskId = CreateTask(BattleIntroSlide2, 0);
}
else
{
if (environment >= NELEMS(gBattleEnvironmentInfo)
@ -289,6 +284,7 @@ void BattleIntroSlide2(u8 taskId)
gBattle_BG1_X += 8;
break;
case BATTLE_ENVIRONMENT_UNDERWATER:
case BATTLE_ENVIRONMENT_KYOGRE:
gBattle_BG1_X += 6;
break;
}

View File

@ -515,9 +515,7 @@ static void CB2_InitBattleInternal(void)
gBattle_BG3_Y = 0;
if (!DEBUG_OVERWORLD_MENU || (DEBUG_OVERWORLD_MENU && !gIsDebugBattle))
{
gBattleEnvironment = BattleSetup_GetEnvironmentId();
}
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
gBattleEnvironment = BATTLE_ENVIRONMENT_BUILDING;
if (TestRunner_Battle_GetForcedEnvironment())
@ -5955,6 +5953,10 @@ enum Type GetDynamicMoveType(struct Pokemon *mon, enum Move move, enum BattlerId
if (species == SPECIES_TERAPAGOS_STELLAR)
return TYPE_STELLAR;
break;
case EFFECT_NATURE_POWER:
if (state == MON_IN_BATTLE)
return GetMoveType(GetNaturePowerMove(battler));
break;
default:
break;
}

View File

@ -1,50 +1,15 @@
#include "battle_anim_scripts.h"
const u32 gBattleEnvironmentTiles_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_TallGrass[] = INCBIN_U16("graphics/battle_environment/tall_grass/palette.gbapal");
const u32 gBattleEnvironmentTilemap_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/map.bin.smolTM");
#define ENVIRONMENT_BACKGROUND(Background) \
{ \
.tileset = gBattleEnvironmentTiles_##Background, \
.tilemap = gBattleEnvironmentTilemap_##Background, \
}
const u32 gBattleEnvironmentTiles_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_LongGrass[] = INCBIN_U16("graphics/battle_environment/long_grass/palette.gbapal");
const u32 gBattleEnvironmentTilemap_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Sand[] = INCBIN_U32("graphics/battle_environment/sand/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Sand[] = INCBIN_U16("graphics/battle_environment/sand/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Sand[] = INCBIN_U32("graphics/battle_environment/sand/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Underwater[] = INCBIN_U16("graphics/battle_environment/underwater/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Water[] = INCBIN_U32("graphics/battle_environment/water/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Water[] = INCBIN_U16("graphics/battle_environment/water/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Water[] = INCBIN_U32("graphics/battle_environment/water/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_PondWater[] = INCBIN_U16("graphics/battle_environment/pond_water/palette.gbapal");
const u32 gBattleEnvironmentTilemap_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Rock[] = INCBIN_U32("graphics/battle_environment/rock/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Rock[] = INCBIN_U16("graphics/battle_environment/rock/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Rock[] = INCBIN_U32("graphics/battle_environment/rock/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Cave[] = INCBIN_U32("graphics/battle_environment/cave/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Cave[] = INCBIN_U16("graphics/battle_environment/cave/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Cave[] = INCBIN_U32("graphics/battle_environment/cave/map.bin.smolTM");
const u16 gBattleEnvironmentPalette_Plain[] = INCBIN_U16("graphics/battle_environment/plain/palette.gbapal");
const u32 gBattleEnvironmentTiles_Building[] = INCBIN_U32("graphics/battle_environment/building/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Frontier[] = INCBIN_U16("graphics/battle_environment/stadium/battle_frontier.gbapal"); // this is also used for link battles
const u32 gBattleEnvironmentTilemap_Building[] = INCBIN_U32("graphics/battle_environment/building/map.bin.smolTM");
#define ENVIRONMENT_BACKGROUND(background) \
{ \
.tileset = gBattleEnvironmentTiles_##background, \
.tilemap = gBattleEnvironmentTilemap_##background, \
.entryTileset = gBattleEnvironmentAnimTiles_##background, \
.entryTilemap = gBattleEnvironmentAnimTilemap_##background, \
.palette = gBattleEnvironmentPalette_##background, \
#define ENVIRONMENT_ENTRY(Background) \
{ \
.tileset = gBattleEnvironmentAnimTiles_##Background, \
.tilemap = gBattleEnvironmentAnimTilemap_##Background, \
}
#define DEFAULT_CAMOUFLAGE_BLEND RGB_WHITE
@ -116,7 +81,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = B_SECRET_POWER_EFFECT >= GEN_4 ? MOVE_EFFECT_SLEEP : MOVE_EFFECT_POISON,
.camouflageType = TYPE_GRASS,
.camouflageBlend = RGB(12, 24, 2),
.entry = ENVIRONMENT_ENTRY(TallGrass),
.background = ENVIRONMENT_BACKGROUND(TallGrass),
.palette = gBattleEnvironmentPalette_TallGrass,
.battleIntroSlide = BattleIntroSlide1,
},
@ -134,7 +101,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = MOVE_EFFECT_SLEEP,
.camouflageType = TYPE_GRASS,
.camouflageBlend = RGB(0, 15, 2),
.entry = ENVIRONMENT_ENTRY(LongGrass),
.background = ENVIRONMENT_BACKGROUND(LongGrass),
.palette = gBattleEnvironmentPalette_LongGrass,
.battleIntroSlide = BattleIntroSlide1,
},
@ -146,7 +115,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = MOVE_EFFECT_ACC_MINUS_1,
.camouflageType = TYPE_GROUND,
.camouflageBlend = RGB(30, 24, 11),
.entry = ENVIRONMENT_ENTRY(Sand),
.background = ENVIRONMENT_BACKGROUND(Sand),
.palette = gBattleEnvironmentPalette_Sand,
.battleIntroSlide = BattleIntroSlide2,
},
@ -158,7 +129,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = B_SECRET_POWER_EFFECT >= GEN_6 ? MOVE_EFFECT_ATK_MINUS_1 : MOVE_EFFECT_DEF_MINUS_1,
.camouflageType = TYPE_WATER,
.camouflageBlend = RGB(0, 0, 18),
.entry = ENVIRONMENT_ENTRY(Underwater),
.background = ENVIRONMENT_BACKGROUND(Underwater),
.palette = gBattleEnvironmentPalette_Underwater,
.battleIntroSlide = BattleIntroSlide2,
},
@ -170,7 +143,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = MOVE_EFFECT_ATK_MINUS_1,
.camouflageType = TYPE_WATER,
.camouflageBlend = RGB(11, 22, 31),
.entry = ENVIRONMENT_ENTRY(Water),
.background = ENVIRONMENT_BACKGROUND(Water),
.palette = gBattleEnvironmentPalette_Water,
.battleIntroSlide = BattleIntroSlide2,
},
@ -182,7 +157,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = B_SECRET_POWER_EFFECT >= GEN_4 ? MOVE_EFFECT_ATK_MINUS_1 : MOVE_EFFECT_SPD_MINUS_1,
.camouflageType = TYPE_WATER,
.camouflageBlend = RGB(11, 22, 31),
.entry = ENVIRONMENT_ENTRY(PondWater),
.background = ENVIRONMENT_BACKGROUND(PondWater),
.palette = gBattleEnvironmentPalette_PondWater,
.battleIntroSlide = BattleIntroSlide1,
},
@ -206,7 +183,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
#endif
.camouflageType = B_CAMOUFLAGE_TYPES >= GEN_5 ? TYPE_GROUND : TYPE_ROCK,
.camouflageBlend = RGB(22, 16, 10),
.entry = ENVIRONMENT_ENTRY(Rock),
.background = ENVIRONMENT_BACKGROUND(Rock),
.palette = gBattleEnvironmentPalette_Rock,
.battleIntroSlide = BattleIntroSlide1,
},
@ -218,7 +197,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = CAVE_SECRET_POWER_EFFECT,
.camouflageType = CAVE_CAMOUFLAGE_TYPE,
.camouflageBlend = CAVE_CAMOUFLAGE_BLEND,
.entry = ENVIRONMENT_ENTRY(Cave),
.background = ENVIRONMENT_BACKGROUND(Cave),
.palette = gBattleEnvironmentPalette_Cave,
.battleIntroSlide = CAVE_BATTLE_INTRO_SLIDE,
},
@ -230,7 +211,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Building),
.palette = gBattleEnvironmentPalette_Building,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -242,14 +225,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = PLAIN_SECRET_POWER_EFFECT,
.camouflageType = PLAIN_CAMOUFLAGE_TYPE,
.camouflageBlend = PLAIN_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Building,
.tilemap = gBattleEnvironmentTilemap_Building,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_Plain,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Building),
.palette = gBattleEnvironmentPalette_Plain,
.battleIntroSlide = PLAIN_BATTLE_INTRO_SLIDE,
},
@ -260,14 +238,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Building,
.tilemap = gBattleEnvironmentTilemap_Building,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_Frontier,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Building),
.palette = gBattleEnvironmentPalette_Frontier,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -278,14 +251,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Building,
.tilemap = gBattleEnvironmentTilemap_Building,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_BuildingGym,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Building),
.palette = gBattleEnvironmentPalette_BuildingGym,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -296,14 +264,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Building,
.tilemap = gBattleEnvironmentTilemap_Building,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_BuildingLeader,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Building),
.palette = gBattleEnvironmentPalette_BuildingLeader,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -314,14 +277,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumMagma,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumMagma,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -332,14 +290,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumAqua,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumAqua,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -350,14 +303,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumSidney,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumSidney,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -368,14 +316,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumPhoebe,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumPhoebe,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -386,14 +329,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumGlacia,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumGlacia,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -404,14 +342,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumDrake,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumDrake,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -422,14 +355,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = BUILDING_SECRET_POWER_EFFECT,
.camouflageType = BUILDING_CAMOUFLAGE_TYPE,
.camouflageBlend = BUILDING_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Stadium,
.tilemap = gBattleEnvironmentTilemap_Stadium,
.entryTileset = gBattleEnvironmentAnimTiles_Building,
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
.palette = gBattleEnvironmentPalette_StadiumWallace,
},
.entry = ENVIRONMENT_ENTRY(Building),
.background = ENVIRONMENT_BACKGROUND(Stadium),
.palette = gBattleEnvironmentPalette_StadiumWallace,
.battleIntroSlide = BUILDING_BATTLE_INTRO_SLIDE,
},
@ -441,14 +369,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = CAVE_SECRET_POWER_EFFECT,
.camouflageType = CAVE_CAMOUFLAGE_TYPE,
.camouflageBlend = CAVE_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Cave,
.tilemap = gBattleEnvironmentTilemap_Cave,
.entryTileset = gBattleEnvironmentAnimTiles_Cave,
.entryTilemap = gBattleEnvironmentAnimTilemap_Cave,
.palette = gBattleEnvironmentPalette_Groudon,
},
.entry = ENVIRONMENT_ENTRY(Cave),
.background = ENVIRONMENT_BACKGROUND(Cave),
.palette = gBattleEnvironmentPalette_Groudon,
.battleIntroSlide = CAVE_BATTLE_INTRO_SLIDE,
},
@ -460,15 +383,10 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = CAVE_SECRET_POWER_EFFECT,
.camouflageType = CAVE_CAMOUFLAGE_TYPE,
.camouflageBlend = CAVE_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Water,
.tilemap = gBattleEnvironmentTilemap_Water,
.entryTileset = gBattleEnvironmentAnimTiles_Underwater,
.entryTilemap = gBattleEnvironmentAnimTilemap_Underwater,
.palette = gBattleEnvironmentPalette_Kyogre,
},
.battleIntroSlide = CAVE_BATTLE_INTRO_SLIDE,
.entry = ENVIRONMENT_ENTRY(Underwater),
.background = ENVIRONMENT_BACKGROUND(Water),
.palette = gBattleEnvironmentPalette_Kyogre,
.battleIntroSlide = BattleIntroSlide2,
},
[BATTLE_ENVIRONMENT_RAYQUAZA] =
@ -479,14 +397,9 @@ const struct BattleEnvironment gBattleEnvironmentInfo[BATTLE_ENVIRONMENT_COUNT]
.secretPowerEffect = PLAIN_SECRET_POWER_EFFECT,
.camouflageType = PLAIN_CAMOUFLAGE_TYPE,
.camouflageBlend = PLAIN_CAMOUFLAGE_BLEND,
.background =
{
.tileset = gBattleEnvironmentTiles_Rayquaza,
.tilemap = gBattleEnvironmentTilemap_Rayquaza,
.entryTileset = gBattleEnvironmentAnimTiles_Rayquaza,
.entryTilemap = gBattleEnvironmentAnimTilemap_Rayquaza,
.palette = gBattleEnvironmentPalette_Rayquaza,
},
.entry = ENVIRONMENT_ENTRY(Rayquaza),
.background = ENVIRONMENT_BACKGROUND(Rayquaza),
.palette = gBattleEnvironmentPalette_Rayquaza,
.battleIntroSlide = PLAIN_BATTLE_INTRO_SLIDE,
},

View File

@ -1,15 +1,47 @@
const u32 gBattleEnvironmentTiles_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_TallGrass[] = INCBIN_U16("graphics/battle_environment/tall_grass/palette.gbapal");
const u32 gBattleEnvironmentTilemap_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_LongGrass[] = INCBIN_U16("graphics/battle_environment/long_grass/palette.gbapal");
const u32 gBattleEnvironmentTilemap_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Sand[] = INCBIN_U32("graphics/battle_environment/sand/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Sand[] = INCBIN_U16("graphics/battle_environment/sand/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Sand[] = INCBIN_U32("graphics/battle_environment/sand/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Underwater[] = INCBIN_U16("graphics/battle_environment/underwater/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Water[] = INCBIN_U32("graphics/battle_environment/water/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Water[] = INCBIN_U16("graphics/battle_environment/water/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Water[] = INCBIN_U32("graphics/battle_environment/water/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_PondWater[] = INCBIN_U16("graphics/battle_environment/pond_water/palette.gbapal");
const u32 gBattleEnvironmentTilemap_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Rock[] = INCBIN_U32("graphics/battle_environment/rock/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Rock[] = INCBIN_U16("graphics/battle_environment/rock/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Rock[] = INCBIN_U32("graphics/battle_environment/rock/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Cave[] = INCBIN_U32("graphics/battle_environment/cave/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Cave[] = INCBIN_U16("graphics/battle_environment/cave/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Cave[] = INCBIN_U32("graphics/battle_environment/cave/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Building[] = INCBIN_U32("graphics/battle_environment/building/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Building[] = INCBIN_U16("graphics/battle_environment/building/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Building[] = INCBIN_U32("graphics/battle_environment/building/map.bin.smolTM");
const u16 gBattleEnvironmentPalette_BuildingGym[] = INCBIN_U16("graphics/battle_environment/building/gym.gbapal");
const u16 gBattleEnvironmentPalette_BuildingLeader[] = INCBIN_U16("graphics/battle_environment/building/leader.gbapal");
const u16 gBattleEnvironmentPalette_Plain[] = INCBIN_U16("graphics/battle_environment/plain/palette.gbapal");
const u32 gBattleEnvironmentTiles_Stadium[] = INCBIN_U32("graphics/battle_environment/stadium/tiles.4bpp.smol");
const u32 gBattleEnvironmentTilemap_Stadium[] = INCBIN_U32("graphics/battle_environment/stadium/map.bin.smolTM");
const u32 gBattleEnvironmentTiles_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/tiles.4bpp.smol");
const u32 gBattleEnvironmentTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/map.bin.smolTM");
const u16 gBattleEnvironmentPalette_Building[] = INCBIN_U16("graphics/battle_environment/building/palette.gbapal");
const u16 gBattleEnvironmentPalette_Kyogre[] = INCBIN_U16("graphics/battle_environment/water/kyogre.gbapal");
const u16 gBattleEnvironmentPalette_Groudon[] = INCBIN_U16("graphics/battle_environment/cave/groudon.gbapal");
const u16 gBattleEnvironmentPalette_BuildingGym[] = INCBIN_U16("graphics/battle_environment/building/gym.gbapal");
const u16 gBattleEnvironmentPalette_BuildingLeader[] = INCBIN_U16("graphics/battle_environment/building/leader.gbapal");
const u16 gBattleEnvironmentPalette_Frontier[] = INCBIN_U16("graphics/battle_environment/stadium/battle_frontier.gbapal"); // this is also used for link battles
const u16 gBattleEnvironmentPalette_StadiumAqua[] = INCBIN_U16("graphics/battle_environment/stadium/aqua.gbapal");
const u16 gBattleEnvironmentPalette_StadiumMagma[] = INCBIN_U16("graphics/battle_environment/stadium/magma.gbapal");
const u16 gBattleEnvironmentPalette_StadiumSidney[] = INCBIN_U16("graphics/battle_environment/stadium/sidney.gbapal");
@ -17,7 +49,13 @@ const u16 gBattleEnvironmentPalette_StadiumPhoebe[] = INCBIN_U16("graphics/battl
const u16 gBattleEnvironmentPalette_StadiumGlacia[] = INCBIN_U16("graphics/battle_environment/stadium/glacia.gbapal");
const u16 gBattleEnvironmentPalette_StadiumDrake[] = INCBIN_U16("graphics/battle_environment/stadium/drake.gbapal");
const u16 gBattleEnvironmentPalette_StadiumWallace[] = INCBIN_U16("graphics/battle_environment/stadium/wallace.gbapal");
const u16 gBattleEnvironmentPalette_Kyogre[] = INCBIN_U16("graphics/battle_environment/water/kyogre.gbapal");
const u16 gBattleEnvironmentPalette_Groudon[] = INCBIN_U16("graphics/battle_environment/cave/groudon.gbapal");
const u32 gBattleEnvironmentTiles_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/tiles.4bpp.smol");
const u16 gBattleEnvironmentPalette_Rayquaza[] = INCBIN_U16("graphics/battle_environment/sky/palette.gbapal");
const u32 gBattleEnvironmentTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/map.bin.smolTM");
const u32 gBattleEnvironmentAnimTiles_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/anim_tiles.4bpp.smol");
const u32 gBattleEnvironmentAnimTilemap_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/anim_map.bin.smolTM");

View File

@ -968,7 +968,7 @@ static void LoadBattleBg(enum BattleEnvironments battleEnvironment)
{
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tileset, (void *)(BG_CHAR_ADDR(BACKGROUND_3_CHAR_BASE)));
DecompressDataWithHeaderVram(gBattleEnvironmentInfo[battleEnvironment].background.tilemap, (void *)(BG_SCREEN_ADDR(BACKGROUND_3_MAP_BASE)));
LoadPalette(gBattleEnvironmentInfo[battleEnvironment].background.palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
LoadPalette(gBattleEnvironmentInfo[battleEnvironment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
}
static void PrintBattleBgName(u8 battleEnvironment)