Merge pull request #183 from AsparagusEduardo/pret/doc/7_generalCleanup

General cleanup
This commit is contained in:
Adrienn Tindall 2023-07-02 04:20:41 -05:00 committed by GitHub
commit dac4e2cea2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 798 additions and 797 deletions

View File

@ -121,7 +121,7 @@ typedef struct UnkBtlCtxSub_76 {
u16 unkA0[2];
u8 unkA4[4];
MOVE moveData[468];
ITEMDATA *itemData;
ItemData *itemData;
u16 unk280[4];
u16 unk288[4];
} UnkBtlCtxSub_76;
@ -185,14 +185,14 @@ typedef struct UnkBattlemonSub {
int unk30;
} UnkBattlemonSub;
typedef struct BATTLEMON {
typedef struct BattleMon {
u16 species;
u16 atk;
u16 def;
u16 speed;
u16 spAtk;
u16 spDef;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
u32 hpIV:5;
u32 atkIV:5;
u32 defIV:5;
@ -201,7 +201,7 @@ typedef struct BATTLEMON {
u32 spDefIV:5;
u32 isEgg:1;
u32 hasNickname:1;
s8 statChanges[8];
s8 statChanges[NUM_BATTLE_STATS];
int weight;
u8 type1;
u8 type2;
@ -221,11 +221,11 @@ typedef struct BATTLEMON {
u32 moldBreakerFlag:1;
u32 pressureFlag:1;
u32 unk28_B:21;
u8 movePPCur[4];
u8 movePP[4];
u8 movePPCur[MAX_MON_MOVES];
u8 movePP[MAX_MON_MOVES];
u8 level;
u8 friendship;
u16 nickname[11];
u16 nickname[POKEMON_NAME_LENGTH + 1];
int hp;
u32 maxHp;
u16 unk54[8];
@ -244,7 +244,7 @@ typedef struct BATTLEMON {
u32 moveEffectFlags;
u32 unk80;
UnkBattlemonSub unk88;
} BATTLEMON;
} BattleMon;
typedef struct BATTLECONTEXT {
u8 unk_0[4];
@ -360,7 +360,7 @@ typedef struct BATTLECONTEXT {
u8 unk_2200[4][4][16];
u8 unk_2300[4][256];
int battleScriptBuffer[400];
BATTLEMON battleMons[4];
BattleMon battleMons[4];
u32 moveNoTemp;
u32 moveNoCur;
u32 moveNoPrev;

View File

@ -4,44 +4,44 @@
#include "mail.h"
#include "pokemon.h"
typedef struct DAYCAREMAIL {
MAIL mail;
typedef struct DaycareMail {
Mail mail;
u16 ot_name[PLAYER_NAME_LENGTH + 1];
u16 nickname[POKEMON_NAME_LENGTH + 1];
u8 padding_5E[2];
} DAYCAREMAIL;
} DaycareMail;
typedef struct DAYCAREMON {
typedef struct DaycareMon {
BoxPokemon mon;
DAYCAREMAIL mail;
DaycareMail mail;
u32 steps;
} DAYCAREMON;
} DaycareMon;
typedef struct DAYCARE {
DAYCAREMON mons[2];
typedef struct Daycare {
DaycareMon mons[2];
u32 egg_pid;
u8 egg_cycles;
u8 padding_1DD[3];
} DAYCARE;
} Daycare;
u32 Save_Daycare_sizeof(void);
void Save_Daycare_Init(DAYCARE* daycare);
DAYCAREMON* Save_DayCare_GetMonX(DAYCARE* daycare, int i);
BoxPokemon *DayCareMon_GetBoxMon(DAYCAREMON* dcmon);
DAYCAREMAIL* DayCareMon_GetExtras(DAYCAREMON* dcmon);
int DayCareMon_GetSteps(DAYCAREMON* dcmon);
MAIL* DayCareMail_GetMailPtr(DAYCAREMAIL* dcmail);
u32 Save_DayCare_GetEggPID(DAYCARE* daycare);
u8 Save_DayCare_GetEggCycleCounter(DAYCARE* daycare);
void DayCareMon_SetSteps(DAYCAREMON* dcmon, u32 steps);
void DayCareMon_AddSteps(DAYCAREMON* dcmon, u32 steps);
void Save_DayCare_SetEggPID(DAYCARE* daycare, u32 pid);
void Save_DayCare_SetEggCycleCounter(DAYCARE* daycare, int count);
BOOL Save_DayCare_MasudaCheck(DAYCARE* daycare);
void DayCareMon_Copy(DAYCAREMON* dest, const DAYCAREMON* src);
void DayCareMon_Extras_Init(DAYCAREMAIL* mail);
void DayCareMon_Init(DAYCAREMON* mon);
DAYCARE* Save_DayCare_Get(SaveData* savedata);
BOOL Save_DayCare_HasEgg(DAYCARE* daycare);
void Save_Daycare_Init(Daycare* daycare);
DaycareMon* Save_DayCare_GetMonX(Daycare* daycare, int i);
BoxPokemon *DayCareMon_GetBoxMon(DaycareMon* dcmon);
DaycareMail* DayCareMon_GetExtras(DaycareMon* dcmon);
int DayCareMon_GetSteps(DaycareMon* dcmon);
Mail* DayCareMail_GetMailPtr(DaycareMail* dcmail);
u32 Save_DayCare_GetEggPID(Daycare* daycare);
u8 Save_DayCare_GetEggCycleCounter(Daycare* daycare);
void DayCareMon_SetSteps(DaycareMon* dcmon, u32 steps);
void DayCareMon_AddSteps(DaycareMon* dcmon, u32 steps);
void Save_DayCare_SetEggPID(Daycare* daycare, u32 pid);
void Save_DayCare_SetEggCycleCounter(Daycare* daycare, int count);
BOOL Save_DayCare_MasudaCheck(Daycare* daycare);
void DayCareMon_Copy(DaycareMon* dest, const DaycareMon* src);
void DayCareMon_Extras_Init(DaycareMail* mail);
void DayCareMon_Init(DaycareMon* mon);
Daycare* Save_DayCare_Get(SaveData* savedata);
BOOL Save_DayCare_HasEgg(Daycare* daycare);
#endif

View File

@ -4,22 +4,22 @@
#include "daycare.h"
#include "script.h"
BoxPokemon *Daycare_GetBoxMonI(DAYCARE *daycare, int idx);
void Save_DayCare_PutMonIn(PARTY *party, u8 partyIdx, DAYCARE *dayCare, SaveData *saveData);
u16 Save_DayCare_RetrieveMon(PARTY *party, MessageFormat *msgFmt, DAYCARE *daycare, u8 whomst);
int DayCareMon_CalcLevelGrowth(DAYCAREMON *daycareMon);
u16 Save_DayCare_BufferMonNickAndRetrievalPrice(DAYCARE *dayCare, u8 slot, MessageFormat *msgFmt);
u8 Save_DayCare_BufferGrowthAndNick(DAYCARE *dayCare, u32 slot, MessageFormat *msgFmt);
void Save_DayCare_ResetEggStats(DAYCARE *dayCare);
BoxPokemon *Daycare_GetBoxMonI(Daycare *daycare, int idx);
void Save_DayCare_PutMonIn(PARTY *party, u8 partyIdx, Daycare *dayCare, SaveData *saveData);
u16 Save_DayCare_RetrieveMon(PARTY *party, MessageFormat *msgFmt, Daycare *daycare, u8 whomst);
int DayCareMon_CalcLevelGrowth(DaycareMon *daycareMon);
u16 Save_DayCare_BufferMonNickAndRetrievalPrice(Daycare *dayCare, u8 slot, MessageFormat *msgFmt);
u8 Save_DayCare_BufferGrowthAndNick(Daycare *dayCare, u32 slot, MessageFormat *msgFmt);
void Save_DayCare_ResetEggStats(Daycare *dayCare);
void SetEggStats(Pokemon *mon, int species, u8 metLocation, PlayerProfile *profile, int a4, int a5);
void GiveEggToPlayer(DAYCARE *dayCare, PARTY *party, PlayerProfile* profile);
BOOL HandleDayCareStep(DAYCARE *dayCare, PARTY *party, FieldSystem *fsys);
void GiveEggToPlayer(Daycare *dayCare, PARTY *party, PlayerProfile* profile);
BOOL HandleDayCareStep(Daycare *dayCare, PARTY *party, FieldSystem *fsys);
Pokemon *sub_0206CE44(PARTY *party);
void Save_DayCare_BufferStoredMonNicks(DAYCARE *dayCare, MessageFormat *msgFmt);
void Save_DayCare_BufferMonStats(DAYCARE *dayCare, u32 nickname_idx, u32 level_idx, u32 gender_idx, u8 slot, MessageFormat *msgFmt);
u16 Save_DayCare_BufferTailMonNick(DAYCARE *dayCare, MessageFormat *msgFmt);
u8 Save_DayCare_GetState(DAYCARE *dayCare);
u8 Save_DayCare_CalcCompatibility(DAYCARE *dayCare);
void Save_DayCare_BufferStoredMonNicks(Daycare *dayCare, MessageFormat *msgFmt);
void Save_DayCare_BufferMonStats(Daycare *dayCare, u32 nickname_idx, u32 level_idx, u32 gender_idx, u8 slot, MessageFormat *msgFmt);
u16 Save_DayCare_BufferTailMonNick(Daycare *dayCare, MessageFormat *msgFmt);
u8 Save_DayCare_GetState(Daycare *dayCare);
u8 Save_DayCare_CalcCompatibility(Daycare *dayCare);
void sub_0206D328(Pokemon *mon, HeapID heapId);
#endif

View File

@ -19,7 +19,7 @@ typedef struct ItemSlot {
* Bit array describing the effects of using the item on a
* party member.
*/
typedef struct ItemPartyUseParam
typedef struct ItemPartyParam
{
u8 slp_heal:1;
u8 psn_heal:1;
@ -66,7 +66,7 @@ typedef struct ItemPartyUseParam
s8 friendship_mod_med_param;
s8 friendship_mod_hi_param;
u8 paddding[2];
} ITEMPARTYPARAM;
} ItemPartyParam;
/*
* Item parameter data, loaded from itemtool/itemdata/item_data.narc
@ -91,10 +91,10 @@ typedef struct ItemData
u8 padding_0D;
union {
u8 dummy;
ITEMPARTYPARAM partyUseParam;
ItemPartyParam partyUseParam;
};
u8 padding_22[2];
} ITEMDATA;
} ItemData;
/*
* void MoveItemSlotInList(ItemSlot *slots, int from, int to, int pocket, HeapID heap_id)
@ -168,7 +168,7 @@ int GetItemIconAnim(void);
* @param heap_id: ID of heap to allocate the result from
*
* @returns: Pointer to loaded data. If attrNo is ... then ...
* ITEMNARC_PARAM: ITEMDATA* from itemtool/itemdata/item_data.narc
* ITEMNARC_PARAM: ItemData* from itemtool/itemdata/item_data.narc
* ITEMNARC_NCGR: NCGR from itemtool/itemdata/item_icon.narc
* ITEMNARC_NCLR: NCLR from itemtool/itemdata/item_icon.narc
*
@ -205,7 +205,7 @@ void GetItemDescIntoString(String *dest, u16 itemId, HeapID heap_id);
*
* @param itemId: The item you want to query
* @param attrno: The attribute you want to read
* @param heap_id: Heap in which to allocate the temporary ITEMDATA
* @param heap_id: Heap in which to allocate the temporary ItemData
*
* @returns: Integer attribute value
*/
@ -221,7 +221,7 @@ s32 GetItemAttr(u16 itemId, u16 attrno, HeapID heap_id);
*
* @returns: Integer attribute value
*/
s32 GetItemAttr_PreloadedItemData(ITEMDATA *itemData, u16 attrno);
s32 GetItemAttr_PreloadedItemData(ItemData *itemData, u16 attrno);
/*
* u16 TMHMGetMove(u16 itemId)
@ -346,7 +346,7 @@ u16 BerryToItemId(u8 berryId);
String *GetNutName(u16 berryId, HeapID heap_id);
/*
* ITEMDATA *LoadAllItemData(HeapID heap_id)
* ItemData *LoadAllItemData(HeapID heap_id)
*
* Reads the entire FIMG of itemtool/itemdata/item_data.narc into a new buffer
*
@ -354,10 +354,10 @@ String *GetNutName(u16 berryId, HeapID heap_id);
*
* @returns: Pointer to new array.
*/
ITEMDATA *LoadAllItemData(HeapID heap_id);
ItemData *LoadAllItemData(HeapID heap_id);
/*
* ITEMDATA *GetItemDataPtrFromArray(ITEMDATA *itemData, u32 itemDataIdx)
* ItemData *GetItemDataPtrFromArray(ItemData *itemData, u32 itemDataIdx)
*
* Gets the pointer to the selected member of the array returned by LoadAllItemData above. This function exists because scrub dev is scrub.
*
@ -366,7 +366,7 @@ ITEMDATA *LoadAllItemData(HeapID heap_id);
*
* @returns: Pointer to &itemData[itemDataIdx]
*/
ITEMDATA *GetItemDataPtrFromArray(ITEMDATA *itemData, u32 itemDataIdx);
ItemData *GetItemDataPtrFromArray(ItemData *itemData, u32 itemDataIdx);
/*
* BOOL ItemIdIsNotJohtoBall(u16 itemId)

View File

@ -10,37 +10,37 @@
#define MAILBOX_MSG_COUNT (20)
typedef struct Mailbox {
MAIL msgs[MAILBOX_MSG_COUNT];
Mail msgs[MAILBOX_MSG_COUNT];
} MAILBOX;
MAIL *Mail_New(HeapID heap_id);
void Mail_Copy(const MAIL *src, MAIL *dest);
void Mail_Init(MAIL *mail);
BOOL Mail_TypeIsValid(MAIL *mail);
BOOL Mail_Compare(const MAIL *a, const MAIL *b);
void Mail_SetNewMessageDetails(MAIL *mail, u8 mailType, u8 mon_no, SaveData *saveData);
u32 Mail_GetOTID(const MAIL *mail);
u16 *Mail_GetAuthorNamePtr(MAIL *mail);
u8 Mail_GetAuthorGender(const MAIL *mail);
u8 Mail_GetType(const MAIL *mail);
void Mail_SetType(MAIL *mail, u8 mailType);
u8 Mail_GetLanguage(const MAIL *mail);
u8 Mail_GetVersion(const MAIL *mail);
u16 sub_0202B404(MAIL *mail, u8 r1, u8 r4, u16 r3);
u16 sub_0202B4E4(const MAIL *mail);
MAIL_MESSAGE *Mail_GetUnk20Array(MAIL *mail, int i);
void Mail_SetMessage(MAIL *mail, const MAIL_MESSAGE *src, int i);
Mail *Mail_New(HeapID heap_id);
void Mail_Copy(const Mail *src, Mail *dest);
void Mail_Init(Mail *mail);
BOOL Mail_TypeIsValid(Mail *mail);
BOOL Mail_Compare(const Mail *a, const Mail *b);
void Mail_SetNewMessageDetails(Mail *mail, u8 mailType, u8 mon_no, SaveData *saveData);
u32 Mail_GetOTID(const Mail *mail);
u16 *Mail_GetAuthorNamePtr(Mail *mail);
u8 Mail_GetAuthorGender(const Mail *mail);
u8 Mail_GetType(const Mail *mail);
void Mail_SetType(Mail *mail, u8 mailType);
u8 Mail_GetLanguage(const Mail *mail);
u8 Mail_GetVersion(const Mail *mail);
u16 sub_0202B404(Mail *mail, u8 r1, u8 r4, u16 r3);
u16 sub_0202B4E4(const Mail *mail);
MAIL_MESSAGE *Mail_GetUnk20Array(Mail *mail, int i);
void Mail_SetMessage(Mail *mail, const MAIL_MESSAGE *src, int i);
MAILBOX *Save_Mailbox_Get(SaveData *saveData);
u32 Save_Mailbox_sizeof(void);
void Save_Mailbox_Init(MAILBOX *mailbox);
MAIL *Mailbox_AllocAndFetchMailI(MAIL *msgs, int n, int i, HeapID heapId);
Mail *Mailbox_AllocAndFetchMailI(Mail *msgs, int n, int i, HeapID heapId);
int Mailbox_GetFirstEmptySlotIdx(MAILBOX *mailbox);
void Mailbox_DeleteSlotI(MAIL *msgs, int n, int i);
void Mailbox_CopyMailToSlotI(MAIL *msgs, int n, int i, const MAIL *src);
void Mailbox_DeleteSlotI(Mail *msgs, int n, int i);
void Mailbox_CopyMailToSlotI(Mail *msgs, int n, int i, const Mail *src);
u32 Mailbox_CountMessages(MAILBOX *mailbox, int unused);
void Mailbox_FetchMailToBuffer(MAIL *msgs, int n, int i, MAIL *dest);
int MailArray_GetFirstEmptySlotIdx(MAIL *msgs, int n);
u32 MailArray_CountMessages(MAIL *msgs, int n);
MAIL *CreateKenyaMail(Pokemon *mon, u8 mailType, u8 gender, String *name, u8 otId);
void Mailbox_FetchMailToBuffer(Mail *msgs, int n, int i, Mail *dest);
int MailArray_GetFirstEmptySlotIdx(Mail *msgs, int n);
u32 MailArray_CountMessages(Mail *msgs, int n);
Mail *CreateKenyaMail(Pokemon *mon, u8 mailType, u8 gender, String *name, u8 otId);
#endif //POKEHEARTGOLD_MAIL_H

View File

@ -32,7 +32,7 @@ typedef struct {
u8 partyIdx;
u8 unkF;
SaveData *saveData;
MAIL *mail;
Mail *mail;
MAILBOX *mailbox;
u8 unk1C[0x4];
} Unk02090E68;
@ -69,6 +69,6 @@ u32 sub_02090F6C(Unk02090E68 *a0);
BOOL sub_02090F70(Unk02090E68 *a0, Pokemon *mon);
void sub_02090F90(Unk02090E68 *a0);
int sub_02090FA8(MAILBOX *mailbox, Pokemon *mon, HeapID heapId);
int sub_02091004(MAIL *msgs, int i, Pokemon *mon, HeapID heapId);
int sub_02091004(Mail *msgs, int i, Pokemon *mon, HeapID heapId);
#endif //POKEHEARTGOLD_MAIL_MISC_H

View File

@ -42,7 +42,7 @@ typedef struct NPCTradeAppData {
NPCTradeAppData *NPCTradeApp_Init(HeapID heapId, u32 tradeno);
void NPCTradeApp_Delete(NPCTradeAppData *work);
void NPCTrade_MakeAndGiveLoanMon(FieldSystem *fsys, u8 tradeno, u8 level, u16 mapno);
MAIL *NPCTrade_MakeKenyaMail(void);
Mail *NPCTrade_MakeKenyaMail(void);
int NPCTrade_CanGiveUpLoanMon(FieldSystem *fsys, u8 tradeno, u8 idx);
int NPCTradeApp_GetOfferedSpecies(NPCTradeAppData *work);
int NPCTradeApp_GetRequestedSpecies(NPCTradeAppData *work);

View File

@ -16,7 +16,7 @@ void ov12_0224EDC0(BATTLECONTEXT *ctx, int battlerId);
int GetBattlerVar(BATTLECONTEXT *ctx, int battlerId, u32 varId, void *data);
void SetBattlerVar(BATTLECONTEXT *ctx, int battlerId, u32 varId, void *data);
void ov12_0224F794(BATTLECONTEXT *ctx, int battlerId, u32 varId, int data);
void AddBattlerVar(BATTLEMON *mon, u32 varId, int data);
void AddBattlerVar(BattleMon *mon, u32 varId, int data);
u8 CheckSortSpeed(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId1, int battlerId2, int flag);
void BattleSystem_ClearExperienceEarnFlags(BATTLECONTEXT *ctx, int battlerId);
void BattleSystem_SetExperienceEarnFlags(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId);
@ -37,7 +37,7 @@ void InitFaintedWork(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId);
void ov12_02251710(BattleSystem *bsys, BATTLECONTEXT *ctx);
u32 StruggleCheck(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId, u32 nonSelectableMoves, u32 a4);
BOOL ov12_02251A28(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId, int movePos, BATTLEMSG *msg);
int BattleMon_GetMoveIndex(BATTLEMON *mon, u16 move);
int BattleMon_GetMoveIndex(BattleMon *mon, u16 move);
int ov12_02251D28(BattleSystem *bsys, BATTLECONTEXT *ctx, int moveNo, int moveTypeDefault, int battlerIdAttacker, int battlerIdTarget, int damage, u32 *moveStatusFlag);
void ov12_02252054(BATTLECONTEXT *ctx, int moveNo, int moveTypeDefault, int abilityAttacker, int abilityTarget, int item, int type1, int type2, u32 *moveStatusFlag);
BOOL ov12_02252218(BATTLECONTEXT *ctx, int battlerId);

View File

@ -155,7 +155,7 @@ typedef struct Mail
union MailPatternData mon_icons[3];
u16 form_flags; // bitfield of three 5-bit values
MAIL_MESSAGE unk_20[3];
} MAIL;
} Mail;
typedef struct PartyPokemon {
/* 0x088 */ u32 status; // slp:3, psn:1, brn:1, frz:1, prz:1, tox:1, ...
@ -168,7 +168,7 @@ typedef struct PartyPokemon {
/* 0x096 */ u16 speed;
/* 0x098 */ u16 spatk;
/* 0x09A */ u16 spdef;
/* 0x09C */ MAIL mail;
/* 0x09C */ Mail mail;
/* 0x0D4 */ CAPSULE sealCoords; // seal coords
} PARTYMON;

View File

@ -13,7 +13,7 @@ BOOL MonMoveRestorePP(Pokemon *mon, int moveIdx, int ppRestore);
BOOL BoostMonMovePpUpBy(Pokemon *mon, int moveIdx, int nPpUp);
void RestoreMonHPBy(Pokemon *mon, u32 hp, u32 maxHp, u32 restoration);
s32 TryModEV(s32 ev, s32 evSum, s32 by);
BOOL CanItemModFriendship(Pokemon *mon, ITEMDATA *itemData);
BOOL CanItemModFriendship(Pokemon *mon, ItemData *itemData);
BOOL DoItemFriendshipMod(Pokemon *mon, s32 friendship, s32 mod, u16 location, HeapID heapID);
void HealParty(PARTY *party);

View File

@ -1513,7 +1513,7 @@ BOOL BtlCmd_ChangeVar(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_BufferStatChangeMsg(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int change, stat;
BATTLEMON *mon = &ctx->battleMons[ctx->battlerIdStatChange];
BattleMon *mon = &ctx->battleMons[ctx->battlerIdStatChange];
BattleScriptIncrementPointer(ctx, 1);

View File

@ -250,7 +250,7 @@ void ov12_0224EDC0(BATTLECONTEXT *ctx, int battlerId) {
}
int GetBattlerVar(BATTLECONTEXT *ctx, int battlerId, u32 id, void *data) {
BATTLEMON *mon = &ctx->battleMons[battlerId];
BattleMon *mon = &ctx->battleMons[battlerId];
switch (id) {
case BMON_DATA_SPECIES:
@ -479,7 +479,7 @@ void SetBattlerVar(BATTLECONTEXT *ctx, int battlerId, u32 id, void *data) {
s16 *datas16 = (s16 *)data;
u8 *data8 = (u8 *)data;
s8 *datas8 = (s8 *)data;
BATTLEMON *mon = &ctx->battleMons[battlerId];
BattleMon *mon = &ctx->battleMons[battlerId];
switch (id) {
case BMON_DATA_SPECIES:
@ -769,7 +769,7 @@ void ov12_0224F794(BATTLECONTEXT *ctx, int battlerId, u32 varId, int data) {
AddBattlerVar(&ctx->battleMons[battlerId], varId, data);
}
void AddBattlerVar(BATTLEMON *mon, u32 varId, int data) {
void AddBattlerVar(BattleMon *mon, u32 varId, int data) {
switch (varId) {
case BMON_DATA_ATK:
mon->atk += data;
@ -2067,7 +2067,7 @@ BOOL ov12_02251A28(BattleSystem *bsys, BATTLECONTEXT *ctx, int battlerId, int mo
return ret;
}
int BattleMon_GetMoveIndex(BATTLEMON *mon, u16 moveNo) {
int BattleMon_GetMoveIndex(BattleMon *mon, u16 moveNo) {
int movePos;
for (movePos = 0; movePos < 4; movePos++) {

View File

@ -1,66 +1,66 @@
#include "daycare.h"
u32 Save_Daycare_sizeof(void) {
return sizeof(DAYCARE);
return sizeof(Daycare);
}
void Save_Daycare_Init(DAYCARE* daycare) {
memset(daycare, 0, sizeof(DAYCARE));
void Save_Daycare_Init(Daycare* daycare) {
memset(daycare, 0, sizeof(Daycare));
ZeroBoxMonData(&daycare->mons[0].mon);
ZeroBoxMonData(&daycare->mons[1].mon);
daycare->egg_pid = 0;
daycare->egg_cycles = 0;
}
DAYCAREMON* Save_DayCare_GetMonX(DAYCARE* daycare, int i) {
DaycareMon* Save_DayCare_GetMonX(Daycare* daycare, int i) {
return &daycare->mons[i];
}
BoxPokemon *DayCareMon_GetBoxMon(DAYCAREMON* dcmon) {
BoxPokemon *DayCareMon_GetBoxMon(DaycareMon* dcmon) {
return &dcmon->mon;
}
DAYCAREMAIL* DayCareMon_GetExtras(DAYCAREMON* dcmon) {
DaycareMail* DayCareMon_GetExtras(DaycareMon* dcmon) {
return &dcmon->mail;
}
int DayCareMon_GetSteps(DAYCAREMON* dcmon) {
int DayCareMon_GetSteps(DaycareMon* dcmon) {
return dcmon->steps;
}
MAIL* DayCareMail_GetMailPtr(DAYCAREMAIL* dcmail) {
Mail* DayCareMail_GetMailPtr(DaycareMail* dcmail) {
return &dcmail->mail;
}
BOOL Save_DayCare_HasEgg(DAYCARE* daycare) {
BOOL Save_DayCare_HasEgg(Daycare* daycare) {
return daycare->egg_pid != 0;
}
u32 Save_DayCare_GetEggPID(DAYCARE* daycare) {
u32 Save_DayCare_GetEggPID(Daycare* daycare) {
return daycare->egg_pid;
}
u8 Save_DayCare_GetEggCycleCounter(DAYCARE* daycare) {
u8 Save_DayCare_GetEggCycleCounter(Daycare* daycare) {
return daycare->egg_cycles;
}
void DayCareMon_SetSteps(DAYCAREMON* dcmon, u32 steps) {
void DayCareMon_SetSteps(DaycareMon* dcmon, u32 steps) {
dcmon->steps = steps;
}
void DayCareMon_AddSteps(DAYCAREMON* dcmon, u32 steps) {
void DayCareMon_AddSteps(DaycareMon* dcmon, u32 steps) {
dcmon->steps += steps;
}
void Save_DayCare_SetEggPID(DAYCARE* daycare, u32 pid) {
void Save_DayCare_SetEggPID(Daycare* daycare, u32 pid) {
daycare->egg_pid = pid;
}
void Save_DayCare_SetEggCycleCounter(DAYCARE* daycare, int count) {
void Save_DayCare_SetEggCycleCounter(Daycare* daycare, int count) {
daycare->egg_cycles = count;
}
BOOL Save_DayCare_MasudaCheck(DAYCARE* daycare) {
BOOL Save_DayCare_MasudaCheck(Daycare* daycare) {
// Checks if the pokemon come from different countries.
// Uses language as a proxy for country, even though it
// only accounts for European languages and Japanese.
@ -69,11 +69,11 @@ BOOL Save_DayCare_MasudaCheck(DAYCARE* daycare) {
GetBoxMonData(&daycare->mons[1].mon, MON_DATA_GAME_LANGUAGE, NULL);
}
void DayCareMon_Copy(DAYCAREMON* dest, const DAYCAREMON* src) {
void DayCareMon_Copy(DaycareMon* dest, const DaycareMon* src) {
*dest = *src;
}
void DayCareMon_Extras_Init(DAYCAREMAIL* mail) {
void DayCareMon_Extras_Init(DaycareMail* mail) {
int i;
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) {
@ -88,12 +88,12 @@ void DayCareMon_Extras_Init(DAYCAREMAIL* mail) {
mail->nickname[0] = EOS;
}
void DayCareMon_Init(DAYCAREMON* mon) {
void DayCareMon_Init(DaycareMon* mon) {
ZeroBoxMonData(&mon->mon);
mon->steps = 0;
DayCareMon_Extras_Init(&mon->mail);
}
DAYCARE* Save_DayCare_Get(SaveData* savedata) {
Daycare* Save_DayCare_Get(SaveData* savedata) {
return SaveArray_Get(savedata, SAVE_DAYCARE);
}

View File

@ -17,41 +17,41 @@
#include "constants/abilities.h"
#include "unk_02055418.h"
static u8 Save_DayCare_CountMonsInDayCare(DAYCARE *daycare);
static int Save_DayCare_GetAvailableSlot(DAYCARE *daycare);
static void DayCareMon_CopyFromPartySlot(PARTY *party, int partyIdx, DAYCAREMON *daycareMon, SaveData *saveData);
static void Save_DayCare_Compaction(DAYCARE *daycare);
static u8 Save_DayCare_CountMonsInDayCare(Daycare *daycare);
static int Save_DayCare_GetAvailableSlot(Daycare *daycare);
static void DayCareMon_CopyFromPartySlot(PARTY *party, int partyIdx, DaycareMon *daycareMon, SaveData *saveData);
static void Save_DayCare_Compaction(Daycare *daycare);
static void Daycare_LearnLevelUpMoves(Pokemon *mon);
static int Save_DayCare_MoveMonToParty(PARTY *party, DAYCAREMON *daycareMon, MessageFormat *msgFmt);
static int Save_DayCare_MoveMonToParty(PARTY *party, DaycareMon *daycareMon, MessageFormat *msgFmt);
static int GetDayCareUpdatedLevel(BoxPokemon *boxMon, u32 steps);
static u8 DayCareMon_BufferLevelGrowthAndNick(DAYCAREMON *daycareMon, MessageFormat *msgFmt);
static u16 DayCareMon_BufferNickAndRetrievalPrice(DAYCAREMON *daycareMon, MessageFormat *msgFmt);
static void Daycare_GetBothBoxMonsPtr(DAYCARE *dayCare, BoxPokemon **boxmons);
static int Daycare_EverstoneCheck(DAYCARE *dayCare);
static void GenerateEggPID(DAYCARE *dayCare);
static u8 DayCareMon_BufferLevelGrowthAndNick(DaycareMon *daycareMon, MessageFormat *msgFmt);
static u16 DayCareMon_BufferNickAndRetrievalPrice(DaycareMon *daycareMon, MessageFormat *msgFmt);
static void Daycare_GetBothBoxMonsPtr(Daycare *dayCare, BoxPokemon **boxmons);
static int Daycare_EverstoneCheck(Daycare *dayCare);
static void GenerateEggPID(Daycare *dayCare);
static void _IVList_Remove(u8 *ptr, int idx);
static void InheritIVs(Pokemon *egg, DAYCARE *dayCare);
static void InheritIVs(Pokemon *egg, Daycare *dayCare);
static u8 LoadEggMoves(Pokemon *mon, u16 *dest);
static void InheritMoves(Pokemon *egg, BoxPokemon *father, BoxPokemon *mother);
static u16 Daycare_BreedingIncenseCheck(u16 species, DAYCARE *dayCare);
static void Daycare_LightBallCheck(Pokemon *egg, DAYCARE *dayCare);
static u16 Daycare_GetEggSpecies(DAYCARE *dayCare, u8 *gender_idx);
static void SetBreedEggStats(Pokemon *mon, u16 species, DAYCARE *dayCare, u32 otId, u8 form);
static u16 Daycare_BreedingIncenseCheck(u16 species, Daycare *dayCare);
static void Daycare_LightBallCheck(Pokemon *egg, Daycare *dayCare);
static u16 Daycare_GetEggSpecies(Daycare *dayCare, u8 *gender_idx);
static void SetBreedEggStats(Pokemon *mon, u16 species, Daycare *dayCare, u32 otId, u8 form);
static u8 GetEggCyclesToSubtract(PARTY *party);
static BOOL sub_0206CB88(const u16 *a0, const u16 *a1);
static u8 ComputeCompatibilityBetweenBoxMons(BoxPokemon **parents);
static u8 Save_DayCare_CalcCompatibilityInternal(DAYCARE *dayCare);
static u8 Save_DayCare_CalcCompatibilityInternal(Daycare *dayCare);
static u8 sub_0206CCD8(FieldSystem *fsys);
static u8 ConvertDayCareCompatibilityScore(u32 compatibility);
static void sub_0206D038(Pokemon *mon, HeapID heapId);
static BOOL DayCare_TryGetForcedInheritedIV(DAYCARE *dayCare, u8 *a1, u8 *a2);
static BOOL DayCare_TryGetForcedInheritedIV(Daycare *dayCare, u8 *a1, u8 *a2);
static BOOL PowerItemIdToInheritedIvIdx(u16 itemId, u8 *a1);
BoxPokemon *Daycare_GetBoxMonI(DAYCARE *daycare, int idx) {
BoxPokemon *Daycare_GetBoxMonI(Daycare *daycare, int idx) {
return DayCareMon_GetBoxMon(Save_DayCare_GetMonX(daycare, idx));
}
static u8 Save_DayCare_CountMonsInDayCare(DAYCARE *daycare) {
static u8 Save_DayCare_CountMonsInDayCare(Daycare *daycare) {
u8 ct, i;
ct = 0;
@ -65,9 +65,9 @@ static u8 Save_DayCare_CountMonsInDayCare(DAYCARE *daycare) {
return ct;
}
static int Save_DayCare_GetAvailableSlot(DAYCARE *daycare) {
static int Save_DayCare_GetAvailableSlot(Daycare *daycare) {
u8 i;
static DAYCARE *_021D4218;
static Daycare *_021D4218;
_021D4218 = daycare;
for (i = 0; i < 2; i++) {
@ -79,10 +79,10 @@ static int Save_DayCare_GetAvailableSlot(DAYCARE *daycare) {
return -1;
}
static void DayCareMon_CopyFromPartySlot(PARTY *party, int partyIdx, DAYCAREMON *daycareMon, SaveData *saveData) {
static void DayCareMon_CopyFromPartySlot(PARTY *party, int partyIdx, DaycareMon *daycareMon, SaveData *saveData) {
u16 nickname[POKEMON_NAME_LENGTH + 1];
u8 mood;
DAYCAREMAIL *daycareMail;
DaycareMail *daycareMail;
BoxPokemon *boxMon;
Pokemon *partyMon;
const u16 *playerNamePtr;
@ -106,14 +106,14 @@ static void DayCareMon_CopyFromPartySlot(PARTY *party, int partyIdx, DAYCAREMON
}
}
void Save_DayCare_PutMonIn(PARTY *party, u8 partyIdx, DAYCARE *dayCare, SaveData *saveData) {
void Save_DayCare_PutMonIn(PARTY *party, u8 partyIdx, Daycare *dayCare, SaveData *saveData) {
GameStats_Inc(Save_GameStats_Get(saveData), 41);
DayCareMon_CopyFromPartySlot(party, partyIdx, Save_DayCare_GetMonX(dayCare, Save_DayCare_GetAvailableSlot(dayCare)), saveData);
}
static void Save_DayCare_Compaction(DAYCARE *daycare) {
DAYCAREMON *mon1;
DAYCAREMON *mon2;
static void Save_DayCare_Compaction(Daycare *daycare) {
DaycareMon *mon1;
DaycareMon *mon2;
BoxPokemon *boxmon1;
BoxPokemon *boxmon2;
@ -152,11 +152,11 @@ static void Daycare_LearnLevelUpMoves(Pokemon *mon) {
CalcMonLevelAndStats(mon);
}
static int Save_DayCare_MoveMonToParty(PARTY *party, DAYCAREMON *daycareMon, MessageFormat *msgFmt) {
static int Save_DayCare_MoveMonToParty(PARTY *party, DaycareMon *daycareMon, MessageFormat *msgFmt) {
u32 exp;
Pokemon *mon;
BoxPokemon *boxMon;
DAYCAREMAIL *daycareMail;
DaycareMail *daycareMail;
u16 species;
mon = AllocMonZeroed(HEAP_ID_4);
@ -183,7 +183,7 @@ static int Save_DayCare_MoveMonToParty(PARTY *party, DAYCAREMON *daycareMon, Mes
return species;
}
u16 Save_DayCare_RetrieveMon(PARTY *party, MessageFormat *msgFmt, DAYCARE *daycare, u8 whomstdve) {
u16 Save_DayCare_RetrieveMon(PARTY *party, MessageFormat *msgFmt, Daycare *daycare, u8 whomstdve) {
u16 ret;
ret = Save_DayCare_MoveMonToParty(party, Save_DayCare_GetMonX(daycare, whomstdve), msgFmt);
@ -208,7 +208,7 @@ static int GetDayCareUpdatedLevel(BoxPokemon *boxMon, u32 steps) {
return level;
}
int DayCareMon_CalcLevelGrowth(DAYCAREMON *daycareMon) {
int DayCareMon_CalcLevelGrowth(DaycareMon *daycareMon) {
BoxPokemon *boxMon;
u8 cur_level;
u8 new_level;
@ -219,7 +219,7 @@ int DayCareMon_CalcLevelGrowth(DAYCAREMON *daycareMon) {
return new_level - cur_level;
}
static u8 DayCareMon_BufferLevelGrowthAndNick(DAYCAREMON *daycareMon, MessageFormat *msgFmt) {
static u8 DayCareMon_BufferLevelGrowthAndNick(DaycareMon *daycareMon, MessageFormat *msgFmt) {
BoxPokemon *boxMon;
int levelGrowth;
@ -230,7 +230,7 @@ static u8 DayCareMon_BufferLevelGrowthAndNick(DAYCAREMON *daycareMon, MessageFor
return levelGrowth;
}
static u16 DayCareMon_BufferNickAndRetrievalPrice(DAYCAREMON *daycareMon, MessageFormat *msgFmt) {
static u16 DayCareMon_BufferNickAndRetrievalPrice(DaycareMon *daycareMon, MessageFormat *msgFmt) {
BoxPokemon *boxMon;
u16 levelGrowth;
u16 price;
@ -242,12 +242,12 @@ static u16 DayCareMon_BufferNickAndRetrievalPrice(DAYCAREMON *daycareMon, Messag
return price;
}
u16 Save_DayCare_BufferMonNickAndRetrievalPrice(DAYCARE *dayCare, u8 slot, MessageFormat *msgFmt) {
u16 Save_DayCare_BufferMonNickAndRetrievalPrice(Daycare *dayCare, u8 slot, MessageFormat *msgFmt) {
return DayCareMon_BufferNickAndRetrievalPrice(Save_DayCare_GetMonX(dayCare, slot), msgFmt);
}
u8 Save_DayCare_BufferGrowthAndNick(DAYCARE *dayCare, u32 slot, MessageFormat *msgFmt) {
DAYCAREMON *daycareMon;
u8 Save_DayCare_BufferGrowthAndNick(Daycare *dayCare, u32 slot, MessageFormat *msgFmt) {
DaycareMon *daycareMon;
daycareMon = Save_DayCare_GetMonX(dayCare, slot);
if (GetBoxMonData(DayCareMon_GetBoxMon(daycareMon), MON_DATA_SPECIES, NULL) != SPECIES_NONE) {
@ -257,12 +257,12 @@ u8 Save_DayCare_BufferGrowthAndNick(DAYCARE *dayCare, u32 slot, MessageFormat *m
}
}
static void Daycare_GetBothBoxMonsPtr(DAYCARE *dayCare, BoxPokemon **boxmons) {
static void Daycare_GetBothBoxMonsPtr(Daycare *dayCare, BoxPokemon **boxmons) {
boxmons[0] = Daycare_GetBoxMonI(dayCare, 0);
boxmons[1] = Daycare_GetBoxMonI(dayCare, 1);
}
static int Daycare_EverstoneCheck(DAYCARE *dayCare) {
static int Daycare_EverstoneCheck(Daycare *dayCare) {
BoxPokemon *boxmons[2];
int i;
u8 everstone_idx;
@ -300,7 +300,7 @@ static int Daycare_EverstoneCheck(DAYCARE *dayCare) {
}
}
static void GenerateEggPID(DAYCARE *dayCare) {
static void GenerateEggPID(Daycare *dayCare) {
u32 pid;
int everstone_num;
int nature;
@ -341,7 +341,7 @@ static void _IVList_Remove(u8 *ptr, int idx) {
}
}
static void InheritIVs(Pokemon *egg, DAYCARE *dayCare) {
static void InheritIVs(Pokemon *egg, Daycare *dayCare) {
u8 sp10[3];
u8 spA[6];
u8 sp7[3];
@ -520,7 +520,7 @@ static void InheritMoves(Pokemon *egg, BoxPokemon *father, BoxPokemon *mother) {
FreeToHeap(search);
}
void Save_DayCare_ResetEggStats(DAYCARE *dayCare) {
void Save_DayCare_ResetEggStats(Daycare *dayCare) {
Save_DayCare_SetEggPID(dayCare, 0);
Save_DayCare_SetEggCycleCounter(dayCare, 0);
}
@ -537,7 +537,7 @@ static const u16 _020FF4AE[][3] = {
{ SPECIES_CHINGLING, ITEM_PURE_INCENSE, SPECIES_CHIMECHO },
};
static u16 Daycare_BreedingIncenseCheck(u16 species, DAYCARE *dayCare) {
static u16 Daycare_BreedingIncenseCheck(u16 species, Daycare *dayCare) {
BoxPokemon *parents[2];
u16 i;
u16 row_ndx;
@ -561,7 +561,7 @@ static u16 Daycare_BreedingIncenseCheck(u16 species, DAYCARE *dayCare) {
return species;
}
static void Daycare_LightBallCheck(Pokemon *egg, DAYCARE *dayCare) {
static void Daycare_LightBallCheck(Pokemon *egg, Daycare *dayCare) {
BoxPokemon *parents[2];
int item1, item2;
@ -576,7 +576,7 @@ static void Daycare_LightBallCheck(Pokemon *egg, DAYCARE *dayCare) {
}
}
static u16 Daycare_GetEggSpecies(DAYCARE *dayCare, u8 *gender_idx) {
static u16 Daycare_GetEggSpecies(Daycare *dayCare, u8 *gender_idx) {
u16 parent_species[2];
u16 i;
u16 mother;
@ -660,7 +660,7 @@ void SetEggStats(Pokemon *mon, int species, u8 metLocation, PlayerProfile *profi
MonSetTrainerMemo(mon, profile, a4, a5, HEAP_ID_0);
}
static void SetBreedEggStats(Pokemon *mon, u16 species, DAYCARE *dayCare, u32 otId, u8 form) {
static void SetBreedEggStats(Pokemon *mon, u16 species, Daycare *dayCare, u32 otId, u8 form) {
u16 pokeball;
u8 metLevel;
u8 friendship;
@ -694,7 +694,7 @@ static void SetBreedEggStats(Pokemon *mon, u16 species, DAYCARE *dayCare, u32 ot
String_Delete(name);
}
void GiveEggToPlayer(DAYCARE *dayCare, PARTY *party, PlayerProfile* profile) {
void GiveEggToPlayer(Daycare *dayCare, PARTY *party, PlayerProfile* profile) {
Pokemon *mon;
u16 species;
u8 gender_idx[2];
@ -809,7 +809,7 @@ static u8 ComputeCompatibilityBetweenBoxMons(BoxPokemon **parents) {
}
}
static u8 Save_DayCare_CalcCompatibilityInternal(DAYCARE *dayCare) {
static u8 Save_DayCare_CalcCompatibilityInternal(Daycare *dayCare) {
BoxPokemon *parents[2];
Daycare_GetBothBoxMonsPtr(dayCare, parents);
return ComputeCompatibilityBetweenBoxMons(parents);
@ -848,7 +848,7 @@ static u8 sub_0206CCD8(FieldSystem *fsys) {
return 255;
}
BOOL HandleDayCareStep(DAYCARE *dayCare, PARTY *party, FieldSystem *fsys) {
BOOL HandleDayCareStep(Daycare *dayCare, PARTY *party, FieldSystem *fsys) {
u32 friendship;
BoxPokemon *parents[2];
int cycle_ctr;
@ -916,7 +916,7 @@ Pokemon *sub_0206CE44(PARTY *party) {
return NULL;
}
void Save_DayCare_BufferStoredMonNicks(DAYCARE *dayCare, MessageFormat *msgFmt) {
void Save_DayCare_BufferStoredMonNicks(Daycare *dayCare, MessageFormat *msgFmt) {
BoxPokemon *parents[2];
Daycare_GetBothBoxMonsPtr(dayCare, parents);
@ -929,8 +929,8 @@ void Save_DayCare_BufferStoredMonNicks(DAYCARE *dayCare, MessageFormat *msgFmt)
}
}
void Save_DayCare_BufferMonStats(DAYCARE *dayCare, u32 nickname_idx, u32 level_idx, u32 gender_idx, u8 slot, MessageFormat *msgFmt) {
DAYCAREMON *daycareMon;
void Save_DayCare_BufferMonStats(Daycare *dayCare, u32 nickname_idx, u32 level_idx, u32 gender_idx, u8 slot, MessageFormat *msgFmt) {
DaycareMon *daycareMon;
BoxPokemon *boxMon;
u8 level;
u8 gender;
@ -953,7 +953,7 @@ void Save_DayCare_BufferMonStats(DAYCARE *dayCare, u32 nickname_idx, u32 level_i
BufferGenderSymbol(msgFmt, gender_idx, gender);
}
u16 Save_DayCare_BufferTailMonNick(DAYCARE *dayCare, MessageFormat *msgFmt) {
u16 Save_DayCare_BufferTailMonNick(Daycare *dayCare, MessageFormat *msgFmt) {
BoxPokemon *boxMon1;
BoxPokemon *boxMon2;
u16 species1;
@ -972,7 +972,7 @@ u16 Save_DayCare_BufferTailMonNick(DAYCARE *dayCare, MessageFormat *msgFmt) {
}
}
u8 Save_DayCare_GetState(DAYCARE *dayCare) {
u8 Save_DayCare_GetState(Daycare *dayCare) {
u8 count;
if (Save_DayCare_HasEgg(dayCare)) {
return 1;
@ -999,7 +999,7 @@ static u8 ConvertDayCareCompatibilityScore(u32 compatibility) {
}
}
u8 Save_DayCare_CalcCompatibility(DAYCARE *dayCare) {
u8 Save_DayCare_CalcCompatibility(Daycare *dayCare) {
return ConvertDayCareCompatibilityScore(Save_DayCare_CalcCompatibilityInternal(dayCare));
}
@ -1109,7 +1109,7 @@ void sub_0206D328(Pokemon *mon, HeapID heapId) {
CalcMonLevelAndStats(mon);
}
static BOOL DayCare_TryGetForcedInheritedIV(DAYCARE *dayCare, u8 *a1, u8 *a2) {
static BOOL DayCare_TryGetForcedInheritedIV(Daycare *dayCare, u8 *a1, u8 *a2) {
u8 sp8[2];
u8 i, n, r7;

1107
src/item.c

File diff suppressed because it is too large Load Diff

View File

@ -26,11 +26,11 @@ static const struct UnkStruct_020F67A4 sFormOverrides[] = {
{ 0x1E6, 0x222, SPECIES_ROTOM, ROTOM_MOW },
};
int MailArray_GetFirstEmptySlotIdx(MAIL* msgs, int nmsg);
MAIL* Mailbox_GetPtrToSlotI(MAIL *msgs, int n, int i);
u32 MailArray_CountMessages(MAIL *msgs, int n);
int MailArray_GetFirstEmptySlotIdx(Mail* msgs, int nmsg);
Mail* Mailbox_GetPtrToSlotI(Mail *msgs, int n, int i);
u32 MailArray_CountMessages(Mail *msgs, int n);
void Mail_Init(MAIL *mail) {
void Mail_Init(Mail *mail) {
int i;
mail->author_otId = 0;
mail->author_gender = PLAYER_GENDER_MALE;
@ -47,21 +47,21 @@ void Mail_Init(MAIL *mail) {
}
}
BOOL Mail_TypeIsValid(MAIL *mail) {
BOOL Mail_TypeIsValid(Mail *mail) {
return mail->mail_type <= NUM_MAIL - 1;
}
MAIL *Mail_New(HeapID heapId) {
MAIL *ret = (MAIL *)AllocFromHeapAtEnd(heapId, sizeof(MAIL));
Mail *Mail_New(HeapID heapId) {
Mail *ret = (Mail *)AllocFromHeapAtEnd(heapId, sizeof(Mail));
Mail_Init(ret);
return ret;
}
void Mail_Copy(const MAIL *src, MAIL *dst) {
MI_CpuCopy8(src, dst, sizeof(MAIL));
void Mail_Copy(const Mail *src, Mail *dst) {
MI_CpuCopy8(src, dst, sizeof(Mail));
}
BOOL Mail_Compare(const MAIL *a, const MAIL *b) {
BOOL Mail_Compare(const Mail *a, const Mail *b) {
int i;
if (a->author_otId != b->author_otId
|| a->author_gender != b->author_gender
@ -88,7 +88,7 @@ BOOL Mail_Compare(const MAIL *a, const MAIL *b) {
return TRUE;
}
void Mail_SetNewMessageDetails(MAIL *mail, u8 mailType, u8 mon_no, SaveData *saveData) {
void Mail_SetNewMessageDetails(Mail *mail, u8 mailType, u8 mon_no, SaveData *saveData) {
u8 i, j, pal, k;
u16 species;
u32 icon, isEgg, form;
@ -136,12 +136,12 @@ void Mail_SetNewMessageDetails(MAIL *mail, u8 mailType, u8 mon_no, SaveData *sav
}
}
MAIL *CreateKenyaMail(Pokemon *mon, u8 mailType, u8 gender, String *name, u8 otId) {
Mail *CreateKenyaMail(Pokemon *mon, u8 mailType, u8 gender, String *name, u8 otId) {
u8 r0;
u32 r5;
u16 species;
u32 isEgg, form;
MAIL *ret = Mail_New(HEAP_ID_3);
Mail *ret = Mail_New(HEAP_ID_3);
Mail_Init(ret);
ret->mail_type = mailType;
CopyStringToU16Array(name, ret->author_name, PLAYER_NAME_LENGTH + 1);
@ -176,37 +176,37 @@ MAIL *CreateKenyaMail(Pokemon *mon, u8 mailType, u8 gender, String *name, u8 otI
return ret;
}
u32 Mail_GetOTID(const MAIL *mail) {
u32 Mail_GetOTID(const Mail *mail) {
return mail->author_otId;
}
u16 *Mail_GetAuthorNamePtr(MAIL *mail) {
u16 *Mail_GetAuthorNamePtr(Mail *mail) {
return mail->author_name;
}
u8 Mail_GetAuthorGender(const MAIL *mail) {
u8 Mail_GetAuthorGender(const Mail *mail) {
return mail->author_gender;
}
u8 Mail_GetType(const MAIL *mail) {
u8 Mail_GetType(const Mail *mail) {
return mail->mail_type;
}
void Mail_SetType(MAIL *mail, u8 mailType) {
void Mail_SetType(Mail *mail, u8 mailType) {
if (mailType < NUM_MAIL) {
mail->mail_type = mailType;
}
}
u8 Mail_GetLanguage(const MAIL *mail) {
u8 Mail_GetLanguage(const Mail *mail) {
return mail->author_language;
}
u8 Mail_GetVersion(const MAIL *mail) {
u8 Mail_GetVersion(const Mail *mail) {
return mail->author_version;
}
u16 sub_0202B404(MAIL *mail, u8 r1, u8 r4, u16 r3) {
u16 sub_0202B404(Mail *mail, u8 r1, u8 r4, u16 r3) {
int i;
union MailPatternData sp0;
if (r1 < NELEMS(mail->mon_icons)) {
@ -236,11 +236,11 @@ u16 sub_0202B404(MAIL *mail, u8 r1, u8 r4, u16 r3) {
return 0;
}
u16 sub_0202B4E4(const MAIL *mail) {
u16 sub_0202B4E4(const Mail *mail) {
return mail->form_flags;
}
MAIL_MESSAGE *Mail_GetUnk20Array(MAIL *mail, int i) {
MAIL_MESSAGE *Mail_GetUnk20Array(Mail *mail, int i) {
if (i < NELEMS(mail->unk_20)) {
return &mail->unk_20[i];
} else {
@ -248,7 +248,7 @@ MAIL_MESSAGE *Mail_GetUnk20Array(MAIL *mail, int i) {
}
}
void Mail_SetMessage(MAIL *mail, const MAIL_MESSAGE *src, int i) {
void Mail_SetMessage(Mail *mail, const MAIL_MESSAGE *src, int i) {
if (i < NELEMS(mail->unk_20)) {
MailMsg_Copy(&mail->unk_20[i], src);
}
@ -273,15 +273,15 @@ int Mailbox_GetFirstEmptySlotIdx(MAILBOX *mailbox) {
return MailArray_GetFirstEmptySlotIdx(mailbox->msgs, MAILBOX_MSG_COUNT);
}
void Mailbox_DeleteSlotI(MAIL *msgs, int n, int i) {
MAIL *mail = Mailbox_GetPtrToSlotI(msgs, n, i);
void Mailbox_DeleteSlotI(Mail *msgs, int n, int i) {
Mail *mail = Mailbox_GetPtrToSlotI(msgs, n, i);
if (mail != NULL) {
Mail_Init(mail);
}
}
void Mailbox_CopyMailToSlotI(MAIL *msgs, int n, int i, const MAIL *src) {
MAIL *dest = Mailbox_GetPtrToSlotI(msgs, n, i);
void Mailbox_CopyMailToSlotI(Mail *msgs, int n, int i, const Mail *src) {
Mail *dest = Mailbox_GetPtrToSlotI(msgs, n, i);
if (dest != NULL) {
Mail_Copy(src, dest);
}
@ -291,17 +291,17 @@ u32 Mailbox_CountMessages(MAILBOX *mailbox, int unused) {
return MailArray_CountMessages(mailbox->msgs, MAILBOX_MSG_COUNT);
}
MAIL *Mailbox_AllocAndFetchMailI(MAIL *msgs, int n, int i, HeapID heapId) {
const MAIL *src = Mailbox_GetPtrToSlotI(msgs, n, i);
MAIL *ret = Mail_New(heapId);
Mail *Mailbox_AllocAndFetchMailI(Mail *msgs, int n, int i, HeapID heapId) {
const Mail *src = Mailbox_GetPtrToSlotI(msgs, n, i);
Mail *ret = Mail_New(heapId);
if (src != NULL) {
Mail_Copy(src, ret);
}
return ret;
}
void Mailbox_FetchMailToBuffer(MAIL *msgs, int n, int i, MAIL *dest) {
const MAIL *src = Mailbox_GetPtrToSlotI(msgs, n, i);
void Mailbox_FetchMailToBuffer(Mail *msgs, int n, int i, Mail *dest) {
const Mail *src = Mailbox_GetPtrToSlotI(msgs, n, i);
if (src == NULL) {
Mail_Init(dest);
} else {
@ -309,7 +309,7 @@ void Mailbox_FetchMailToBuffer(MAIL *msgs, int n, int i, MAIL *dest) {
}
}
int MailArray_GetFirstEmptySlotIdx(MAIL *msgs, int n) {
int MailArray_GetFirstEmptySlotIdx(Mail *msgs, int n) {
int i;
for (i = 0; i < n; i++) {
if (!Mail_TypeIsValid(&msgs[i])) {
@ -319,7 +319,7 @@ int MailArray_GetFirstEmptySlotIdx(MAIL *msgs, int n) {
return -1;
}
u32 MailArray_CountMessages(MAIL *msgs, int n) {
u32 MailArray_CountMessages(Mail *msgs, int n) {
int i;
u32 ct = 0;
for (i = 0; i < n; i++) {
@ -331,7 +331,7 @@ u32 MailArray_CountMessages(MAIL *msgs, int n) {
return ct;
}
MAIL *Mailbox_GetPtrToSlotI(MAIL *msgs, int n, int i) {
Mail *Mailbox_GetPtrToSlotI(Mail *msgs, int n, int i) {
#pragma unused(n)
if (i < MAILBOX_MSG_COUNT) {
return &msgs[i];

View File

@ -172,7 +172,7 @@ Unk02090E68 *sub_02090E68(SaveData *saveData, u16 a1, u8 partyIdx, u8 a3, HeapID
ptr->unkC = 0;
ptr->saveData = saveData;
MAIL *mail = Mail_New(heapId);
Mail *mail = Mail_New(heapId);
ptr->mail = mail;
Mail_Init(mail);
Mail_SetNewMessageDetails(ptr->mail, MAIL_NONE, partyIdx, saveData);
@ -203,7 +203,7 @@ Unk02090E68 *sub_02090F00(SaveData *saveData, Pokemon *mon, HeapID heapId) {
ptr->unk0[0] = 0;
ptr->saveData = saveData;
MAIL *mail = Mail_New(heapId);
Mail *mail = Mail_New(heapId);
ptr->mail = mail;
GetMonData(mon, MON_DATA_MAIL_STRUCT, ptr->mail);
@ -217,7 +217,7 @@ Unk02090E68 *sub_02090F38(SaveData *saveData, u8 mailType, HeapID heapId) {
ptr->unk0[0] = 0;
ptr->saveData = saveData;
MAIL *mail = Mail_New(heapId);
Mail *mail = Mail_New(heapId);
ptr->mail = mail;
Mail_SetType(mail, mailType);
@ -248,7 +248,7 @@ int sub_02090FA8(MAILBOX *mailbox, Pokemon *mon, HeapID heapId) {
int idx = Mailbox_GetFirstEmptySlotIdx(mailbox);
if (idx != -1) {
MAIL *mail = Mail_New(heapId);
Mail *mail = Mail_New(heapId);
GetMonData(mon, MON_DATA_MAIL_STRUCT, mail);
Mailbox_CopyMailToSlotI(&mailbox->msgs[0], 0, idx, mail);
@ -261,10 +261,10 @@ int sub_02090FA8(MAILBOX *mailbox, Pokemon *mon, HeapID heapId) {
return -1;
}
int sub_02091004(MAIL *msgs, int i, Pokemon *mon, HeapID heapId) {
int sub_02091004(Mail *msgs, int i, Pokemon *mon, HeapID heapId) {
int item = ITEM_NONE;
MAIL *mail = Mailbox_AllocAndFetchMailI(msgs, 0, i, heapId);
Mail *mail = Mailbox_AllocAndFetchMailI(msgs, 0, i, heapId);
if (mail == NULL) {
return -1;
}

View File

@ -52,7 +52,7 @@ void NPCTrade_MakeAndGiveLoanMon(FieldSystem *fsys, u8 tradeno, u8 level, u16 ma
NPCTrade *trade_dat;
Pokemon *kenya;
String *name;
MAIL *mail;
Mail *mail;
u8 mailno;
mon = AllocMonZeroed(HEAP_ID_FIELD);
@ -74,11 +74,11 @@ void NPCTrade_MakeAndGiveLoanMon(FieldSystem *fsys, u8 tradeno, u8 level, u16 ma
FreeToHeap(mon);
}
MAIL *NPCTrade_MakeKenyaMail(void) {
Mail *NPCTrade_MakeKenyaMail(void) {
Pokemon *mon;
NPCTrade *trade_dat;
String *name;
MAIL *mail;
Mail *mail;
u8 mailno;
mon = AllocMonZeroed(HEAP_ID_FIELD);

View File

@ -207,7 +207,7 @@ static void InitGameStateAfterOakSpeech_Internal(HeapID heap_id, SaveData* saved
CreateMon(mon, SPECIES_MARILL, 1, 0, FALSE, 0, OT_ID_PLAYER_ID, 0);
MAIL* mail;
Mail* mail;
if (PlayerProfile_GetTrainerGender(profile) == PLAYER_GENDER_MALE) {
author_name = NewString_ReadMsgData(friend_names_msgdata, msg_0445_00001);
mail = CreateKenyaMail(mon, MAIL_AIR, MON_FEMALE, author_name, 0);

View File

@ -163,7 +163,7 @@ BOOL ReleaseBoxMonLock(BoxPokemon *boxMon, BOOL locked) {
return prev;
}
void CreateMon(Pokemon *mon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId) {
MAIL * mail;
Mail * mail;
u32 capsule;
CAPSULE seal_coords;
ZeroMonData(mon);
@ -942,7 +942,7 @@ static void SetMonDataInternal(Pokemon *mon, int attr, const void * value) {
mon->party.spdef = VALUE(u16);
break;
case MON_DATA_MAIL_STRUCT:
Mail_Copy((const MAIL *)value, &mon->party.mail);
Mail_Copy((const Mail *)value, &mon->party.mail);
break;
case MON_DATA_SEAL_COORDS:
CopyCapsule((const CAPSULE *)value, &mon->party.sealCoords);

View File

@ -4277,7 +4277,7 @@ u32 sub_020467A8(SaveData *saveData) {
}
}
DAYCARE *dayCare = Save_DayCare_Get(saveData);
Daycare *dayCare = Save_DayCare_Get(saveData);
for (i = 0; i < 2; i++) {
BoxPokemon *boxMon = DayCareMon_GetBoxMon(Save_DayCare_GetMonX(dayCare, i));
if (GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM && !GetBoxMonData(boxMon, MON_DATA_IS_EGG, NULL)) {

View File

@ -15,7 +15,7 @@ static LocalMapObject* CreateDayCareMonSpriteInternal(MapObjectManager* object_m
BOOL ScrCmd_BufferDayCareMonNicks(ScriptContext* ctx) {
SaveData* savedata = ctx->fsys->savedata;
MessageFormat** msg_fmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MESSAGE_FORMAT);
DAYCARE* daycare = Save_DayCare_Get(savedata);
Daycare* daycare = Save_DayCare_Get(savedata);
Save_DayCare_BufferStoredMonNicks(daycare, *msg_fmt);
@ -25,7 +25,7 @@ BOOL ScrCmd_BufferDayCareMonNicks(ScriptContext* ctx) {
BOOL ScrCmd_GetDayCareState(ScriptContext* ctx) {
SaveData* savedata = ctx->fsys->savedata;
u16* ret_ptr = ScriptGetVarPointer(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
*ret_ptr = Save_DayCare_GetState(daycare);
@ -33,7 +33,7 @@ BOOL ScrCmd_GetDayCareState(ScriptContext* ctx) {
}
BOOL ScrCmd_ResetDayCareEgg(ScriptContext* ctx) {
DAYCARE* daycare = SaveArray_Get(ctx->fsys->savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(ctx->fsys->savedata, SAVE_DAYCARE);
Save_DayCare_ResetEggStats(daycare);
@ -42,7 +42,7 @@ BOOL ScrCmd_ResetDayCareEgg(ScriptContext* ctx) {
BOOL ScrCmd_GiveDayCareEgg(ScriptContext* ctx) {
FieldSystem* fsys = ctx->fsys;
DAYCARE* daycare = SaveArray_Get(fsys->savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(fsys->savedata, SAVE_DAYCARE);
PARTY* party = SaveArray_PlayerParty_Get(fsys->savedata);
SaveData* savedata = FieldSystem_GetSaveDataPtr(ctx->fsys);
PlayerProfile* profile = Save_PlayerData_GetProfileAddr(savedata);
@ -58,7 +58,7 @@ BOOL ScrCmd_RetrieveDayCareMon(ScriptContext* ctx) {
SaveData* savedata = fsys->savedata;
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 daycare_mon_idx = ScriptGetVar(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
PARTY* party = SaveArray_PlayerParty_Get(fsys->savedata);
*ret_ptr = Save_DayCare_RetrieveMon(party, *msg_fmt, daycare, (u8)daycare_mon_idx);
@ -72,7 +72,7 @@ BOOL ScrCmd_BufferDayCareWithdrawCost(ScriptContext* ctx) {
SaveData* savedata = fsys->savedata;
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 daycare_mon_idx = ScriptGetVar(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
*ret_ptr = Save_DayCare_BufferMonNickAndRetrievalPrice(daycare, (u8)daycare_mon_idx, *msg_fmt);
@ -84,7 +84,7 @@ BOOL ScrCmd_BufferDayCareMonGrowth(ScriptContext* ctx) {
MessageFormat** msg_fmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MESSAGE_FORMAT);
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 daycare_mon_idx = ScriptGetVar(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
*ret_ptr = Save_DayCare_BufferGrowthAndNick(daycare, daycare_mon_idx, *msg_fmt);
@ -95,7 +95,7 @@ BOOL ScrCmd_GetTailDayCareMonSpeciesAndNick(ScriptContext* ctx) {
FieldSystem* fsys = ctx->fsys;
MessageFormat** msg_fmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MESSAGE_FORMAT);
u16* ret_ptr = ScriptGetVarPointer(ctx);
DAYCARE* daycare = Save_DayCare_Get(fsys->savedata);
Daycare* daycare = Save_DayCare_Get(fsys->savedata);
*ret_ptr = Save_DayCare_BufferTailMonNick(daycare, *msg_fmt);
@ -107,7 +107,7 @@ BOOL ScrCmd_PutMonInDayCare(ScriptContext* ctx) {
SaveData* savedata = fsys->savedata;
u16 slot = ScriptGetVar(ctx);
PARTY* party = SaveArray_PlayerParty_Get(fsys->savedata);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Save_DayCare_PutMonIn(party, (u8)slot, daycare, savedata);
@ -121,7 +121,7 @@ BOOL ScrCmd_BufferDayCareMonStats(ScriptContext* ctx) {
u16 level_idx = ScriptGetVar(ctx);
u16 gender_idx = ScriptGetVar(ctx);
u16 slot = ScriptGetVar(ctx);
DAYCARE* daycare = Save_DayCare_Get(savedata);
Daycare* daycare = Save_DayCare_Get(savedata);
Save_DayCare_BufferMonStats(daycare, (u8)nickname_idx, (u8)level_idx, (u8)gender_idx, (u8)slot, *msg_fmt);
@ -131,7 +131,7 @@ BOOL ScrCmd_BufferDayCareMonStats(ScriptContext* ctx) {
BOOL ScrCmd_GetDayCareCompatibility(ScriptContext* ctx) {
SaveData* savedata = ctx->fsys->savedata;
u16* ret_ptr = ScriptGetVarPointer(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
*ret_ptr = Save_DayCare_CalcCompatibility(daycare);
@ -141,7 +141,7 @@ BOOL ScrCmd_GetDayCareCompatibility(ScriptContext* ctx) {
BOOL ScrCmd_CheckDayCareEgg(ScriptContext* ctx) {
SaveData* savedata = ctx->fsys->savedata;
u16* ret_ptr = ScriptGetVarPointer(ctx);
DAYCARE* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
Daycare* daycare = SaveArray_Get(savedata, SAVE_DAYCARE);
*ret_ptr = Save_DayCare_HasEgg(daycare);
@ -149,7 +149,7 @@ BOOL ScrCmd_CheckDayCareEgg(ScriptContext* ctx) {
}
BOOL ScrCmd_UpdateDayCareMonObjects(ScriptContext* ctx) {
DAYCARE* daycare;
Daycare* daycare;
u8 form;
u16 species;

View File

@ -506,8 +506,8 @@ BOOL ScrCmd_KenyaCheck(ScriptContext *ctx) {
}
HandleLoadOverlay(FS_OVERLAY_ID(npc_trade), OVY_LOAD_ASYNC);
MAIL *kenyaMail = NPCTrade_MakeKenyaMail();
MAIL *mail = Mail_New(HEAP_ID_FIELD);
Mail *kenyaMail = NPCTrade_MakeKenyaMail();
Mail *mail = Mail_New(HEAP_ID_FIELD);
GetMonData(mon, MON_DATA_MAIL_STRUCT, mail);
*kenya = Mail_Compare(kenyaMail, mail);
FreeToHeap(mail);
@ -525,8 +525,8 @@ BOOL ScrCmd_KenyaCheckPartyOrMailbox(ScriptContext *ctx) {
PARTY *party = SaveArray_PlayerParty_Get(fsys->savedata);
HandleLoadOverlay(FS_OVERLAY_ID(npc_trade), OVY_LOAD_ASYNC);
MAIL *kenyaMail = NPCTrade_MakeKenyaMail();
MAIL *mail = Mail_New(HEAP_ID_FIELD);
Mail *kenyaMail = NPCTrade_MakeKenyaMail();
Mail *mail = Mail_New(HEAP_ID_FIELD);
UnloadOverlayByID(FS_OVERLAY_ID(npc_trade));
for (i = 0; i < GetPartyCount(party); i++) {
@ -573,7 +573,7 @@ BOOL ScrCmd_MonGiveMail(ScriptContext *ctx) {
}
item = ITEM_NONE;
MAIL *mail = Mail_New(HEAP_ID_FIELD);
Mail *mail = Mail_New(HEAP_ID_FIELD);
Mail_Init(mail);
SetMonData(mon, MON_DATA_MAIL_STRUCT, mail);
SetMonData(mon, MON_DATA_HELD_ITEM, &item);

View File

@ -15,7 +15,7 @@ BOOL CanUseItemOnPokemon(Pokemon *mon, u16 itemID, s32 moveIdx, HeapID heapID) {
int spDefEv;
int hpEv;
ITEMDATA *itemData = LoadItemDataOrGfx(itemID, ITEMNARC_PARAM, heapID);
ItemData *itemData = LoadItemDataOrGfx(itemID, ITEMNARC_PARAM, heapID);
if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_PARTY_USE) != 1) {
FreeToHeap(itemData);
return FALSE;
@ -230,7 +230,7 @@ BOOL UseItemOnPokemon(Pokemon *mon, u16 itemID, u16 moveIdx, u16 location, HeapI
BOOL hadEffect;
BOOL effectFound;
ITEMDATA *itemData = LoadItemDataOrGfx(itemID, ITEMNARC_PARAM, heapID);
ItemData *itemData = LoadItemDataOrGfx(itemID, ITEMNARC_PARAM, heapID);
if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_PARTY_USE) != 1) {
FreeToHeap(itemData);
return FALSE;
@ -588,7 +588,7 @@ s32 TryModEV(s32 ev, s32 evSum, s32 by) {
return ev;
}
BOOL CanItemModFriendship(Pokemon *mon, ITEMDATA *itemData) {
BOOL CanItemModFriendship(Pokemon *mon, ItemData *itemData) {
s32 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL);
if (friendship >= 255) {
return FALSE;