#ifndef POKEPLATINUM_UNK_02073838_H
#define POKEPLATINUM_UNK_02073838_H

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

#include "struct_defs/struct_02073838.h"
#include "struct_defs/struct_02073974.h"
#include "struct_defs/struct_02073B50.h"

#include "overlay005/struct_ov5_02201C58.h"

#include "narc.h"

void sub_02073838(UnkStruct_02073838 *param0);
void sub_02073848(UnkStruct_02073838 *param0, NNSG3dResFileHeader *param1, u32 param2);
void sub_0207389C(UnkStruct_02073838 *param0, u32 param1, NARC *param2, u32 param3, u32 heapID, int param5);
void sub_020738C0(UnkStruct_02073838 *param0);
void sub_020738EC(UnkStruct_02073838 *param0);
void sub_0207390C(UnkStruct_02073838 *param0);
void sub_0207391C(UnkStruct_02073838 *param0);
void sub_0207395C(UnkStruct_02073838 *param0);
void sub_02073974(UnkStruct_02073974 *param0);
void sub_02073980(UnkStruct_02073974 *param0, void *param1, u32 param2);
void sub_02073994(UnkStruct_02073974 *param0, void *param1, u32 param2);
void sub_020739A8(UnkStruct_02073974 *param0, UnkStruct_02073974 *param1, u32 param2);
void sub_020739B4(UnkStruct_02073974 *param0, u32 param1, NARC *param2, u32 param3, u32 heapID, int param5);
void sub_020739F0(UnkStruct_02073974 *param0);
void sub_02073A14(UnkStruct_02073974 *param0, const NNSG3dResMdl *param1, u32 param2);
void sub_02073A3C(UnkStruct_02073974 *param0, const UnkStruct_02073838 *param1, u32 heapID);
void sub_02073A48(UnkStruct_02073974 *param0, const NNSG3dResMdl *param1, const NNSG3dResTex *param2);
void sub_02073A5C(UnkStruct_02073974 *param0, const UnkStruct_02073838 *param1);
void sub_02073A6C(UnkStruct_02073974 *param0, const UnkStruct_02073838 *param1, UnkStruct_02073974 *param2, u32 param3, u32 heapID);
void sub_02073A90(UnkStruct_02073974 *param0);
void sub_02073AA8(UnkStruct_02073974 *param0);
BOOL sub_02073AC0(UnkStruct_02073974 *param0, fx32 param1, int param2);
void sub_02073B20(UnkStruct_02073974 *param0, fx32 param1);
fx32 sub_02073B24(const UnkStruct_02073974 *param0);
fx32 sub_02073B28(const UnkStruct_02073974 *param0);
BOOL sub_02073B40(const UnkStruct_02073974 *param0);
void sub_02073B50(UnkStruct_02073B50 *param0);
void sub_02073B5C(UnkStruct_02073B50 *param0, NNSG3dResMdl *param1);
void sub_02073B70(UnkStruct_02073B50 *param0, UnkStruct_02073838 *param1);
void sub_02073B7C(UnkStruct_02073B50 *param0, NNSG3dAnmObj *param1);
void sub_02073B84(UnkStruct_02073B50 *param0, UnkStruct_02073974 *param1);
void sub_02073B90(UnkStruct_02073B50 *param0, UnkStruct_02073838 *param1, UnkStruct_02073974 *param2);
void sub_02073BA4(UnkStruct_02073B50 *param0, const VecFx32 *param1, const VecFx32 *param2, const MtxFx33 *param3);
void sub_02073BB4(UnkStruct_02073B50 *param0, const VecFx32 *param1);
void sub_02073BC8(UnkStruct_02073B50 *param0, const VecFx32 *param1, const VecFx32 *param2, const UnkStruct_ov5_02201C58 *param3);
void sub_02073BF0(UnkStruct_02073B50 *param0, const VecFx32 *param1, const UnkStruct_ov5_02201C58 *param2);
void sub_02073C1C(UnkStruct_02073B50 *param0, const VecFx32 *param1, const VecFx32 *param2, const MtxFx33 *param3);

#endif // POKEPLATINUM_UNK_02073838_H
