#ifndef POKEPLATINUM_OV22_022578F4_H
#define POKEPLATINUM_OV22_022578F4_H

#include <nitro/gx.h>
#include <nnsys.h>

#include "overlay022/struct_ov22_02257964.h"
#include "overlay022/struct_ov22_02259560.h"
#include "overlay022/struct_ov22_0225B388.h"

#include "pokemon.h"

void ov22_022578F4(UnkStruct_ov22_02257964 *param0, UnkStruct_ov22_0225B388 *param1);
void ov22_02257948(UnkStruct_ov22_02257964 *param0);
void ov22_02257964(UnkStruct_ov22_02257964 *param0, Pokemon *param1, PokemonSpriteTemplate *param2, int param3, int param4, int param5, int param6);
void ov22_02257998(UnkStruct_ov22_02257964 *param0, Pokemon *param1, PokemonSpriteTemplate *param2, int param3);
void ov22_022579B4(UnkStruct_ov22_02257964 *param0, Pokemon *param1, PokemonSpriteTemplate *param2, int param3);
void ov22_022579D8(UnkStruct_ov22_02257964 *param0, UnkStruct_ov22_02259560 *param1);
void ov22_022579E8(UnkStruct_ov22_02259560 *param0);
void ov22_022579F0(UnkStruct_ov22_02257964 *param0);
BOOL ov22_022579FC(UnkStruct_ov22_02257964 *param0, int param1, int param2, int param3, int param4);
BOOL ov22_02257A5C(UnkStruct_ov22_02257964 *param0, UnkStruct_ov22_02259560 *param1, NNSG2dCharacterData **param2);
void ov22_02257A80(UnkStruct_ov22_02257964 *param0, UnkStruct_ov22_02259560 *param1);
void ov22_02257A98(UnkStruct_ov22_02257964 *param0);
void ov22_02257AB0(UnkStruct_ov22_02257964 *param0, int param1, int param2);
void ov22_02257ACC(UnkStruct_ov22_02257964 *param0, int param1, int param2);
void ov22_02257AD8(UnkStruct_ov22_02257964 *param0, int param1, int param2, int param3, int param4);
void ov22_02257B10(UnkStruct_ov22_02257964 *param0);
void ov22_02257B1C(UnkStruct_ov22_02257964 *param0, int param1);
void ov22_02257B74(UnkStruct_ov22_02257964 *param0, int param1);
BOOL ov22_02257BE8(UnkStruct_ov22_02257964 *param0);
BOOL ov22_02257C04(UnkStruct_ov22_02257964 *param0, int param1, int param2);
UnkStruct_ov22_02259560 *ov22_02257C20(UnkStruct_ov22_02257964 *param0, int *param1, int *param2, NNSG2dCharacterData **param3);
void ov22_02257C88(UnkStruct_ov22_02257964 *param0, int param1, int heapID);
void ov22_02257CD4(UnkStruct_ov22_02257964 *param0);
void ov22_02257CE0(UnkStruct_ov22_02257964 *param0, int *param1, int *param2);
int ov22_02257D00(UnkStruct_ov22_02257964 *param0);
void ov22_02257D04(UnkStruct_ov22_02257964 *param0, int *param1, int *param2);
void ov22_02257D70(UnkStruct_ov22_02257964 *param0, GXRgb param1);

#endif // POKEPLATINUM_OV22_022578F4_H
