mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Merge pull request #333 from Diegoisawesome/master
Add defines for tile, metatile, and palette count
This commit is contained in:
commit
25e469b664
@ -1,6 +1,13 @@
|
|||||||
#ifndef GUARD_FIELDMAP_H
|
#ifndef GUARD_FIELDMAP_H
|
||||||
#define GUARD_FIELDMAP_H
|
#define GUARD_FIELDMAP_H
|
||||||
|
|
||||||
|
#define NUM_TILES_IN_PRIMARY 512
|
||||||
|
#define NUM_TILES_TOTAL 1024
|
||||||
|
#define NUM_METATILES_IN_PRIMARY 512
|
||||||
|
#define NUM_METATILES_TOTAL 1024
|
||||||
|
#define NUM_PALS_IN_PRIMARY 6
|
||||||
|
#define NUM_PALS_TOTAL 13
|
||||||
|
|
||||||
extern struct BackupMapLayout gUnknown_03005DC0;
|
extern struct BackupMapLayout gUnknown_03005DC0;
|
||||||
|
|
||||||
u32 MapGridGetMetatileIdAt(int, int);
|
u32 MapGridGetMetatileIdAt(int, int);
|
||||||
|
@ -232,14 +232,14 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int
|
|||||||
u16 metatileId = MapGridGetMetatileIdAt(c, d);
|
u16 metatileId = MapGridGetMetatileIdAt(c, d);
|
||||||
u16 *metatiles;
|
u16 *metatiles;
|
||||||
|
|
||||||
if (metatileId > 1024)
|
if (metatileId > NUM_METATILES_TOTAL)
|
||||||
metatileId = 0;
|
metatileId = 0;
|
||||||
if (metatileId < 512)
|
if (metatileId < NUM_METATILES_IN_PRIMARY)
|
||||||
metatiles = mapLayout->primaryTileset->metatiles;
|
metatiles = mapLayout->primaryTileset->metatiles;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
metatiles = mapLayout->secondaryTileset->metatiles;
|
metatiles = mapLayout->secondaryTileset->metatiles;
|
||||||
metatileId -= 512;
|
metatileId -= NUM_METATILES_IN_PRIMARY;
|
||||||
}
|
}
|
||||||
DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b);
|
DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b);
|
||||||
}
|
}
|
||||||
|
@ -482,15 +482,15 @@ void MapGridSetMetatileEntryAt(int x, int y, u16 metatile)
|
|||||||
u16 GetBehaviorByMetatileId(u16 metatile)
|
u16 GetBehaviorByMetatileId(u16 metatile)
|
||||||
{
|
{
|
||||||
u16 *attributes;
|
u16 *attributes;
|
||||||
if (metatile <= 0x1ff)
|
if (metatile < NUM_METATILES_IN_PRIMARY)
|
||||||
{
|
{
|
||||||
attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes;
|
attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes;
|
||||||
return attributes[metatile];
|
return attributes[metatile];
|
||||||
}
|
}
|
||||||
else if (metatile <= 0x3ff)
|
else if (metatile < NUM_METATILES_TOTAL)
|
||||||
{
|
{
|
||||||
attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes;
|
attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes;
|
||||||
return attributes[metatile - 0x200];
|
return attributes[metatile - NUM_METATILES_IN_PRIMARY];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -979,7 +979,7 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1
|
|||||||
}
|
}
|
||||||
else if (tileset->isSecondary == TRUE)
|
else if (tileset->isSecondary == TRUE)
|
||||||
{
|
{
|
||||||
LoadPalette(((u16*)tileset->palettes) + 0x60, destOffset, size);
|
LoadPalette(((u16*)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size);
|
||||||
nullsub_3(destOffset, size >> 1);
|
nullsub_3(destOffset, size >> 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -992,35 +992,35 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1
|
|||||||
|
|
||||||
void copy_map_tileset1_to_vram(struct MapLayout const *mapLayout)
|
void copy_map_tileset1_to_vram(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
copy_tileset_patterns_to_vram(mapLayout->primaryTileset, 0x200, 0);
|
copy_tileset_patterns_to_vram(mapLayout->primaryTileset, NUM_TILES_IN_PRIMARY, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void copy_map_tileset2_to_vram(struct MapLayout const *mapLayout)
|
void copy_map_tileset2_to_vram(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, 0x200, 0x200);
|
copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout)
|
void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200);
|
copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply_map_tileset1_palette(struct MapLayout const *mapLayout)
|
void apply_map_tileset1_palette(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
apply_map_tileset_palette(mapLayout->primaryTileset, 0, 0xC0);
|
apply_map_tileset_palette(mapLayout->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply_map_tileset2_palette(struct MapLayout const *mapLayout)
|
void apply_map_tileset2_palette(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
apply_map_tileset_palette(mapLayout->secondaryTileset, 0x60, 0xE0);
|
apply_map_tileset_palette(mapLayout->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout)
|
void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout)
|
||||||
{
|
{
|
||||||
if (mapLayout)
|
if (mapLayout)
|
||||||
{
|
{
|
||||||
copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, 0x200, 0);
|
copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, NUM_TILES_IN_PRIMARY, 0);
|
||||||
copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200);
|
copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user