diff options
Diffstat (limited to 'engine/pokemon/mail.asm')
-rw-r--r-- | engine/pokemon/mail.asm | 82 |
1 files changed, 30 insertions, 52 deletions
diff --git a/engine/pokemon/mail.asm b/engine/pokemon/mail.asm index 33bce604d..359d2ac8e 100644 --- a/engine/pokemon/mail.asm +++ b/engine/pokemon/mail.asm @@ -1,4 +1,4 @@ -SendMailToPC: ; 4456e +SendMailToPC: ld a, MON_ITEM call GetPartyParamLocation ld d, [hl] @@ -37,9 +37,8 @@ SendMailToPC: ; 4456e .full scf ret -; 445c0 -DeleteMailFromPC: ; 445c0 (11:45c0) +DeleteMailFromPC: ; Shift all mail messages in the mailbox ld a, BANK(sMailboxCount) call GetSRAMBank @@ -71,9 +70,8 @@ DeleteMailFromPC: ; 445c0 (11:45c0) ld hl, sMailboxCount dec [hl] jp CloseSRAM -; 445f4 (11:45f4) -ReadMailMessage: ; 445f4 +ReadMailMessage: ld a, b ld hl, sMailbox ld bc, MAIL_STRUCT_LENGTH @@ -83,7 +81,7 @@ ReadMailMessage: ; 445f4 farcall ReadAnyMail ret -MoveMailFromPCToParty: ; 44607 +MoveMailFromPCToParty: ld a, BANK(sMailboxCount) call GetSRAMBank push bc @@ -114,17 +112,15 @@ MoveMailFromPCToParty: ; 44607 call CloseSRAM pop bc jp DeleteMailFromPC -; 44648 (11:4648) -GetMailboxCount: ; 44648 +GetMailboxCount: ld a, BANK(sMailboxCount) call GetSRAMBank ld a, [sMailboxCount] ld c, a jp CloseSRAM -; 44654 -CheckPokeMail:: ; 44654 +CheckPokeMail:: push bc push de farcall SelectMonFromParty @@ -191,10 +187,8 @@ CheckPokeMail:: ; 44654 .return ld [wScriptVar], a ret -; 446cc - -GivePokeMail:: ; 446cc +GivePokeMail:: ld a, [wPartyCount] dec a push af @@ -241,10 +235,8 @@ GivePokeMail:: ; 446cc ld a, b ld [de], a jp CloseSRAM -; 44725 - -BackupPartyMonMail: ; 44725 +BackupPartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank ld hl, sPartyMail @@ -256,9 +248,8 @@ BackupPartyMonMail: ; 44725 ld bc, 1 + 10 * MAIL_STRUCT_LENGTH call CopyBytes jp CloseSRAM -; 44745 -RestorePartyMonMail: ; 44745 (11:4745) +RestorePartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank ld hl, sPartyMailBackup @@ -271,7 +262,7 @@ RestorePartyMonMail: ; 44745 (11:4745) call CopyBytes jp CloseSRAM -DeletePartyMonMail: ; 44765 (11:4765) +DeletePartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank xor a @@ -283,10 +274,8 @@ DeletePartyMonMail: ; 44765 (11:4765) ld bc, 1 + 10 * MAIL_STRUCT_LENGTH call ByteFill jp CloseSRAM -; 44781 (11:4781) - -IsAnyMonHoldingMail: ; 44781 +IsAnyMonHoldingMail: ld a, [wPartyCount] and a jr z, .no_mons @@ -308,9 +297,8 @@ IsAnyMonHoldingMail: ; 44781 .no_mons and a ret -; 447a0 -_PlayerMailBoxMenu: ; 0x447a0 +_PlayerMailBoxMenu: call InitMail jr z, .nomail call LoadStandardMenuHeader @@ -320,13 +308,12 @@ _PlayerMailBoxMenu: ; 0x447a0 .nomail ld hl, .EmptyMailboxText jp MenuTextBoxBackup -; 0x447b4 -.EmptyMailboxText: ; 0x447b4 +.EmptyMailboxText: text_jump _EmptyMailboxText db "@" -InitMail: ; 0x447b9 +InitMail: ; initialize wMailboxCount and beyond with incrementing values, one per mail ; set z if no mail ld a, BANK(sMailboxCount) @@ -353,9 +340,8 @@ InitMail: ; 0x447b9 ld a, [wMailboxCount] and a ret -; 0x447da -MailboxPC_GetMailAuthor: ; 0x447da +MailboxPC_GetMailAuthor: dec a ld hl, sMailbox1Author ld bc, MAIL_STRUCT_LENGTH @@ -371,17 +357,15 @@ MailboxPC_GetMailAuthor: ; 0x447da call CloseSRAM pop de ret -; 0x447fb -MailboxPC_PrintMailAuthor: ; 0x447fb +MailboxPC_PrintMailAuthor: push de ld a, [wMenuSelection] call MailboxPC_GetMailAuthor pop hl jp PlaceString -; 0x44806 -MailboxPC: ; 0x44806 +MailboxPC: xor a ld [wCurMessageScrollPosition], a ld a, 1 @@ -414,9 +398,8 @@ MailboxPC: ; 0x44806 .exit xor a ret -; 0x4484a -.Submenu: ; 0x4484a +.Submenu: ld hl, .SubMenuHeader call LoadMenuHeader call VerticalMenu @@ -429,7 +412,6 @@ MailboxPC: ; 0x44806 .subexit ret -; 0x44861 .JumpTable: dw .ReadMail @@ -437,16 +419,15 @@ MailboxPC: ; 0x44806 dw .AttachMail dw .Cancel -.ReadMail: ; 0x44869 +.ReadMail: call FadeToMenu ld a, [wMenuSelection] dec a ld b, a call ReadMailMessage jp CloseSubmenu -; 0x44877 -.PutInPack: ; 0x44877 +.PutInPack: ld hl, .MessageLostText call MenuTextBox call YesNoBox @@ -470,21 +451,20 @@ MailboxPC: ; 0x44806 call DeleteMailFromPC ld hl, .PutAwayText jp MenuTextBoxBackup -; 0x448ac -.PutAwayText: ; 0x448ac +.PutAwayText: text_jump ClearedMailPutAwayText db "@" -.PackFullText: ; 0x448b1 +.PackFullText: text_jump MailPackFullText db "@" -.MessageLostText: ; 0x448b6 +.MessageLostText: text_jump MailMessageLostText db "@" -.GetMailType: ; 0x448bb +.GetMailType: push af ld a, BANK(sMailboxCount) call GetSRAMBank @@ -495,9 +475,8 @@ MailboxPC: ; 0x44806 ld a, [hl] ld [wCurItem], a jp CloseSRAM -; 0x448d2 -.AttachMail: ; 0x448d2 +.AttachMail: call FadeToMenu xor a ld [wPartyMenuActionText], a @@ -540,24 +519,23 @@ MailboxPC: ; 0x44806 .exit2 jp CloseSubmenu -; 0x4493c -.HoldingMailText: ; 0x4493c +.HoldingMailText: text_jump MailAlreadyHoldingItemText db "@" -.EggText: ; 0x44941 +.EggText: text_jump MailEggText db "@" -.MailMovedText: ; 0x44946 +.MailMovedText: text_jump MailMovedFromBoxText db "@" .Cancel: ret -.TopMenuHeader: ; 0x4494c +.TopMenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 8, 1, SCREEN_WIDTH - 2, 10 dw .TopMenuData @@ -572,7 +550,7 @@ MailboxPC: ; 0x44806 dba NULL dba NULL -.SubMenuHeader: ; 0x44964 +.SubMenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 13, 9 dw .SubMenuData |