diff options
| -rw-r--r-- | asm/daycare.s | 8 | ||||
| -rw-r--r-- | asm/item_menu.s | 2 | ||||
| -rw-r--r-- | asm/menu_helpers.s | 2 | ||||
| -rw-r--r-- | asm/mystery_event_script.s | 4 | ||||
| -rw-r--r-- | asm/party_menu.s | 32 | ||||
| -rw-r--r-- | asm/player_pc.s | 2 | ||||
| -rw-r--r-- | asm/pokemon_icon.s | 10 | ||||
| -rw-r--r-- | asm/pokemon_menu.s | 10 | ||||
| -rw-r--r-- | asm/pokemon_storage_system.s | 8 | ||||
| -rw-r--r-- | asm/trade.s | 6 | ||||
| -rw-r--r-- | include/asm.inc.h | 4 | ||||
| -rw-r--r-- | src/mail.c | 2 | ||||
| -rw-r--r-- | src/mail_data.c | 50 | ||||
| -rw-r--r-- | src/new_game.c | 2 | 
14 files changed, 73 insertions, 69 deletions
| diff --git a/asm/daycare.s b/asm/daycare.s index 0e8a796d9..47a84e8e0 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -111,7 +111,7 @@ sub_80413C8: @ 80413C8  	lsrs r4, r0, 24  	mov r9, r4  	adds r0, r7, 0 -	bl sub_80A2B94 +	bl MonHasMail  	lsls r0, 24  	cmp r0, 0  	beq _0804144A @@ -156,7 +156,7 @@ sub_80413C8: @ 80413C8  	ldm r1!, {r0,r2,r3}  	stm r4!, {r0,r2,r3}  	adds r0, r7, 0 -	bl sub_80A2DF8 +	bl TakeMailFromMon  _0804144A:  	mov r2, r9  	lsls r4, r2, 24 @@ -372,7 +372,7 @@ _080415D8:  	adds r4, r5, r4  	mov r0, r8  	adds r1, r4, 0 -	bl sub_80A2D88 +	bl GiveMailToMon2  	adds r0, r4, 0  	bl sub_80417F4  _08041610: @@ -644,7 +644,7 @@ _08041812:  	subs r1, 0x1  	cmp r1, r2  	bge _08041812 -	bl sub_80A2B40 +	bl ClearMailStruct  	pop {r0}  	bx r0  	thumb_func_end sub_80417F4 diff --git a/asm/item_menu.s b/asm/item_menu.s index 29109f3d9..449d8e38e 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -3413,7 +3413,7 @@ _080A4BB4: .4byte 0x00000103  _080A4BB8: .4byte gOtherText_Walk  _080A4BBC:  	adds r0, r4, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 0b95b553e..f10070110 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -420,7 +420,7 @@ sub_80F931C: @ 80F931C  	cmp r0, 0x1  	bne _080F933C  	adds r0, r4, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index f0e842626..93abd97bc 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -677,13 +677,13 @@ _081266C6:  	bl GetMonData  	lsls r0, 16  	lsrs r0, 16 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _081266E4  	adds r0, r7, 0  	mov r1, sp -	bl sub_80A2D88 +	bl GiveMailToMon2  _081266E4:  	bl party_compaction  	bl CalculatePlayerPartyCount diff --git a/asm/party_menu.s b/asm/party_menu.s index f405d174a..534d4aaa4 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5808,7 +5808,7 @@ _0806DBAC:  	adds r0, r7, r5  	ldrb r4, [r0]  	adds r0, r1, 0 -	bl itemid_is_mail +	bl ItemIsMail  	adds r1, r0, 0  	lsls r1, 24  	lsrs r1, 24 @@ -5841,7 +5841,7 @@ _0806DBF0:  	adds r0, r5, r7  	ldrb r4, [r0, 0x6]  	adds r0, r1, 0 -	bl itemid_is_mail +	bl ItemIsMail  	adds r1, r0, 0  	lsls r1, 24  	lsrs r1, 24 @@ -5991,7 +5991,7 @@ _0806DD2C: .4byte gSpriteTemplate_837660C  _0806DD30: .4byte gSprites  _0806DD34:  	adds r0, r7, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0806DD46 @@ -6321,7 +6321,7 @@ _0806DFAC:  	bl GetMonData  	lsls r0, 16  	lsrs r0, 16 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0806DFD8 @@ -7486,14 +7486,14 @@ PartyMenuUpdateMonHeldItem: @ 806E904  	lsls r1, 16  	lsrs r4, r1, 16  	adds r0, r4, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1  	bne _0806E93C  	adds r0, r5, 0  	adds r1, r4, 0 -	bl sub_80A2BC4 +	bl GiveMailToMon  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0xFF @@ -7571,7 +7571,7 @@ PartyMenuTryGiveMonHeldItem: @ 806E964  	cmp r2, 0  	beq _0806EA44  	adds r0, r2, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 @@ -7609,7 +7609,7 @@ _0806E9F0:  	movs r1, 0x5  	bl CreateTask  	adds r0, r5, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 @@ -7631,7 +7631,7 @@ _0806EA44:  	movs r1, 0x1  	bl RemoveBagItem  	adds r0, r5, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0806EA66 @@ -7726,7 +7726,7 @@ PartyMenuTryGiveMonHeldItem_806EACC: @ 806EACC  	ldrh r1, [r4, 0x6]  	bl PartyMenuUpdateMonHeldItem  	ldrh r0, [r4, 0x6] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0806EB34 @@ -7923,9 +7923,9 @@ _0806ECB8: .4byte party_menu_link_mon_held_item_object  _0806ECBC:  	ldr r0, [r5]  	adds r1, r4, 0 -	bl sub_80A2D88 +	bl GiveMailToMon2  	adds r0, r4, 0 -	bl sub_80A2B40 +	bl ClearMailStruct  	ldr r0, _0806ECE0 @ =gOtherText_MailTransferredMailbox  	movs r1, 0x1  	bl sub_806E834 @@ -7997,13 +7997,13 @@ _0806ED50:  	cmp r0, 0x1  	bne _0806ED92  	adds r0, r4, 0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1  	bne _0806ED7C  	ldr r0, [r5] -	bl sub_80A2DF8 +	bl TakeMailFromMon  _0806ED7C:  	ldrb r0, [r5, 0x5]  	adds r1, r6, 0 @@ -8126,7 +8126,7 @@ Task_LoseMailMessage: @ 806EE5C  	cmp r0, 0x1  	bne _0806EE98  	ldr r0, [r5] -	bl sub_80A2DF8 +	bl TakeMailFromMon  	ldr r0, _0806EE94 @ =gOtherText_MailTaken  	movs r1, 0  	bl sub_806E834 @@ -8235,7 +8235,7 @@ Task_TakeHeldMail: @ 806EF38  	bl MenuZeroFillWindowRect  	ldr r0, _0806EF70 @ =0x0201c000  	ldr r0, [r0] -	bl sub_80A2E78 +	bl TakeMailFromMon2  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0xFF diff --git a/asm/player_pc.s b/asm/player_pc.s index 42edeba49..5e2adb775 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -1076,7 +1076,7 @@ _0813B5CC:  	movs r3, 0  	bl DisplayItemMessageOnField  	adds r0, r6, 0 -	bl sub_80A2B40 +	bl ClearMailStruct  	bl sub_813AF78  	ldrb r0, [r4, 0x3]  	subs r0, 0x1 diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s index a63779b28..5aa8b5901 100644 --- a/asm/pokemon_icon.s +++ b/asm/pokemon_icon.s @@ -228,7 +228,7 @@ mon_icon_convert_unown_species_id: @ 809D434  	cmp r2, SPECIES_UNOWN  	bne _0809D45E  	adds r0, r1, 0 -	bl sub_809D474 +	bl GetUnownLetterByPersonality  	lsls r0, 16  	lsrs r0, 16  	cmp r0, 0 @@ -258,8 +258,8 @@ _0809D46C:  	bx r1  	thumb_func_end mon_icon_convert_unown_species_id -	thumb_func_start sub_809D474 -sub_809D474: @ 809D474 +	thumb_func_start GetUnownLetterByPersonality +GetUnownLetterByPersonality: @ 809D474  	push {lr}  	adds r2, r0, 0  	movs r0, 0xC0 @@ -285,7 +285,7 @@ sub_809D474: @ 809D474  	lsrs r0, 16  	pop {r1}  	bx r1 -	thumb_func_end sub_809D474 +	thumb_func_end GetUnownLetterByPersonality  	thumb_func_start sub_809D4A8  sub_809D4A8: @ 809D4A8 @@ -295,7 +295,7 @@ sub_809D4A8: @ 809D4A8  	lsrs r4, r0, 16  	adds r0, r4, 0  	mov r1, sp -	bl sub_80A2D64 +	bl MailSpeciesToSpecies  	lsls r0, 16  	lsrs r0, 16  	cmp r0, SPECIES_UNOWN diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s index 2f1c16f8c..57bcd4904 100644 --- a/asm/pokemon_menu.s +++ b/asm/pokemon_menu.s @@ -143,7 +143,7 @@ _08089B76:  	bl GetMonData  	lsls r0, 16  	lsrs r0, 16 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _08089BB4 @@ -964,7 +964,7 @@ sub_808A228: @ 808A228  	lsrs r4, r0, 24  	ldr r0, _0808A268 @ =gScriptItemId  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0808A278 @@ -1188,7 +1188,7 @@ sub_808A3F8: @ 808A3F8  	push {r4,lr}  	ldr r0, _0808A460 @ =gScriptItemId  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0808A47E @@ -1349,7 +1349,7 @@ _0808A542:  	ldrb r0, [r6]  	muls r0, r5  	adds r0, r4 -	bl sub_80A2DF8 +	bl TakeMailFromMon  	ldrb r0, [r6]  	muls r0, r5  	adds r0, r4 @@ -3202,7 +3202,7 @@ _0808B416:  	ldrb r0, [r6]  	muls r0, r5  	adds r0, r4 -	bl sub_80A2DF8 +	bl TakeMailFromMon  	ldrb r0, [r6]  	muls r0, r5  	adds r0, r4 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 89f0e2865..c86ad644e 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -2620,7 +2620,7 @@ _08096D66:  	ldr r1, _08096D8C @ =0x000011f2  	adds r0, r4, r1  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	bne _08096E4C @@ -2712,7 +2712,7 @@ _08096E30:  	ldr r1, _08096E58 @ =0x000011f2  	adds r0, r4, r1  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _08096E5C @@ -3102,7 +3102,7 @@ _08097190:  	ldr r1, _080971C4 @ =0x000011f2  	adds r0, r4, r1  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	bne _08097210 @@ -3145,7 +3145,7 @@ _08097200:  	ldr r1, _08097218 @ =0x000011f2  	adds r0, r4, r1  	ldrh r0, [r0] -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0809721C diff --git a/asm/trade.s b/asm/trade.s index d1fe82d6c..756423ee7 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7639,7 +7639,7 @@ sub_804BA94: @ 804BA94  	lsls r0, 2  	ldr r1, _0804BB68 @ =gSaveBlock1 + 0x2B4C  	adds r0, r1 -	bl sub_80A2B40 +	bl ClearMailStruct  _0804BAE8:  	ldr r4, _0804BB6C @ =gUnknown_03004828  	ldr r0, [r4] @@ -7678,7 +7678,7 @@ _0804BB28:  	ldr r0, _0804BB70 @ =gUnknown_02029700  	adds r1, r0  	adds r0, r7, 0 -	bl sub_80A2D88 +	bl GiveMailToMon2  _0804BB3E:  	mov r0, r9  	bl sub_804BA18 @@ -11262,7 +11262,7 @@ sub_804D948: @ 804D948  	ldrh r0, [r5, 0x28]  	cmp r0, 0  	beq _0804DAC0 -	bl itemid_is_mail +	bl ItemIsMail  	lsls r0, 24  	cmp r0, 0  	beq _0804DAB4 diff --git a/include/asm.inc.h b/include/asm.inc.h index eb3cec985..11d4e150e 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -236,8 +236,8 @@ bool8 sub_80A212C(u8, u8, u8);  void sub_80A2178(void);  // asm/mail_data.o -void sub_80A2B18(void); -u16 sub_80A2D64(u16, u8 *); +void ClearMailData(void); +u16 MailSpeciesToSpecies(u16, u8 *);  // src/map_name_popup.o  void ShowMapNamePopup(void); diff --git a/src/mail.c b/src/mail.c index 1bd4e73dc..9964f2a79 100644 --- a/src/mail.c +++ b/src/mail.c @@ -116,7 +116,7 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2)          break;      } -    if (((sub_80A2D64(arg0->species, buffer) << 16) + 0xFFFF0000) <= (410 << 16)) +    if (((MailSpeciesToSpecies(arg0->species, buffer) << 16) + 0xFFFF0000) <= (410 << 16))      {          switch (ewram0.varFA)          { diff --git a/src/mail_data.c b/src/mail_data.c index f83484346..23d22e21f 100644 --- a/src/mail_data.c +++ b/src/mail_data.c @@ -5,20 +5,20 @@  #include "species.h"  #include "text.h" -void sub_80A2B40(struct MailStruct *); -u16 sub_80A2D44(u16, u32); -bool8 itemid_is_mail(u16); -u16 sub_809D474(u32); +void ClearMailStruct(struct MailStruct *); +u16 SpeciesToMailSpecies(u16, u32); +bool8 ItemIsMail(u16); +u16 GetUnownLetterByPersonality(u32); -void sub_80A2B18(void) +void ClearMailData(void)  {      u8 i;      for (i = 0; i < 16; i++) -        sub_80A2B40(&gSaveBlock1.mail[i]); +        ClearMailStruct(&gSaveBlock1.mail[i]);  } -void sub_80A2B40(struct MailStruct *mail) +void ClearMailStruct(struct MailStruct *mail)  {      int i; @@ -35,16 +35,16 @@ void sub_80A2B40(struct MailStruct *mail)      mail->itemId = 0;  } -bool8 sub_80A2B94(struct Pokemon *mon) +bool8 MonHasMail(struct Pokemon *mon)  {      u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM); -    if (itemid_is_mail(heldItem) && GetMonData(mon, MON_DATA_MAIL) != 0xFF) +    if (ItemIsMail(heldItem) && GetMonData(mon, MON_DATA_MAIL) != 0xFF)          return TRUE;      else          return FALSE;  } -u8 sub_80A2BC4(struct Pokemon *mon, u16 itemId) +u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)  {      u16 _itemId;      u8 heldItem[2]; @@ -75,7 +75,7 @@ u8 sub_80A2BC4(struct Pokemon *mon, u16 itemId)              species = GetBoxMonData(&mon->box, MON_DATA_SPECIES);              personality = GetBoxMonData(&mon->box, MON_DATA_PERSONALITY); -            gSaveBlock1.mail[id].species = sub_80A2D44(species, personality); +            gSaveBlock1.mail[id].species = SpeciesToMailSpecies(species, personality);              gSaveBlock1.mail[id].itemId = _itemId;              SetMonData(mon, MON_DATA_MAIL, &id);              SetMonData(mon, MON_DATA_HELD_ITEM, heldItem); @@ -87,14 +87,18 @@ u8 sub_80A2BC4(struct Pokemon *mon, u16 itemId)      return -1;  } -u16 sub_80A2D44(u16 species, u32 personality) +u16 SpeciesToMailSpecies(u16 species, u32 personality)  { -    if (species != SPECIES_UNOWN) -        return species; -    return ((sub_809D474(personality) << 16) + (30000 << 16)) >> 16; +    if (species == SPECIES_UNOWN) +    { +        int mailSpecies = GetUnownLetterByPersonality(personality) + 30000; +        return mailSpecies; +    } + +    return species;  } -u16 sub_80A2D64(u16 a1, u16 *a2) +u16 MailSpeciesToSpecies(u16 a1, u16 *a2)  {      u16 result; @@ -111,11 +115,11 @@ u16 sub_80A2D64(u16 a1, u16 *a2)      return result;  } -u8 sub_80A2D88(struct Pokemon *mon, struct MailStruct *mail) +u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail)  {      u8 heldItem[2];      u16 itemId = mail->itemId; -    u8 mailId = sub_80A2BC4(mon, itemId); +    u8 mailId = GiveMailToMon(mon, itemId);      if (mailId == 0xFF)          return 0xFF; @@ -137,12 +141,12 @@ int unref_sub_80A2DF4(void)      return 0;  } -void sub_80A2DF8(struct Pokemon *mon) +void TakeMailFromMon(struct Pokemon *mon)  {      u8 heldItem[2];      u8 mailId; -    if (sub_80A2B94(mon)) +    if (MonHasMail(mon))      {          mailId = GetMonData(mon, MON_DATA_MAIL);          gSaveBlock1.mail[mailId].itemId = 0; @@ -154,12 +158,12 @@ void sub_80A2DF8(struct Pokemon *mon)      }  } -void unref_sub_80A2E58(u8 mailId) +void DeleteMail(u8 mailId)  {      gSaveBlock1.mail[mailId].itemId = 0;  } -u8 sub_80A2E78(struct Pokemon *mon) +u8 TakeMailFromMon2(struct Pokemon *mon)  {      u8 i;      u8 newHeldItem[2]; @@ -184,7 +188,7 @@ u8 sub_80A2E78(struct Pokemon *mon)      return 0xFF;  } -bool8 itemid_is_mail(u16 itemId) +bool8 ItemIsMail(u16 itemId)  {      switch (itemId)      { diff --git a/src/new_game.c b/src/new_game.c index 3b93d37cc..ca53ff15f 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -116,7 +116,7 @@ void NewGameInitData(void)      sub_808C02C();      sub_8052DE4();      memset(&gSaveBlock1, 0, sizeof(gSaveBlock1)); -    sub_80A2B18(); +    ClearMailData();      gSaveBlock2.specialSaveWarp = 0;      set_player_trainer_id();      PlayTimeCounter_Reset(); | 
