ref: b02305625920d42649587d6ba6504777dcac25a0
dir: /gfx/mail.asm/
ReadPartyMonMail: ; b9229 ld a, [CurPartyMon] ld hl, sPartyMail ld bc, MAIL_STRUCT_LENGTH call AddNTimes ld d, h ld e, l ReadAnyMail: ; b9237 push de call ClearBGPalettes call ClearSprites call ClearTileMap call DisableLCD call LoadFontsExtra pop de push de ld a, BANK(sPartyMail) call GetSRAMBank callba Function1de5c8 call CloseSRAM ld a, c ld de, GFX_1de5e6 or a jr z, .asm_b9268 ld de, GFX_1de9e6 sub $3 jr c, .asm_b9268 ld de, GFX_1dede6 .asm_b9268 ld hl, VTiles1 lb bc, BANK(GFX_1de5e6), $80 call Get1bpp pop de call Functionb92b8 call EnableLCD call WaitBGMap ld a, [wd1ec] ld e, a callba Function8cb4 call SetPalettes xor a ld [hJoyPressed], a call Functionb929a call ClearBGPalettes call DisableLCD call LoadStandardFont jp EnableLCD ; b929a Functionb929a: ; b929a .asm_b929a call GetJoypad ld a, [hJoyPressed] and A_BUTTON | B_BUTTON | START jr z, .asm_b929a and START jr nz, .asm_b92a8 ret .asm_b92a8 ld a, [wJumptableIndex] push af callab Function845d4 pop af ld [wJumptableIndex], a jr .asm_b929a ; b92b8 Functionb92b8: ; b92b8 ld h, d ld l, e push hl ld a, $0 call GetSRAMBank ld de, $2b add hl, de ld a, [hli] ld [Buffer1], a ld a, [hli] ld [Buffer2], a ld a, [hli] ld [CurPartySpecies], a ld b, [hl] call CloseSRAM ld hl, MailGFXPointers ld c, 0 .asm_b92d9 ld a, [hli] cp b jr z, .asm_b92ea cp $ff jr z, .asm_b92e6 inc c rept 2 inc hl endr jr .asm_b92d9 .asm_b92e6 ld hl, MailGFXPointers inc hl .asm_b92ea ld a, c ld [wd1ec], a ld a, [hli] ld h, [hl] ld l, a ld de, .done pop bc push de jp [hl] .done ret ; b92f8 MailGFXPointers: ; b92f8 dbw FLOWER_MAIL, LoadFlowerMailGFX dbw SURF_MAIL, LoadSurfMailGFX dbw LITEBLUEMAIL, LoadLiteBlueMailGFX dbw PORTRAITMAIL, LoadPortraitMailGFX dbw LOVELY_MAIL, LoadLovelyMailGFX dbw EON_MAIL, LoadEonMailGFX dbw MORPH_MAIL, LoadMorphMailGFX dbw BLUESKY_MAIL, LoadBlueSkyMailGFX dbw MUSIC_MAIL, LoadMusicMailGFX dbw MIRAGE_MAIL, LoadMirageMailGFX db $ff ; b9317 LoadSurfMailGFX: ; b9317 push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9d46 ld c, $40 call Functionb9915 ld de, MailLaprasGFX ld c, $30 call Functionb991e ld de, Unknown_b994e ld c, $8 call Functionb9915 jr Functionb9351 LoadLiteBlueMailGFX: ; b9335 push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9dc6 ld c, $40 call Functionb9915 ld de, MailDratiniGFX ld c, $30 call Functionb991e ld de, Unknown_b995e ld c, $8 call Functionb9915 Functionb9351: ; b9351 ld de, Unknown_b9976 ld c, $10 call Functionb9915 ld c, $10 call Functionb990c ld de, Unknown_b9c3e ld c, $40 call Functionb990c ld c, $40 call Functionb9915 call Functionb9858 hlcoord 2, 15 ld a, $3f call Functionb98d4 ld a, $39 hlcoord 15, 14 call Functionb98fc ld a, $44 hlcoord 2, 2 call Functionb98ee hlcoord 15, 11 call Functionb98ee ld a, $4c hlcoord 3, 12 call Functionb98ee hlcoord 15, 2 call Functionb98ee ld a, $50 hlcoord 6, 3 call Functionb98ee ld a, $40 hlcoord 13, 2 ld [hli], a hlcoord 6, 14 ld [hl], a ld a, $41 hlcoord 4, 5 ld [hli], a hlcoord 17, 5 ld [hli], a hlcoord 13, 12 ld [hl], a ld a, $42 hlcoord 9, 2 ld [hli], a hlcoord 14, 5 ld [hli], a hlcoord 3, 10 ld [hl], a ld a, $43 hlcoord 6, 11 ld [hli], a pop hl jp Functionb9803 ; b93d2 LoadEonMailGFX: ; b93d2 push bc ld hl, VTiles2 tile $31 ld de, Unknown_b997e ld c, $8 call Functionb9915 ld de, Unknown_b998e ld c, $8 call Functionb990c ld de, Unknown_b998e ld c, $8 call Functionb990c ld de, Unknown_b997e ld c, $8 call Functionb9915 ld de, Unknown_b9d76 ld c, $8 call Functionb9915 ld de, MailPikaGFX ld c, $30 call Functionb991e ld hl, VTiles2 tile $3d ld de, Unknown_b9c9e ld c, $20 call Functionb990c ld de, Unknown_b998e ld c, $8 call Functionb9915 ld a, $31 hlcoord 0, 0 call Functionb98a8 hlcoord 1, 17 call Functionb98a8 ld a, $33 hlcoord 0, 1 call Functionb98ba hlcoord 19, 0 call Functionb98ba hlcoord 2, 15 ld a, $35 call Functionb98d4 inc a hlcoord 15, 14 call Functionb98fc call Functionb9491 pop hl jp Functionb9803 ; b944b LoadLovelyMailGFX: ; b944b push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9e26 ld c, $28 call Functionb9915 ld de, MailPoliwagGFX ld c, $30 call Functionb991e ld de, Unknown_b9966 ld c, $8 call Functionb9915 ld de, Unknown_b9c5e ld c, $20 call Functionb9915 ld de, Unknown_b996e ld c, $8 call Functionb990c call Functionb987b hlcoord 2, 15 ld a, $3c call Functionb98d4 ld a, $36 hlcoord 15, 14 call Functionb98fc call Functionb9491 pop hl jp Functionb9803 ; b9491 Functionb9491: ; b9491 ld a, $3d hlcoord 2, 2 call Functionb98ee hlcoord 16, 2 call Functionb98ee hlcoord 9, 4 call Functionb98ee hlcoord 2, 11 call Functionb98ee hlcoord 6, 12 call Functionb98ee hlcoord 12, 11 call Functionb98ee ld a, $41 hlcoord 5, 4 ld [hl], a hlcoord 6, 2 ld [hl], a hlcoord 12, 4 ld [hl], a hlcoord 14, 2 ld [hl], a hlcoord 3, 13 ld [hl], a hlcoord 9, 11 ld [hl], a hlcoord 16, 12 ld [hl], a ret ; b94d6 LoadMorphMailGFX: ; b94d6 push bc ld hl, VTiles2 tile $31 ld bc, $28 call Functionb97f8 ld de, Unknown_b9c96 ld c, 8 call Functionb9915 ld de, Unknown_b9c7e ld c, 8 call Functionb9915 ld de, Unknown_b993e ld c, 8 call Functionb9915 ld de, Unknown_b997e ld c, 8 call Functionb990c ld de, Unknown_b9926 ld c, 8 call Functionb9915 ld de, MailDittoGFX ld c, $30 call Functionb991e call Functionb987b ld a, $31 hlcoord 1, 1 call Functionb98ee hlcoord 17, 15 call Functionb98ee hlcoord 1, 3 ld [hl], a hlcoord 3, 1 ld [hl], a hlcoord 16, 16 ld [hl], a hlcoord 18, 14 ld [hl], a ld a, $36 hlcoord 1, 4 ld [hl], a hlcoord 2, 3 ld [hl], a hlcoord 3, 2 ld [hl], a hlcoord 4, 1 ld [hl], a inc a hlcoord 15, 16 ld [hl], a hlcoord 16, 15 ld [hl], a hlcoord 17, 14 ld [hl], a hlcoord 18, 13 ld [hl], a inc a hlcoord 2, 15 ld b, $e call Functionb98de inc a hlcoord 2, 11 call Functionb98d4 hlcoord 2, 5 call Functionb98d4 inc a hlcoord 6, 1 call Functionb98d0 hlcoord 1, 16 call Functionb98d0 inc a hlcoord 3, 13 call Functionb98fc pop hl jp Functionb9803 ; b9582 LoadBlueSkyMailGFX: ; b9582 push bc ld hl, VTiles2 tile $31 ld de, Unknown_b997e ld c, $8 call Functionb9915 ld a, $ff ld bc, $10 call ByteFill ld de, Unknown_b992e ld c, $8 call Functionb991e ld de, MailDragoniteGFX ld c, $b8 call Functionb991e ld de, MailCloudGFX ld c, $30 call Functionb990c ld de, Unknown_b9db6 ld c, $8 call Functionb990c ld de, MailCloudGFX ld c, $8 call Functionb990c ld de, Unknown_b9d26 ld c, $10 call Functionb990c ld de, Unknown_b9d3e ld c, $8 call Functionb990c ld a, $31 hlcoord 0, 0 call Functionb98dc hlcoord 0, 1 call Functionb98e3 hlcoord 19, 1 call Functionb98e3 inc a hlcoord 0, 17 call Functionb98dc inc a hlcoord 0, 16 call Functionb98dc inc a hlcoord 2, 2 call Functionb9636 hlcoord 3, 3 call Functionb9636 hlcoord 4, 4 call Functionb9636 dec hl ld [hl], $7f dec a hlcoord 15, 14 call Functionb98ee add $4 hlcoord 15, 16 ld [hli], a inc a ld [hl], a inc a push af hlcoord 12, 1 call Functionb98fc pop af hlcoord 15, 4 call Functionb98fc inc a hlcoord 2, 11 call Functionb98d4 inc a hlcoord 10, 3 call Functionb98ee pop hl jp Functionb9803 ; b9636 Functionb9636: ; b9636 ld b, $6 .asm_b9638 ld [hli], a inc a dec b jr nz, .asm_b9638 ret ; b963e LoadFlowerMailGFX: ; b963e push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9d86 ld c, $40 call Functionb990c ld de, MailOddishGFX ld c, $20 call Functionb991e ld de, Unknown_b9db6 ld c, $8 call Functionb9915 ld de, Unknown_b9cbe ld c, $20 call Functionb990c ld c, $20 call Functionb9915 call Functionb9858 hlcoord 2, 15 ld a, $3d call Functionb98d4 ld a, $39 hlcoord 16, 13 call Functionb98ee hlcoord 2, 13 call Functionb98ee ld a, $3e hlcoord 2, 2 call Functionb98ee hlcoord 5, 3 call Functionb98ee hlcoord 10, 2 call Functionb98ee hlcoord 16, 3 call Functionb98ee hlcoord 5, 11 call Functionb98ee hlcoord 16, 10 call Functionb98ee ld a, $42 hlcoord 3, 4 call Functionb98ee hlcoord 12, 3 call Functionb98ee hlcoord 14, 2 call Functionb98ee hlcoord 2, 10 call Functionb98ee hlcoord 14, 11 call Functionb98ee pop hl jp Functionb9803 ; b96ca LoadPortraitMailGFX: ; b96ca push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9e4e ld c, $28 call Functionb9915 ld de, Unknown_b995e ld c, $8 call Functionb9915 ld hl, VTiles2 tile $3d ld de, Unknown_b9bfe ld c, $20 call Functionb990c ld de, Unknown_b9936 ld c, $8 call Functionb9915 call Functionb987b hlcoord 8, 15 ld a, $36 ld b, $a call Functionb98de call Functionb9491 ld a, $1 ld [UnownLetter], a hlcoord 1, 10 call PrepMonFrontpic pop hl jp Functionb9803 ; b9710 LoadMusicMailGFX: ; b9710 push bc ld hl, VTiles2 tile $31 ld de, Unknown_b9e06 ld c, $20 call Functionb9915 ld de, Unknown_b993e ld c, $10 call Functionb9915 ld de, Unknown_b9996 ld c, $30 call Functionb991e xor a ld bc, $10 call ByteFill ld de, Unknown_b9cfe ld c, $18 call Functionb990c ld de, Unknown_b9946 ld c, $8 call Functionb990c ld a, $31 hlcoord 0, 0 call Functionb98a8 hlcoord 1, 17 call Functionb98a8 ld a, $33 hlcoord 0, 1 call Functionb98ba hlcoord 19, 0 call Functionb98ba ld a, $35 hlcoord 2, 15 call Functionb989e ld a, $37 hlcoord 15, 14 call Functionb98fc call Functionb9491 pop hl jp Functionb9803 ; b9776 LoadMirageMailGFX: ; b9776 push bc ld hl, VTiles2 tile $31 ld bc, $28 call Functionb97f8 ld de, Unknown_b992e ld c, $8 call Functionb9915 ld de, MailMewGFX ld c, $90 call Functionb9915 ld de, Unknown_b9dce ld c, $8 call Functionb990c ld de, Unknown_b9df6 ld c, $8 call Functionb990c call Functionb987b ld a, $36 hlcoord 1, 16 call Functionb98d8 inc a hlcoord 15, 14 call Functionb98fc inc a hlcoord 15, 16 ld [hli], a inc a ld [hl], a ld a, $3f hlcoord 1, 1 call Functionb98a8 ld a, $41 hlcoord 0, 2 call Functionb98b5 ld a, $43 hlcoord 19, 2 call Functionb98b5 ld a, $45 hlcoord 0, 1 ld [hl], a inc a hlcoord 19, 1 ld [hl], a inc a hlcoord 0, 16 ld [hl], a inc a hlcoord 19, 16 ld [hl], a inc a hlcoord 2, 5 call Functionb98d4 inc a hlcoord 2, 11 call Functionb98d4 pop hl jp Functionb9803 ; b97f8 Functionb97f8: ; b97f8 .asm_b97f8 xor a ld [hli], a ld a, $ff ld [hli], a dec bc ld a, b or c jr nz, .asm_b97f8 ret ; b9803 Functionb9803: ; b9803 ld bc, $2f ld de, wd002 ld a, $0 call GetSRAMBank call CopyBytes call CloseSRAM ld hl, wd023 ld de, wd050 ld bc, $a call CopyBytes ld a, $50 ld [wd023], a ld [wd05a], a ld de, wd002 hlcoord 2, 7 call PlaceString ld de, wd050 ld a, [de] and a ret z ld a, [wd1ec] hlcoord 8, 14 cp $3 jr z, .asm_b984b hlcoord 6, 14 cp $6 jr z, .asm_b984b hlcoord 5, 14 .asm_b984b jp PlaceString ; b984e Functionb984e: ; b984e .asm_b984e ld a, [hl] xor $ff ld [hli], a dec bc ld a, b or c jr nz, .asm_b984e ret ; b9858 Functionb9858: ; b9858 hlcoord 0, 0 ld a, $31 ld [hli], a inc a call Functionb98d8 inc a ld [hli], a inc a call Functionb98e3 ld a, $36 ld [hli], a inc a call Functionb98d8 hlcoord 19, 1 ld a, $35 call Functionb98e3 ld a, $38 ld [hl], a ret ; b987b Functionb987b: ; b987b hlcoord 0, 0 ld a, $31 ld [hli], a inc a call Functionb98d8 ld [hl], $31 inc hl inc a call Functionb98e3 ld [hl], $31 inc hl inc a call Functionb98d8 hlcoord 19, 1 ld a, $35 call Functionb98e3 ld [hl], $31 ret ; b989e Functionb989e: ; b989e push af ld b, $7 jr Functionb98ab Functionb98a3: ; b98a3 push af ld b, $8 jr Functionb98ab Functionb98a8: ; b98a8 push af ld b, $9 Functionb98ab: ; b98ab ld [hli], a inc a ld [hli], a dec a dec b jr nz, Functionb98ab ld [hl], a pop af ret ; b98b5 Functionb98b5: ; b98b5 push af ld b, $7 jr Functionb98bd Functionb98ba: ; b98ba push af ld b, $8 Functionb98bd: ; b98bd ld [hl], a ld de, SCREEN_WIDTH add hl, de inc a ld [hl], a add hl, de dec a dec b jr nz, Functionb98bd ld [hl], a pop af ret ; b98cc Functionb98cc: ; b98cc ld b, $7 jr Functionb98de Functionb98d0: ; b98d0 ld b, $d jr Functionb98de Functionb98d4: ; b98d4 ld b, $10 jr Functionb98de Functionb98d8: ; b98d8 ld b, $12 jr Functionb98de Functionb98dc: ; b98dc ld b, $14 Functionb98de: ; b98de ld [hli], a dec b jr nz, Functionb98de ret ; b98e3 Functionb98e3: ; b98e3 ld b, $10 ld de, SCREEN_WIDTH .asm_b98e8 ld [hl], a add hl, de dec b jr nz, .asm_b98e8 ret ; b98ee Functionb98ee: ; b98ee push af ld [hli], a inc a ld [hl], a ld bc, $13 add hl, bc inc a ld [hli], a inc a ld [hl], a pop af ret ; b98fc Functionb98fc: ; b98fc ld [hli], a inc a ld [hli], a inc a ld [hl], a ld bc, SCREEN_HEIGHT add hl, bc inc a ld [hli], a inc a ld [hli], a inc a ld [hl], a ret ; b990c Functionb990c: ; b990c .asm_b990c ld a, [de] inc de ld [hli], a xor a ld [hli], a dec c jr nz, .asm_b990c ret ; b9915 Functionb9915: ; b9915 .asm_b9915 xor a ld [hli], a ld a, [de] inc de ld [hli], a dec c jr nz, .asm_b9915 ret ; b991e Functionb991e: ; b991e .asm_b991e ld a, [de] inc de rept 2 ld [hli], a endr dec c jr nz, .asm_b991e ret ; b9926 Unknown_b9926: ; b9926 INCBIN "gfx/unknown/0b9926.1bpp" Unknown_b992e: ; b992e INCBIN "gfx/unknown/0b992e.1bpp" Unknown_b9936: ; b9936 INCBIN "gfx/unknown/0b9936.1bpp" Unknown_b993e: ; b993e INCBIN "gfx/unknown/0b993e.1bpp" Unknown_b9946: ; b9946 INCBIN "gfx/unknown/0b9946.1bpp" Unknown_b994e: ; b994e INCBIN "gfx/unknown/0b994e.1bpp" Unknown_b995e: ; b995e INCBIN "gfx/unknown/0b995e.1bpp" Unknown_b9966: ; b9966 INCBIN "gfx/unknown/0b9966.1bpp" Unknown_b996e: ; b996e INCBIN "gfx/unknown/0b996e.1bpp" Unknown_b9976: ; b9976 INCBIN "gfx/unknown/0b9976.1bpp" Unknown_b997e: ; b997e INCBIN "gfx/unknown/0b997e.1bpp" Unknown_b998e: ; b998e INCBIN "gfx/unknown/0b998e.1bpp" Unknown_b9996: ; b9996 INCBIN "gfx/unknown/0b9996.1bpp" MailDratiniGFX: ; b99c6 INCBIN "gfx/unknown/0b99c6.1bpp" MailPoliwagGFX: ; b99f6 INCBIN "gfx/unknown/0b99f6.1bpp" MailLaprasGFX: ; b9a26 INCBIN "gfx/unknown/0b9a26.1bpp" MailPikaGFX: ; b9a56 INCBIN "gfx/unknown/0b9a56.1bpp" MailDittoGFX: ; b9a86 INCBIN "gfx/unknown/0b9a86.1bpp" MailMewGFX: ; b9ab6 INCBIN "gfx/unknown/0b9ab6.1bpp" MailDragoniteGFX: ; b9b46 INCBIN "gfx/unknown/0b9b46.1bpp" MailSentretGFX: ; b9bce INCBIN "gfx/unknown/0b9bce.1bpp" Unknown_b9bee: ; b9bee INCBIN "gfx/unknown/0b9bee.1bpp" Unknown_b9bfe: ; b9bfe INCBIN "gfx/unknown/0b9bfe.1bpp" MailOddishGFX: ; b9c1e INCBIN "gfx/unknown/0b9c1e.1bpp" Unknown_b9c3e: ; b9c3e INCBIN "gfx/unknown/0b9c3e.1bpp" Unknown_b9c5e: ; b9c5e INCBIN "gfx/unknown/0b9c5e.1bpp" Unknown_b9c7e: ; b9c7e INCBIN "gfx/unknown/0b9c7e.1bpp" Unknown_b9c96: ; b9c96 INCBIN "gfx/unknown/0b9c96.1bpp" Unknown_b9c9e: ; b9c9e INCBIN "gfx/unknown/0b9c9e.1bpp" Unknown_b9cbe: ; b9cbe INCBIN "gfx/unknown/0b9cbe.1bpp" Unknown_b9cde: ; b9cde INCBIN "gfx/unknown/0b9cde.1bpp" Unknown_b9cfe: ; b9cfe INCBIN "gfx/unknown/0b9cfe.1bpp" MailCloudGFX: ; b9d16 INCBIN "gfx/unknown/0b9d16.1bpp" Unknown_b9d26: ; b9d26 INCBIN "gfx/unknown/0b9d26.1bpp" Unknown_b9d3e: ; b9d3e INCBIN "gfx/unknown/0b9d3e.1bpp" Unknown_b9d46: ; b9d46 INCBIN "gfx/unknown/0b9d46.1bpp" Unknown_b9d76: ; b9d76 INCBIN "gfx/unknown/0b9d76.1bpp" Unknown_b9d86: ; b9d86 INCBIN "gfx/unknown/0b9d86.1bpp" Unknown_b9db6: ; b9db6 INCBIN "gfx/unknown/0b9db6.1bpp" Unknown_b9dc6: ; b9dc6 INCBIN "gfx/unknown/0b9dc6.1bpp" Unknown_b9dce: ; b9dce INCBIN "gfx/unknown/0b9dce.1bpp" Unknown_b9df6: ; b9df6 INCBIN "gfx/unknown/0b9df6.1bpp" Unknown_b9e06: ; b9e06 INCBIN "gfx/unknown/0b9e06.1bpp" Unknown_b9e26: ; b9e26 INCBIN "gfx/unknown/0b9e26.1bpp" Unknown_b9e4e: ; b9e4e INCBIN "gfx/unknown/0b9e4e.1bpp" ItemIsMail: ; b9e76 ld a, d ld hl, .items ld de, 1 jp IsInArray ; b9e80 .items db FLOWER_MAIL db SURF_MAIL db LITEBLUEMAIL db PORTRAITMAIL db LOVELY_MAIL db EON_MAIL db MORPH_MAIL db BLUESKY_MAIL db MUSIC_MAIL db MIRAGE_MAIL db $ff ; b9e8b