#ifndef POKEPLATINUM_STRUCT_OV84_0223B5A0_H
#define POKEPLATINUM_STRUCT_OV84_0223B5A0_H

#include "overlay084/struct_ov84_0223B5A0_sub1.h"
#include "overlay084/struct_ov84_0223C920.h"

#include "bag.h"
#include "bag_system.h"
#include "bg_window.h"
#include "font_special_chars.h"
#include "game_options.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "narc.h"
#include "sprite_system.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "trainer_info.h"

typedef struct {
    BgConfig *unk_00;
    Window unk_04[11];
    Window unk_B4[1];
    BagSystem *unk_C4;
    Bag *unk_C8;
    TrainerInfo *unk_CC;
    Options *options;
    NARC *unk_D4;
    SpriteSystem *unk_D8;
    SpriteManager *unk_DC;
    ManagedSprite *unk_E0[12];
    FontSpecialCharsContext *unk_110;
    MessageLoader *unk_114;
    StringTemplate *unk_118;
    MessageLoader *unk_11C;
    MessageLoader *unk_120;
    Strbuf *unk_124[12];
    StringList *unk_154;
    Menu *unk_158;
    ListMenu *unk_15C;
    StringList *unk_160;
    Strbuf *unk_164[165];
    Strbuf *unk_3F8;
    Strbuf *unk_3FC;
    Strbuf *unk_400;
    Strbuf *unk_404[8];
    u8 unk_424;
    u8 unk_425;
    u8 unk_426;
    u8 unk_427;
    u8 unk_428;
    UnkStruct_ov84_0223C920 unk_429;
    u8 padding_431[35];
    UnkStruct_ov84_0223B5A0_sub1 unk_454;
    u8 unk_478;
    u8 unk_479;
    u8 unk_47A;
    u8 unk_47B;
    u32 unk_47C;
    u8 unk_480;
    u8 unk_481;
    u8 unk_482;
    u8 unk_483;
    u32 unk_484;
    s16 unk_488;
    u16 unk_48A;
    u32 unk_48C;
    u8 unk_490;
    u8 unk_491;
    u8 unk_492;
    u8 padding_493;
    s32 unk_494;
    s16 unk_498;
    s16 unk_49A;
    u8 padding_49C[2];
    u16 unk_49E;
    u16 unk_4A0;
    u8 padding_4A2[2];
} UnkStruct_ov84_0223B5A0;

#endif // POKEPLATINUM_STRUCT_OV84_0223B5A0_H
