pokediamond/include/field_system.h
2025-08-27 21:48:39 +01:00

72 lines
1.4 KiB
C

#ifndef POKEDIAMOND_FIELD_SYSTEM_H
#define POKEDIAMOND_FIELD_SYSTEM_H
#include "global.h"
#include "bg_window.h"
#include "camera.h"
#include "field_types_def.h"
#include "player_avatar.h"
#include "save.h"
#include "task.h"
typedef struct Location {
u32 mapId;
u32 warpId;
u32 x;
u32 y;
u32 direction;
} Location;
typedef struct UnkFieldStruct04 {
u8 padding[0xC];
u32 unk0C;
u8 unk10[0xC];
u32 unk1C;
} UnkFieldStruct04;
typedef struct UnkStruct_020464D4 {
u16 unk0[4];
u8 padding[0x108];
} UnkStruct_020464D4;
typedef struct UnkStruct_02046444 {
u8 padding[0x24];
u16 unk24;
u16 unk26;
u16 unk28;
u8 padding2[0x66];
UnkStruct_020464D4 unk90[1]; // todo find size
} UnkStruct_02046444;
struct FieldSystem {
u32 *unk00;
UnkFieldStruct04 *unk04;
BgConfig *bgConfig;
SaveData *saveData; // 0xC
TaskManager *taskManager;
u8 padding2[0x8];
Location *location;
Camera *camera;
u32 unk24;
u8 padding3[0xC];
MapObjectManager *mapObjectManager;
PlayerAvatar *playerAvatar;
u8 padding4[0x24];
u32 unk60;
u8 padding5[0x8];
u32 unk6C;
u8 padding6[0x6];
u16 unk76;
u32 unk78;
u32 unk7C;
u8 padding7[0x10];
u32 unk90;
u8 padding8[0x4];
u32 *unk98;
u8 padding9[0xC];
UnkStruct_02046444 *unkA8;
};
#endif // POKEDIAMOND_FIELD_SYSTEM_H