#ifndef POKEPLATINUM_OV17_022413D8_H
#define POKEPLATINUM_OV17_022413D8_H

#include "struct_defs/struct_02095C48.h"

#include "overlay017/struct_ov17_0223F88C.h"
#include "overlay017/struct_ov17_0224145C.h"
#include "overlay017/struct_ov17_0224365C.h"
#include "overlay017/struct_ov17_022439C8.h"
#include "overlay017/struct_ov17_022449B8.h"
#include "overlay017/struct_ov17_02246F24.h"
#include "overlay017/struct_ov17_022472F8.h"

#include "narc.h"
#include "palette.h"
#include "sprite_system.h"

void ov17_022413D8(void);
void ov17_022413E4(UnkStruct_ov17_02246F24 *param0, int param1, int param2);
void ov17_02241428(UnkStruct_ov17_02246F24 *param0);
UnkStruct_ov17_0224145C *ov17_0224145C(UnkStruct_ov17_02246F24 *param0, int param1);
void ov17_02241494(UnkStruct_ov17_0224145C *param0);
void ov17_022414B0(UnkStruct_ov17_0224145C *param0);
BOOL ov17_022414BC(UnkStruct_ov17_0224145C *param0);
void ov17_02241524(UnkStruct_ov17_0223F88C *param0, int param1);
void ov17_022415E4(UnkStruct_ov17_0223F88C *param0);
void ov17_022416E4(UnkStruct_ov17_0223F88C *param0);
void ov17_02241928(UnkStruct_ov17_0223F88C *param0, UnkStruct_02095C48 *param1, NARC *param2);
void ov17_0224197C(UnkStruct_ov17_0223F88C *param0);
void ov17_022419AC(PaletteData *param0, SpriteSystem *param1, SpriteManager *param2, NARC *param3);
void ov17_02241A00(SpriteManager *param0);
void ov17_02241A24(UnkStruct_ov17_0223F88C *param0);
void ov17_02241A64(UnkStruct_ov17_0223F88C *param0);
void ov17_02241A8C(UnkStruct_ov17_0223F88C *param0, int param1, int param2);
void ov17_02241B1C(UnkStruct_ov17_0223F88C *param0);
void ov17_02241B3C(UnkStruct_ov17_02246F24 *param0, int param1, int param2, u8 *param3);
void ov17_02241D94(UnkStruct_ov17_0223F88C *param0, int param1, NARC *param2);
void ov17_02241E24(UnkStruct_ov17_0223F88C *param0);
void ov17_02241E58(SpriteSystem *param0, SpriteManager *param1, NARC *param2);
void ov17_02241EA4(SpriteManager *param0);
void ov17_02241EF0(UnkStruct_ov17_0223F88C *param0);
void ov17_02241F34(UnkStruct_ov17_0223F88C *param0, int param1, int param2, int param3);
void ov17_02242154(SpriteSystem *param0, SpriteManager *param1, NARC *param2);
void ov17_022421E0(SpriteManager *param0);
void ov17_02242248(UnkStruct_ov17_0223F88C *param0);
BOOL ov17_022424A8(UnkStruct_ov17_0223F88C *param0, int param1);
void ov17_022424D4(UnkStruct_ov17_0223F88C *param0, int param1, int param2);
void ov17_022426E8(UnkStruct_ov17_02246F24 *param0, int param1, u8 *param2);
void ov17_02242DA8(UnkStruct_ov17_02246F24 *param0);
void ov17_02242E5C(UnkStruct_ov17_02246F24 *param0, u32 param1, const UnkStruct_ov17_022449B8 *param2, const void *param3);
void ov17_02242E9C(UnkStruct_ov17_02246F24 *param0, int param1, int param2, const UnkStruct_ov17_022449B8 *param3, const void *param4);
int ov17_02242ECC(UnkStruct_ov17_02246F24 *param0);
void ov17_02242EE4(UnkStruct_ov17_02246F24 *param0, int param1);
void ov17_02242FA4(UnkStruct_ov17_02246F24 *param0);
void ov17_02242FC0(UnkStruct_ov17_02246F24 *param0);
void ov17_02242FE8(UnkStruct_ov17_02246F24 *param0);
void ov17_02243040(SpriteSystem *param0, SpriteManager *param1, NARC *param2);
void ov17_0224308C(SpriteManager *param0);
void ov17_022430AC(UnkStruct_ov17_0223F88C *param0, int param1, int param2);
void ov17_022430F8(UnkStruct_ov17_0223F88C *param0);
void ov17_02243120(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_022449B8 *param1, int param2);
u32 ov17_0224314C(int param0, int param1, UnkStruct_ov17_022449B8 *param2);
int ov17_02243174(int param0);
void ov17_022431A0(UnkStruct_ov17_02246F24 *param0, int param1, u8 param2, int param3, int param4, u8 *param5);
void ov17_0224331C(UnkStruct_ov17_02246F24 *param0, int param1, int param2, u8 *param3, UnkStruct_ov17_0224145C *param4);
UnkStruct_ov17_0224365C *ov17_0224365C(UnkStruct_ov17_02246F24 *param0, int param1);
void ov17_02243690(UnkStruct_ov17_0224365C *param0);
void ov17_022436D0(UnkStruct_ov17_02246F24 *param0, int param1, int param2, int param3, u8 *param4);
u32 ov17_02243944(int param0);
u32 ov17_02243970(int param0);
u32 ov17_0224399C(int param0);
void ov17_022439C8(UnkStruct_02095C48 *param0, int param1, int param2, UnkStruct_ov17_022439C8 *param3);
int ov17_02243A98(UnkStruct_ov17_022472F8 *param0, int param1, int param2);

#endif // POKEPLATINUM_OV17_022413D8_H
