#ifndef POKEPLATINUM_UNK_0200C6E4_H
#define POKEPLATINUM_UNK_0200C6E4_H

#include "struct_decls/struct_02002F38_decl.h"
#include "struct_decls/struct_02006C24_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "struct_decls/struct_0200D0F4_decl.h"
#include "struct_decls/struct_020218BC_decl.h"
#include "struct_decls/struct_02022550_decl.h"
#include "overlay007/struct_ov7_0224F2EC.h"
#include "overlay007/struct_ov7_0224F358.h"
#include "overlay104/struct_ov104_0223F9E0.h"
#include "overlay104/struct_ov104_022412F4.h"
#include "overlay104/struct_ov104_02241308.h"
#include "overlay104/struct_ov104_0224133C.h"

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

UnkStruct_0200C6E4 * sub_0200C6E4(int param0);
UnkStruct_0200C704 * sub_0200C704(UnkStruct_0200C6E4 * param0);
UnkStruct_0200C738 * sub_0200C738(UnkStruct_0200C6E4 * param0);
BOOL sub_0200C73C(UnkStruct_0200C6E4 * param0, const UnkStruct_ov104_0224133C * param1, const UnkStruct_ov104_022412F4 * param2, int param3);
BOOL sub_0200C7C0(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2);
void sub_0200C7E4(UnkStruct_02022550 * param0);
void sub_0200C7EC(UnkStruct_0200C704 * param0);
void sub_0200C800(void);
void sub_0200C808(void);
void sub_0200C810(UnkStruct_0200C704 * param0);
void sub_0200C81C(UnkStruct_0200C704 * param0);
void sub_0200C82C(UnkStruct_0200C704 * param0);
void sub_0200C880(UnkStruct_0200C6E4 * param0);
void sub_0200C8A0(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1);
void sub_0200C8B0(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1);
void sub_0200C8D4(UnkStruct_0200C6E4 * param0);
BOOL sub_0200C8F0(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, const UnkStruct_ov7_0224F2EC * param2);
UnkStruct_02022550 * sub_0200CA08(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, const UnkStruct_ov7_0224F358 * param2);
UnkStruct_02022550 * sub_0200CA44(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, s16 param3, s16 param4, s16 param5, u16 param6, int param7, int param8, int param9, int param10, int param11, int param12, int param13);
BOOL sub_0200CB30(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, const UnkStruct_ov104_02241308 * param2);
BOOL sub_0200CBDC(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, int param4, int param5, int param6);
BOOL sub_0200CC3C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, int param4, int param5, int param6);
s8 sub_0200CC9C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, int param4, int param5, int param6, int param7);
s8 sub_0200CD0C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, int param4, int param5, int param6, int param7);
u8 sub_0200CD7C(UnkStruct_02002F38 * param0, int param1, UnkStruct_0200C6E4 * param2, UnkStruct_0200C704 * param3, int param4, int param5, int param6, int param7, int param8, int param9);
u8 sub_0200CDC4(UnkStruct_02002F38 * param0, int param1, UnkStruct_0200C6E4 * param2, UnkStruct_0200C704 * param3, NARC * param4, int param5, int param6, int param7, int param8, int param9);
BOOL sub_0200CE0C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, int param4, int param5);
BOOL sub_0200CE24(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, int param4, int param5);
BOOL sub_0200CE3C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, int param4, int param5);
BOOL sub_0200CE54(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, int param4, int param5);
UnkStruct_0200D0F4 * sub_0200CE6C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, const UnkStruct_ov104_0223F9E0 * param2);
const NNSG2dImagePaletteProxy * sub_0200D04C(UnkStruct_0200C704 * param0, int param1);
u32 sub_0200D05C(UnkStruct_0200C704 * param0, int param1, NNS_G2D_VRAM_TYPE param2);
BOOL sub_0200D070(UnkStruct_0200C704 * param0, int param1);
BOOL sub_0200D080(UnkStruct_0200C704 * param0, int param1);
BOOL sub_0200D090(UnkStruct_0200C704 * param0, int param1);
BOOL sub_0200D0A0(UnkStruct_0200C704 * param0, int param1);
void sub_0200D0B0(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1);
void sub_0200D0F4(UnkStruct_0200D0F4 * param0);
void sub_0200D324(UnkStruct_02022550 * param0);
void sub_0200D330(UnkStruct_0200D0F4 * param0);
void sub_0200D33C(UnkStruct_0200D0F4 * param0);
void sub_0200D34C(UnkStruct_0200D0F4 * param0, fx32 param1);
u32 sub_0200D358(UnkStruct_0200D0F4 * param0);
void sub_0200D364(UnkStruct_0200D0F4 * param0, u32 param1);
void sub_0200D370(UnkStruct_0200D0F4 * param0, u32 param1);
u32 sub_0200D37C(UnkStruct_0200D0F4 * param0);
void sub_0200D388(UnkStruct_02022550 * param0, int param1);
void sub_0200D390(UnkStruct_0200D0F4 * param0, int param1);
void sub_0200D39C(UnkStruct_02022550 * param0, fx32 param1);
void sub_0200D3A4(UnkStruct_0200D0F4 * param0, fx32 param1);
BOOL sub_0200D3B0(UnkStruct_02022550 * param0);
BOOL sub_0200D3B8(UnkStruct_0200D0F4 * param0);
void sub_0200D3C4(UnkStruct_02022550 * param0, u16 param1);
void sub_0200D3CC(UnkStruct_0200D0F4 * param0, u16 param1);
u16 sub_0200D3D8(UnkStruct_02022550 * param0);
u16 sub_0200D3E0(UnkStruct_0200D0F4 * param0);
void sub_0200D3EC(UnkStruct_02022550 * param0, int param1);
void sub_0200D3F4(UnkStruct_0200D0F4 * param0, int param1);
int sub_0200D400(UnkStruct_02022550 * param0);
int sub_0200D408(UnkStruct_0200D0F4 * param0);
void sub_0200D414(UnkStruct_02022550 * param0, int param1);
void sub_0200D41C(UnkStruct_0200D0F4 * param0, int param1);
void sub_0200D428(UnkStruct_02022550 * param0, int param1);
void sub_0200D430(UnkStruct_0200D0F4 * param0, int param1);
int sub_0200D43C(UnkStruct_0200D0F4 * param0);
void sub_0200D448(UnkStruct_02022550 * param0, int param1);
int  sub_0200D454(UnkStruct_0200D0F4 * param0);
void sub_0200D460(UnkStruct_0200D0F4 * param0, int param1);
void sub_0200D46C(UnkStruct_02022550 * param0, int param1);
void sub_0200D474(UnkStruct_0200D0F4 * param0, int param1);
u32 sub_0200D480(UnkStruct_02022550 * param0);
u32 sub_0200D488(UnkStruct_0200D0F4 * param0);
void sub_0200D494(UnkStruct_02022550 * param0, s16 param1, s16 param2);
void sub_0200D4C4(UnkStruct_0200D0F4 * param0, s16 param1, s16 param2);
void sub_0200D4D0(UnkStruct_02022550 * param0, s16 param1, s16 param2, fx32 param3);
void sub_0200D500(UnkStruct_0200D0F4 * param0, s16 param1, s16 param2, fx32 param3);
void sub_0200D50C(UnkStruct_02022550 * param0, s16 * param1, s16 * param2);
void sub_0200D550(UnkStruct_0200D0F4 * param0, s16 * param1, s16 * param2);
void sub_0200D55C(UnkStruct_02022550 * param0, s16 * param1, s16 * param2, fx32 param3);
void sub_0200D5A0(UnkStruct_0200D0F4 * param0, s16 * param1, s16 * param2, fx32 param3);
void sub_0200D5AC(UnkStruct_02022550 * param0, s16 param1, s16 param2);
void sub_0200D5DC(UnkStruct_0200D0F4 * param0, s16 param1, s16 param2);
void sub_0200D5E8(UnkStruct_0200D0F4 * param0, fx32 param1, fx32 param2);
void sub_0200D614(UnkStruct_0200D0F4 * param0, fx32 param1, fx32 param2);
void sub_0200D638(UnkStruct_0200D0F4 * param0, fx32 * param1, fx32 * param2);
void sub_0200D650(UnkStruct_0200D0F4 * param0, fx32 param1, fx32 param2, fx32 param3);
void sub_0200D67C(UnkStruct_0200D0F4 * param0, fx32 * param1, fx32 * param2, fx32 param3);
void sub_0200D69C(UnkStruct_02022550 * param0, int param1);
void sub_0200D6A4(UnkStruct_0200D0F4 * param0, int param1);
void sub_0200D6B0(UnkStruct_02022550 * param0, f32 param1, f32 param2);
void sub_0200D6E8(UnkStruct_0200D0F4 * param0, f32 param1, f32 param2);
void sub_0200D6F4(UnkStruct_02022550 * param0, f32 param1, f32 param2);
void sub_0200D74C(UnkStruct_0200D0F4 * param0, f32 param1, f32 param2);
void sub_0200D758(UnkStruct_02022550 * param0, f32 * param1, f32 * param2);
void sub_0200D788(UnkStruct_0200D0F4 * param0, f32 * param1, f32 * param2);
void sub_0200D794(UnkStruct_02022550 * param0, u16 param1);
void sub_0200D79C(UnkStruct_0200D0F4 * param0, u16 param1);
void sub_0200D7A8(UnkStruct_02022550 * param0, s32 param1);
void sub_0200D7C0(UnkStruct_0200D0F4 * param0, s32 param1);
void sub_0200D7CC(UnkStruct_02022550 * param0, int param1);
void sub_0200D7D4(UnkStruct_0200D0F4 * param0, int param1);
void sub_0200D7E0(UnkStruct_0200D0F4 * param0, s16 param1, s16 param2);
void sub_0200D7FC(UnkStruct_0200D0F4 * param0, BOOL param1);
void sub_0200D808(UnkStruct_02022550 * param0, GXOamMode param1);
void sub_0200D810(UnkStruct_0200D0F4 * param0, GXOamMode param1);
u32 sub_0200D81C(UnkStruct_0200D0F4 * param0);
BOOL sub_0200D828(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, BOOL param4, int param5, int param6);
BOOL sub_0200D888(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, BOOL param4, int param5, int param6);
BOOL sub_0200D8E8(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, BOOL param4, int param5, int param6);
void sub_0200D948(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, BOOL param4, int param5);
void sub_0200D97C(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, int param2, int param3, BOOL param4, int param5);
UnkStruct_020218BC * sub_0200D9B0(UnkStruct_0200C704 * param0);
void sub_0200D9B4(UnkStruct_0200C6E4 * param0, UnkStruct_0200C704 * param1, NARC * param2, int param3, BOOL param4, int param5);

#endif // POKEPLATINUM_UNK_0200C6E4_H
