pokeplatinum/include/applications/pokedex/infomain.h
Flash1Lucky 34fd49bfd8
Some checks are pending
build / build (push) Waiting to run
Document Pokedex default main info page (#972)
2026-02-27 08:02:51 -05:00

45 lines
1.9 KiB
C

#ifndef POKEPLATINUM_POKEDEX_INFOMAIN_H
#define POKEPLATINUM_POKEDEX_INFOMAIN_H
/**
* Animation modes for Pokedex info screen transitions.
* Used by both the default language and multi-language info screens.
*/
enum AnimationMode {
ANIM_POSITION_BLEND = 0, // Animate position and blend transparency
ANIM_BLEND, // Animate blend transparency only
ANIM_POSITION, // Animate position only
};
#include "applications/pokedex/pokedex_app.h"
#include "applications/pokedex/pokedex_sort_data.h"
#include "applications/pokedex/pokedex_text_manager.h"
#include "applications/pokedex/struct_ov21_021E68F4.h"
#include "bg_window.h"
#include "heap.h"
/**
* State information for the Pokedex info main screen.
*/
typedef struct InfoMainState {
int *displayWorkData; // Work data pointer set from ov21_021D138C
PokedexSortData *sortData; // Pokemon sort/listing data
int displayPositionX; // X coordinate for display position animation
int displayPositionY; // Y coordinate for display position animation
const PokedexScreenManager *screenManager; // Screen manager reference
enum AnimationMode animationMode;
int entryOffset; // Dex entry offset (0 = current entry)
BOOL playCry; // Flag to play Pokemon cry
} InfoMainState;
void InfoMain_InitScreen(PokedexScreenManager *screenManager, PokedexApp *pokedexApp, enum HeapID heapID);
void InfoMain_FreeScreen(PokedexScreenManager *screenManager);
BOOL InfoMain_SetDisplayPosition(InfoMainState *displayState, int unused);
BOOL InfoMain_SetEntryOffset(InfoMainState *displayState, int entryOffset);
void InfoMain_RenderHeightWeightEntry(Window *window, int species, enum HeapID heapID, int entryOffset, u32 textColor);
int PokedexGraphics_GetAnimIDfromType(int monType);
Window *InfoMain_CreateCategoryWindow(PokedexTextManager *textMan, enum Species species, enum HeapID heapID);
#endif // POKEPLATINUM_POKEDEX_INFOMAIN_H