summaryrefslogtreecommitdiff
path: root/gfx
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-11-28 20:15:35 -0500
committeryenatch <yenatch@gmail.com>2015-11-28 20:15:35 -0500
commit794410352fd92ccf06974763e4b3be0b807641ab (patch)
tree05f5dd861966762db9556082229cee82e8b5eed9 /gfx
parent9c5473e965520f672640daf4ee76622640e0de15 (diff)
parent4bcd71e3227181baa536357af3d87a8d02af3890 (diff)
Merge pull request #328 from PikalaxALT/master
Split out most of main.asm
Diffstat (limited to 'gfx')
-rwxr-xr-xgfx/font.asm236
-rw-r--r--gfx/font/english.1bpp (renamed from gfx/unknown/1de5e6.2bpp)bin1024 -> 1024 bytes
-rw-r--r--gfx/font/french_german.1bpp (renamed from gfx/unknown/1de9e6.2bpp)bin1024 -> 1024 bytes
-rw-r--r--gfx/font/spanish_italian.1bpp (renamed from gfx/unknown/1dede6.2bpp)bin1024 -> 1024 bytes
-rw-r--r--gfx/icon/mail2.2bpp (renamed from gfx/unknown/011ef4.2bpp)bin128 -> 128 bytes
-rwxr-xr-xgfx/mail.asm1098
-rw-r--r--gfx/mail/0b9926.1bpp (renamed from gfx/unknown/0b9926.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b992e.1bpp (renamed from gfx/unknown/0b992e.1bpp)0
-rw-r--r--gfx/mail/0b9936.1bpp (renamed from gfx/unknown/0b9936.1bpp)0
-rw-r--r--gfx/mail/0b993e.1bpp (renamed from gfx/unknown/0b993e.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b9946.1bpp (renamed from gfx/unknown/0b9946.1bpp)0
-rw-r--r--gfx/mail/0b994e.1bpp (renamed from gfx/unknown/0b994e.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b995e.1bpp (renamed from gfx/unknown/0b995e.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b9966.1bpp (renamed from gfx/unknown/0b9966.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b996e.1bpp (renamed from gfx/unknown/0b996e.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b9976.1bpp (renamed from gfx/unknown/0b9976.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b997e.1bpp (renamed from gfx/unknown/0b997e.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b998e.1bpp (renamed from gfx/unknown/0b998e.1bpp)0
-rw-r--r--gfx/mail/0b9996.1bpp (renamed from gfx/unknown/0b9996.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b99c6.1bpp (renamed from gfx/unknown/0b99c6.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b99f6.1bpp (renamed from gfx/unknown/0b99f6.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9a26.1bpp (renamed from gfx/unknown/0b9a26.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9a56.1bpp (renamed from gfx/unknown/0b9a56.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9a86.1bpp (renamed from gfx/unknown/0b9a86.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9ab6.1bpp (renamed from gfx/unknown/0b9ab6.1bpp)bin144 -> 144 bytes
-rw-r--r--gfx/mail/0b9b46.1bpp (renamed from gfx/unknown/0b9b46.1bpp)bin136 -> 136 bytes
-rw-r--r--gfx/mail/0b9bce.1bpp (renamed from gfx/unknown/0b9bce.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9bee.1bpp (renamed from gfx/unknown/0b9bee.1bpp)0
-rw-r--r--gfx/mail/0b9bfe.1bpp (renamed from gfx/unknown/0b9bfe.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9c1e.1bpp (renamed from gfx/unknown/0b9c1e.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9c3e.1bpp (renamed from gfx/unknown/0b9c3e.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9c5e.1bpp (renamed from gfx/unknown/0b9c5e.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9c7e.1bpp (renamed from gfx/unknown/0b9c7e.1bpp)bin24 -> 24 bytes
-rw-r--r--gfx/mail/0b9c96.1bpp (renamed from gfx/unknown/0b9c96.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b9c9e.1bpp (renamed from gfx/unknown/0b9c9e.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9cbe.1bpp (renamed from gfx/unknown/0b9cbe.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9cde.1bpp (renamed from gfx/unknown/0b9cde.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9cfe.1bpp (renamed from gfx/unknown/0b9cfe.1bpp)bin24 -> 24 bytes
-rw-r--r--gfx/mail/0b9d16.1bpp (renamed from gfx/unknown/0b9d16.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b9d26.1bpp (renamed from gfx/unknown/0b9d26.1bpp)bin24 -> 24 bytes
-rw-r--r--gfx/mail/0b9d3e.1bpp (renamed from gfx/unknown/0b9d3e.1bpp)bin8 -> 8 bytes
-rw-r--r--gfx/mail/0b9d46.1bpp (renamed from gfx/unknown/0b9d46.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9d76.1bpp (renamed from gfx/unknown/0b9d76.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b9d86.1bpp (renamed from gfx/unknown/0b9d86.1bpp)bin48 -> 48 bytes
-rw-r--r--gfx/mail/0b9db6.1bpp (renamed from gfx/unknown/0b9db6.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b9dc6.1bpp (renamed from gfx/unknown/0b9dc6.1bpp)0
-rw-r--r--gfx/mail/0b9dce.1bpp (renamed from gfx/unknown/0b9dce.1bpp)bin40 -> 40 bytes
-rw-r--r--gfx/mail/0b9df6.1bpp (renamed from gfx/unknown/0b9df6.1bpp)bin16 -> 16 bytes
-rw-r--r--gfx/mail/0b9e06.1bpp (renamed from gfx/unknown/0b9e06.1bpp)bin32 -> 32 bytes
-rw-r--r--gfx/mail/0b9e26.1bpp (renamed from gfx/unknown/0b9e26.1bpp)0
-rw-r--r--gfx/mail/0b9e4e.1bpp (renamed from gfx/unknown/0b9e4e.1bpp)bin40 -> 40 bytes
-rw-r--r--gfx/misc/boulderdust.2bpp (renamed from gfx/misc/fishing3.2bpp)bin32 -> 32 bytes
-rw-r--r--gfx/misc/shadow.2bpp (renamed from gfx/misc/fishing1.2bpp)0
-rw-r--r--gfx/pics/animation.asm2
54 files changed, 1335 insertions, 1 deletions
diff --git a/gfx/font.asm b/gfx/font.asm
new file mode 100755
index 000000000..12e20e7f0
--- /dev/null
+++ b/gfx/font.asm
@@ -0,0 +1,236 @@
+FontExtra:
+INCBIN "gfx/misc/font_extra.2bpp"
+
+Font:
+INCBIN "gfx/misc/font.1bpp"
+
+FontBattleExtra:
+INCBIN "gfx/misc/font_battle_extra.2bpp"
+
+Frames: ; f8800
+INCBIN "gfx/frames/1.1bpp"
+INCBIN "gfx/frames/2.1bpp"
+INCBIN "gfx/frames/3.1bpp"
+INCBIN "gfx/frames/4.1bpp"
+INCBIN "gfx/frames/5.1bpp"
+INCBIN "gfx/frames/6.1bpp"
+INCBIN "gfx/frames/7.1bpp"
+INCBIN "gfx/frames/8.1bpp"
+INCBIN "gfx/frames/9.1bpp"
+; f89b0
+
+; TODO: Various misc graphics here.
+
+GFX_f89b0: ; f89b0
+INCBIN "gfx/unknown/0f89b0.2bpp"
+; f8a90
+
+ShinyIcon: ; f8a90
+INCBIN "gfx/stats/shiny.2bpp"
+
+GFX_f8aa0: ; f8aa0
+INCBIN "gfx/unknown/0f8aa0.2bpp"
+; f8ac0
+
+EnemyHPBarBorderGFX: ; f8ac0
+INCBIN "gfx/battle/enemy_hp_bar_border.1bpp"
+; f8ae0
+
+HPExpBarBorderGFX: ; f8ae0
+INCBIN "gfx/battle/hp_exp_bar_border.1bpp"
+; f8b10
+
+ExpBarGFX: ; f8b10
+INCBIN "gfx/battle/expbar.2bpp"
+; f8ba0
+
+TownMapGFX: ; f8ba0
+INCBIN "gfx/misc/town_map.2bpp.lz"
+; f8ea4
+
+GFX_f8ea4: ; unused
+INCBIN "gfx/unknown/0f8ea4.2bpp"
+; f8f24
+
+OverworldPhoneIconGFX: ; f8f24
+INCBIN "gfx/mobile/overworld_phone_icon.2bpp"
+; f8f34
+
+GFX_f8f34: ; unused
+INCBIN "gfx/unknown/0f8f34.2bpp"
+; f9204
+
+TextBoxSpaceGFX: ; f9204
+INCBIN "gfx/frames/space.2bpp"
+; f9214
+
+MobilePhoneTilesGFX: ; f9214
+INCBIN "gfx/mobile/phone_tiles.2bpp"
+; f9344
+
+MapEntryFrameGFX: ; f9344
+INCBIN "gfx/frames/map_entry_sign.2bpp"
+; f9424
+
+GFX_f9424: ; f9424
+INCBIN "gfx/unknown/0f9424.2bpp"
+; f9434
+
+Footprints: ; f9434
+INCBIN "gfx/misc/footprints.1bpp"
+; fb434
+
+; This and the following two functions are unreferenced.
+Unknown_fb434:
+ db 0
+
+Functionfb435: ; 4b435
+ ld a, [Unknown_fb434]
+ and a
+ jp nz, Get1bpp_2
+ jp Get1bpp
+; fb43f
+
+Functionfb43f: ; fb43f
+ ld a, [Unknown_fb434]
+ and a
+ jp nz, Get2bpp_2
+ jp Get2bpp
+; End unreferenced block
+; fb449
+
+_LoadStandardFont:: ; fb449
+ ld de, Font
+ ld hl, VTiles1
+ lb bc, BANK(Font), $80
+ ld a, [rLCDC]
+ bit 7, a
+ jp z, Copy1bpp
+
+ ld de, Font
+ ld hl, VTiles1
+ lb bc, BANK(Font), $20
+ call Get1bpp_2
+ ld de, Font + $20 * LEN_1BPP_TILE
+ ld hl, VTiles1 tile $20
+ lb bc, BANK(Font), $20
+ call Get1bpp_2
+ ld de, Font + $40 * LEN_1BPP_TILE
+ ld hl, VTiles1 tile $40
+ lb bc, BANK(Font), $20
+ call Get1bpp_2
+ ld de, Font + $60 * LEN_1BPP_TILE
+ ld hl, VTiles1 tile $60
+ lb bc, BANK(Font), $20
+ call Get1bpp_2
+ ret
+; fb48a
+
+_LoadFontsExtra1:: ; fb48a
+ ld de, MobilePhoneTilesGFX
+ ld hl, VTiles2 tile $60
+ lb bc, BANK(MobilePhoneTilesGFX), 1
+ call Get1bpp_2
+ ld de, OverworldPhoneIconGFX
+ ld hl, VTiles2 tile $62
+ lb bc, BANK(OverworldPhoneIconGFX), 1
+ call Get2bpp_2
+ ld de, FontExtra + 3 * LEN_2BPP_TILE
+ ld hl, VTiles2 tile $63
+ lb bc, BANK(FontExtra), $16
+ call Get2bpp_2
+ jr LoadFrame
+; fb4b0
+
+_LoadFontsExtra2:: ; fb4b0
+ ld de, GFX_f9424
+ ld hl, VTiles2 tile $61
+ ld b, BANK(GFX_f9424)
+ ld c, 1
+ call Get2bpp_2
+ ret
+; fb4be
+
+_LoadFontsBattleExtra:: ; fb4be
+ ld de, FontBattleExtra
+ ld hl, VTiles2 tile $60
+ lb bc, BANK(FontBattleExtra), $19
+ call Get2bpp_2
+ jr LoadFrame
+; fb4cc
+
+LoadFrame: ; fb4cc
+ ld a, [TextBoxFrame]
+ and 7
+ ld bc, TILES_PER_FRAME * LEN_1BPP_TILE
+ ld hl, Frames
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, VTiles2 tile $79
+ lb bc, BANK(Frames), TILES_PER_FRAME
+ call Get1bpp_2
+ ld hl, VTiles2 tile $7f
+ ld de, TextBoxSpaceGFX
+ lb bc, BANK(TextBoxSpaceGFX), 1
+ call Get1bpp_2
+ ret
+; fb4f2
+
+LoadBattleFontsHPBar: ; fb4f2
+ ld de, FontBattleExtra
+ ld hl, VTiles2 tile $60
+ lb bc, BANK(FontBattleExtra), $c
+ call Get2bpp_2
+ ld hl, VTiles2 tile $70
+ ld de, FontBattleExtra + $10 * LEN_2BPP_TILE
+ lb bc, BANK(FontBattleExtra), 3
+ call Get2bpp_2
+ call LoadFrame
+
+LoadHPBar: ; fb50d
+ ld de, EnemyHPBarBorderGFX
+ ld hl, VTiles2 tile $6c
+ lb bc, BANK(EnemyHPBarBorderGFX), 4
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX
+ ld hl, VTiles2 tile $73
+ lb bc, BANK(HPExpBarBorderGFX), 6
+ call Get1bpp_2
+ ld de, ExpBarGFX
+ ld hl, VTiles2 tile $55
+ lb bc, BANK(ExpBarGFX), 9
+ call Get2bpp_2
+ ld de, MobilePhoneTilesGFX + 9 * LEN_2BPP_TILE
+ ld hl, VTiles2 tile $5e
+ lb bc, BANK(MobilePhoneTilesGFX), 2
+ call Get2bpp_2
+ ret
+; fb53e
+
+Functionfb53e: ; fb53e
+ call _LoadFontsBattleExtra
+ ld de, EnemyHPBarBorderGFX
+ ld hl, VTiles2 tile $6c
+ lb bc, BANK(EnemyHPBarBorderGFX), 4
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX
+ ld hl, VTiles2 tile $78
+ lb bc, BANK(HPExpBarBorderGFX), 1
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX + 3 * LEN_1BPP_TILE
+ ld hl, VTiles2 tile $76
+ lb bc, BANK(HPExpBarBorderGFX), 2
+ call Get1bpp_2
+ ld de, ExpBarGFX
+ ld hl, VTiles2 tile $55
+ lb bc, BANK(ExpBarGFX), 8
+ call Get2bpp_2
+
+Functionfb571: ; fb571
+ ld de, GFX_f89b0
+ ld hl, VTiles2 tile $31
+ lb bc, BANK(GFX_f89b0), $11
+ call Get2bpp_2
+ ret
+; fb57e
diff --git a/gfx/unknown/1de5e6.2bpp b/gfx/font/english.1bpp
index ff8d2d4fe..ff8d2d4fe 100644
--- a/gfx/unknown/1de5e6.2bpp
+++ b/gfx/font/english.1bpp
Binary files differ
diff --git a/gfx/unknown/1de9e6.2bpp b/gfx/font/french_german.1bpp
index 84d542986..84d542986 100644
--- a/gfx/unknown/1de9e6.2bpp
+++ b/gfx/font/french_german.1bpp
Binary files differ
diff --git a/gfx/unknown/1dede6.2bpp b/gfx/font/spanish_italian.1bpp
index 8f316db4e..8f316db4e 100644
--- a/gfx/unknown/1dede6.2bpp
+++ b/gfx/font/spanish_italian.1bpp
Binary files differ
diff --git a/gfx/unknown/011ef4.2bpp b/gfx/icon/mail2.2bpp
index 188926899..188926899 100644
--- a/gfx/unknown/011ef4.2bpp
+++ b/gfx/icon/mail2.2bpp
Binary files differ
diff --git a/gfx/mail.asm b/gfx/mail.asm
new file mode 100755
index 000000000..9ab6fa0d4
--- /dev/null
+++ b/gfx/mail.asm
@@ -0,0 +1,1098 @@
+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 IsMailEuropean
+ call CloseSRAM
+ ld a, c
+ ld de, StandardEnglishFont
+ or a
+ jr z, .got_font
+ ld de, FrenchGermanFont
+ sub $3
+ jr c, .got_font
+ ld de, SpanishItalianFont
+
+.got_font
+ ld hl, VTiles1
+ lb bc, BANK(StandardEnglishFont), $80
+ call Get1bpp
+ pop de
+ call Functionb92b8
+ call EnableLCD
+ call WaitBGMap
+ ld a, [Buffer3]
+ ld e, a
+ callba Function8cb4
+ call SetPalettes
+ xor a
+ ld [hJoyPressed], a
+ call .loop
+ call ClearBGPalettes
+ call DisableLCD
+ call LoadStandardFont
+ jp EnableLCD
+
+.loop
+ call GetJoypad
+ ld a, [hJoyPressed]
+ and A_BUTTON | B_BUTTON | START
+ jr z, .loop
+ and START
+ jr nz, .pressed_start
+ ret
+
+.pressed_start
+ ld a, [wJumptableIndex]
+ push af
+ callab PrintMail ; printer
+ pop af
+ ld [wJumptableIndex], a
+ jr .loop
+; b92b8
+
+Functionb92b8: ; b92b8
+ ld h, d
+ ld l, e
+ push hl
+ ld a, $0
+ call GetSRAMBank
+ ld de, sPartyMon1MailAuthorID - sPartyMon1Mail
+ 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
+.loop
+ ld a, [hli]
+ cp b
+ jr z, .got_pointer
+ cp -1
+ jr z, .invalid
+ inc c
+rept 2
+ inc hl
+endr
+ jr .loop
+
+.invalid
+ ld hl, MailGFXPointers
+ inc hl
+
+.got_pointer
+ ld a, c
+ ld [Buffer3], 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 -1
+; b9317
+
+LoadSurfMailGFX: ; b9317
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, SurfMailBorderGFX
+ ld c, 8 * 8
+ call LoadMailGFX_Color2
+ ld de, MailLaprasGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ ld de, SurfMailWaveGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ jr FinishLoadingSurfLiteBlueMailGFX
+
+LoadLiteBlueMailGFX: ; b9335
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, LiteBlueMailBorderGFX
+ ld c, 8 * 8
+ call LoadMailGFX_Color2
+ ld de, MailDratiniGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ ld de, PortraitMailUnderlineGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+
+FinishLoadingSurfLiteBlueMailGFX: ; b9351
+ ld de, SurfLiteBlueMailSmallShapesGFX
+ ld c, 2 * 8
+ call LoadMailGFX_Color2
+ ld c, 2 * 8
+ call LoadMailGFX_Color1
+ ld de, SurfLiteBlueMailLargeShapesGFX
+ ld c, 8 * 8
+ call LoadMailGFX_Color1
+ ld c, 8 * 8
+ call LoadMailGFX_Color2
+
+ call DrawMailBorder
+ hlcoord 2, 15
+ ld a, $3f
+ call Mail_Draw16TileRow
+ ld a, $39
+ hlcoord 15, 14
+ call Mail_Draw3x2Graphic
+ ld a, $44
+ hlcoord 2, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 15, 11
+ call Mail_Draw2x2Graphic
+ ld a, $4c
+ hlcoord 3, 12
+ call Mail_Draw2x2Graphic
+ hlcoord 15, 2
+ call Mail_Draw2x2Graphic
+ ld a, $50
+ hlcoord 6, 3
+ call Mail_Draw2x2Graphic
+ 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 MailGFX_PlaceMessage
+; b93d2
+
+LoadEonMailGFX: ; b93d2
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, EonMailBorder1GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, EonMailBorder2GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, EonMailBorder2GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, EonMailBorder1GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, EonMailBorder3GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, MailEeveeGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ ld hl, VTiles2 tile $3d
+ ld de, MailLargeCircleGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color1
+ ld de, EonMailBorder2GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+
+ ld a, $31
+ hlcoord 0, 0
+ call Mail_Place18TileAlternatingRow
+ hlcoord 1, 17
+ call Mail_Place18TileAlternatingRow
+ ld a, $33
+ hlcoord 0, 1
+ call Mail_Place16TileAlternatingColumn
+ hlcoord 19, 0
+ call Mail_Place16TileAlternatingColumn
+ hlcoord 2, 15
+ ld a, $35
+ call Mail_Draw16TileRow
+ inc a
+ hlcoord 15, 14
+ call Mail_Draw3x2Graphic
+ call LovelyEonMail_PlaceIcons
+ pop hl
+ jp MailGFX_PlaceMessage
+; b944b
+
+LoadLovelyMailGFX: ; b944b
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, LovelyMailBorderGFX
+ ld c, 5 * 8
+ call LoadMailGFX_Color2
+ ld de, MailPoliwagGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ ld de, LovelyMailUnderlineGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, LovelyMailLargeHeartGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color2
+ ld de, LovelyMailSmallHeartGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+
+ call DrawMailBorder2
+ hlcoord 2, 15
+ ld a, $3c
+ call Mail_Draw16TileRow
+ ld a, $36
+ hlcoord 15, 14
+ call Mail_Draw3x2Graphic
+ call LovelyEonMail_PlaceIcons
+ pop hl
+ jp MailGFX_PlaceMessage
+; b9491
+
+LovelyEonMail_PlaceIcons: ; b9491
+ ld a, $3d
+ hlcoord 2, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 16, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 9, 4
+ call Mail_Draw2x2Graphic
+ hlcoord 2, 11
+ call Mail_Draw2x2Graphic
+ hlcoord 6, 12
+ call Mail_Draw2x2Graphic
+ hlcoord 12, 11
+ call Mail_Draw2x2Graphic
+ 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, 5 * 8
+ call MailGFX_GenerateMonochromeTilesColor2
+ ld de, MorphMailBorderGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, MorphMailBorderCorner1GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, MorphMailBorderCorner2GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, EonMailBorder1GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, MorphMailDividerGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, MailDittoGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ call DrawMailBorder2
+ ld a, $31
+ hlcoord 1, 1
+ call Mail_Draw2x2Graphic
+ hlcoord 17, 15
+ call Mail_Draw2x2Graphic
+ 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 Mail_DrawRowLoop
+ inc a
+ hlcoord 2, 11
+ call Mail_Draw16TileRow
+ hlcoord 2, 5
+ call Mail_Draw16TileRow
+ inc a
+ hlcoord 6, 1
+ call Mail_Draw13TileRow
+ hlcoord 1, 16
+ call Mail_Draw13TileRow
+ inc a
+ hlcoord 3, 13
+ call Mail_Draw3x2Graphic
+ pop hl
+ jp MailGFX_PlaceMessage
+; b9582
+
+LoadBlueSkyMailGFX: ; b9582
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, EonMailBorder1GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld a, $ff
+ ld bc, 1 tiles
+ call ByteFill
+ ld de, BlueSkyMailGrassGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color3
+ ld de, MailDragoniteGFX
+ ld c, 23 * 8
+ call LoadMailGFX_Color3
+ ld de, MailCloudGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color1
+ ld de, FlowerMailSenderUnderlineGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, MailCloudGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, MailCloud2GFX
+ ld c, 2 * 8
+ call LoadMailGFX_Color1
+ ld de, MailCloud3GFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+
+ ld a, $31
+ hlcoord 0, 0
+ call Mail_DrawFullWidthBorder
+ hlcoord 0, 1
+ call Mail_DrawLeftRightBorder
+ hlcoord 19, 1
+ call Mail_DrawLeftRightBorder
+ inc a
+ hlcoord 0, 17
+ call Mail_DrawFullWidthBorder
+ inc a
+ hlcoord 0, 16
+ call Mail_DrawFullWidthBorder
+ inc a
+ hlcoord 2, 2
+ call Mail_Place6TileRow
+ hlcoord 3, 3
+ call Mail_Place6TileRow
+ hlcoord 4, 4
+ call Mail_Place6TileRow
+ dec hl
+ ld [hl], $7f
+ dec a
+ hlcoord 15, 14
+ call Mail_Draw2x2Graphic
+ add $4
+ hlcoord 15, 16
+ ld [hli], a
+ inc a
+ ld [hl], a
+ inc a
+ push af
+ hlcoord 12, 1
+ call Mail_Draw3x2Graphic
+ pop af
+ hlcoord 15, 4
+ call Mail_Draw3x2Graphic
+ inc a
+ hlcoord 2, 11
+ call Mail_Draw16TileRow
+ inc a
+ hlcoord 10, 3
+ call Mail_Draw2x2Graphic
+ pop hl
+ jp MailGFX_PlaceMessage
+; b9636
+
+Mail_Place6TileRow: ; b9636
+ ld b, $6
+.loop
+ ld [hli], a
+ inc a
+ dec b
+ jr nz, .loop
+ ret
+; b963e
+
+LoadFlowerMailGFX: ; b963e
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, FlowerMailBorderGFX
+ ld c, 8 * 8
+ call LoadMailGFX_Color1
+ ld de, MailOddishGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color3
+ ld de, FlowerMailSenderUnderlineGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, FlowerMailLargeFlowerGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color1
+ ld c, 4 * 8
+ call LoadMailGFX_Color2
+
+ call DrawMailBorder
+ hlcoord 2, 15
+ ld a, $3d ; underline
+ call Mail_Draw16TileRow
+ ld a, $39 ; oddish
+ hlcoord 16, 13
+ call Mail_Draw2x2Graphic
+ hlcoord 2, 13
+ call Mail_Draw2x2Graphic
+ ld a, $3e
+ hlcoord 2, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 5, 3
+ call Mail_Draw2x2Graphic
+ hlcoord 10, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 16, 3
+ call Mail_Draw2x2Graphic
+ hlcoord 5, 11
+ call Mail_Draw2x2Graphic
+ hlcoord 16, 10
+ call Mail_Draw2x2Graphic
+ ld a, $42
+ hlcoord 3, 4
+ call Mail_Draw2x2Graphic
+ hlcoord 12, 3
+ call Mail_Draw2x2Graphic
+ hlcoord 14, 2
+ call Mail_Draw2x2Graphic
+ hlcoord 2, 10
+ call Mail_Draw2x2Graphic
+ hlcoord 14, 11
+ call Mail_Draw2x2Graphic
+ pop hl
+ jp MailGFX_PlaceMessage
+; b96ca
+
+LoadPortraitMailGFX: ; b96ca
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, PortraitMailBorderGFX
+ ld c, 5 * 8
+ call LoadMailGFX_Color2
+ ld de, PortraitMailUnderlineGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld hl, VTiles2 tile $3d
+ ld de, PortraitMailLargePokeballGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color1
+ ld de, PortraitMailSmallPokeballGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+
+ call DrawMailBorder2
+ hlcoord 8, 15
+ ld a, $36
+ ld b, $a
+ call Mail_DrawRowLoop
+ call LovelyEonMail_PlaceIcons
+ ld a, $1
+ ld [UnownLetter], a
+ hlcoord 1, 10
+ call PrepMonFrontpic
+ pop hl
+ jp MailGFX_PlaceMessage
+; b9710
+
+LoadMusicMailGFX: ; b9710
+ push bc
+ ld hl, VTiles2 tile $31
+ ld de, MusicMailBorderGFX
+ ld c, 4 * 8
+ call LoadMailGFX_Color2
+ ld de, MorphMailBorderCorner2GFX
+ ld c, 2 * 8
+ call LoadMailGFX_Color2
+ ld de, MailNatuGFX
+ ld c, 6 * 8
+ call LoadMailGFX_Color3
+ xor a
+ ld bc, 1 tiles
+ call ByteFill
+ ld de, MusicMailLargeNoteGFX
+ ld c, 3 * 8
+ call LoadMailGFX_Color1
+ ld de, MusicMailSmallNoteGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+
+ ld a, $31
+ hlcoord 0, 0
+ call Mail_Place18TileAlternatingRow
+ hlcoord 1, 17
+ call Mail_Place18TileAlternatingRow
+ ld a, $33
+ hlcoord 0, 1
+ call Mail_Place16TileAlternatingColumn
+ hlcoord 19, 0
+ call Mail_Place16TileAlternatingColumn
+ ld a, $35
+ hlcoord 2, 15
+ call Mail_Place14TileAlternatingRow
+ ld a, $37
+ hlcoord 15, 14
+ call Mail_Draw3x2Graphic
+ call LovelyEonMail_PlaceIcons
+ pop hl
+ jp MailGFX_PlaceMessage
+; b9776
+
+LoadMirageMailGFX: ; b9776
+ push bc
+ ld hl, VTiles2 tile $31
+ ld bc, 5 * 8
+ call MailGFX_GenerateMonochromeTilesColor2
+ ld de, BlueSkyMailGrassGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color2
+ ld de, MailMewGFX
+ ld c, 18 * 8
+ call LoadMailGFX_Color2
+ ld de, MirageMailTopDividerGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+ ld de, MirageMailBottomDividerGFX
+ ld c, 1 * 8
+ call LoadMailGFX_Color1
+
+ call DrawMailBorder2
+ ld a, $36
+ hlcoord 1, 16
+ call Mail_DrawTopBottomBorder
+ inc a
+ hlcoord 15, 14
+ call Mail_Draw3x2Graphic
+ inc a
+ hlcoord 15, 16
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld a, $3f
+ hlcoord 1, 1
+ call Mail_Place18TileAlternatingRow
+ ld a, $41
+ hlcoord 0, 2
+ call Mail_Place14TileAlternatingColumn
+ ld a, $43
+ hlcoord 19, 2
+ call Mail_Place14TileAlternatingColumn
+ 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 Mail_Draw16TileRow
+ inc a
+ hlcoord 2, 11
+ call Mail_Draw16TileRow
+ pop hl
+ jp MailGFX_PlaceMessage
+; b97f8
+
+MailGFX_GenerateMonochromeTilesColor2: ; b97f8
+.loop
+ xor a
+ ld [hli], a
+ ld a, $ff
+ ld [hli], a
+ dec bc
+ ld a, b
+ or c
+ jr nz, .loop
+ ret
+; b9803
+
+MailGFX_PlaceMessage: ; b9803
+ ld bc, MAIL_STRUCT_LENGTH
+ ld de, wd002
+ ld a, $0
+ call GetSRAMBank
+ call CopyBytes
+ call CloseSRAM
+ ld hl, wd002 + sPartyMon1MailAuthor - sPartyMon1Mail
+ ld de, wd050
+ ld bc, NAME_LENGTH - 1
+ call CopyBytes
+ ld a, "@"
+ ld [wd002 + sPartyMon1MailAuthor - sPartyMon1Mail], a
+ ld [wd050 + NAME_LENGTH - 1], a
+ ld de, wd002
+ hlcoord 2, 7
+ call PlaceString
+ ld de, wd050
+ ld a, [de]
+ and a
+ ret z
+ ld a, [Buffer3]
+ hlcoord 8, 14
+ cp $3 ; PORTRAITMAIL
+ jr z, .place_author
+ hlcoord 6, 14
+ cp $6 ; MORPH_MAIL
+ jr z, .place_author
+ hlcoord 5, 14
+
+.place_author
+ jp PlaceString
+; b984e
+
+Functionb984e: ; b984e
+.loop
+ ld a, [hl]
+ xor $ff
+ ld [hli], a
+ dec bc
+ ld a, b
+ or c
+ jr nz, .loop
+ ret
+; b9858
+
+DrawMailBorder: ; b9858
+ hlcoord 0, 0
+ ld a, $31
+ ld [hli], a
+ inc a
+ call Mail_DrawTopBottomBorder
+ inc a
+ ld [hli], a
+ inc a
+ call Mail_DrawLeftRightBorder
+ ld a, $36
+ ld [hli], a
+ inc a
+ call Mail_DrawTopBottomBorder
+ hlcoord 19, 1
+ ld a, $35
+ call Mail_DrawLeftRightBorder
+ ld a, $38
+ ld [hl], a
+ ret
+; b987b
+
+DrawMailBorder2: ; b987b
+ hlcoord 0, 0
+ ld a, $31
+ ld [hli], a
+ inc a
+ call Mail_DrawTopBottomBorder
+ ld [hl], $31
+ inc hl
+ inc a
+ call Mail_DrawLeftRightBorder
+ ld [hl], $31
+ inc hl
+ inc a
+ call Mail_DrawTopBottomBorder
+ hlcoord 19, 1
+ ld a, $35
+ call Mail_DrawLeftRightBorder
+ ld [hl], $31
+ ret
+; b989e
+
+Mail_Place14TileAlternatingRow: ; b989e
+ push af
+ ld b, 14 / 2
+ jr Mail_PlaceAlternatingRow
+
+Mail_Place16TileAlternatingRow: ; b98a3
+ push af
+ ld b, 16 / 2
+ jr Mail_PlaceAlternatingRow
+
+Mail_Place18TileAlternatingRow: ; b98a8
+ push af
+ ld b, 18 / 2
+
+Mail_PlaceAlternatingRow: ; b98ab
+.loop
+ ld [hli], a
+ inc a
+ ld [hli], a
+ dec a
+ dec b
+ jr nz, .loop
+ ld [hl], a
+ pop af
+ ret
+; b98b5
+
+Mail_Place14TileAlternatingColumn: ; b98b5
+ push af
+ ld b, 14 / 2
+ jr Mail_PlaceAlternatingColumn
+
+Mail_Place16TileAlternatingColumn: ; b98ba
+ push af
+ ld b, 16 / 2
+
+Mail_PlaceAlternatingColumn: ; b98bd
+.loop
+ ld [hl], a
+ ld de, SCREEN_WIDTH
+ add hl, de
+ inc a
+ ld [hl], a
+ add hl, de
+ dec a
+ dec b
+ jr nz, .loop
+ ld [hl], a
+ pop af
+ ret
+; b98cc
+
+Mail_Draw7TileRow: ; b98cc
+ ld b, $7
+ jr Mail_DrawRowLoop
+
+Mail_Draw13TileRow: ; b98d0
+ ld b, $d
+ jr Mail_DrawRowLoop
+
+Mail_Draw16TileRow: ; b98d4
+ ld b, $10
+ jr Mail_DrawRowLoop
+
+Mail_DrawTopBottomBorder: ; b98d8
+ ld b, SCREEN_WIDTH - 2
+ jr Mail_DrawRowLoop
+
+Mail_DrawFullWidthBorder: ; b98dc
+ ld b, SCREEN_WIDTH
+
+Mail_DrawRowLoop: ; b98de
+.loop
+ ld [hli], a
+ dec b
+ jr nz, .loop
+ ret
+; b98e3
+
+Mail_DrawLeftRightBorder: ; b98e3
+ ld b, SCREEN_HEIGHT - 2
+ ld de, SCREEN_WIDTH
+.loop
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .loop
+ ret
+; b98ee
+
+Mail_Draw2x2Graphic: ; b98ee
+ push af
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld bc, SCREEN_WIDTH - 1
+ add hl, bc
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ pop af
+ ret
+; b98fc
+
+Mail_Draw3x2Graphic: ; b98fc
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld bc, SCREEN_WIDTH - 2
+ add hl, bc
+ inc a
+ ld [hli], a
+ inc a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ret
+; b990c
+
+LoadMailGFX_Color1: ; b990c
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ xor a
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ ret
+; b9915
+
+LoadMailGFX_Color2: ; b9915
+.loop
+ xor a
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ ret
+; b991e
+
+LoadMailGFX_Color3: ; b991e
+.loop
+ ld a, [de]
+ inc de
+rept 2
+ ld [hli], a
+endr
+ dec c
+ jr nz, .loop
+ ret
+; b9926
+
+MorphMailDividerGFX: ; b9926
+INCBIN "gfx/mail/0b9926.1bpp"
+
+BlueSkyMailGrassGFX: ; b992e
+INCBIN "gfx/mail/0b992e.1bpp"
+
+PortraitMailSmallPokeballGFX: ; b9936
+INCBIN "gfx/mail/0b9936.1bpp"
+
+MorphMailBorderCorner2GFX: ; b993e
+INCBIN "gfx/mail/0b993e.1bpp"
+
+MusicMailSmallNoteGFX: ; b9946
+INCBIN "gfx/mail/0b9946.1bpp"
+
+SurfMailWaveGFX: ; b994e
+INCBIN "gfx/mail/0b994e.1bpp"
+
+PortraitMailUnderlineGFX: ; b995e
+INCBIN "gfx/mail/0b995e.1bpp"
+
+LovelyMailUnderlineGFX: ; b9966
+INCBIN "gfx/mail/0b9966.1bpp"
+
+LovelyMailSmallHeartGFX: ; b996e
+INCBIN "gfx/mail/0b996e.1bpp"
+
+SurfLiteBlueMailSmallShapesGFX: ; b9976
+INCBIN "gfx/mail/0b9976.1bpp"
+
+EonMailBorder1GFX: ; b997e
+INCBIN "gfx/mail/0b997e.1bpp"
+
+EonMailBorder2GFX: ; b998e
+INCBIN "gfx/mail/0b998e.1bpp"
+
+MailNatuGFX: ; b9996
+INCBIN "gfx/mail/0b9996.1bpp"
+
+MailDratiniGFX: ; b99c6
+INCBIN "gfx/mail/0b99c6.1bpp"
+
+MailPoliwagGFX: ; b99f6
+INCBIN "gfx/mail/0b99f6.1bpp"
+
+MailLaprasGFX: ; b9a26
+INCBIN "gfx/mail/0b9a26.1bpp"
+
+MailEeveeGFX: ; b9a56
+INCBIN "gfx/mail/0b9a56.1bpp"
+
+MailDittoGFX: ; b9a86
+INCBIN "gfx/mail/0b9a86.1bpp"
+
+MailMewGFX: ; b9ab6
+INCBIN "gfx/mail/0b9ab6.1bpp"
+
+MailDragoniteGFX: ; b9b46
+INCBIN "gfx/mail/0b9b46.1bpp"
+
+MailSentretGFX: ; b9bce
+INCBIN "gfx/mail/0b9bce.1bpp"
+
+MailUnusedGrassGFX: ; b9bee
+INCBIN "gfx/mail/0b9bee.1bpp"
+
+PortraitMailLargePokeballGFX: ; b9bfe
+INCBIN "gfx/mail/0b9bfe.1bpp"
+
+MailOddishGFX: ; b9c1e
+INCBIN "gfx/mail/0b9c1e.1bpp"
+
+SurfLiteBlueMailLargeShapesGFX: ; b9c3e
+INCBIN "gfx/mail/0b9c3e.1bpp"
+
+LovelyMailLargeHeartGFX: ; b9c5e
+INCBIN "gfx/mail/0b9c5e.1bpp"
+
+MorphMailBorderCorner1GFX: ; b9c7e
+INCBIN "gfx/mail/0b9c7e.1bpp"
+
+MorphMailBorderGFX: ; b9c96
+INCBIN "gfx/mail/0b9c96.1bpp"
+
+MailLargeCircleGFX: ; b9c9e
+INCBIN "gfx/mail/0b9c9e.1bpp"
+
+FlowerMailLargeFlowerGFX: ; b9cbe
+INCBIN "gfx/mail/0b9cbe.1bpp"
+
+FlowerMailSmallFlowerGFX: ; b9cde
+; indirectly referenced
+INCBIN "gfx/mail/0b9cde.1bpp"
+
+MusicMailLargeNoteGFX: ; b9cfe
+INCBIN "gfx/mail/0b9cfe.1bpp"
+
+MailCloudGFX: ; b9d16
+INCBIN "gfx/mail/0b9d16.1bpp"
+
+MailCloud2GFX: ; b9d26
+INCBIN "gfx/mail/0b9d26.1bpp"
+
+MailCloud3GFX: ; b9d3e
+INCBIN "gfx/mail/0b9d3e.1bpp"
+
+SurfMailBorderGFX: ; b9d46
+INCBIN "gfx/mail/0b9d46.1bpp"
+
+EonMailBorder3GFX: ; b9d76
+INCBIN "gfx/mail/0b9d76.1bpp"
+
+FlowerMailBorderGFX: ; b9d86
+INCBIN "gfx/mail/0b9d86.1bpp"
+
+FlowerMailSenderUnderlineGFX: ; b9db6
+INCBIN "gfx/mail/0b9db6.1bpp"
+
+LiteBlueMailBorderGFX: ; b9dc6
+INCBIN "gfx/mail/0b9dc6.1bpp"
+
+MirageMailTopDividerGFX: ; b9dce
+INCBIN "gfx/mail/0b9dce.1bpp"
+
+MirageMailBottomDividerGFX: ; b9df6
+INCBIN "gfx/mail/0b9df6.1bpp"
+
+MusicMailBorderGFX: ; b9e06
+INCBIN "gfx/mail/0b9e06.1bpp"
+
+LovelyMailBorderGFX: ; b9e26
+INCBIN "gfx/mail/0b9e26.1bpp"
+
+PortraitMailBorderGFX: ; b9e4e
+INCBIN "gfx/mail/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 -1
+; b9e8b
diff --git a/gfx/unknown/0b9926.1bpp b/gfx/mail/0b9926.1bpp
index 07411676c..07411676c 100644
--- a/gfx/unknown/0b9926.1bpp
+++ b/gfx/mail/0b9926.1bpp
Binary files differ
diff --git a/gfx/unknown/0b992e.1bpp b/gfx/mail/0b992e.1bpp
index 4efb35675..4efb35675 100644
--- a/gfx/unknown/0b992e.1bpp
+++ b/gfx/mail/0b992e.1bpp
diff --git a/gfx/unknown/0b9936.1bpp b/gfx/mail/0b9936.1bpp
index 3db4de269..3db4de269 100644
--- a/gfx/unknown/0b9936.1bpp
+++ b/gfx/mail/0b9936.1bpp
diff --git a/gfx/unknown/0b993e.1bpp b/gfx/mail/0b993e.1bpp
index 28cda20bf..28cda20bf 100644
--- a/gfx/unknown/0b993e.1bpp
+++ b/gfx/mail/0b993e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9946.1bpp b/gfx/mail/0b9946.1bpp
index 4352e1061..4352e1061 100644
--- a/gfx/unknown/0b9946.1bpp
+++ b/gfx/mail/0b9946.1bpp
diff --git a/gfx/unknown/0b994e.1bpp b/gfx/mail/0b994e.1bpp
index 88ddd73f9..88ddd73f9 100644
--- a/gfx/unknown/0b994e.1bpp
+++ b/gfx/mail/0b994e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b995e.1bpp b/gfx/mail/0b995e.1bpp
index af75f645a..af75f645a 100644
--- a/gfx/unknown/0b995e.1bpp
+++ b/gfx/mail/0b995e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9966.1bpp b/gfx/mail/0b9966.1bpp
index bbf05317b..bbf05317b 100644
--- a/gfx/unknown/0b9966.1bpp
+++ b/gfx/mail/0b9966.1bpp
Binary files differ
diff --git a/gfx/unknown/0b996e.1bpp b/gfx/mail/0b996e.1bpp
index 266c91964..266c91964 100644
--- a/gfx/unknown/0b996e.1bpp
+++ b/gfx/mail/0b996e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9976.1bpp b/gfx/mail/0b9976.1bpp
index 1c2e21946..1c2e21946 100644
--- a/gfx/unknown/0b9976.1bpp
+++ b/gfx/mail/0b9976.1bpp
Binary files differ
diff --git a/gfx/unknown/0b997e.1bpp b/gfx/mail/0b997e.1bpp
index 4957ff4c2..4957ff4c2 100644
--- a/gfx/unknown/0b997e.1bpp
+++ b/gfx/mail/0b997e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b998e.1bpp b/gfx/mail/0b998e.1bpp
index 8d6a0e319..8d6a0e319 100644
--- a/gfx/unknown/0b998e.1bpp
+++ b/gfx/mail/0b998e.1bpp
diff --git a/gfx/unknown/0b9996.1bpp b/gfx/mail/0b9996.1bpp
index 62814ccbb..62814ccbb 100644
--- a/gfx/unknown/0b9996.1bpp
+++ b/gfx/mail/0b9996.1bpp
Binary files differ
diff --git a/gfx/unknown/0b99c6.1bpp b/gfx/mail/0b99c6.1bpp
index 77d1e45ba..77d1e45ba 100644
--- a/gfx/unknown/0b99c6.1bpp
+++ b/gfx/mail/0b99c6.1bpp
Binary files differ
diff --git a/gfx/unknown/0b99f6.1bpp b/gfx/mail/0b99f6.1bpp
index 3d9dcac5b..3d9dcac5b 100644
--- a/gfx/unknown/0b99f6.1bpp
+++ b/gfx/mail/0b99f6.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9a26.1bpp b/gfx/mail/0b9a26.1bpp
index 295dec49d..295dec49d 100644
--- a/gfx/unknown/0b9a26.1bpp
+++ b/gfx/mail/0b9a26.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9a56.1bpp b/gfx/mail/0b9a56.1bpp
index 7ade46c6c..7ade46c6c 100644
--- a/gfx/unknown/0b9a56.1bpp
+++ b/gfx/mail/0b9a56.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9a86.1bpp b/gfx/mail/0b9a86.1bpp
index 34fa18d29..34fa18d29 100644
--- a/gfx/unknown/0b9a86.1bpp
+++ b/gfx/mail/0b9a86.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9ab6.1bpp b/gfx/mail/0b9ab6.1bpp
index f37262f7e..f37262f7e 100644
--- a/gfx/unknown/0b9ab6.1bpp
+++ b/gfx/mail/0b9ab6.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9b46.1bpp b/gfx/mail/0b9b46.1bpp
index 6a3ae927d..6a3ae927d 100644
--- a/gfx/unknown/0b9b46.1bpp
+++ b/gfx/mail/0b9b46.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9bce.1bpp b/gfx/mail/0b9bce.1bpp
index 208e14fcb..208e14fcb 100644
--- a/gfx/unknown/0b9bce.1bpp
+++ b/gfx/mail/0b9bce.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9bee.1bpp b/gfx/mail/0b9bee.1bpp
index 33c93f017..33c93f017 100644
--- a/gfx/unknown/0b9bee.1bpp
+++ b/gfx/mail/0b9bee.1bpp
diff --git a/gfx/unknown/0b9bfe.1bpp b/gfx/mail/0b9bfe.1bpp
index ac8385990..ac8385990 100644
--- a/gfx/unknown/0b9bfe.1bpp
+++ b/gfx/mail/0b9bfe.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c1e.1bpp b/gfx/mail/0b9c1e.1bpp
index 205a60248..205a60248 100644
--- a/gfx/unknown/0b9c1e.1bpp
+++ b/gfx/mail/0b9c1e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c3e.1bpp b/gfx/mail/0b9c3e.1bpp
index faa0439c8..faa0439c8 100644
--- a/gfx/unknown/0b9c3e.1bpp
+++ b/gfx/mail/0b9c3e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c5e.1bpp b/gfx/mail/0b9c5e.1bpp
index 6587f4505..6587f4505 100644
--- a/gfx/unknown/0b9c5e.1bpp
+++ b/gfx/mail/0b9c5e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c7e.1bpp b/gfx/mail/0b9c7e.1bpp
index 0057e120d..0057e120d 100644
--- a/gfx/unknown/0b9c7e.1bpp
+++ b/gfx/mail/0b9c7e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c96.1bpp b/gfx/mail/0b9c96.1bpp
index 8798f0fec..8798f0fec 100644
--- a/gfx/unknown/0b9c96.1bpp
+++ b/gfx/mail/0b9c96.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9c9e.1bpp b/gfx/mail/0b9c9e.1bpp
index d1f0f6b7e..d1f0f6b7e 100644
--- a/gfx/unknown/0b9c9e.1bpp
+++ b/gfx/mail/0b9c9e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9cbe.1bpp b/gfx/mail/0b9cbe.1bpp
index 503b8da3c..503b8da3c 100644
--- a/gfx/unknown/0b9cbe.1bpp
+++ b/gfx/mail/0b9cbe.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9cde.1bpp b/gfx/mail/0b9cde.1bpp
index d6d1b99c2..d6d1b99c2 100644
--- a/gfx/unknown/0b9cde.1bpp
+++ b/gfx/mail/0b9cde.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9cfe.1bpp b/gfx/mail/0b9cfe.1bpp
index 09e552df6..09e552df6 100644
--- a/gfx/unknown/0b9cfe.1bpp
+++ b/gfx/mail/0b9cfe.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d16.1bpp b/gfx/mail/0b9d16.1bpp
index 61e9e3034..61e9e3034 100644
--- a/gfx/unknown/0b9d16.1bpp
+++ b/gfx/mail/0b9d16.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d26.1bpp b/gfx/mail/0b9d26.1bpp
index 2f7129dab..2f7129dab 100644
--- a/gfx/unknown/0b9d26.1bpp
+++ b/gfx/mail/0b9d26.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d3e.1bpp b/gfx/mail/0b9d3e.1bpp
index e8417d211..e8417d211 100644
--- a/gfx/unknown/0b9d3e.1bpp
+++ b/gfx/mail/0b9d3e.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d46.1bpp b/gfx/mail/0b9d46.1bpp
index e3e1dc2e7..e3e1dc2e7 100644
--- a/gfx/unknown/0b9d46.1bpp
+++ b/gfx/mail/0b9d46.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d76.1bpp b/gfx/mail/0b9d76.1bpp
index cd7cd4e76..cd7cd4e76 100644
--- a/gfx/unknown/0b9d76.1bpp
+++ b/gfx/mail/0b9d76.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9d86.1bpp b/gfx/mail/0b9d86.1bpp
index b048e2bfd..b048e2bfd 100644
--- a/gfx/unknown/0b9d86.1bpp
+++ b/gfx/mail/0b9d86.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9db6.1bpp b/gfx/mail/0b9db6.1bpp
index e894196d7..e894196d7 100644
--- a/gfx/unknown/0b9db6.1bpp
+++ b/gfx/mail/0b9db6.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9dc6.1bpp b/gfx/mail/0b9dc6.1bpp
index 9c56c6746..9c56c6746 100644
--- a/gfx/unknown/0b9dc6.1bpp
+++ b/gfx/mail/0b9dc6.1bpp
diff --git a/gfx/unknown/0b9dce.1bpp b/gfx/mail/0b9dce.1bpp
index 3afe8b303..3afe8b303 100644
--- a/gfx/unknown/0b9dce.1bpp
+++ b/gfx/mail/0b9dce.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9df6.1bpp b/gfx/mail/0b9df6.1bpp
index d74a3ff4a..d74a3ff4a 100644
--- a/gfx/unknown/0b9df6.1bpp
+++ b/gfx/mail/0b9df6.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9e06.1bpp b/gfx/mail/0b9e06.1bpp
index 8f082c642..8f082c642 100644
--- a/gfx/unknown/0b9e06.1bpp
+++ b/gfx/mail/0b9e06.1bpp
Binary files differ
diff --git a/gfx/unknown/0b9e26.1bpp b/gfx/mail/0b9e26.1bpp
index efe2887cf..efe2887cf 100644
--- a/gfx/unknown/0b9e26.1bpp
+++ b/gfx/mail/0b9e26.1bpp
diff --git a/gfx/unknown/0b9e4e.1bpp b/gfx/mail/0b9e4e.1bpp
index 9207cfc8b..9207cfc8b 100644
--- a/gfx/unknown/0b9e4e.1bpp
+++ b/gfx/mail/0b9e4e.1bpp
Binary files differ
diff --git a/gfx/misc/fishing3.2bpp b/gfx/misc/boulderdust.2bpp
index f8b9f0180..f8b9f0180 100644
--- a/gfx/misc/fishing3.2bpp
+++ b/gfx/misc/boulderdust.2bpp
Binary files differ
diff --git a/gfx/misc/fishing1.2bpp b/gfx/misc/shadow.2bpp
index b62b99ffc..b62b99ffc 100644
--- a/gfx/misc/fishing1.2bpp
+++ b/gfx/misc/shadow.2bpp
diff --git a/gfx/pics/animation.asm b/gfx/pics/animation.asm
index fd37b0497..ea87f97e5 100644
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -1113,7 +1113,7 @@ Functiond066e: ; d066e
push bc
push hl
ld de, VTiles2
- predef Function5108b
+ predef FrontpicPredef
pop hl
pop bc
ld d, 0