mirror of
https://github.com/pret/pmd-red.git
synced 2024-11-23 13:09:56 +00:00
75 lines
2.1 KiB
C
75 lines
2.1 KiB
C
#ifndef GUARD_CODE_80958E8_H
|
|
#define GUARD_CODE_80958E8_H
|
|
|
|
#include "constants/mailbox.h"
|
|
#include "structs/str_wonder_mail.h"
|
|
#include "code_8092334.h"
|
|
|
|
// size: 0xC
|
|
typedef struct subStruct_203B490
|
|
{
|
|
WonderMailSub sub;
|
|
/* 0x8 */ s32 checksum; // really dumb checksum that just adds all the fields of WonderMail struct
|
|
} subStruct_203B490;
|
|
|
|
|
|
// size: 0x8
|
|
struct unkStruct_8096AF8
|
|
{
|
|
bool8 unk0;
|
|
/* 0x2 */ u16 clientSpecies;
|
|
/* 0x4 */ u16 targetSpecies;
|
|
};
|
|
|
|
// size: 0x32C?
|
|
typedef struct unkStruct_203B490
|
|
{
|
|
/* 0x0 */ WonderMail mailboxSlots[NUM_MAILBOX_SLOTS];
|
|
/* 0x50 */ WonderMail pelipperBoardJobs[MAX_ACCEPTED_JOBS];
|
|
/* 0xF0 */ WonderMail jobSlots[MAX_ACCEPTED_JOBS];
|
|
u8 unk190[40];
|
|
u8 unk1B8[120];
|
|
subStruct_203B490 unk230[16];
|
|
/* 0x2F0 */ bool8 PKMNNewsReceived[NUM_POKEMON_NEWS];
|
|
bool8 unk328;
|
|
} unkStruct_203B490;
|
|
|
|
extern unkStruct_203B490 *gUnknown_203B490;
|
|
|
|
void LoadMailInfo(void);
|
|
unkStruct_203B490 *GetMailInfo(void);
|
|
void InitializeMailJobsNews(void);
|
|
bool8 IsValidWonderMail(WonderMail *WonderMailData);
|
|
bool8 ValidateWonderMail(WonderMail *data);
|
|
s32 CountFilledMailboxSlots(void);
|
|
WonderMail *GetMailboxSlotInfo(u8 index);
|
|
bool8 IsMailSlotEmpty(u8 index);
|
|
void ResetMailboxSlot(u8 index);
|
|
void ShiftMailboxSlotsDown(void);
|
|
bool8 AcceptJob(WonderMail *mail);
|
|
s32 CountJobsinDungeon(u8 dungeon);
|
|
WonderMail *GetJobSlotInfo(u8 index);
|
|
s32 GetNumAcceptedJobs(void);
|
|
bool8 IsJobSlotEmpty(u8 index);
|
|
bool8 IsMailinJobSlot(WonderMail *mail);
|
|
void ResetJobSlot(u8 index);
|
|
bool8 sub_809693C(WonderMail *mail);
|
|
void sub_8096AF8(struct unkStruct_8096AF8 *, u8 slotIndex, u8 dungeon);
|
|
bool8 sub_8096C08(u8 *jobIndex);
|
|
WonderMail *GetPelipperBoardSlotInfo(u8);
|
|
bool8 IsPelipperBoardSlotEmpty(u8);
|
|
void ResetPelipperBoardSlot(u8);
|
|
void ShiftPelipperJobsDown(void);
|
|
void ShiftJobSlotsDown(void);
|
|
void ReceivePKMNNews(u8 index);
|
|
bool8 CheckPKMNNewsSlot(u8 index);
|
|
void SortJobSlots(void);
|
|
u8 *sub_8096DD8(void);
|
|
u8 *sub_8096DE8(void);
|
|
u8 sub_8096E2C(void);
|
|
void sub_8096EEC(WonderMail *mail);
|
|
void WriteWonderMailBits(DataSerializer *a, WonderMail *b);
|
|
void ReadWonderMailBits(DataSerializer *a, WonderMail *b);
|
|
|
|
#endif // GUARD_CODE_80958E8_H
|