mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
added footprints
This commit is contained in:
parent
a334f7f5e0
commit
f1f4082f62
@ -28,7 +28,8 @@
|
||||
#define WIN_INSTRUCTIONS 1
|
||||
#define WIN_BOTTOM_LEFT 2
|
||||
#define WIN_BOTTOM_RIGHT 3
|
||||
#define WIN_END 4
|
||||
#define WIN_FOOTPRINT 4
|
||||
#define WIN_END 5
|
||||
|
||||
//Battle backgrounds
|
||||
#define MAP_BATTLE_SCENE_NORMAL 0
|
||||
|
@ -4,6 +4,10 @@
|
||||
extern u8 gUnusedPokedexU8;
|
||||
extern void (*gPokedexVBlankCB)(void);
|
||||
|
||||
#if P_ENABLE_DEBUG == TRUE
|
||||
extern const u8 *const gMonFootprintTable[];
|
||||
#endif
|
||||
|
||||
enum
|
||||
{
|
||||
DEX_MODE_HOENN,
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "overworld.h"
|
||||
#include "palette.h"
|
||||
#include "palette_util.h"
|
||||
#include "pokedex.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_animation.h"
|
||||
#include "pokemon_debug.h"
|
||||
@ -136,6 +137,16 @@ static const struct WindowTemplate sPokemonDebugWindowTemplate[] =
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 1 + 30 + 60 + 30
|
||||
},
|
||||
[WIN_FOOTPRINT] =
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 27,
|
||||
.tilemapTop = 14,
|
||||
.width = 2,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 1 + 30 + 60 + 30 + 150,
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
};
|
||||
|
||||
@ -750,6 +761,31 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonDebugMenu *data,
|
||||
gSprites[data->frontShadowSpriteId].invisible = FALSE;
|
||||
}
|
||||
|
||||
//Tile functions (footprints)
|
||||
static void DrawFootprintCustom(u8 windowId, u16 species)
|
||||
{
|
||||
u8 footprint[32 * 4] = {0};
|
||||
const u8 * footprintGfx = gMonFootprintTable[species];
|
||||
u32 i, j, tileIdx = 0;
|
||||
|
||||
if (footprintGfx != NULL)
|
||||
{
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
u8 tile = footprintGfx[i];
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
u8 value = ((tile >> (2 * j)) & 1 ? 2 : 0);
|
||||
if (tile & (2 << (2 * j)))
|
||||
value |= 0x20;
|
||||
footprint[tileIdx] = value;
|
||||
tileIdx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
CopyToWindowPixelBuffer(windowId, footprint, sizeof(footprint), 0);
|
||||
}
|
||||
|
||||
//Battle background functions
|
||||
static void LoadBattleBg(u8 battleBgType, u8 battleTerrain)
|
||||
{
|
||||
@ -1050,6 +1086,10 @@ void CB2_Debug_Pokemon(void)
|
||||
//BattleNg Name
|
||||
PrintBattleBgName(taskId);
|
||||
|
||||
//Footprint
|
||||
DrawFootprintCustom(WIN_FOOTPRINT, species);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
@ -1406,6 +1446,10 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data)
|
||||
|
||||
//Arrow invisibility
|
||||
SetArrowInvisibility(data);
|
||||
|
||||
//Footprint
|
||||
DrawFootprintCustom(WIN_FOOTPRINT, species);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void Exit_Debug_Pokemon(u8 taskId)
|
||||
|
Loading…
Reference in New Issue
Block a user