pokediamond/include/save_system_info.h
2024-09-30 18:18:30 +01:00

51 lines
1.6 KiB
C

#ifndef POKEDIAMOND_SAVE_SYSTEM_INFO_H
#define POKEDIAMOND_SAVE_SYSTEM_INFO_H
#include "nitro/types.h"
#include "RTC_api.h"
struct SaveData;
typedef struct SysInfo_RTC {
/* 0x00 */ u32 field_00;
/* 0x04 */ RTCDate date;
/* 0x14 */ RTCTime time;
/* 0x20 */ s32 daysSinceNitroEpoch;
/* 0x24 */ s64 secondsSinceNitroEpoch;
/* 0x2C */ s64 field_2C;
/* 0x34 */ u32 field_34;
} SysInfo_RTC;
typedef struct SaveSysInfo {
/* 0x00 */ s64 rtcOffset;
/* 0x08 */ u8 macAddr[6];
/* 0x0E */ u8 birthMonth;
/* 0x0F */ u8 birthDay;
/* 0x10 */ SysInfo_RTC rtcInfo;
/* 0x48 */ u8 mysteryGiftActive;
u8 filler_49[3];
/* 0x4C */ u32 field_4C;
u8 padding_50[12];
} SaveSysInfo;
u32 Save_SysInfo_sizeof(void);
void Save_SysInfo_Init(struct SaveSysInfo *unk);
struct SaveSysInfo *Save_SysInfo_Get(struct SaveData *save);
SysInfo_RTC *Save_SysInfo_RTC_Get(struct SaveData *save);
void Save_SysInfo_InitFromSystem(struct SaveSysInfo *unk);
BOOL Save_SysInfo_MacAddressIsMine(struct SaveSysInfo *unk);
BOOL Save_SysInfo_RTCOffsetIsMine(struct SaveSysInfo *unk);
u8 Save_SysInfo_GetBirthMonth(struct SaveSysInfo *unk);
u8 Save_SysInfo_GetBirthDay(struct SaveSysInfo *unk);
u8 Save_SysInfo_GetMysteryGiftActive(struct SaveSysInfo *unk);
void Save_SysInfo_SetMysteryGiftActive(struct SaveSysInfo *unk, u8 val);
u32 sub_02023830(struct SaveSysInfo *unk);
void sub_02023834(struct SaveSysInfo *unk, u32 val);
void Save_SysInfo_RTC_Init(SysInfo_RTC *sub);
BOOL sub_02023874(SysInfo_RTC *sub);
void sub_02023884(SysInfo_RTC *sub, u32 a1);
void sub_020238A4(SysInfo_RTC *sub);
#endif // POKEDIAMOND_SAVE_SYSTEM_INFO_H