mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Merge pull request #1242 from GriffinRichards/constants-menuinfoicons
Use constants for menu info icon table
This commit is contained in:
commit
9e55ae22b1
@ -4,6 +4,7 @@
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
#include "constants/pokemon.h"
|
||||
|
||||
#define MENU_NOTHING_CHOSEN -2
|
||||
#define MENU_B_PRESSED -1
|
||||
@ -14,6 +15,14 @@
|
||||
#define MENU_CURSOR_DELTA_LEFT -1
|
||||
#define MENU_CURSOR_DELTA_RIGHT 1
|
||||
|
||||
#define MENU_INFO_ICON_TYPE (NUMBER_OF_MON_TYPES + 1)
|
||||
#define MENU_INFO_ICON_POWER (NUMBER_OF_MON_TYPES + 2)
|
||||
#define MENU_INFO_ICON_ACCURACY (NUMBER_OF_MON_TYPES + 3)
|
||||
#define MENU_INFO_ICON_PP (NUMBER_OF_MON_TYPES + 4)
|
||||
#define MENU_INFO_ICON_EFFECT (NUMBER_OF_MON_TYPES + 5)
|
||||
#define MENU_INFO_ICON_BALL_RED (NUMBER_OF_MON_TYPES + 6)
|
||||
#define MENU_INFO_ICON_BALL_BLUE (NUMBER_OF_MON_TYPES + 7)
|
||||
|
||||
enum
|
||||
{
|
||||
SAVE_MENU_NAME,
|
||||
@ -61,7 +70,7 @@ u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 i
|
||||
u8 Menu_GetCursorPos(void);
|
||||
s8 Menu_ProcessInput(void);
|
||||
s8 Menu_ProcessInputNoWrap(void);
|
||||
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
|
||||
void BlitMenuInfoIcon(u8 winId, u8 a2, u16 x, u16 y);
|
||||
void ResetTempTileDataBuffers(void);
|
||||
void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
bool8 FreeTempTileDataBuffersIfPossible(void);
|
||||
|
@ -917,9 +917,9 @@ static void DecorationItemsMenu_PrintDecorationInUse(u8 windowId, s32 itemIndex,
|
||||
if (itemIndex != -2)
|
||||
{
|
||||
if (IsDecorationIndexInSecretBase(itemIndex + 1) == TRUE)
|
||||
blit_move_info_icon(windowId, 0x18, 0x5c, y + 2);
|
||||
BlitMenuInfoIcon(windowId, MENU_INFO_ICON_BALL_RED, 92, y + 2);
|
||||
else if (IsDecorationIndexInPlayersRoom(itemIndex + 1) == TRUE)
|
||||
blit_move_info_icon(windowId, 0x19, 0x5c, y + 2);
|
||||
BlitMenuInfoIcon(windowId, MENU_INFO_ICON_BALL_BLUE, 92, y + 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2456,10 +2456,10 @@ static void RemoveMoneyWindow(void)
|
||||
void BagMenu_PrepareTMHMMoveWindow(void)
|
||||
{
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0));
|
||||
blit_move_info_icon(3, 19, 0, 0);
|
||||
blit_move_info_icon(3, 20, 0, 12);
|
||||
blit_move_info_icon(3, 21, 0, 24);
|
||||
blit_move_info_icon(3, 22, 0, 36);
|
||||
BlitMenuInfoIcon(3, MENU_INFO_ICON_TYPE, 0, 0);
|
||||
BlitMenuInfoIcon(3, MENU_INFO_ICON_POWER, 0, 12);
|
||||
BlitMenuInfoIcon(3, MENU_INFO_ICON_ACCURACY, 0, 24);
|
||||
BlitMenuInfoIcon(3, MENU_INFO_ICON_PP, 0, 36);
|
||||
CopyWindowToVram(3, 2);
|
||||
}
|
||||
|
||||
@ -2479,7 +2479,7 @@ void PrintTMHMMoveData(u16 itemId)
|
||||
else
|
||||
{
|
||||
moveId = ItemIdToBattleMoveId(itemId);
|
||||
blit_move_info_icon(4, gBattleMoves[moveId].type + 1, 0, 0);
|
||||
BlitMenuInfoIcon(4, gBattleMoves[moveId].type + 1, 0, 0);
|
||||
if (gBattleMoves[moveId].power <= 1)
|
||||
{
|
||||
text = gText_ThreeDashes;
|
||||
|
60
src/menu.c
60
src/menu.c
@ -25,7 +25,7 @@
|
||||
#define STD_WINDOW_PALETTE_NUM 14
|
||||
#define STD_WINDOW_BASE_TILE_NUM 0x214
|
||||
|
||||
struct MoveMenuInfoIcon
|
||||
struct MenuInfoIcon
|
||||
{
|
||||
u8 width;
|
||||
u8 height;
|
||||
@ -98,34 +98,34 @@ const u16 gUnknown_0860F0B0[] = INCBIN_U16("graphics/interface/860F0B0.gbapal");
|
||||
const u8 sTextColors[] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY };
|
||||
|
||||
// Table of move info icon offsets in graphics/interface_fr/menu.png
|
||||
const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] =
|
||||
static const struct MenuInfoIcon sMenuInfoIcons[] =
|
||||
{ // { width, height, offset }
|
||||
{ 12, 12, 0x00 }, // Unused
|
||||
{ 32, 12, 0x20 }, // Normal icon
|
||||
{ 32, 12, 0x64 }, // Fight icon
|
||||
{ 32, 12, 0x60 }, // Flying icon
|
||||
{ 32, 12, 0x80 }, // Poison icon
|
||||
{ 32, 12, 0x48 }, // Ground icon
|
||||
{ 32, 12, 0x44 }, // Rock icon
|
||||
{ 32, 12, 0x6C }, // Bug icon
|
||||
{ 32, 12, 0x68 }, // Ghost icon
|
||||
{ 32, 12, 0x88 }, // Steel icon
|
||||
{ 32, 12, 0xA4 }, // ??? (Mystery) icon
|
||||
{ 32, 12, 0x24 }, // Fire icon
|
||||
{ 32, 12, 0x28 }, // Water icon
|
||||
{ 32, 12, 0x2C }, // Grass icon
|
||||
{ 32, 12, 0x40 }, // Electric icon
|
||||
{ 32, 12, 0x84 }, // Psychic icon
|
||||
{ 32, 12, 0x4C }, // Ice icon
|
||||
{ 32, 12, 0xA0 }, // Dragon icon
|
||||
{ 32, 12, 0x8C }, // Dark icon
|
||||
{ 42, 12, 0xA8 }, // -Type- icon
|
||||
{ 42, 12, 0xC0 }, // -Power- icon
|
||||
{ 42, 12, 0xC8 }, // -Accuracy- icon
|
||||
{ 42, 12, 0xE0 }, // -PP- icon
|
||||
{ 42, 12, 0xE8 }, // -Effect- icon
|
||||
{ 8, 8, 0xAE }, // Unused (Small white pokeball)
|
||||
{ 8, 8, 0xAF }, // Unused (Small dark pokeball)
|
||||
{ 12, 12, 0x00 }, // Unused
|
||||
[TYPE_NORMAL + 1] = { 32, 12, 0x20 },
|
||||
[TYPE_FIGHTING + 1] = { 32, 12, 0x64 },
|
||||
[TYPE_FLYING + 1] = { 32, 12, 0x60 },
|
||||
[TYPE_POISON + 1] = { 32, 12, 0x80 },
|
||||
[TYPE_GROUND + 1] = { 32, 12, 0x48 },
|
||||
[TYPE_ROCK + 1] = { 32, 12, 0x44 },
|
||||
[TYPE_BUG + 1] = { 32, 12, 0x6C },
|
||||
[TYPE_GHOST + 1] = { 32, 12, 0x68 },
|
||||
[TYPE_STEEL + 1] = { 32, 12, 0x88 },
|
||||
[TYPE_MYSTERY + 1] = { 32, 12, 0xA4 },
|
||||
[TYPE_FIRE + 1] = { 32, 12, 0x24 },
|
||||
[TYPE_WATER + 1] = { 32, 12, 0x28 },
|
||||
[TYPE_GRASS + 1] = { 32, 12, 0x2C },
|
||||
[TYPE_ELECTRIC + 1] = { 32, 12, 0x40 },
|
||||
[TYPE_PSYCHIC + 1] = { 32, 12, 0x84 },
|
||||
[TYPE_ICE + 1] = { 32, 12, 0x4C },
|
||||
[TYPE_DRAGON + 1] = { 32, 12, 0xA0 },
|
||||
[TYPE_DARK + 1] = { 32, 12, 0x8C },
|
||||
[MENU_INFO_ICON_TYPE] = { 42, 12, 0xA8 },
|
||||
[MENU_INFO_ICON_POWER] = { 42, 12, 0xC0 },
|
||||
[MENU_INFO_ICON_ACCURACY] = { 42, 12, 0xC8 },
|
||||
[MENU_INFO_ICON_PP] = { 42, 12, 0xE0 },
|
||||
[MENU_INFO_ICON_EFFECT] = { 42, 12, 0xE8 }, // Unused
|
||||
[MENU_INFO_ICON_BALL_RED] = { 8, 8, 0xAE }, // For placed decorations in Secret Base
|
||||
[MENU_INFO_ICON_BALL_BLUE] = { 8, 8, 0xAF }, // For placed decorations in player's room
|
||||
};
|
||||
|
||||
|
||||
@ -2119,9 +2119,9 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId)
|
||||
LoadPalette(palette, palOffset, 0x20);
|
||||
}
|
||||
|
||||
void blit_move_info_icon(u8 windowId, u8 iconId, u16 x, u16 y)
|
||||
void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y)
|
||||
{
|
||||
BlitBitmapRectToWindow(windowId, gFireRedMenuElements_Gfx + gMoveMenuInfoIcons[iconId].offset * 32, 0, 0, 128, 128, x, y, gMoveMenuInfoIcons[iconId].width, gMoveMenuInfoIcons[iconId].height);
|
||||
BlitBitmapRectToWindow(windowId, gFireRedMenuElements_Gfx + sMenuInfoIcons[iconId].offset * 32, 0, 0, 128, 128, x, y, sMenuInfoIcons[iconId].width, sMenuInfoIcons[iconId].height);
|
||||
}
|
||||
|
||||
void BufferSaveMenuText(u8 textId, u8 *dest, u8 color)
|
||||
|
@ -4076,14 +4076,14 @@ static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct GFtgtGname * gname
|
||||
UR_AddTextPrinterParameterized(windowId, 1, uname, 8, y, colorIdx);
|
||||
if (species == SPECIES_EGG)
|
||||
{
|
||||
UR_AddTextPrinterParameterized(windowId, 1, sText_EggTrade, 0x44, y, colorIdx);
|
||||
UR_AddTextPrinterParameterized(windowId, 1, sText_EggTrade, 68, y, colorIdx);
|
||||
}
|
||||
else
|
||||
{
|
||||
blit_move_info_icon(windowId, type + 1, 0x44, y);
|
||||
UR_AddTextPrinterParameterized(windowId, 1, gSpeciesNames[species], 0x76, y, colorIdx);
|
||||
BlitMenuInfoIcon(windowId, type + 1, 68, y);
|
||||
UR_AddTextPrinterParameterized(windowId, 1, gSpeciesNames[species], 118, y, colorIdx);
|
||||
ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
UR_AddTextPrinterParameterized(windowId, 1, levelStr, 0xC6, y, colorIdx);
|
||||
UR_AddTextPrinterParameterized(windowId, 1, levelStr, 198, y, colorIdx);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user