#ifndef POKEPLATINUM_UNK_02049D08_H
#define POKEPLATINUM_UNK_02049D08_H

#include "struct_decls/struct_0202D060_decl.h"
#include "struct_defs/struct_0204AFC4.h"

#include "field/field_system_decl.h"

#include "field_task.h"
#include "journal.h"
#include "savedata.h"

u16 sub_02049D08(u16 param0);
BOOL sub_02049EC4(u16 param0, SaveData *saveData, u8 param2);
void sub_02049F8C(void);
void sub_02049F98(UnkStruct_0202D060 *param0);
BOOL sub_02049FA0(UnkStruct_0202D060 *param0);
void sub_02049FA8(FieldSystem *fieldSystem);
void sub_02049FE8(FieldSystem *fieldSystem);
u16 sub_02049FF8(SaveData *saveData, u16 param1);
void sub_0204A030(SaveData *saveData, u8 param1);
u16 sub_0204A050(SaveData *saveData);
u16 sub_0204A064(SaveData *saveData);
u16 sub_0204A100(SaveData *saveData);
void sub_0204A110(UnkStruct_0204AFC4 **param0);
UnkStruct_0204AFC4 *sub_0204A124(SaveData *saveData, u16 param1, u16 param2);
void sub_0204A32C(UnkStruct_0204AFC4 *param0);
void sub_0204A358(UnkStruct_0204AFC4 *param0, FieldTask *param1, void **param2);
BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData);
int sub_0204A410(UnkStruct_0204AFC4 *param0, SaveData *saveData);
void sub_0204A4C8(UnkStruct_0204AFC4 *param0, SaveData *saveData);
u16 sub_0204A578(UnkStruct_0204AFC4 *param0);
BOOL sub_0204A57C(UnkStruct_0204AFC4 *param0);
void sub_0204A660(UnkStruct_0204AFC4 *param0, SaveData *saveData);
void sub_0204A7A4(UnkStruct_0204AFC4 *param0, SaveData *saveData, JournalEntry *param2);
void sub_0204A8C8(UnkStruct_0204AFC4 *param0);
void sub_0204A97C(UnkStruct_0204AFC4 *param0);
u16 sub_0204A9E0(UnkStruct_0204AFC4 *param0, u16 param1);
u16 sub_0204A9F8(UnkStruct_0204AFC4 *param0);
u16 sub_0204A9FC(UnkStruct_0204AFC4 *param0);
u16 sub_0204AA04(UnkStruct_0204AFC4 *param0);
u16 sub_0204AA7C(UnkStruct_0204AFC4 *param0, SaveData *saveData);
u16 sub_0204AABC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2);
u16 sub_0204AB68(UnkStruct_0204AFC4 *param0, SaveData *saveData);
u16 sub_0204ABA0(UnkStruct_0204AFC4 *param0, SaveData *saveData);
u16 sub_0204ABF4(UnkStruct_0204AFC4 *param0, SaveData *saveData);
u8 sub_0204AE84(u16 param0);
u16 sub_0204AEC0(UnkStruct_0204AFC4 *param0);

#endif // POKEPLATINUM_UNK_02049D08_H
