#ifndef POKEPLATINUM_OV22_02255094_H
#define POKEPLATINUM_OV22_02255094_H

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

#include "overlay022/struct_ov22_022550D4.h"
#include "overlay022/struct_ov22_02255CB8.h"
#include "overlay022/struct_ov22_0225A0E4.h"

#include "bg_window.h"
#include "narc.h"
#include "sprite.h"

void ov22_02255094(void);
void ov22_022550B4(void);
void ov22_022550D4(UnkStruct_ov22_0225A0E4 *param0);
void ov22_02255134(UnkStruct_ov22_0225A0E4 *param0);
void ov22_02255180(UnkStruct_ov22_0225A0E4 *param0);
void ov22_022551B4(UnkStruct_ov22_0225A0E4 *param0, UnkStruct_ov22_02255CB8 *param1);
void ov22_022551D0(UnkStruct_ov22_0225A0E4 *param0);
Sprite *ov22_022551E4(UnkStruct_ov22_0225A0E4 *param0, int param1, int param2, int param3, int param4, int param5);
void ov22_02255248(UnkStruct_ov22_0225A0E4 *param0, NARC *param1, int param2, BOOL param3, int param4, int param5);
void ov22_02255268(UnkStruct_ov22_0225A0E4 *param0, NARC *param1, int param2, BOOL param3, int param4, int param5, int param6);
void ov22_0225528C(UnkStruct_ov22_0225A0E4 *param0, NARC *param1, int param2, BOOL param3, int param4);
void ov22_022552A8(UnkStruct_ov22_0225A0E4 *param0, NARC *param1, int param2, BOOL param3, int param4);
void ov22_022552C4(UnkStruct_ov22_0225A0E4 *param0, int param1);
void ov22_022552D8(UnkStruct_ov22_0225A0E4 *param0, int param1);
void ov22_022552EC(UnkStruct_ov22_0225A0E4 *param0, int param1);
void ov22_02255300(UnkStruct_ov22_0225A0E4 *param0, int param1);
void ov22_02255314(UnkStruct_ov22_0225A0E4 *param0, UnkStruct_ov22_02255CB8 *param1);
void ov22_02255338(UnkStruct_ov22_02255CB8 *param0);
NNSG2dCharacterData *ov22_02255340(UnkStruct_ov22_0225A0E4 *param0, void *param1, int param2);
void ov22_02255360(void);
void ov22_02255390(void);
void ov22_022553F8(UnkStruct_ov22_0225A0E4 *param0);
void ov22_02255410(UnkStruct_ov22_02255CB8 *param0, int heapID);
int ov22_02255420(NNSG2dCharacterData *param0, int param1, int param2, int param3);
void ov22_0225547C(UnkStruct_ov22_0225A0E4 *param0, const UnkStruct_ov22_022550D4 *param1, int heapID);
void ov22_022554A8(UnkStruct_ov22_0225A0E4 *param0, BgConfig *param1, int param2);
void ov22_022554F8(UnkStruct_ov22_0225A0E4 *param0);
void ov22_02255524(UnkStruct_ov22_0225A0E4 *param0);
void ov22_02255530(UnkStruct_ov22_0225A0E4 *param0);
void ov22_0225553C(UnkStruct_ov22_0225A0E4 *param0, int param1, int param2, u16 param3, const VecFx32 *param4);
void ov22_022555D4(UnkStruct_ov22_0225A0E4 *param0, int param1);
void ov22_022555FC(UnkStruct_ov22_0225A0E4 *param0);
void ov22_0225561C(UnkStruct_ov22_0225A0E4 *param0);
void ov22_0225562C(UnkStruct_ov22_0225A0E4 *param0);

#endif // POKEPLATINUM_OV22_02255094_H
