summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlampharos <Blampharos@users.noreply.github.com>2018-01-28 07:47:04 +0100
committerBlampharos <Blampharos@users.noreply.github.com>2018-01-28 07:47:04 +0100
commit171dd32df8a56e1f10956be8b944cb216edb8f9d (patch)
tree2b109d28e6f4fd9130c5cf3872aa51b6a79133b2
parent5fd65682ef371b1a01586bbdc78d0438862ff6bc (diff)
Decompile gBattleTerrainTable
Forward declares introduced into graphics.h
-rw-r--r--data/btl_attrs.s72
-rw-r--r--include/graphics.h57
-rw-r--r--src/battle/battle_1.c83
3 files changed, 140 insertions, 72 deletions
diff --git a/data/btl_attrs.s b/data/btl_attrs.s
index 139b8ca23..f36c854b9 100644
--- a/data/btl_attrs.s
+++ b/data/btl_attrs.s
@@ -9,78 +9,6 @@
.section .rodata
.align 2
-gBattleTerrainTable:: @ 81F95AC
- @ tall_grass
- .4byte gBattleTerrainTiles_TallGrass
- .4byte gBattleTerrainTilemap_TallGrass
- .4byte gBattleTerrainAnimTiles_TallGrass
- .4byte gBattleTerrainAnimTilemap_TallGrass
- .4byte gBattleTerrainPalette_TallGrass
-
- @ long_grass
- .4byte gBattleTerrainTiles_LongGrass
- .4byte gBattleTerrainTilemap_LongGrass
- .4byte gBattleTerrainAnimTiles_LongGrass
- .4byte gBattleTerrainAnimTilemap_LongGrass
- .4byte gBattleTerrainPalette_LongGrass
-
- @ sand
- .4byte gBattleTerrainTiles_Sand
- .4byte gBattleTerrainTilemap_Sand
- .4byte gBattleTerrainAnimTiles_Sand
- .4byte gBattleTerrainAnimTilemap_Sand
- .4byte gBattleTerrainPalette_Sand
-
- @ underwater
- .4byte gBattleTerrainTiles_Underwater
- .4byte gBattleTerrainTilemap_Underwater
- .4byte gBattleTerrainAnimTiles_Underwater
- .4byte gBattleTerrainAnimTilemap_Underwater
- .4byte gBattleTerrainPalette_Underwater
-
- @ water
- .4byte gBattleTerrainTiles_Water
- .4byte gBattleTerrainTilemap_Water
- .4byte gBattleTerrainAnimTiles_Water
- .4byte gBattleTerrainAnimTilemap_Water
- .4byte gBattleTerrainPalette_Water
-
- @ pond_water
- .4byte gBattleTerrainTiles_PondWater
- .4byte gBattleTerrainTilemap_PondWater
- .4byte gBattleTerrainAnimTiles_PondWater
- .4byte gBattleTerrainAnimTilemap_PondWater
- .4byte gBattleTerrainPalette_PondWater
-
- @ rock
- .4byte gBattleTerrainTiles_Rock
- .4byte gBattleTerrainTilemap_Rock
- .4byte gBattleTerrainAnimTiles_Rock
- .4byte gBattleTerrainAnimTilemap_Rock
- .4byte gBattleTerrainPalette_Rock
-
- @ cave
- .4byte gBattleTerrainTiles_Cave
- .4byte gBattleTerrainTilemap_Cave
- .4byte gBattleTerrainAnimTiles_Cave
- .4byte gBattleTerrainAnimTilemap_Cave
- .4byte gBattleTerrainPalette_Cave
-
- @ building
- .4byte gBattleTerrainTiles_Building
- .4byte gBattleTerrainTilemap_Building
- .4byte gBattleTerrainAnimTiles_Building
- .4byte gBattleTerrainAnimTilemap_Building
- .4byte gBattleTerrainPalette_Building
-
- @ plain
- .4byte gBattleTerrainTiles_Building
- .4byte gBattleTerrainTilemap_Building
- .4byte gBattleTerrainAnimTiles_Building
- .4byte gBattleTerrainAnimTilemap_Building
- .4byte gBattleTerrainPalette_Plain
-
- .align 2
gUnknown_081F9674:: @ 81F9674
.4byte REG_BG3HOFS
.4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
diff --git a/include/graphics.h b/include/graphics.h
index 76a45f6f6..1d279bf84 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -3337,4 +3337,61 @@ extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_17;
extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_20;
extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_21;
+// data/graphics.s
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_TallGrass[];
+extern const u8 gBattleTerrainTilemap_TallGrass[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_TallGrass[];
+extern const u8 gBattleTerrainAnimTilemap_TallGrass[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_TallGrass[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_LongGrass[];
+extern const u8 gBattleTerrainTilemap_LongGrass[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_LongGrass[];
+extern const u8 gBattleTerrainAnimTilemap_LongGrass[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_LongGrass[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Sand[];
+extern const u8 gBattleTerrainTilemap_Sand[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Sand[];
+extern const u8 gBattleTerrainAnimTilemap_Sand[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Sand[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Underwater[];
+extern const u8 gBattleTerrainTilemap_Underwater[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Underwater[];
+extern const u8 gBattleTerrainAnimTilemap_Underwater[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Underwater[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Water[];
+extern const u8 gBattleTerrainTilemap_Water[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Water[];
+extern const u8 gBattleTerrainAnimTilemap_Water[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Water[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_PondWater[];
+extern const u8 gBattleTerrainTilemap_PondWater[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_PondWater[];
+extern const u8 gBattleTerrainAnimTilemap_PondWater[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_PondWater[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Rock[];
+extern const u8 gBattleTerrainTilemap_Rock[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Rock[];
+extern const u8 gBattleTerrainAnimTilemap_Rock[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Rock[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Cave[];
+extern const u8 gBattleTerrainTilemap_Cave[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Cave[];
+extern const u8 gBattleTerrainAnimTilemap_Cave[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Cave[];
+
+extern const struct CompressedSpriteSheet gBattleTerrainTiles_Building[];
+extern const u8 gBattleTerrainTilemap_Building[];
+extern const struct CompressedSpriteSheet gBattleTerrainAnimTiles_Building[];
+extern const u8 gBattleTerrainAnimTilemap_Building[];
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Building[];
+
+extern const struct CompressedSpritePalette gBattleTerrainPalette_Plain[];
+
#endif // GUARD_GRAPHICS_H
diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c
index 9ef0b92cd..0eaca7b76 100644
--- a/src/battle/battle_1.c
+++ b/src/battle/battle_1.c
@@ -3,6 +3,7 @@
#include "battle_setup.h"
#include "battle.h"
#include "trainer.h"
+#include "graphics.h"
#include "gba/types.h"
#include "constants/species.h"
#include "constants/moves.h"
@@ -521,3 +522,85 @@ extern const u8 gUnknown_08E5DC2C[];
const struct CompressedSpriteSheet gUnknown_081F95A4[] = {
{gUnknown_08E5DC2C, 4096, 0x2710},
};
+
+struct BattleBackground
+{
+ const void *tileset;
+ const void *tilemap;
+ const void *entryTileset;
+ const void *entryTilemap;
+ const void *palette;
+};
+
+const struct BattleBackground gBattleTerrainTable[] = {
+ {
+ .tileset = gBattleTerrainTiles_TallGrass,
+ .tilemap = gBattleTerrainTilemap_TallGrass,
+ .entryTileset = gBattleTerrainAnimTiles_TallGrass,
+ .entryTilemap = gBattleTerrainAnimTilemap_TallGrass,
+ .palette = gBattleTerrainPalette_TallGrass
+ },
+ {
+ .tileset = gBattleTerrainTiles_LongGrass,
+ .tilemap = gBattleTerrainTilemap_LongGrass,
+ .entryTileset = gBattleTerrainAnimTiles_LongGrass,
+ .entryTilemap = gBattleTerrainAnimTilemap_LongGrass,
+ .palette = gBattleTerrainPalette_LongGrass
+ },
+ {
+ .tileset = gBattleTerrainTiles_Sand,
+ .tilemap = gBattleTerrainTilemap_Sand,
+ .entryTileset = gBattleTerrainAnimTiles_Sand,
+ .entryTilemap = gBattleTerrainAnimTilemap_Sand,
+ .palette = gBattleTerrainPalette_Sand
+ },
+ {
+ .tileset = gBattleTerrainTiles_Underwater,
+ .tilemap = gBattleTerrainTilemap_Underwater,
+ .entryTileset = gBattleTerrainAnimTiles_Underwater,
+ .entryTilemap = gBattleTerrainAnimTilemap_Underwater,
+ .palette = gBattleTerrainPalette_Underwater
+ },
+ {
+ .tileset = gBattleTerrainTiles_Water,
+ .tilemap = gBattleTerrainTilemap_Water,
+ .entryTileset = gBattleTerrainAnimTiles_Water,
+ .entryTilemap = gBattleTerrainAnimTilemap_Water,
+ .palette = gBattleTerrainPalette_Water
+ },
+ {
+ .tileset = gBattleTerrainTiles_PondWater,
+ .tilemap = gBattleTerrainTilemap_PondWater,
+ .entryTileset = gBattleTerrainAnimTiles_PondWater,
+ .entryTilemap = gBattleTerrainAnimTilemap_PondWater,
+ .palette = gBattleTerrainPalette_PondWater
+ },
+ {
+ .tileset = gBattleTerrainTiles_Rock,
+ .tilemap = gBattleTerrainTilemap_Rock,
+ .entryTileset = gBattleTerrainAnimTiles_Rock,
+ .entryTilemap = gBattleTerrainAnimTilemap_Rock,
+ .palette = gBattleTerrainPalette_Rock
+ },
+ {
+ .tileset = gBattleTerrainTiles_Cave,
+ .tilemap = gBattleTerrainTilemap_Cave,
+ .entryTileset = gBattleTerrainAnimTiles_Cave,
+ .entryTilemap = gBattleTerrainAnimTilemap_Cave,
+ .palette = gBattleTerrainPalette_Cave
+ },
+ {
+ .tileset = gBattleTerrainTiles_Building,
+ .tilemap = gBattleTerrainTilemap_Building,
+ .entryTileset = gBattleTerrainAnimTiles_Building,
+ .entryTilemap = gBattleTerrainAnimTilemap_Building,
+ .palette = gBattleTerrainPalette_Building
+ },
+ {
+ .tileset = gBattleTerrainTiles_Building,
+ .tilemap = gBattleTerrainTilemap_Building,
+ .entryTileset = gBattleTerrainAnimTiles_Building,
+ .entryTilemap = gBattleTerrainAnimTilemap_Building,
+ .palette = gBattleTerrainPalette_Plain
+ }
+};