#ifndef POKEPLATINUM_STRUCT_OV17_0224DF54_H
#define POKEPLATINUM_STRUCT_OV17_0224DF54_H

#include "struct_defs/struct_02095C48.h"

#include "overlay017/struct_ov17_0223E838.h"
#include "overlay017/struct_ov17_0224A1EC.h"
#include "overlay017/struct_ov17_0224B5C8.h"
#include "overlay017/struct_ov17_0224BE50.h"
#include "overlay017/struct_ov17_0224CAC0.h"
#include "overlay017/struct_ov17_0224CD84.h"
#include "overlay017/struct_ov17_0224DF54_sub1.h"
#include "overlay017/struct_ov17_0224DF54_sub2.h"
#include "overlay017/struct_ov17_0224DF54_sub3.h"
#include "overlay017/struct_ov17_0224EDE0.h"
#include "overlay017/struct_ov17_0224F30C.h"

#include "g3d_pipeline.h"
#include "particle_system.h"
#include "sys_task_manager.h"

typedef struct UnkStruct_ov17_0224DF54_t {
    UnkStruct_02095C48 *unk_00;
    SysTask *unk_04;
    SysTask *unk_08;
    ParticleSystem *unk_0C;
    G3DPipelineBuffers *unk_10;
    UnkStruct_ov17_0224A1EC unk_14;
    UnkStruct_ov17_0224DF54_sub1 unk_A3C;
    UnkStruct_ov17_0224DF54_sub2 unk_A6C;
    UnkStruct_ov17_0224DF54_sub3 unk_AA1[4];
    UnkStruct_ov17_0224B5C8 unk_EA4[4];
    UnkStruct_ov17_0224BE50 unk_FC8[4];
    UnkStruct_ov17_0224CD84 unk_1050;
    UnkStruct_ov17_0224CAC0 unk_1064;
    void *unk_1074;
    u8 unk_1078;
    u64 unk_107C;
    u64 unk_1084;
    u32 unk_108C;
    u32 unk_1090;
    u16 unk_1094;
    u16 unk_1096;
    u8 unk_1098;
    UnkStruct_ov17_0224F30C unk_109C;
    UnkStruct_ov17_0224EDE0 unk_1AB0[4];
    UnkStruct_ov17_0224EDE0 unk_1AD4[8];
    UnkStruct_ov17_0223E838 unk_1B1C;
    u8 unk_1B24;
    u8 unk_1B25;
    u8 unk_1B26;
} UnkStruct_ov17_0224DF54;

#endif // POKEPLATINUM_STRUCT_OV17_0224DF54_H
