pokeplatinum/include/render_window.h
Gudf 4e571c4be1
Rename constants for window frame tile count (#542)
Every type of standard window uses the same number of tiles for their
border, so we can have a single constant instead of one for each type.

This also switches to frame instead of border to align with
`Window_Draw...Frame`.

Finally, this renames the base tile constants in
`wonder_cards_app.c` to align with the `border` -> `frame` change.
2025-06-08 09:51:26 -07:00

49 lines
2.2 KiB
C

#ifndef POKEPLATINUM_RENDER_WINDOW_H
#define POKEPLATINUM_RENDER_WINDOW_H
#include "constants/heap.h"
#include "generated/signpost_types.h"
#include "bg_window.h"
#include "pokemon.h"
#define TEXT_WINDOW_SIZE 30
#define NUM_TILES_STANDARD_WINDOW_FRAME 9
#define NUM_TILES_MESSAGE_BOX_FRAME (18 + 12)
typedef struct WaitDial WaitDial;
enum StandardWindowType {
STANDARD_WINDOW_SYSTEM = 0,
STANDARD_WINDOW_FIELD,
STANDARD_WINDOW_UNDERGROUND,
};
void LoadStandardWindowTiles(BgConfig *bgConfig, u8 bgLayer, u16 offset, u8 standardWindowType, u32 heapID);
u32 GetStandardWindowPaletteNARCMember(void);
void LoadStandardWindowGraphics(BgConfig *bgConfig, u8 bgLayer, u16 tileOffset, u8 palOffset, u8 standardWindowType, u32 heapID);
void Window_DrawStandardFrame(Window *window, u8 skipTransfer, u16 tile, u8 palette);
void Window_EraseStandardFrame(Window *window, u8 skipTransfer);
u32 GetMessageBoxTilesNARCMember(u32 messageBoxFrame);
u32 GetMessageBoxPaletteNARCMember(u32 messageBoxFrame);
void LoadMessageBoxGraphics(BgConfig *bgConfig, u8 bgLayer, u16 tileOffset, u8 palOffset, u8 messageBoxFrame, u32 heapID);
void Window_DrawMessageBox(Window *window, u32 tile, u32 palette);
void Window_DrawMessageBoxWithScrollCursor(Window *window, u8 skipTransfer, u16 tile, u8 palette);
void Window_EraseMessageBox(Window *window, u8 skipTransfer);
void ReplaceTransparentTiles(BgConfig *bgConfig, u8 bgLayer, u16 bgBaseTile, u8 withTile, u8 messageBoxFrame, u32 heapID);
void LoadSignpostContentGraphics(BgConfig *bgConfig, u8 bgLayer, u16 baseTile, u8 palette, u8 signpostType, u16 signpostNARCMemberIdx, u32 heapID);
void Window_DrawSignpost(Window *window, u8 skipTransfer, u16 baseTile, u8 palette, u8 signpostType);
void Window_EraseSignpost(Window *window, u8 signpostType, u8 skipTransfer);
void *Window_AddWaitDial(Window *window, u32 baseTile);
void DestroyWaitDial(void *taskData);
void DestroyWaitDialTaskOnly(void *taskData);
u8 *DrawPokemonPreview(BgConfig *bgConfig, u8 bgLayer, u8 x, u8 y, u8 palette, u16 baseTile, u16 species, u8 gender, enum HeapId heapID);
u8 *DrawPokemonPreviewFromStruct(BgConfig *bgConfig, u8 bgLayer, u8 x, u8 y, u8 palette, u16 baseTile, Pokemon *mon, enum HeapId heapID);
#endif // POKEPLATINUM_RENDER_WINDOW_H