shithub: pokecrystal

Download patch

ref: 1e5bcb5268414de56ba0e10975ca697ebafba4a9
parent: b8f4fd6390739714f702e8f09a7b800b930175cc
author: yenatch <[email protected]>
date: Sun Feb 3 23:31:29 EST 2013

Some more icon asm

--- /dev/null
+++ b/gfx/icon/item.2bpp
@@ -1,0 +1,1 @@
+�������������
\ No newline at end of file
--- /dev/null
+++ b/gfx/icon/mail.2bpp
@@ -1,0 +1,1 @@
+��������������
\ No newline at end of file
--- a/main.asm
+++ b/main.asm
@@ -66001,8 +66001,92 @@
 	db %00000000
 ; 8c20f
 
-INCBIN "baserom.gbc",$8c20f,$8eab3 - $8c20f
+INCBIN "baserom.gbc",$8c20f,$8e9ac - $8c20f
 
+GetSpeciesIcon: ; 8e9ac
+; Load species icon into VRAM at tile a
+	push de
+	ld a, [$d265]
+	call ReadMonMenuIcon
+	ld [CurIcon], a
+	pop de
+	ld a, e
+	call GetIconGFX
+	ret
+; 8e9bc
+
+INCBIN "baserom.gbc",$8e9bc,$8e9de - $8e9bc
+
+GetIconGFX: ; 8e9de
+	call GetIcon_a
+	ld de, $80 ; 8 tiles
+	add hl, de
+	ld de, HeldItemIcons
+	ld bc, $2302
+	call GetGFXUnlessMobile
+	ld a, [$c3b7]
+	add 10
+	ld [$c3b7], a
+	ret
+	
+HeldItemIcons:
+INCBIN "gfx/icon/mail.2bpp"
+INCBIN "gfx/icon/item.2bpp"
+; 8ea17
+
+GetIcon_de: ; 8ea17
+; Load icon graphics into VRAM starting from tile de
+	ld l, e
+	ld h, d
+	jr GetIcon
+	
+GetIcon_a: ; 8ea1b
+; Load icon graphics into VRAM starting from tile a
+	ld l, a
+	ld h, 0
+	
+GetIcon: ; 8ea1e
+; Load icon graphics into VRAM starting from tile hl
+
+; One tile is 16 bytes long
+	add hl, hl
+	add hl, hl
+	add hl, hl
+	add hl, hl
+	
+	ld de, VTiles0
+	add hl, de
+	push hl
+	
+; Reading the icon pointer table would only make sense if they were
+; scattered. However, the icons are contiguous and in-order.
+	ld a, [CurIcon]
+	push hl
+	ld l, a
+	ld h, 0
+	add hl, hl
+	ld de, IconPointers
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld d, [hl]
+	pop hl
+	
+	ld bc, $2308
+	call GetGFXUnlessMobile
+	pop hl
+	ret
+; 8ea3f
+
+GetGFXUnlessMobile: ; 8ea3f
+	ld a, [InLinkBattle]
+	cp 4 ; Mobile Link Battle
+	jp nz, $eba
+	jp $dc9
+; 8ea4a
+
+INCBIN "baserom.gbc",$8ea4a,$8eab3 - $8ea4a
+
 ReadMonMenuIcon: ; 8eab3
 	cp EGG
 	jr z, .egg
@@ -66009,7 +66093,7 @@
 	dec a
 	ld hl, MonMenuIcons
 	ld e, a
-	ld d, $0
+	ld d, 0
 	add hl, de
 	ld a, [hl]
 	ret
@@ -66016,7 +66100,7 @@
 .egg
 	ld a, ICON_EGG
 	ret
-; 0x8eac4
+; 8eac4
 
 MonMenuIcons: ; 8eac4
 	db ICON_BULBASAUR    ; BULBASAUR
@@ -66270,10 +66354,49 @@
 	db ICON_LUGIA        ; LUGIA
 	db ICON_HO_OH        ; HO_OH
 	db ICON_HUMANSHAPE   ; CELEBI
-; 8ebbf
 
-INCBIN "baserom.gbc",$8ebbf,$8ec0d - $8ebbf
+IconPointers:
+	dw NullIcon
+	dw PoliwagIcon
+	dw JigglypuffIcon
+	dw DiglettIcon
+	dw PikachuIcon
+	dw StaryuIcon
+	dw FishIcon
+	dw BirdIcon
+	dw MonsterIcon
+	dw ClefairyIcon
+	dw OddishIcon
+	dw BugIcon
+	dw GhostIcon
+	dw LaprasIcon
+	dw HumanshapeIcon
+	dw FoxIcon
+	dw EquineIcon
+	dw ShellIcon
+	dw BlobIcon
+	dw SerpentIcon
+	dw VoltorbIcon
+	dw SquirtleIcon
+	dw BulbasaurIcon
+	dw CharmanderIcon
+	dw CaterpillarIcon
+	dw UnownIcon
+	dw GeodudeIcon
+	dw FighterIcon
+	dw EggIcon
+	dw JellyfishIcon
+	dw MothIcon
+	dw BatIcon
+	dw SnorlaxIcon
+	dw HoOhIcon
+	dw LugiaIcon
+	dw GyaradosIcon
+	dw SlowpokeIcon
+	dw SudowoodoIcon
+	dw BigmonIcon
 
+NullIcon:
 PoliwagIcon:      INCBIN "gfx/icon/poliwag.2bpp" ; 0x8ec0d
 JigglypuffIcon:   INCBIN "gfx/icon/jigglypuff.2bpp" ; 0x8ec8d
 DiglettIcon:      INCBIN "gfx/icon/diglett.2bpp" ; 0x8ed0d
@@ -66306,7 +66429,7 @@
 MothIcon:         INCBIN "gfx/icon/moth.2bpp" ; 0x8fa8d
 BatIcon:          INCBIN "gfx/icon/bat.2bpp" ; 0x8fb0d
 SnorlaxIcon:      INCBIN "gfx/icon/snorlax.2bpp" ; 0x8fb8d
-Ho_ohIcon:        INCBIN "gfx/icon/ho_oh.2bpp" ; 0x8fc0d
+HoOhIcon:        INCBIN "gfx/icon/ho_oh.2bpp" ; 0x8fc0d
 LugiaIcon:        INCBIN "gfx/icon/lugia.2bpp" ; 0x8fc8d
 GyaradosIcon:     INCBIN "gfx/icon/gyarados.2bpp" ; 0x8fd0d
 SlowpokeIcon:     INCBIN "gfx/icon/slowpoke.2bpp" ; 0x8fd8d
@@ -66313,7 +66436,6 @@
 SudowoodoIcon:    INCBIN "gfx/icon/sudowoodo.2bpp" ; 0x8fe0d
 BigmonIcon:       INCBIN "gfx/icon/bigmon.2bpp" ; 0x8fe8d
 
-; 8ff0d end of bank
 
 SECTION "bank24",DATA,BANK[$24]
 
@@ -66721,10 +66843,8 @@
 	ld [$d265], a
 	
 ; Get FlyMon icon
-	ld e, $8
-	ld a, $23
-	ld hl, $69ac
-	rst $8
+	ld e, 8 ; starting tile in VRAM
+	callba GetSpeciesIcon
 	
 ; Animation/palette
 	ld de, $0000
@@ -66733,10 +66853,10 @@
 	
 	ld hl, 3
 	add hl, bc
-	ld [hl], $08
+	ld [hl], 8
 	ld hl, 2
 	add hl, bc
-	ld [hl], $00
+	ld [hl], 0
 	ret
 ; 91fa6