pokeplatinum/include/struct_defs/pokemon_summary_app.h
2024-06-21 07:38:20 +02:00

140 lines
3.0 KiB
C

#ifndef POKEPLATINUM_STRUCT_POKEMON_SUMMARY_APP_H
#define POKEPLATINUM_STRUCT_POKEMON_SUMMARY_APP_H
#include "constants/moves.h"
#include "struct_decls/struct_02006C24_decl.h"
#include "message.h"
#include "string_template.h"
#include "struct_decls/struct_0200C440_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/cell_actor_data.h"
#include "struct_decls/pokemon_animation_sys_decl.h"
#include "struct_decls/sprite_decl.h"
#include "struct_decls/struct_02018340_decl.h"
#include "camera.h"
#include "struct_decls/struct_02022550_decl.h"
#include "strbuf.h"
#include "struct_defs/archived_poke_sprite_data.h"
#include "struct_defs/sprite_animation_frame.h"
#include "struct_defs/struct_0205AA50.h"
#include "struct_defs/struct_02091850.h"
#include "struct_defs/pokemon_summary.h"
typedef struct PokemonSummaryAppData {
Strbuf *speciesName;
Strbuf *nickname;
Strbuf *OTName;
u16 species;
u16 heldItem;
u8 type1;
u8 type2;
u8 level : 7;
u8 showGender : 1;
u8 gender : 2;
u8 caughtBall : 6;
u32 OTID;
u32 curExp;
u32 curLevelExp;
u32 nextLevelExp;
u16 curHP;
u16 maxHP;
u16 attack;
u16 defense;
u16 spAttack;
u16 spDefense;
u16 speed;
u8 ability;
u8 nature;
u16 moves[LEARNED_MOVES_MAX];
u8 curPP[LEARNED_MOVES_MAX];
u8 maxPP[LEARNED_MOVES_MAX];
u8 OTGender;
u8 cool;
u8 beauty;
u8 cute;
u8 smart;
u8 tough;
u8 sheen;
u8 preferredFlavor;
u16 markings;
u16 form;
u32 status : 28;
u32 isEgg : 1;
u32 isShiny : 1;
u32 pokerus : 2;
u32 ribbons[4];
} PokemonSummaryAppData;
typedef struct PokemonSummaryAppSpriteData {
Camera * camera;
void *spriteManager;
SpriteAnimationFrame frames[MAX_ANIMATION_FRAMES];
PokemonAnimationSys *animationSys;
Sprite *sprite;
BOOL flip;
} PokemonSummaryAppSpriteData;
typedef struct PokemonSummaryApp {
BGL *bgl;
Window staticWindows[36];
Window *extraWindows;
u32 numExtraWindows;
PokemonSummary *data;
PokemonSummaryAppData monData;
PokemonSummaryAppSpriteData monSpriteData;
UnkStruct_02091850 unk_2F0[4];
UnkStruct_02091850 unk_350[4];
UnkStruct_02091850 unk_3B0[4];
u32 unk_410;
SpriteRenderer *renderer;
SpriteGfxHandler *gfxHandler;
GraphicElementData * unk_41C[77];
CellActorData *actor[77];
UnkStruct_0200C440 *unk_684;
MessageLoader *msgLoader;
MessageLoader *ribbonLoader;
StringTemplate *strFormatter;
Strbuf *strbuf;
Strbuf *playerName;
MessageLoader *moveNameLoader;
NARC *narcPlPokeData;
s8 page;
u8 cursor : 4;
u8 cursorTmp : 4;
u8 subscreen;
u8 subscreenType : 4;
u8 subscreenExit : 4;
u8 sheenState;
u8 sheenMax;
u8 sheenPos;
u8 sheenCount;
u8 buttonCount;
u8 buttonState;
u8 buttonPos;
u8 ribbonPos;
u8 ribbonState;
u8 ribbonMax;
u8 ribbonNum;
} PokemonSummaryApp;
#endif // POKEPLATINUM_STRUCT_POKEMON_SUMMARY_APP_H