summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/main.s100
-rwxr-xr-xdata/graphics/mon_hatch_sprites.inc44
-rwxr-xr-xdata/graphics/mon_hatch_sprites_pals.inc56
-rwxr-xr-xdata/graphics/mon_portraits.inc420
-rwxr-xr-xdata/graphics/mon_portraits_pals.inc448
-rwxr-xr-xdata/rom.s68
-rw-r--r--graphics/mon_hatch_sprites/aron_hatch.pngbin0 -> 1247 bytes
-rw-r--r--graphics/mon_hatch_sprites/azurill_hatch.pngbin0 -> 1240 bytes
-rw-r--r--graphics/mon_hatch_sprites/bagon_hatch.pngbin0 -> 1374 bytes
-rw-r--r--graphics/mon_hatch_sprites/chimecho_hatch.pngbin0 -> 1322 bytes
-rw-r--r--graphics/mon_hatch_sprites/chinchou_hatch.pngbin0 -> 1660 bytes
-rw-r--r--graphics/mon_hatch_sprites/corsola_hatch.pngbin0 -> 2080 bytes
-rw-r--r--graphics/mon_hatch_sprites/gulpin_hatch.pngbin0 -> 1471 bytes
-rw-r--r--graphics/mon_hatch_sprites/horsea_hatch.pngbin0 -> 1733 bytes
-rw-r--r--graphics/mon_hatch_sprites/igglybuff_hatch.pngbin0 -> 871 bytes
-rw-r--r--graphics/mon_hatch_sprites/lotad_hatch.pngbin0 -> 1222 bytes
-rw-r--r--graphics/mon_hatch_sprites/minun_hatch.pngbin0 -> 1562 bytes
-rw-r--r--graphics/mon_hatch_sprites/natu_hatch.pngbin0 -> 1401 bytes
-rw-r--r--graphics/mon_hatch_sprites/oddish_hatch.pngbin0 -> 1695 bytes
-rw-r--r--graphics/mon_hatch_sprites/phanpy_hatch.pngbin0 -> 1129 bytes
-rw-r--r--graphics/mon_hatch_sprites/pichu_2_hatch.pngbin0 -> 1175 bytes
-rw-r--r--graphics/mon_hatch_sprites/pichu_hatch.pngbin0 -> 1463 bytes
-rw-r--r--graphics/mon_hatch_sprites/plusle_hatch.pngbin0 -> 1657 bytes
-rw-r--r--graphics/mon_hatch_sprites/ralts_hatch.pngbin0 -> 1254 bytes
-rw-r--r--graphics/mon_hatch_sprites/sandshrew_hatch.pngbin0 -> 1582 bytes
-rw-r--r--graphics/mon_hatch_sprites/seedot_hatch.pngbin0 -> 1028 bytes
-rw-r--r--graphics/mon_hatch_sprites/shroomish_hatch.pngbin0 -> 1317 bytes
-rw-r--r--graphics/mon_hatch_sprites/shuppet_hatch.pngbin0 -> 745 bytes
-rw-r--r--graphics/mon_hatch_sprites/skitty_hatch.pngbin0 -> 1720 bytes
-rw-r--r--graphics/mon_hatch_sprites/snorunt_hatch.pngbin0 -> 1231 bytes
-rw-r--r--graphics/mon_hatch_sprites/spheal_hatch.pngbin0 -> 1724 bytes
-rw-r--r--graphics/mon_hatch_sprites/spinda_hatch.pngbin0 -> 1313 bytes
-rw-r--r--graphics/mon_hatch_sprites/spoink_hatch.pngbin0 -> 1000 bytes
-rw-r--r--graphics/mon_hatch_sprites/surskit_hatch.pngbin0 -> 1153 bytes
-rw-r--r--graphics/mon_hatch_sprites/trapinch_hatch.pngbin0 -> 993 bytes
-rw-r--r--graphics/mon_hatch_sprites/whismur_hatch.pngbin0 -> 1518 bytes
-rw-r--r--graphics/mon_hatch_sprites/wurmple_hatch.pngbin0 -> 1344 bytes
-rw-r--r--graphics/mon_hatch_sprites/wynaut_hatch.pngbin0 -> 1363 bytes
-rw-r--r--graphics/mon_hatch_sprites/zubat_hatch.pngbin0 -> 1885 bytes
-rwxr-xr-xgraphics_rules.mk4
-rwxr-xr-xtools/gbagfx/gfx.c50
-rwxr-xr-xtools/gbagfx/gfx.h4
-rwxr-xr-xtools/gbagfx/main.c40
-rwxr-xr-xtools/gbagfx/options.h2
44 files changed, 330 insertions, 906 deletions
diff --git a/asm/main.s b/asm/main.s
index 3559ea4..87d4b6c 100755
--- a/asm/main.s
+++ b/asm/main.s
@@ -13523,7 +13523,7 @@ _08006FF4: .4byte 0x06013400
_08006FF8: .4byte 0x040000D4
_08006FFC: .4byte 0x08089960
_08007000:
- ldr r0, _08007030 @ =0x086BB738
+ ldr r0, _08007030 @ =gMonPortraitGroupGfx
lsls r2, r6, #0x10
asrs r2, r2, #0xe
adds r2, r2, r0
@@ -13539,19 +13539,19 @@ _08007000:
movs r3, #1
bl sub_10708
ldr r1, _08007038 @ =0x040000D4
- ldr r0, _0800703C @ =0x086BB6A4
+ ldr r0, _0800703C @ =gMonPortraitGroupPals
ldr r0, [r0]
movs r2, #0xf0
lsls r2, r2, #1
adds r0, r0, r2
b _080070B4
.align 2, 0
-_08007030: .4byte 0x086BB738
+_08007030: .4byte gMonPortraitGroupGfx
_08007034: .4byte 0x06013400
_08007038: .4byte 0x040000D4
-_0800703C: .4byte 0x086BB6A4
+_0800703C: .4byte gMonPortraitGroupPals
_08007040:
- ldr r0, _08007078 @ =0x086BB738
+ ldr r0, _08007078 @ =gMonPortraitGroupGfx
lsls r5, r6, #0x10
asrs r5, r5, #0xe
adds r0, r5, r0
@@ -13566,7 +13566,7 @@ _08007040:
movs r2, #0x18
movs r3, #1
bl sub_10708
- ldr r0, _08007080 @ =0x086BB6A4
+ ldr r0, _08007080 @ =gMonPortraitGroupPals
adds r5, r5, r0
lsls r4, r4, #5
ldr r0, [r5]
@@ -13577,12 +13577,12 @@ _08007040:
bl sub_10170
b _080070C0
.align 2, 0
-_08007078: .4byte 0x086BB738
+_08007078: .4byte gMonPortraitGroupGfx
_0800707C: .4byte 0x06013400
-_08007080: .4byte 0x086BB6A4
+_08007080: .4byte gMonPortraitGroupPals
_08007084: .4byte 0x05000220
_08007088:
- ldr r0, _080070C8 @ =0x086BB738
+ ldr r0, _080070C8 @ =gMonPortraitGroupGfx
lsls r5, r6, #0x10
asrs r5, r5, #0xe
adds r0, r5, r0
@@ -13598,7 +13598,7 @@ _08007088:
movs r3, #1
bl sub_10708
ldr r1, _080070D0 @ =0x040000D4
- ldr r0, _080070D4 @ =0x086BB6A4
+ ldr r0, _080070D4 @ =gMonPortraitGroupPals
adds r5, r5, r0
lsls r4, r4, #5
ldr r0, [r5]
@@ -13615,10 +13615,10 @@ _080070C0:
pop {r0}
bx r0
.align 2, 0
-_080070C8: .4byte 0x086BB738
+_080070C8: .4byte gMonPortraitGroupGfx
_080070CC: .4byte 0x06013400
_080070D0: .4byte 0x040000D4
-_080070D4: .4byte 0x086BB6A4
+_080070D4: .4byte gMonPortraitGroupPals
_080070D8: .4byte 0x05000220
_080070DC: .4byte 0x80000010
@@ -16760,7 +16760,7 @@ _080089FC:
movs r1, #6
bl __modsi3
adds r4, r0, #0
- ldr r0, _08008A60 @ =0x086BB6DC
+ ldr r0, _08008A60 @ =gMonHatchSpriteGroupGfx
lsls r5, r5, #0x10
asrs r5, r5, #0xe
adds r0, r5, r0
@@ -16778,7 +16778,7 @@ _080089FC:
movs r3, #1
bl sub_10708
ldr r1, _08008A68 @ =0x040000D4
- ldr r0, _08008A6C @ =0x086B159C
+ ldr r0, _08008A6C @ =gMonHatchSpriteGroupPals
adds r5, r5, r0
lsls r4, r4, #5
ldr r0, [r5]
@@ -16796,10 +16796,10 @@ _08008A56:
bx r0
.align 2, 0
_08008A5C: .4byte 0x0202BF14
-_08008A60: .4byte 0x086BB6DC
+_08008A60: .4byte gMonHatchSpriteGroupGfx
_08008A64: .4byte 0x06014800
_08008A68: .4byte 0x040000D4
-_08008A6C: .4byte 0x086B159C
+_08008A6C: .4byte gMonHatchSpriteGroupPals
_08008A70: .4byte 0x05000260
_08008A74: .4byte 0x80000010
@@ -56578,7 +56578,7 @@ _0801CA4C:
ldrh r1, [r1]
strb r1, [r0]
ldr r5, _0801CB04 @ =0x040000D4
- ldr r4, _0801CB08 @ =0x086BB738
+ ldr r4, _0801CB08 @ =gMonPortraitGroupGfx
mov sl, r4
ldr r6, [r7]
adds r6, r6, r2
@@ -56612,7 +56612,7 @@ _0801CA4C:
ldr r0, _0801CB10 @ =0x80000180
str r0, [r5, #8]
ldr r0, [r5, #8]
- ldr r3, _0801CB14 @ =0x086BB6A4
+ ldr r3, _0801CB14 @ =gMonPortraitGroupPals
mov r8, r3
ldrb r6, [r6]
adds r0, r6, #0
@@ -56651,10 +56651,10 @@ _0801CA4C:
_0801CAFC: .4byte 0x020314E0
_0801CB00: .4byte 0x00000749
_0801CB04: .4byte 0x040000D4
-_0801CB08: .4byte 0x086BB738
+_0801CB08: .4byte gMonPortraitGroupGfx
_0801CB0C: .4byte 0x06010CA0
_0801CB10: .4byte 0x80000180
-_0801CB14: .4byte 0x086BB6A4
+_0801CB14: .4byte gMonPortraitGroupPals
_0801CB18: .4byte 0x050003A0
_0801CB1C: .4byte 0x80000010
_0801CB20: .4byte 0x050003E0
@@ -56687,7 +56687,7 @@ _0801CB24:
movs r1, #0xcd
strb r1, [r0]
ldr r5, _0801CB78 @ =0x040000D4
- ldr r1, _0801CB7C @ =0x086BB6A4
+ ldr r1, _0801CB7C @ =gMonPortraitGroupPals
mov r8, r1
mov r4, sl
ldr r0, [r4]
@@ -56698,7 +56698,7 @@ _0801CB6C: .4byte 0x0200B134
_0801CB70: .4byte 0x0000059A
_0801CB74: .4byte 0x00000749
_0801CB78: .4byte 0x040000D4
-_0801CB7C: .4byte 0x086BB6A4
+_0801CB7C: .4byte gMonPortraitGroupPals
_0801CB80:
cmp r0, #3
bhi _0801CBC0
@@ -56710,7 +56710,7 @@ _0801CB80:
adds r0, r0, r1
strb r3, [r0]
ldr r1, _0801CBB0 @ =0x040000D4
- ldr r0, _0801CBB4 @ =0x086BB6A4
+ ldr r0, _0801CBB4 @ =gMonPortraitGroupPals
ldr r0, [r0]
movs r3, #0xf0
lsls r3, r3, #1
@@ -56725,7 +56725,7 @@ _0801CB80:
.align 2, 0
_0801CBAC: .4byte 0x00000749
_0801CBB0: .4byte 0x040000D4
-_0801CBB4: .4byte 0x086BB6A4
+_0801CBB4: .4byte gMonPortraitGroupPals
_0801CBB8: .4byte 0x050003A0
_0801CBBC: .4byte 0x80000010
_0801CBC0:
@@ -56737,7 +56737,7 @@ _0801CBC0:
adds r0, r0, r1
strb r3, [r0]
ldr r5, _0801CBE4 @ =0x040000D4
- ldr r0, _0801CBE8 @ =0x086BB6A4
+ ldr r0, _0801CBE8 @ =gMonPortraitGroupPals
mov r8, r0
mov r3, sl
ldr r0, [r3]
@@ -56747,7 +56747,7 @@ _0801CBC0:
.align 2, 0
_0801CBE0: .4byte 0x00000749
_0801CBE4: .4byte 0x040000D4
-_0801CBE8: .4byte 0x086BB6A4
+_0801CBE8: .4byte gMonPortraitGroupPals
_0801CBEC:
ldr r5, [sp, #0x2c]
lsls r2, r5, #0x10
@@ -56761,7 +56761,7 @@ _0801CBEC:
ldrh r1, [r1]
strb r1, [r0]
ldr r5, _0801CC9C @ =0x040000D4
- ldr r0, _0801CCA0 @ =0x086BB6A4
+ ldr r0, _0801CCA0 @ =gMonPortraitGroupPals
mov r8, r0
mov r1, sl
ldr r0, [r1]
@@ -56793,7 +56793,7 @@ _0801CC10:
_0801CC3E:
ldr r2, _0801CC9C @ =0x040000D4
mov r8, r2
- ldr r3, _0801CCAC @ =0x086BB738
+ ldr r3, _0801CCAC @ =gMonPortraitGroupGfx
mov sb, r3
mov r4, sl
ldr r0, [r4]
@@ -56836,10 +56836,10 @@ _0801CC3E:
.align 2, 0
_0801CC98: .4byte 0x00000749
_0801CC9C: .4byte 0x040000D4
-_0801CCA0: .4byte 0x086BB6A4
+_0801CCA0: .4byte gMonPortraitGroupPals
_0801CCA4: .4byte 0x050003A0
_0801CCA8: .4byte 0x80000010
-_0801CCAC: .4byte 0x086BB738
+_0801CCAC: .4byte gMonPortraitGroupGfx
_0801CCB0: .4byte 0x06010CA0
_0801CCB4: .4byte 0x80000180
_0801CCB8:
@@ -80436,7 +80436,7 @@ sub_28BFC: @ 0x08028BFC
adds r0, r0, r1
lsls r0, r0, #3
adds r0, r0, r2
- ldr r5, _08028C74 @ =0x086BB6DC
+ ldr r5, _08028C74 @ =gMonHatchSpriteGroupGfx
ldrb r6, [r0, #0x12]
adds r0, r6, #0
movs r1, #6
@@ -80457,7 +80457,7 @@ sub_28BFC: @ 0x08028BFC
lsls r1, r1, #5
ldr r2, [r5]
adds r2, r2, r1
- ldr r1, _08028C78 @ =0x086B159C
+ ldr r1, _08028C78 @ =gMonHatchSpriteGroupPals
adds r4, r4, r1
lsls r0, r0, #5
ldr r3, [r4]
@@ -80481,8 +80481,8 @@ sub_28BFC: @ 0x08028BFC
.align 2, 0
_08028C6C: .4byte 0x086A3700
_08028C70: .4byte 0x020314E0
-_08028C74: .4byte 0x086BB6DC
-_08028C78: .4byte 0x086B159C
+_08028C74: .4byte gMonHatchSpriteGroupGfx
+_08028C78: .4byte gMonHatchSpriteGroupPals
_08028C7C: .4byte 0x040000D4
_08028C80: .4byte 0x0202C7A0
_08028C84: .4byte 0x80000870
@@ -150014,7 +150014,7 @@ _0804C460:
movs r1, #0xcd
strb r1, [r0]
ldr r6, _0804C4A4 @ =0x040000D4
- ldr r5, _0804C4A8 @ =0x086BB6A4
+ ldr r5, _0804C4A8 @ =gMonPortraitGroupPals
mov r8, r5
b _0804C528
.align 2, 0
@@ -150022,7 +150022,7 @@ _0804C498: .4byte 0x0200B134
_0804C49C: .4byte 0x0000059A
_0804C4A0: .4byte 0x00000749
_0804C4A4: .4byte 0x040000D4
-_0804C4A8: .4byte 0x086BB6A4
+_0804C4A8: .4byte gMonPortraitGroupPals
_0804C4AC:
cmp r0, #3
bhi _0804C4E8
@@ -150032,7 +150032,7 @@ _0804C4AC:
adds r0, r0, r1
strb r3, [r0]
ldr r1, _0804C4D8 @ =0x040000D4
- ldr r0, _0804C4DC @ =0x086BB6A4
+ ldr r0, _0804C4DC @ =gMonPortraitGroupPals
ldr r0, [r0]
movs r3, #0xf0
lsls r3, r3, #1
@@ -150047,7 +150047,7 @@ _0804C4AC:
.align 2, 0
_0804C4D4: .4byte 0x00000749
_0804C4D8: .4byte 0x040000D4
-_0804C4DC: .4byte 0x086BB6A4
+_0804C4DC: .4byte gMonPortraitGroupPals
_0804C4E0: .4byte 0x050003A0
_0804C4E4: .4byte 0x80000010
_0804C4E8:
@@ -150057,7 +150057,7 @@ _0804C4E8:
adds r0, r0, r2
strb r3, [r0]
ldr r6, _0804C508 @ =0x040000D4
- ldr r5, _0804C50C @ =0x086BB6A4
+ ldr r5, _0804C50C @ =gMonPortraitGroupPals
mov r8, r5
mov r3, sb
ldr r0, [r3]
@@ -150067,7 +150067,7 @@ _0804C4E8:
.align 2, 0
_0804C504: .4byte 0x00000749
_0804C508: .4byte 0x040000D4
-_0804C50C: .4byte 0x086BB6A4
+_0804C50C: .4byte gMonPortraitGroupPals
_0804C510:
asrs r3, r7, #0x10
ldr r2, _0804C5B4 @ =0x00000749
@@ -150079,7 +150079,7 @@ _0804C510:
ldrh r0, [r0]
strb r0, [r1]
ldr r6, _0804C5B8 @ =0x040000D4
- ldr r0, _0804C5BC @ =0x086BB6A4
+ ldr r0, _0804C5BC @ =gMonPortraitGroupPals
mov r8, r0
_0804C528:
mov r1, sb
@@ -150110,7 +150110,7 @@ _0804C530:
ldr r0, [r6, #8]
_0804C55E:
ldr r2, _0804C5B8 @ =0x040000D4
- ldr r3, _0804C5C8 @ =0x086BB738
+ ldr r3, _0804C5C8 @ =gMonPortraitGroupGfx
mov r8, r3
mov r5, sb
ldr r0, [r5]
@@ -150152,10 +150152,10 @@ _0804C55E:
.align 2, 0
_0804C5B4: .4byte 0x00000749
_0804C5B8: .4byte 0x040000D4
-_0804C5BC: .4byte 0x086BB6A4
+_0804C5BC: .4byte gMonPortraitGroupPals
_0804C5C0: .4byte 0x050003A0
_0804C5C4: .4byte 0x80000010
-_0804C5C8: .4byte 0x086BB738
+_0804C5C8: .4byte gMonPortraitGroupGfx
_0804C5CC: .4byte 0x06010CA0
_0804C5D0: .4byte 0x80000180
_0804C5D4:
@@ -150796,7 +150796,7 @@ sub_4CB30: @ 0x0804CB30
ldr r0, _0804CB9C @ =0x80001000
str r0, [r5, #8]
ldr r0, [r5, #8]
- ldr r0, _0804CBA0 @ =0x086BB738
+ ldr r0, _0804CBA0 @ =gMonPortraitGroupGfx
mov r8, r0
ldr r0, _0804CBA4 @ =0x020314E0
ldr r0, [r0]
@@ -150836,7 +150836,7 @@ _0804CB90: .4byte 0x040000D4
_0804CB94: .4byte 0x0813C874
_0804CB98: .4byte 0x06015800
_0804CB9C: .4byte 0x80001000
-_0804CBA0: .4byte 0x086BB738
+_0804CBA0: .4byte gMonPortraitGroupGfx
_0804CBA4: .4byte 0x020314E0
_0804CBA8: .4byte 0x00000749
_0804CBAC: .4byte 0x06010CA0
@@ -150873,7 +150873,7 @@ _0804CBE0:
str r0, [r1, #8]
ldr r0, [r1, #8]
ldr r6, _0804CC38 @ =0x040000D4
- ldr r0, _0804CC48 @ =0x086BB738
+ ldr r0, _0804CC48 @ =gMonPortraitGroupGfx
mov r8, r0
ldr r0, [r2]
ldr r1, _0804CC4C @ =0x00000749
@@ -150912,7 +150912,7 @@ _0804CC38: .4byte 0x040000D4
_0804CC3C: .4byte 0x0813E894
_0804CC40: .4byte 0x06015800
_0804CC44: .4byte 0x80001000
-_0804CC48: .4byte 0x086BB738
+_0804CC48: .4byte gMonPortraitGroupGfx
_0804CC4C: .4byte 0x00000749
_0804CC50: .4byte 0x06010CA0
_0804CC54: .4byte 0x80000180
@@ -150988,7 +150988,7 @@ _0804CCC0:
ldr r0, [r1, #8]
_0804CCE8:
ldr r6, _0804CD34 @ =0x040000D4
- ldr r0, _0804CD50 @ =0x086BB738
+ ldr r0, _0804CD50 @ =gMonPortraitGroupGfx
mov r8, r0
ldr r0, [r2]
ldr r1, _0804CD54 @ =0x00000749
@@ -151030,7 +151030,7 @@ _0804CD40: .4byte 0x80001000
_0804CD44: .4byte 0x084AA18C
_0804CD48: .4byte 0x06011620
_0804CD4C: .4byte 0x80000430
-_0804CD50: .4byte 0x086BB738
+_0804CD50: .4byte gMonPortraitGroupGfx
_0804CD54: .4byte 0x00000749
_0804CD58: .4byte 0x06010CA0
_0804CD5C: .4byte 0x80000180
diff --git a/data/graphics/mon_hatch_sprites.inc b/data/graphics/mon_hatch_sprites.inc
new file mode 100755
index 0000000..bb60ab0
--- /dev/null
+++ b/data/graphics/mon_hatch_sprites.inc
@@ -0,0 +1,44 @@
+gMonHatchSpriteGroup0_Gfx:: @ 0x083C8B6C
+ .incbin "graphics/mon_hatch_sprites/wurmple_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/lotad_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/seedot_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/ralts_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/surskit_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/shroomish_hatch.4bpp"
+
+gMonHatchSpriteGroup1_Gfx:: @ 0x083CF0AC
+ .incbin "graphics/mon_hatch_sprites/whismur_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/azurill_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/skitty_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/zubat_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/aron_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/plusle_hatch.4bpp"
+
+gMonHatchSpriteGroup2_Gfx:: @ 0x083D55EC
+ .incbin "graphics/mon_hatch_sprites/minun_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/oddish_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/gulpin_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/spoink_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/sandshrew_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/spinda_hatch.4bpp"
+
+gMonHatchSpriteGroup3_Gfx:: @ 0x083DBB2C
+ .incbin "graphics/mon_hatch_sprites/trapinch_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/igglybuff_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/shuppet_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/chimecho_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/pichu_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/wynaut_hatch.4bpp"
+
+gMonHatchSpriteGroup4_Gfx:: @ 0x083E206C
+ .incbin "graphics/mon_hatch_sprites/natu_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/phanpy_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/snorunt_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/spheal_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/corsola_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/chinchou_hatch.4bpp"
+
+gMonHatchSpriteGroup5_Gfx:: @ 0x083E85AC
+ .incbin "graphics/mon_hatch_sprites/horsea_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/bagon_hatch.4bpp"
+ .incbin "graphics/mon_hatch_sprites/pichu_2_hatch.4bpp"
diff --git a/data/graphics/mon_hatch_sprites_pals.inc b/data/graphics/mon_hatch_sprites_pals.inc
new file mode 100755
index 0000000..de1a197
--- /dev/null
+++ b/data/graphics/mon_hatch_sprites_pals.inc
@@ -0,0 +1,56 @@
+gMonHatchSpriteGroup0_Pals:: @ 0x1444F4
+ .incbin "graphics/mon_hatch_sprites/wurmple_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/lotad_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/seedot_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/ralts_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/surskit_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/shroomish_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x1445B4, 0x1446F4 - 0x1445B4
+
+gMonHatchSpriteGroup1_Pals:: @ 0x1446F4
+ .incbin "graphics/mon_hatch_sprites/whismur_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/azurill_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/skitty_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/zubat_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/aron_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/plusle_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x1447B4, 0x1448F4 - 0x1447B4
+
+gMonHatchSpriteGroup2_Pals:: @ 0x1448F4
+ .incbin "graphics/mon_hatch_sprites/minun_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/oddish_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/gulpin_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/spoink_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/sandshrew_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/spinda_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x1449B4, 0x144AF4 - 0x1449B4
+
+gMonHatchSpriteGroup3_Pals:: @ 0x144AF4
+ .incbin "graphics/mon_hatch_sprites/trapinch_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/igglybuff_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/shuppet_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/chimecho_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/pichu_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/wynaut_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x144BB4, 0x144CF4 - 0x144BB4
+
+gMonHatchSpriteGroup4_Pals:: @ 0x144CF4
+ .incbin "graphics/mon_hatch_sprites/natu_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/phanpy_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/snorunt_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/spheal_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/corsola_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/chinchou_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x144DB4, 0x144EF4 - 0x144DB4
+
+gMonHatchSpriteGroup5_Pals:: @ 0x144EF4
+ .incbin "graphics/mon_hatch_sprites/horsea_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/bagon_hatch.gbapal"
+ .incbin "graphics/mon_hatch_sprites/pichu_2_hatch.gbapal"
+
+ .incbin "baserom.gba", 0x144F54, 0x1450F4 - 0x144F54
diff --git a/data/graphics/mon_portraits.inc b/data/graphics/mon_portraits.inc
index a92c45c..38e127b 100755
--- a/data/graphics/mon_portraits.inc
+++ b/data/graphics/mon_portraits.inc
@@ -1,629 +1,237 @@
-gTreeckoPortrait_Gfx:: @ 0x084C596C
+gMonPortraitsGroup0_Gfx:: @ 0x084C596C
.incbin "graphics/mon_portraits/treecko_portrait.4bpp"
-
-gGrovylePortrait_Gfx:: @ 0x084C5C6C
.incbin "graphics/mon_portraits/grovyle_portrait.4bpp"
-
-gSceptilePortrait_Gfx:: @ 0x084C5F6C
.incbin "graphics/mon_portraits/sceptile_portrait.4bpp"
-
-gTorchicPortrait_Gfx:: @ 0x084C626C
.incbin "graphics/mon_portraits/torchic_portrait.4bpp"
-
-gCombuskenPortrait_Gfx:: @ 0x084C656C
.incbin "graphics/mon_portraits/combusken_portrait.4bpp"
-
-gBlazikenPortrait_Gfx:: @ 0x084C686C
.incbin "graphics/mon_portraits/blaziken_portrait.4bpp"
-
-gMudkipPortrait_Gfx:: @ 0x084C6B6C
.incbin "graphics/mon_portraits/mudkip_portrait.4bpp"
-
-gMarshtompPortrait_Gfx:: @ 0x084C6E6C
.incbin "graphics/mon_portraits/marshtomp_portrait.4bpp"
-
-gSwampertPortrait_Gfx:: @ 0x084C716C
.incbin "graphics/mon_portraits/swampert_portrait.4bpp"
-
-gPoochyenaPortrait_Gfx:: @ 0x084C746C
.incbin "graphics/mon_portraits/poochyena_portrait.4bpp"
-
-gMightyenaPortrait_Gfx:: @ 0x084C776C
.incbin "graphics/mon_portraits/mightyena_portrait.4bpp"
-
-gZigzagoonPortrait_Gfx:: @ 0x084C7A6C
.incbin "graphics/mon_portraits/zigzagoon_portrait.4bpp"
-
-gLinoonePortrait_Gfx:: @ 0x084C7D6C
.incbin "graphics/mon_portraits/linoone_portrait.4bpp"
-
-gWurmplePortrait_Gfx:: @ 0x084C806C
.incbin "graphics/mon_portraits/wurmple_portrait.4bpp"
-
-gSilcoonPortrait_Gfx:: @ 0x084C836C
.incbin "graphics/mon_portraits/silcoon_portrait.4bpp"
-gBeautiflyPortrait_Gfx:: @ 0x084C866C
+gMonPortraitsGroup1_Gfx:: @ 0x084C866C
.incbin "graphics/mon_portraits/beautifly_portrait.4bpp"
-
-gCascoonPortrait_Gfx:: @ 0x084C896C
.incbin "graphics/mon_portraits/cascoon_portrait.4bpp"
-
-gDustoxPortrait_Gfx:: @ 0x084C8C6C
.incbin "graphics/mon_portraits/dustox_portrait.4bpp"
-
-gLotadPortrait_Gfx:: @ 0x084C8F6C
.incbin "graphics/mon_portraits/lotad_portrait.4bpp"
-
-gLombrePortrait_Gfx:: @ 0x084C926C
.incbin "graphics/mon_portraits/lombre_portrait.4bpp"
-
-gLudicoloPortrait_Gfx:: @ 0x084C956C
.incbin "graphics/mon_portraits/ludicolo_portrait.4bpp"
-
-gSeedotPortrait_Gfx:: @ 0x084C986C
.incbin "graphics/mon_portraits/seedot_portrait.4bpp"
-
-gNuzleafPortrait_Gfx:: @ 0x084C9B6C
.incbin "graphics/mon_portraits/nuzleaf_portrait.4bpp"
-
-gShiftryPortrait_Gfx:: @ 0x084C9E6C
.incbin "graphics/mon_portraits/shiftry_portrait.4bpp"
-
-gTaillowPortrait_Gfx:: @ 0x084CA16C
.incbin "graphics/mon_portraits/taillow_portrait.4bpp"
-
-gSwellowPortrait_Gfx:: @ 0x084CA46C
.incbin "graphics/mon_portraits/swellow_portrait.4bpp"
-
-gWingullPortrait_Gfx:: @ 0x084CA76C
.incbin "graphics/mon_portraits/wingull_portrait.4bpp"
-
-gPelilpperPortrait_Gfx:: @ 0x084CAA6C
.incbin "graphics/mon_portraits/pelilpper_portrait.4bpp"
-
-gRaltsPortrait_Gfx:: @ 0x084CAD6C
.incbin "graphics/mon_portraits/ralts_portrait.4bpp"
-
-gKirliaPortrait_Gfx:: @ 0x084CB06C
.incbin "graphics/mon_portraits/kirlia_portrait.4bpp"
-gGardevoirPortrait_Gfx:: @ 0x084CB36C
+gMonPortraitsGroup2_Gfx:: @ 0x084CB36C
.incbin "graphics/mon_portraits/gardevoir_portrait.4bpp"
-
-gSurskitPortrait_Gfx:: @ 0x084CB66C
.incbin "graphics/mon_portraits/surskit_portrait.4bpp"
-
-gMasquerainPortrait_Gfx:: @ 0x084CB96C
.incbin "graphics/mon_portraits/masquerain_portrait.4bpp"
-
-gShroomishPortrait_Gfx:: @ 0x084CBC6C
.incbin "graphics/mon_portraits/shroomish_portrait.4bpp"
-
-gBreloomPortrait_Gfx:: @ 0x084CBF6C
.incbin "graphics/mon_portraits/breloom_portrait.4bpp"
-
-gSlakothPortrait_Gfx:: @ 0x084CC26C
.incbin "graphics/mon_portraits/slakoth_portrait.4bpp"
-
-gVigorothPortrait_Gfx:: @ 0x084CC56C
.incbin "graphics/mon_portraits/vigoroth_portrait.4bpp"
-
-gSlakingPortrait_Gfx:: @ 0x084CC86C
.incbin "graphics/mon_portraits/slaking_portrait.4bpp"
-
-gAbraPortrait_Gfx:: @ 0x084CCB6C
.incbin "graphics/mon_portraits/abra_portrait.4bpp"
-
-gKadabraPortrait_Gfx:: @ 0x084CCE6C
.incbin "graphics/mon_portraits/kadabra_portrait.4bpp"
-
-gAlakazamPortrait_Gfx:: @ 0x084CD16C
.incbin "graphics/mon_portraits/alakazam_portrait.4bpp"
-
-gNincadaPortrait_Gfx:: @ 0x084CD46C
.incbin "graphics/mon_portraits/nincada_portrait.4bpp"
-
-gNinjaskPortrait_Gfx:: @ 0x084CD76C
.incbin "graphics/mon_portraits/ninjask_portrait.4bpp"
-
-gShedinjaPortrait_Gfx:: @ 0x084CDA6C
.incbin "graphics/mon_portraits/shedinja_portrait.4bpp"
-
-gWhismurPortrait_Gfx:: @ 0x084CDD6C
.incbin "graphics/mon_portraits/whismur_portrait.4bpp"
-gLoudredPortrait_Gfx:: @ 0x084CE06C
+gMonPortraitsGroup3_Gfx:: @ 0x084CE06C
.incbin "graphics/mon_portraits/loudred_portrait.4bpp"
-
-gExploudPortrait_Gfx:: @ 0x084CE36C
.incbin "graphics/mon_portraits/exploud_portrait.4bpp"
-
-gMakuhitaPortrait_Gfx:: @ 0x084CE66C
.incbin "graphics/mon_portraits/makuhita_portrait.4bpp"
-
-gHariyamaPortrait_Gfx:: @ 0x084CE96C
.incbin "graphics/mon_portraits/hariyama_portrait.4bpp"
-
-gGoldeenPortrait_Gfx:: @ 0x084CEC6C
.incbin "graphics/mon_portraits/goldeen_portrait.4bpp"
-
-gSeakingPortrait_Gfx:: @ 0x084CEF6C
.incbin "graphics/mon_portraits/seaking_portrait.4bpp"
-
-gMagikarpPortrait_Gfx:: @ 0x084CF26C
.incbin "graphics/mon_portraits/magikarp_portrait.4bpp"
-
-gGyaradosPortrait_Gfx:: @ 0x084CF56C
.incbin "graphics/mon_portraits/gyarados_portrait.4bpp"
-
-gAzurillPortrait_Gfx:: @ 0x084CF86C
.incbin "graphics/mon_portraits/azurill_portrait.4bpp"
-
-gMarillPortrait_Gfx:: @ 0x084CFB6C
.incbin "graphics/mon_portraits/marill_portrait.4bpp"
-
-gAzumarillPortrait_Gfx:: @ 0x084CFE6C
.incbin "graphics/mon_portraits/azumarill_portrait.4bpp"
-
-gGeodudePortrait_Gfx:: @ 0x084D016C
.incbin "graphics/mon_portraits/geodude_portrait.4bpp"
-
-gGravelerPortrait_Gfx:: @ 0x084D046C
.incbin "graphics/mon_portraits/graveler_portrait.4bpp"
-
-gGolemPortrait_Gfx:: @ 0x084D076C
.incbin "graphics/mon_portraits/golem_portrait.4bpp"
-
-gNosepassPortrait_Gfx:: @ 0x084D0A6C
.incbin "graphics/mon_portraits/nosepass_portrait.4bpp"
-gSkittyPortrait_Gfx:: @ 0x084D0D6C
+gMonPortraitsGroup4_Gfx:: @ 0x084D0D6C
.incbin "graphics/mon_portraits/skitty_portrait.4bpp"
-
-gDelcattyPortrait_Gfx:: @ 0x084D106C
.incbin "graphics/mon_portraits/delcatty_portrait.4bpp"
-
-gZubatPortrait_Gfx:: @ 0x084D136C
.incbin "graphics/mon_portraits/zubat_portrait.4bpp"
-
-gGolbatPortrait_Gfx:: @ 0x084D166C
.incbin "graphics/mon_portraits/golbat_portrait.4bpp"
-
-gCrobatPortrait_Gfx:: @ 0x084D196C
.incbin "graphics/mon_portraits/crobat_portrait.4bpp"
-
-gTentacoolPortrait_Gfx:: @ 0x084D1C6C
.incbin "graphics/mon_portraits/tentacool_portrait.4bpp"
-
-gTentacruelPortrait_Gfx:: @ 0x084D1F6C
.incbin "graphics/mon_portraits/tentacruel_portrait.4bpp"
-
-gSableyePortrait_Gfx:: @ 0x084D226C
.incbin "graphics/mon_portraits/sableye_portrait.4bpp"
-
-gMawilePortrait_Gfx:: @ 0x084D256C
.incbin "graphics/mon_portraits/mawile_portrait.4bpp"
-
-gAronPortrait_Gfx:: @ 0x084D286C
.incbin "graphics/mon_portraits/aron_portrait.4bpp"
-
-gLaironPortrait_Gfx:: @ 0x084D2B6C
.incbin "graphics/mon_portraits/lairon_portrait.4bpp"
-
-gAggronPortrait_Gfx:: @ 0x084D2E6C
.incbin "graphics/mon_portraits/aggron_portrait.4bpp"
-
-gMachopPortrait_Gfx:: @ 0x084D316C
.incbin "graphics/mon_portraits/machop_portrait.4bpp"
-
-gMachokePortrait_Gfx:: @ 0x084D346C
.incbin "graphics/mon_portraits/machoke_portrait.4bpp"
-
-gMachampPortrait_Gfx:: @ 0x084D376C
.incbin "graphics/mon_portraits/machamp_portrait.4bpp"
-gMedititePortrait_Gfx:: @ 0x084D3A6C
+gMonPortraitsGroup5_Gfx:: @ 0x084D3A6C
.incbin "graphics/mon_portraits/meditite_portrait.4bpp"
-
-gMedichamPortrait_Gfx:: @ 0x084D3D6C
.incbin "graphics/mon_portraits/medicham_portrait.4bpp"
-
-gElectrikePortrait_Gfx:: @ 0x084D406C
.incbin "graphics/mon_portraits/electrike_portrait.4bpp"
-
-gManectricPortrait_Gfx:: @ 0x084D436C
.incbin "graphics/mon_portraits/manectric_portrait.4bpp"
-
-gPluslePortrait_Gfx:: @ 0x084D466C
.incbin "graphics/mon_portraits/plusle_portrait.4bpp"
-
-gMinunPortrait_Gfx:: @ 0x084D496C
.incbin "graphics/mon_portraits/minun_portrait.4bpp"
-
-gMagnemitePortrait_Gfx:: @ 0x084D4C6C
.incbin "graphics/mon_portraits/magnemite_portrait.4bpp"
-
-gMagnetonPortrait_Gfx:: @ 0x084D4F6C
.incbin "graphics/mon_portraits/magneton_portrait.4bpp"
-
-gVoltorbPortrait_Gfx:: @ 0x084D526C
.incbin "graphics/mon_portraits/voltorb_portrait.4bpp"
-
-gElectrodePortrait_Gfx:: @ 0x084D556C
.incbin "graphics/mon_portraits/electrode_portrait.4bpp"
-
-gVolbeatPortrait_Gfx:: @ 0x084D586C
.incbin "graphics/mon_portraits/volbeat_portrait.4bpp"
-
-gIllumisePortrait_Gfx:: @ 0x084D5B6C
.incbin "graphics/mon_portraits/illumise_portrait.4bpp"
-
-gOddishPortrait_Gfx:: @ 0x084D5E6C
.incbin "graphics/mon_portraits/oddish_portrait.4bpp"
-
-gGloomPortrait_Gfx:: @ 0x084D616C
.incbin "graphics/mon_portraits/gloom_portrait.4bpp"
-
-gVileplumePortrait_Gfx:: @ 0x084D646C
.incbin "graphics/mon_portraits/vileplume_portrait.4bpp"
-gBellossomPortrait_Gfx:: @ 0x084D676C
+gMonPortraitsGroup6_Gfx:: @ 0x084D676C
.incbin "graphics/mon_portraits/bellossom_portrait.4bpp"
-
-gDoduoPortrait_Gfx:: @ 0x084D6A6C
.incbin "graphics/mon_portraits/doduo_portrait.4bpp"
-
-gDodrioPortrait_Gfx:: @ 0x084D6D6C
.incbin "graphics/mon_portraits/dodrio_portrait.4bpp"
-
-gRoseliaPortrait_Gfx:: @ 0x084D706C
.incbin "graphics/mon_portraits/roselia_portrait.4bpp"
-
-gGulpinPortrait_Gfx:: @ 0x084D736C
.incbin "graphics/mon_portraits/gulpin_portrait.4bpp"
-
-gSwalotPortrait_Gfx:: @ 0x084D766C
.incbin "graphics/mon_portraits/swalot_portrait.4bpp"
-
-gCarvanhaPortrait_Gfx:: @ 0x084D796C
.incbin "graphics/mon_portraits/carvanha_portrait.4bpp"
-
-gSharpedoPortrait_Gfx:: @ 0x084D7C6C
.incbin "graphics/mon_portraits/sharpedo_portrait.4bpp"
-
-gWailmerPortrait_Gfx:: @ 0x084D7F6C
.incbin "graphics/mon_portraits/wailmer_portrait.4bpp"
-
-gWailordPortrait_Gfx:: @ 0x084D826C
.incbin "graphics/mon_portraits/wailord_portrait.4bpp"
-
-gNumelPortrait_Gfx:: @ 0x084D856C
.incbin "graphics/mon_portraits/numel_portrait.4bpp"
-
-gCameruptPortrait_Gfx:: @ 0x084D886C
.incbin "graphics/mon_portraits/camerupt_portrait.4bpp"
-
-gSlugmaPortrait_Gfx:: @ 0x084D8B6C
.incbin "graphics/mon_portraits/slugma_portrait.4bpp"
-
-gMagcargoPortrait_Gfx:: @ 0x084D8E6C
.incbin "graphics/mon_portraits/magcargo_portrait.4bpp"
-
-gTorkoalPortrait_Gfx:: @ 0x084D916C
.incbin "graphics/mon_portraits/torkoal_portrait.4bpp"
-gGrimerPortrait_Gfx:: @ 0x084D946C
+gMonPortraitsGroup7_Gfx:: @ 0x084D946C
.incbin "graphics/mon_portraits/grimer_portrait.4bpp"
-
-gMukPortrait_Gfx:: @ 0x084D976C
.incbin "graphics/mon_portraits/muk_portrait.4bpp"
-
-gKoffingPortrait_Gfx:: @ 0x084D9A6C
.incbin "graphics/mon_portraits/koffing_portrait.4bpp"
-
-gWeezingPortrait_Gfx:: @ 0x084D9D6C
.incbin "graphics/mon_portraits/weezing_portrait.4bpp"
-
-gSpoinkPortrait_Gfx:: @ 0x084DA06C
.incbin "graphics/mon_portraits/spoink_portrait.4bpp"
-
-gGrumpigPortrait_Gfx:: @ 0x084DA36C
.incbin "graphics/mon_portraits/grumpig_portrait.4bpp"
-
-gSandshrewPortrait_Gfx:: @ 0x084DA66C
.incbin "graphics/mon_portraits/sandshrew_portrait.4bpp"
-
-gSandslashPortrait_Gfx:: @ 0x084DA96C
.incbin "graphics/mon_portraits/sandslash_portrait.4bpp"
-
-gSpindaPortrait_Gfx:: @ 0x084DAC6C
.incbin "graphics/mon_portraits/spinda_portrait.4bpp"
-
-gSkarmoryPortrait_Gfx:: @ 0x084DAF6C
.incbin "graphics/mon_portraits/skarmory_portrait.4bpp"
-
-gTrapinchPortrait_Gfx:: @ 0x084DB26C
.incbin "graphics/mon_portraits/trapinch_portrait.4bpp"
-
-gVibravaPortrait_Gfx:: @ 0x084DB56C
.incbin "graphics/mon_portraits/vibrava_portrait.4bpp"
-
-gFlygonPortrait_Gfx:: @ 0x084DB86C
.incbin "graphics/mon_portraits/flygon_portrait.4bpp"
-
-gCacneaPortrait_Gfx:: @ 0x084DBB6C
.incbin "graphics/mon_portraits/cacnea_portrait.4bpp"
-
-gCacturnePortrait_Gfx:: @ 0x084DBE6C
.incbin "graphics/mon_portraits/cacturne_portrait.4bpp"
-gSwabluPortrait_Gfx:: @ 0x084DC16C
+gMonPortraitsGroup8_Gfx:: @ 0x084DC16C
.incbin "graphics/mon_portraits/swablu_portrait.4bpp"
-
-gAltariaPortrait_Gfx:: @ 0x084DC46C
.incbin "graphics/mon_portraits/altaria_portrait.4bpp"
-
-gZangoosePortrait_Gfx:: @ 0x084DC76C
.incbin "graphics/mon_portraits/zangoose_portrait.4bpp"
-
-gSeviperPortrait_Gfx:: @ 0x084DCA6C
.incbin "graphics/mon_portraits/seviper_portrait.4bpp"
-
-gLunatonePortrait_Gfx:: @ 0x084DCD6C
.incbin "graphics/mon_portraits/lunatone_portrait.4bpp"
-
-gSolrockPortrait_Gfx:: @ 0x084DD06C
.incbin "graphics/mon_portraits/solrock_portrait.4bpp"
-
-gBarboachPortrait_Gfx:: @ 0x084DD36C
.incbin "graphics/mon_portraits/barboach_portrait.4bpp"
-
-gWhiscashPortrait_Gfx:: @ 0x084DD66C
.incbin "graphics/mon_portraits/whiscash_portrait.4bpp"
-
-gCorphishPortrait_Gfx:: @ 0x084DD96C
.incbin "graphics/mon_portraits/corphish_portrait.4bpp"
-
-gCrawdauntPortrait_Gfx:: @ 0x084DDC6C
.incbin "graphics/mon_portraits/crawdaunt_portrait.4bpp"
-
-gBaltoyPortrait_Gfx:: @ 0x084DDF6C
.incbin "graphics/mon_portraits/baltoy_portrait.4bpp"
-
-gClaydolPortrait_Gfx:: @ 0x084DE26C
.incbin "graphics/mon_portraits/claydol_portrait.4bpp"
-
-gLileepPortrait_Gfx:: @ 0x084DE56C
.incbin "graphics/mon_portraits/lileep_portrait.4bpp"
-
-gCradilyPortrait_Gfx:: @ 0x084DE86C
.incbin "graphics/mon_portraits/cradily_portrait.4bpp"
-
-gAnorithPortrait_Gfx:: @ 0x084DEB6C
.incbin "graphics/mon_portraits/anorith_portrait.4bpp"
-gArmaldoPortrait_Gfx:: @ 0x084DEE6C
+gMonPortraitsGroup9_Gfx:: @ 0x084DF16C
.incbin "graphics/mon_portraits/armaldo_portrait.4bpp"
-
-gIgglybuffPortrait_Gfx:: @ 0x084DF16C
.incbin "graphics/mon_portraits/igglybuff_portrait.4bpp"
-
-gJigglypuffPortrait_Gfx:: @ 0x084DF46C
.incbin "graphics/mon_portraits/jigglypuff_portrait.4bpp"
-
-gWigglytuffPortrait_Gfx:: @ 0x084DF76C
.incbin "graphics/mon_portraits/wigglytuff_portrait.4bpp"
-
-gFeebasPortrait_Gfx:: @ 0x084DFA6C
.incbin "graphics/mon_portraits/feebas_portrait.4bpp"
-
-gMiloticPortrait_Gfx:: @ 0x084DFD6C
.incbin "graphics/mon_portraits/milotic_portrait.4bpp"
-
-gCastformPortrait_Gfx:: @ 0x084E006C
.incbin "graphics/mon_portraits/castform_portrait.4bpp"
-
-gStaryuPortrait_Gfx:: @ 0x084E036C
.incbin "graphics/mon_portraits/staryu_portrait.4bpp"
-
-gStarmiePortrait_Gfx:: @ 0x084E066C
.incbin "graphics/mon_portraits/starmie_portrait.4bpp"
-
-gKecleonPortrait_Gfx:: @ 0x084E096C
.incbin "graphics/mon_portraits/kecleon_portrait.4bpp"
-
-gShuppetPortrait_Gfx:: @ 0x084E0C6C
.incbin "graphics/mon_portraits/shuppet_portrait.4bpp"
-
-gBanettePortrait_Gfx:: @ 0x084E0F6C
.incbin "graphics/mon_portraits/banette_portrait.4bpp"
-
-gDuskullPortrait_Gfx:: @ 0x084E126C
.incbin "graphics/mon_portraits/duskull_portrait.4bpp"
-
-gDusclopsPortrait_Gfx:: @ 0x084E156C
.incbin "graphics/mon_portraits/dusclops_portrait.4bpp"
-
-gTropiusPortrait_Gfx:: @ 0x084E186C
.incbin "graphics/mon_portraits/tropius_portrait.4bpp"
-gChimechoPortrait_Gfx:: @ 0x084E1B6C
+gMonPortraitsGroup10_Gfx:: @ 0x084E216C
.incbin "graphics/mon_portraits/chimecho_portrait.4bpp"
-
-gAbsolPortrait_Gfx:: @ 0x084E1E6C
.incbin "graphics/mon_portraits/absol_portrait.4bpp"
-
-gVulpixPortrait_Gfx:: @ 0x084E216C
.incbin "graphics/mon_portraits/vulpix_portrait.4bpp"
-
-gNinetalesPortrait_Gfx:: @ 0x084E246C
.incbin "graphics/mon_portraits/ninetales_portrait.4bpp"
-
-gPichuPortrait_Gfx:: @ 0x084E276C
.incbin "graphics/mon_portraits/pichu_portrait.4bpp"
-
-gPikachuPortrait_Gfx:: @ 0x084E2A6C
.incbin "graphics/mon_portraits/pikachu_portrait.4bpp"
-
-gRaichuPortrait_Gfx:: @ 0x084E2D6C
.incbin "graphics/mon_portraits/raichu_portrait.4bpp"
-
-gPsyduckPortrait_Gfx:: @ 0x084E306C
.incbin "graphics/mon_portraits/psyduck_portrait.4bpp"
-
-gGolduckPortrait_Gfx:: @ 0x084E336C
.incbin "graphics/mon_portraits/golduck_portrait.4bpp"
-
-gWynautPortrait_Gfx:: @ 0x084E366C
.incbin "graphics/mon_portraits/wynaut_portrait.4bpp"
-
-gWobbuffetPortrait_Gfx:: @ 0x084E396C
.incbin "graphics/mon_portraits/wobbuffet_portrait.4bpp"
-
-gNatuPortrait_Gfx:: @ 0x084E3C6C
.incbin "graphics/mon_portraits/natu_portrait.4bpp"
-
-gXatuPortrait_Gfx:: @ 0x084E3F6C
.incbin "graphics/mon_portraits/xatu_portrait.4bpp"
-
-gGirafarigPortrait_Gfx:: @ 0x084E426C
.incbin "graphics/mon_portraits/girafarig_portrait.4bpp"
-
-gPhanpyPortrait_Gfx:: @ 0x084E456C
.incbin "graphics/mon_portraits/phanpy_portrait.4bpp"
-gDonphanPortrait_Gfx:: @ 0x084E486C
+gMonPortraitsGroup11_Gfx:: @ 0x084E4E6C
.incbin "graphics/mon_portraits/donphan_portrait.4bpp"
-
-gPinsirPortrait_Gfx:: @ 0x084E4B6C
.incbin "graphics/mon_portraits/pinsir_portrait.4bpp"
-
-gHeracrossPortrait_Gfx:: @ 0x084E4E6C
.incbin "graphics/mon_portraits/heracross_portrait.4bpp"
-
-gRhyhornPortrait_Gfx:: @ 0x084E516C
.incbin "graphics/mon_portraits/rhyhorn_portrait.4bpp"
-
-gRhydonPortrait_Gfx:: @ 0x084E546C
.incbin "graphics/mon_portraits/rhydon_portrait.4bpp"
-
-gSnoruntPortrait_Gfx:: @ 0x084E576C
.incbin "graphics/mon_portraits/snorunt_portrait.4bpp"
-
-gGlaliePortrait_Gfx:: @ 0x084E5A6C
.incbin "graphics/mon_portraits/glalie_portrait.4bpp"
-
-gSphealPortrait_Gfx:: @ 0x084E5D6C
.incbin "graphics/mon_portraits/spheal_portrait.4bpp"
-
-gSealeoPortrait_Gfx:: @ 0x084E606C
.incbin "graphics/mon_portraits/sealeo_portrait.4bpp"
-
-gWalreinPortrait_Gfx:: @ 0x084E636C
.incbin "graphics/mon_portraits/walrein_portrait.4bpp"
-
-gClamperlPortrait_Gfx:: @ 0x084E666C
.incbin "graphics/mon_portraits/clamperl_portrait.4bpp"
-
-gHuntailPortrait_Gfx:: @ 0x084E696C
.incbin "graphics/mon_portraits/huntail_portrait.4bpp"
-
-gGorebyssPortrait_Gfx:: @ 0x084E6C6C
.incbin "graphics/mon_portraits/gorebyss_portrait.4bpp"
-
-gRelicanthPortrait_Gfx:: @ 0x084E6F6C
.incbin "graphics/mon_portraits/relicanth_portrait.4bpp"
-
-gCorsolaPortrait_Gfx:: @ 0x084E726C
.incbin "graphics/mon_portraits/corsola_portrait.4bpp"
-gChinchouPortrait_Gfx:: @ 0x084E756C
+gMonPortraitsGroup12_Gfx:: @ 0x084E7B6C
.incbin "graphics/mon_portraits/chinchou_portrait.4bpp"
-
-gLanturnPortrait_Gfx:: @ 0x084E786C
.incbin "graphics/mon_portraits/lanturn_portrait.4bpp"
-
-gLuvdiscPortrait_Gfx:: @ 0x084E7B6C
.incbin "graphics/mon_portraits/luvdisc_portrait.4bpp"
-
-gHorseaPortrait_Gfx:: @ 0x084E7E6C
.incbin "graphics/mon_portraits/horsea_portrait.4bpp"
-
-gSeadraPortrait_Gfx:: @ 0x084E816C
.incbin "graphics/mon_portraits/seadra_portrait.4bpp"
-
-gKingdraPortrait_Gfx:: @ 0x084E846C
.incbin "graphics/mon_portraits/kingdra_portrait.4bpp"
-
-gBagonPortrait_Gfx:: @ 0x084E876C
.incbin "graphics/mon_portraits/bagon_portrait.4bpp"
-
-gShelgonPortrait_Gfx:: @ 0x084E8A6C
.incbin "graphics/mon_portraits/shelgon_portrait.4bpp"
-
-gSalamencePortrait_Gfx:: @ 0x084E8D6C
.incbin "graphics/mon_portraits/salamence_portrait.4bpp"
-
-gBeldumPortrait_Gfx:: @ 0x084E906C
.incbin "graphics/mon_portraits/beldum_portrait.4bpp"
-
-gMetangPortrait_Gfx:: @ 0x084E936C
.incbin "graphics/mon_portraits/metang_portrait.4bpp"
-
-gMetagrossPortrait_Gfx:: @ 0x084E966C
.incbin "graphics/mon_portraits/metagross_portrait.4bpp"
-
-gRegirockPortrait_Gfx:: @ 0x084E996C
.incbin "graphics/mon_portraits/regirock_portrait.4bpp"
-
-gRegicePortrait_Gfx:: @ 0x084E9C6C
.incbin "graphics/mon_portraits/regice_portrait.4bpp"
-
-gRegisteelPortrait_Gfx:: @ 0x084E9F6C
.incbin "graphics/mon_portraits/registeel_portrait.4bpp"
-gLatiasPortrait_Gfx:: @ 0x084EA26C
+gMonPortraitsGroup13_Gfx:: @ 0x084EAB6C
.incbin "graphics/mon_portraits/latias_portrait.4bpp"
-
-gLatiosPortrait_Gfx:: @ 0x084EA56C
.incbin "graphics/mon_portraits/latios_portrait.4bpp"
-
-gKyogrePortrait_Gfx:: @ 0x084EA86C
.incbin "graphics/mon_portraits/kyogre_portrait.4bpp"
-
-gGroudonPortrait_Gfx:: @ 0x084EAB6C
.incbin "graphics/mon_portraits/groudon_portrait.4bpp"
-
-gRayquazaPortrait_Gfx:: @ 0x084EAE6C
.incbin "graphics/mon_portraits/rayquaza_portrait.4bpp"
-
-gJirachiPortrait_Gfx:: @ 0x084EB16C
.incbin "graphics/mon_portraits/jirachi_portrait.4bpp"
-
-gChikoritaPortrait_Gfx:: @ 0x084EB46C
.incbin "graphics/mon_portraits/chikorita_portrait.4bpp"
-
-gCyndaquilPortrait_Gfx:: @ 0x084EB76C
.incbin "graphics/mon_portraits/cyndaquil_portrait.4bpp"
-
-gTotodilePortrait_Gfx:: @ 0x084EBA6C
.incbin "graphics/mon_portraits/totodile_portrait.4bpp"
-
-gAerodactylPortrait_Gfx:: @ 0x084EBD6C
.incbin "graphics/mon_portraits/aerodactyl_portrait.4bpp"
-
-gQuestionMarkPortrait_Gfx:: @ 0x084EC06C
.incbin "graphics/mon_portraits/question_mark_portrait.4bpp"
-
-gPlaceholder207Portrait_Gfx:: @ 0x084EC36C
.incbin "graphics/mon_portraits/207_portrait.4bpp"
-
-gPlaceholder208Portrait_Gfx:: @ 0x084EC66C
.incbin "graphics/mon_portraits/208_portrait.4bpp"
-
-gPlaceholder209Portrait_Gfx:: @ 0x084EC96C
.incbin "graphics/mon_portraits/209_portrait.4bpp"
-
-gPlaceholder210Portrait_Gfx:: @ 0x084ECC6C
.incbin "graphics/mon_portraits/210_portrait.4bpp"
diff --git a/data/graphics/mon_portraits_pals.inc b/data/graphics/mon_portraits_pals.inc
index 426d949..b128cdc 100755
--- a/data/graphics/mon_portraits_pals.inc
+++ b/data/graphics/mon_portraits_pals.inc
@@ -1,671 +1,251 @@
-gTreeckoPortrait_Pal:: @ 0x39AB8C
+gMonPortraitsGroup0_Pals:: @ 0x39AB8C
.incbin "graphics/mon_portraits/treecko_portrait.gbapal"
-
-gGrovylePortrait_Pal:: @ 0x39ABAC
.incbin "graphics/mon_portraits/grovyle_portrait.gbapal"
-
-gSceptilePortrait_Pal:: @ 0x39ABCC
.incbin "graphics/mon_portraits/sceptile_portrait.gbapal"
-
-gTorchicPortrait_Pal:: @ 0x39ABEC
.incbin "graphics/mon_portraits/torchic_portrait.gbapal"
-
-gCombuskenPortrait_Pal:: @ 0x39AC0C
.incbin "graphics/mon_portraits/combusken_portrait.gbapal"
-
-gBlazikenPortrait_Pal:: @ 0x39AC2C
.incbin "graphics/mon_portraits/blaziken_portrait.gbapal"
-
-gMudkipPortrait_Pal:: @ 0x39AC4C
.incbin "graphics/mon_portraits/mudkip_portrait.gbapal"
-
-gMarshtompPortrait_Pal:: @ 0x39AC6C
.incbin "graphics/mon_portraits/marshtomp_portrait.gbapal"
-
-gSwampertPortrait_Pal:: @ 0x39AC8C
.incbin "graphics/mon_portraits/swampert_portrait.gbapal"
-
-gPoochyenaPortrait_Pal:: @ 0x39ACAC
.incbin "graphics/mon_portraits/poochyena_portrait.gbapal"
-
-gMightyenaPortrait_Pal:: @ 0x39ACCC
.incbin "graphics/mon_portraits/mightyena_portrait.gbapal"
-
-gZigzagoonPortrait_Pal:: @ 0x39ACEC
.incbin "graphics/mon_portraits/zigzagoon_portrait.gbapal"
-
-gLinoonePortrait_Pal:: @ 0x39AD0C
.incbin "graphics/mon_portraits/linoone_portrait.gbapal"
-
-gWurmplePortrait_Pal:: @ 0x39AD2C
.incbin "graphics/mon_portraits/wurmple_portrait.gbapal"
-
-gSilcoonPortrait_Pal:: @ 0x39AD4C
.incbin "graphics/mon_portraits/silcoon_portrait.gbapal"
-
-gSilhouettePortrait_Pal:: @ 0x39AD6C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gBeautiflyPortrait_Pal:: @ 0x39AD8C
+gMonPortraitsGroup1_Pals:: @ 0x39AD8C
.incbin "graphics/mon_portraits/beautifly_portrait.gbapal"
-
-gCascoonPortrait_Pal:: @ 0x39ADAC
.incbin "graphics/mon_portraits/cascoon_portrait.gbapal"
-
-gDustoxPortrait_Pal:: @ 0x39ADCC
.incbin "graphics/mon_portraits/dustox_portrait.gbapal"
-
-gLotadPortrait_Pal:: @ 0x39ADEC
.incbin "graphics/mon_portraits/lotad_portrait.gbapal"
-
-gLombrePortrait_Pal:: @ 0x39AE0C
.incbin "graphics/mon_portraits/lombre_portrait.gbapal"
-
-gLudicoloPortrait_Pal:: @ 0x39AE2C
.incbin "graphics/mon_portraits/ludicolo_portrait.gbapal"
-
-gSeedotPortrait_Pal:: @ 0x39AE4C
.incbin "graphics/mon_portraits/seedot_portrait.gbapal"
-
-gNuzleafPortrait_Pal:: @ 0x39AE6C
.incbin "graphics/mon_portraits/nuzleaf_portrait.gbapal"
-
-gShiftryPortrait_Pal:: @ 0x39AE8C
.incbin "graphics/mon_portraits/shiftry_portrait.gbapal"
-
-gTaillowPortrait_Pal:: @ 0x39AEAC
.incbin "graphics/mon_portraits/taillow_portrait.gbapal"
-
-gSwellowPortrait_Pal:: @ 0x39AECC
.incbin "graphics/mon_portraits/swellow_portrait.gbapal"
-
-gWingullPortrait_Pal:: @ 0x39AEEC
.incbin "graphics/mon_portraits/wingull_portrait.gbapal"
-
-gPelilpperPortrait_Pal:: @ 0x39AF0C
.incbin "graphics/mon_portraits/pelilpper_portrait.gbapal"
-
-gRaltsPortrait_Pal:: @ 0x39AF2C
.incbin "graphics/mon_portraits/ralts_portrait.gbapal"
-
-gKirliaPortrait_Pal:: @ 0x39AF4C
.incbin "graphics/mon_portraits/kirlia_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy1:: @ 0x39AF6C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gGardevoirPortrait_Pal:: @ 0x39AF8C
+gMonPortraitsGroup2_Pals:: @ 0x39AF8C
.incbin "graphics/mon_portraits/gardevoir_portrait.gbapal"
-
-gSurskitPortrait_Pal:: @ 0x39AFAC
.incbin "graphics/mon_portraits/surskit_portrait.gbapal"
-
-gMasquerainPortrait_Pal:: @ 0x39AFCC
.incbin "graphics/mon_portraits/masquerain_portrait.gbapal"
-
-gShroomishPortrait_Pal:: @ 0x39AFEC
.incbin "graphics/mon_portraits/shroomish_portrait.gbapal"
-
-gBreloomPortrait_Pal:: @ 0x39B00C
.incbin "graphics/mon_portraits/breloom_portrait.gbapal"
-
-gSlakothPortrait_Pal:: @ 0x39B02C
.incbin "graphics/mon_portraits/slakoth_portrait.gbapal"
-
-gVigorothPortrait_Pal:: @ 0x39B04C
.incbin "graphics/mon_portraits/vigoroth_portrait.gbapal"
-
-gSlakingPortrait_Pal:: @ 0x39B06C
.incbin "graphics/mon_portraits/slaking_portrait.gbapal"
-
-gAbraPortrait_Pal:: @ 0x39B08C
.incbin "graphics/mon_portraits/abra_portrait.gbapal"
-
-gKadabraPortrait_Pal:: @ 0x39B0AC
.incbin "graphics/mon_portraits/kadabra_portrait.gbapal"
-
-gAlakazamPortrait_Pal:: @ 0x39B0CC
.incbin "graphics/mon_portraits/alakazam_portrait.gbapal"
-
-gNincadaPortrait_Pal:: @ 0x39B0EC
.incbin "graphics/mon_portraits/nincada_portrait.gbapal"
-
-gNinjaskPortrait_Pal:: @ 0x39B10C
.incbin "graphics/mon_portraits/ninjask_portrait.gbapal"
-
-gShedinjaPortrait_Pal:: @ 0x39B12C
.incbin "graphics/mon_portraits/shedinja_portrait.gbapal"
-
-gWhismurPortrait_Pal:: @ 0x39B14C
.incbin "graphics/mon_portraits/whismur_portrait.gbapal"
-
-gSilhouettePortrait_Pal_2:: @ 0x39AF6C
.incbin "graphics/mon_portraits/silhouette_2.gbapal"
-gLoudredPortrait_Pal:: @ 0x39B18C
+gMonPortraitsGroup3_Pals:: @ 0x39B18C
.incbin "graphics/mon_portraits/loudred_portrait.gbapal"
-
-gExploudPortrait_Pal:: @ 0x39B1AC
.incbin "graphics/mon_portraits/exploud_portrait.gbapal"
-
-gMakuhitaPortrait_Pal:: @ 0x39B1CC
.incbin "graphics/mon_portraits/makuhita_portrait.gbapal"
-
-gHariyamaPortrait_Pal:: @ 0x39B1EC
.incbin "graphics/mon_portraits/hariyama_portrait.gbapal"
-
-gGoldeenPortrait_Pal:: @ 0x39B20C
.incbin "graphics/mon_portraits/goldeen_portrait.gbapal"
-
-gSeakingPortrait_Pal:: @ 0x39B22C
.incbin "graphics/mon_portraits/seaking_portrait.gbapal"
-
-gMagikarpPortrait_Pal:: @ 0x39B24C
.incbin "graphics/mon_portraits/magikarp_portrait.gbapal"
-
-gGyaradosPortrait_Pal:: @ 0x39B26C
.incbin "graphics/mon_portraits/gyarados_portrait.gbapal"
-
-gAzurillPortrait_Pal:: @ 0x39B28C
.incbin "graphics/mon_portraits/azurill_portrait.gbapal"
-
-gMarillPortrait_Pal:: @ 0x39B2AC
.incbin "graphics/mon_portraits/marill_portrait.gbapal"
-
-gAzumarillPortrait_Pal:: @ 0x39B2CC
.incbin "graphics/mon_portraits/azumarill_portrait.gbapal"
-
-gGeodudePortrait_Pal:: @ 0x39B2EC
.incbin "graphics/mon_portraits/geodude_portrait.gbapal"
-
-gGravelerPortrait_Pal:: @ 0x39B30C
.incbin "graphics/mon_portraits/graveler_portrait.gbapal"
-
-gGolemPortrait_Pal:: @ 0x39B32C
.incbin "graphics/mon_portraits/golem_portrait.gbapal"
-
-gNosepassPortrait_Pal:: @ 0x39B34C
.incbin "graphics/mon_portraits/nosepass_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy2:: @ 0x39B36C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gSkittyPortrait_Pal:: @ 0x39B38C
+gMonPortraitsGroup4_Pals:: @ 0x39B38C
.incbin "graphics/mon_portraits/skitty_portrait.gbapal"
-
-gDelcattyPortrait_Pal:: @ 0x39B3AC
.incbin "graphics/mon_portraits/delcatty_portrait.gbapal"
-
-gZubatPortrait_Pal:: @ 0x39B3CC
.incbin "graphics/mon_portraits/zubat_portrait.gbapal"
-
-gGolbatPortrait_Pal:: @ 0x39B3EC
.incbin "graphics/mon_portraits/golbat_portrait.gbapal"
-
-gCrobatPortrait_Pal:: @ 0x39B40C
.incbin "graphics/mon_portraits/crobat_portrait.gbapal"
-
-gTentacoolPortrait_Pal:: @ 0x39B42C
.incbin "graphics/mon_portraits/tentacool_portrait.gbapal"
-
-gTentacruelPortrait_Pal:: @ 0x39B44C
.incbin "graphics/mon_portraits/tentacruel_portrait.gbapal"
-
-gSableyePortrait_Pal:: @ 0x39B46C
.incbin "graphics/mon_portraits/sableye_portrait.gbapal"
-
-gMawilePortrait_Pal:: @ 0x39B48C
.incbin "graphics/mon_portraits/mawile_portrait.gbapal"
-
-gAronPortrait_Pal:: @ 0x39B4AC
.incbin "graphics/mon_portraits/aron_portrait.gbapal"
-
-gLaironPortrait_Pal:: @ 0x39B4CC
.incbin "graphics/mon_portraits/lairon_portrait.gbapal"
-
-gAggronPortrait_Pal:: @ 0x39B4EC
.incbin "graphics/mon_portraits/aggron_portrait.gbapal"
-
-gMachopPortrait_Pal:: @ 0x39B50C
.incbin "graphics/mon_portraits/machop_portrait.gbapal"
-
-gMachokePortrait_Pal:: @ 0x39B52C
.incbin "graphics/mon_portraits/machoke_portrait.gbapal"
-
-gMachampPortrait_Pal:: @ 0x39B54C
.incbin "graphics/mon_portraits/machamp_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy3:: @ 0x39B56C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gMedititePortrait_Pal:: @ 0x39B58C
+gMonPortraitsGroup5_Pals:: @ 0x39B58C
.incbin "graphics/mon_portraits/meditite_portrait.gbapal"
-
-gMedichamPortrait_Pal:: @ 0x39B5AC
.incbin "graphics/mon_portraits/medicham_portrait.gbapal"
-
-gElectrikePortrait_Pal:: @ 0x39B5CC
.incbin "graphics/mon_portraits/electrike_portrait.gbapal"
-
-gManectricPortrait_Pal:: @ 0x39B5EC
.incbin "graphics/mon_portraits/manectric_portrait.gbapal"
-
-gPluslePortrait_Pal:: @ 0x39B60C
.incbin "graphics/mon_portraits/plusle_portrait.gbapal"
-
-gMinunPortrait_Pal:: @ 0x39B62C
.incbin "graphics/mon_portraits/minun_portrait.gbapal"
-
-gMagnemitePortrait_Pal:: @ 0x39B64C
.incbin "graphics/mon_portraits/magnemite_portrait.gbapal"
-
-gMagnetonPortrait_Pal:: @ 0x39B66C
.incbin "graphics/mon_portraits/magneton_portrait.gbapal"
-
-gVoltorbPortrait_Pal:: @ 0x39B68C
.incbin "graphics/mon_portraits/voltorb_portrait.gbapal"
-
-gElectrodePortrait_Pal:: @ 0x39B6AC
.incbin "graphics/mon_portraits/electrode_portrait.gbapal"
-
-gVolbeatPortrait_Pal:: @ 0x39B6CC
.incbin "graphics/mon_portraits/volbeat_portrait.gbapal"
-
-gIllumisePortrait_Pal:: @ 0x39B6EC
.incbin "graphics/mon_portraits/illumise_portrait.gbapal"
-
-gOddishPortrait_Pal:: @ 0x39B70C
.incbin "graphics/mon_portraits/oddish_portrait.gbapal"
-
-gGloomPortrait_Pal:: @ 0x39B72C
.incbin "graphics/mon_portraits/gloom_portrait.gbapal"
-
-gVileplumePortrait_Pal:: @ 0x39B74C
.incbin "graphics/mon_portraits/vileplume_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy4:: @ 0x39B76C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gBellossomPortrait_Pal:: @ 0x39B78C
+gMonPortraitsGroup6_Pals:: @ 0x39B78C
.incbin "graphics/mon_portraits/bellossom_portrait.gbapal"
-
-gDoduoPortrait_Pal:: @ 0x39B7AC
.incbin "graphics/mon_portraits/doduo_portrait.gbapal"
-
-gDodrioPortrait_Pal:: @ 0x39B7CC
.incbin "graphics/mon_portraits/dodrio_portrait.gbapal"
-
-gRoseliaPortrait_Pal:: @ 0x39B7EC
.incbin "graphics/mon_portraits/roselia_portrait.gbapal"
-
-gGulpinPortrait_Pal:: @ 0x39B80C
.incbin "graphics/mon_portraits/gulpin_portrait.gbapal"
-
-gSwalotPortrait_Pal:: @ 0x39B82C
.incbin "graphics/mon_portraits/swalot_portrait.gbapal"
-
-gCarvanhaPortrait_Pal:: @ 0x39B84C
.incbin "graphics/mon_portraits/carvanha_portrait.gbapal"
-
-gSharpedoPortrait_Pal:: @ 0x39B86C
.incbin "graphics/mon_portraits/sharpedo_portrait.gbapal"
-
-gWailmerPortrait_Pal:: @ 0x39B88C
.incbin "graphics/mon_portraits/wailmer_portrait.gbapal"
-
-gWailordPortrait_Pal:: @ 0x39B8AC
.incbin "graphics/mon_portraits/wailord_portrait.gbapal"
-
-gNumelPortrait_Pal:: @ 0x39B8CC
.incbin "graphics/mon_portraits/numel_portrait.gbapal"
-
-gCameruptPortrait_Pal:: @ 0x39B8EC
.incbin "graphics/mon_portraits/camerupt_portrait.gbapal"
-
-gSlugmaPortrait_Pal:: @ 0x39B90C
.incbin "graphics/mon_portraits/slugma_portrait.gbapal"
-
-gMagcargoPortrait_Pal:: @ 0x39B92C
.incbin "graphics/mon_portraits/magcargo_portrait.gbapal"
-
-gTorkoalPortrait_Pal:: @ 0x39B94C
.incbin "graphics/mon_portraits/torkoal_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy5:: @ 0x39B96C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gGrimerPortrait_Pal:: @ 0x39B98C
+gMonPortraitsGroup7_Pals:: @ 0x39B98C
.incbin "graphics/mon_portraits/grimer_portrait.gbapal"
-
-gMukPortrait_Pal:: @ 0x39B9AC
.incbin "graphics/mon_portraits/muk_portrait.gbapal"
-
-gKoffingPortrait_Pal:: @ 0x39B9CC
.incbin "graphics/mon_portraits/koffing_portrait.gbapal"
-
-gWeezingPortrait_Pal:: @ 0x39B9EC
.incbin "graphics/mon_portraits/weezing_portrait.gbapal"
-
-gSpoinkPortrait_Pal:: @ 0x39BA0C
.incbin "graphics/mon_portraits/spoink_portrait.gbapal"
-
-gGrumpigPortrait_Pal:: @ 0x39BA2C
.incbin "graphics/mon_portraits/grumpig_portrait.gbapal"
-
-gSandshrewPortrait_Pal:: @ 0x39BA4C
.incbin "graphics/mon_portraits/sandshrew_portrait.gbapal"
-
-gSandslashPortrait_Pal:: @ 0x39BA6C
.incbin "graphics/mon_portraits/sandslash_portrait.gbapal"
-
-gSpindaPortrait_Pal:: @ 0x39BA8C
.incbin "graphics/mon_portraits/spinda_portrait.gbapal"
-
-gSkarmoryPortrait_Pal:: @ 0x39BAAC
.incbin "graphics/mon_portraits/skarmory_portrait.gbapal"
-
-gTrapinchPortrait_Pal:: @ 0x39BACC
.incbin "graphics/mon_portraits/trapinch_portrait.gbapal"
-
-gVibravaPortrait_Pal:: @ 0x39BAEC
.incbin "graphics/mon_portraits/vibrava_portrait.gbapal"
-
-gFlygonPortrait_Pal:: @ 0x39BB0C
.incbin "graphics/mon_portraits/flygon_portrait.gbapal"
-
-gCacneaPortrait_Pal:: @ 0x39BB2C
.incbin "graphics/mon_portraits/cacnea_portrait.gbapal"
-
-gCacturnePortrait_Pal:: @ 0x39BB4C
.incbin "graphics/mon_portraits/cacturne_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy6:: @ 0x39BB6C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gSwabluPortrait_Pal:: @ 0x39BB8C
+gMonPortraitsGroup8_Pals:: @ 0x39BB8C
.incbin "graphics/mon_portraits/swablu_portrait.gbapal"
-
-gAltariaPortrait_Pal:: @ 0x39BBAC
.incbin "graphics/mon_portraits/altaria_portrait.gbapal"
-
-gZangoosePortrait_Pal:: @ 0x39BBCC
.incbin "graphics/mon_portraits/zangoose_portrait.gbapal"
-
-gSeviperPortrait_Pal:: @ 0x39BBEC
.incbin "graphics/mon_portraits/seviper_portrait.gbapal"
-
-gLunatonePortrait_Pal:: @ 0x39BC0C
.incbin "graphics/mon_portraits/lunatone_portrait.gbapal"
-
-gSolrockPortrait_Pal:: @ 0x39BC2C
.incbin "graphics/mon_portraits/solrock_portrait.gbapal"
-
-gBarboachPortrait_Pal:: @ 0x39BC4C
.incbin "graphics/mon_portraits/barboach_portrait.gbapal"
-
-gWhiscashPortrait_Pal:: @ 0x39BC6C
.incbin "graphics/mon_portraits/whiscash_portrait.gbapal"
-
-gCorphishPortrait_Pal:: @ 0x39BC8C
.incbin "graphics/mon_portraits/corphish_portrait.gbapal"
-
-gCrawdauntPortrait_Pal:: @ 0x39BCAC
.incbin "graphics/mon_portraits/crawdaunt_portrait.gbapal"
-
-gBaltoyPortrait_Pal:: @ 0x39BCCC
.incbin "graphics/mon_portraits/baltoy_portrait.gbapal"
-
-gClaydolPortrait_Pal:: @ 0x39BCEC
.incbin "graphics/mon_portraits/claydol_portrait.gbapal"
-
-gLileepPortrait_Pal:: @ 0x39BD0C
.incbin "graphics/mon_portraits/lileep_portrait.gbapal"
-
-gCradilyPortrait_Pal:: @ 0x39BD2C
.incbin "graphics/mon_portraits/cradily_portrait.gbapal"
-
-gAnorithPortrait_Pal:: @ 0x39BD4C
.incbin "graphics/mon_portraits/anorith_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy7:: @ 0x39BD6C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gArmaldoPortrait_Pal:: @ 0x39BD8C
+gMonPortraitsGroup9_Pals:: @ 0x39BD8C
.incbin "graphics/mon_portraits/armaldo_portrait.gbapal"
-
-gIgglybuffPortrait_Pal:: @ 0x39BDAC
.incbin "graphics/mon_portraits/igglybuff_portrait.gbapal"
-
-gJigglypuffPortrait_Pal:: @ 0x39BDCC
.incbin "graphics/mon_portraits/jigglypuff_portrait.gbapal"
-
-gWigglytuffPortrait_Pal:: @ 0x39BDEC
.incbin "graphics/mon_portraits/wigglytuff_portrait.gbapal"
-
-gFeebasPortrait_Pal:: @ 0x39BE0C
.incbin "graphics/mon_portraits/feebas_portrait.gbapal"
-
-gMiloticPortrait_Pal:: @ 0x39BE2C
.incbin "graphics/mon_portraits/milotic_portrait.gbapal"
-
-gCastformPortrait_Pal:: @ 0x39BE4C
.incbin "graphics/mon_portraits/castform_portrait.gbapal"
-
-gStaryuPortrait_Pal:: @ 0x39BE6C
.incbin "graphics/mon_portraits/staryu_portrait.gbapal"
-
-gStarmiePortrait_Pal:: @ 0x39BE8C
.incbin "graphics/mon_portraits/starmie_portrait.gbapal"
-
-gKecleonPortrait_Pal:: @ 0x39BEAC
.incbin "graphics/mon_portraits/kecleon_portrait.gbapal"
-
-gShuppetPortrait_Pal:: @ 0x39BECC
.incbin "graphics/mon_portraits/shuppet_portrait.gbapal"
-
-gBanettePortrait_Pal:: @ 0x39BEEC
.incbin "graphics/mon_portraits/banette_portrait.gbapal"
-
-gDuskullPortrait_Pal:: @ 0x39BF0C
.incbin "graphics/mon_portraits/duskull_portrait.gbapal"
-
-gDusclopsPortrait_Pal:: @ 0x39BF2C
.incbin "graphics/mon_portraits/dusclops_portrait.gbapal"
-
-gTropiusPortrait_Pal:: @ 0x39BF4C
.incbin "graphics/mon_portraits/tropius_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy8:: @ 0x39BF6C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gChimechoPortrait_Pal:: @ 0x39BF8C
+gMonPortraitsGroup10_Pals:: @ 0x39BF8C
.incbin "graphics/mon_portraits/chimecho_portrait.gbapal"
-
-gAbsolPortrait_Pal:: @ 0x39BFAC
.incbin "graphics/mon_portraits/absol_portrait.gbapal"
-
-gVulpixPortrait_Pal:: @ 0x39BFCC
.incbin "graphics/mon_portraits/vulpix_portrait.gbapal"
-
-gNinetalesPortrait_Pal:: @ 0x39BFEC
.incbin "graphics/mon_portraits/ninetales_portrait.gbapal"
-
-gPichuPortrait_Pal:: @ 0x39C00C
.incbin "graphics/mon_portraits/pichu_portrait.gbapal"
-
-gPikachuPortrait_Pal:: @ 0x39C02C
.incbin "graphics/mon_portraits/pikachu_portrait.gbapal"
-
-gRaichuPortrait_Pal:: @ 0x39C04C
.incbin "graphics/mon_portraits/raichu_portrait.gbapal"
-
-gPsyduckPortrait_Pal:: @ 0x39C06C
.incbin "graphics/mon_portraits/psyduck_portrait.gbapal"
-
-gGolduckPortrait_Pal:: @ 0x39C08C
.incbin "graphics/mon_portraits/golduck_portrait.gbapal"
-
-gWynautPortrait_Pal:: @ 0x39C0AC
.incbin "graphics/mon_portraits/wynaut_portrait.gbapal"
-
-gWobbuffetPortrait_Pal:: @ 0x39C0CC
.incbin "graphics/mon_portraits/wobbuffet_portrait.gbapal"
-
-gNatuPortrait_Pal:: @ 0x39C0EC
.incbin "graphics/mon_portraits/natu_portrait.gbapal"
-
-gXatuPortrait_Pal:: @ 0x39C10C
.incbin "graphics/mon_portraits/xatu_portrait.gbapal"
-
-gGirafarigPortrait_Pal:: @ 0x39C12C
.incbin "graphics/mon_portraits/girafarig_portrait.gbapal"
-
-gPhanpyPortrait_Pal:: @ 0x39C14C
.incbin "graphics/mon_portraits/phanpy_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy9:: @ 0x39C16C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gDonphanPortrait_Pal:: @ 0x39C18C
+gMonPortraitsGroup11_Pals:: @ 0x39C18C
.incbin "graphics/mon_portraits/donphan_portrait.gbapal"
-
-gPinsirPortrait_Pal:: @ 0x39C1AC
.incbin "graphics/mon_portraits/pinsir_portrait.gbapal"
-
-gHeracrossPortrait_Pal:: @ 0x39C1CC
.incbin "graphics/mon_portraits/heracross_portrait.gbapal"
-
-gRhyhornPortrait_Pal:: @ 0x39C1EC
.incbin "graphics/mon_portraits/rhyhorn_portrait.gbapal"
-
-gRhydonPortrait_Pal:: @ 0x39C20C
.incbin "graphics/mon_portraits/rhydon_portrait.gbapal"
-
-gSnoruntPortrait_Pal:: @ 0x39C22C
.incbin "graphics/mon_portraits/snorunt_portrait.gbapal"
-
-gGlaliePortrait_Pal:: @ 0x39C24C
.incbin "graphics/mon_portraits/glalie_portrait.gbapal"
-
-gSphealPortrait_Pal:: @ 0x39C26C
.incbin "graphics/mon_portraits/spheal_portrait.gbapal"
-
-gSealeoPortrait_Pal:: @ 0x39C28C
.incbin "graphics/mon_portraits/sealeo_portrait.gbapal"
-
-gWalreinPortrait_Pal:: @ 0x39C2AC
.incbin "graphics/mon_portraits/walrein_portrait.gbapal"
-
-gClamperlPortrait_Pal:: @ 0x39C2CC
.incbin "graphics/mon_portraits/clamperl_portrait.gbapal"
-
-gHuntailPortrait_Pal:: @ 0x39C2EC
.incbin "graphics/mon_portraits/huntail_portrait.gbapal"
-
-gGorebyssPortrait_Pal:: @ 0x39C30C
.incbin "graphics/mon_portraits/gorebyss_portrait.gbapal"
-
-gRelicanthPortrait_Pal:: @ 0x39C32C
.incbin "graphics/mon_portraits/relicanth_portrait.gbapal"
-
-gCorsolaPortrait_Pal:: @ 0x39C34C
.incbin "graphics/mon_portraits/corsola_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy10:: @ 0x39C36C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gChinchouPortrait_Pal:: @ 0x39C38C
+gMonPortraitsGroup12_Pals:: @ 0x39C38C
.incbin "graphics/mon_portraits/chinchou_portrait.gbapal"
-
-gLanturnPortrait_Pal:: @ 0x39C3AC
.incbin "graphics/mon_portraits/lanturn_portrait.gbapal"
-
-gLuvdiscPortrait_Pal:: @ 0x39C3CC
.incbin "graphics/mon_portraits/luvdisc_portrait.gbapal"
-
-gHorseaPortrait_Pal:: @ 0x39C3EC
.incbin "graphics/mon_portraits/horsea_portrait.gbapal"
-
-gSeadraPortrait_Pal:: @ 0x39C40C
.incbin "graphics/mon_portraits/seadra_portrait.gbapal"
-
-gKingdraPortrait_Pal:: @ 0x39C42C
.incbin "graphics/mon_portraits/kingdra_portrait.gbapal"
-
-gBagonPortrait_Pal:: @ 0x39C44C
.incbin "graphics/mon_portraits/bagon_portrait.gbapal"
-
-gShelgonPortrait_Pal:: @ 0x39C46C
.incbin "graphics/mon_portraits/shelgon_portrait.gbapal"
-
-gSalamencePortrait_Pal:: @ 0x39C48C
.incbin "graphics/mon_portraits/salamence_portrait.gbapal"
-
-gBeldumPortrait_Pal:: @ 0x39C4AC
.incbin "graphics/mon_portraits/beldum_portrait.gbapal"
-
-gMetangPortrait_Pal:: @ 0x39C4CC
.incbin "graphics/mon_portraits/metang_portrait.gbapal"
-
-gMetagrossPortrait_Pal:: @ 0x39C4EC
.incbin "graphics/mon_portraits/metagross_portrait.gbapal"
-
-gRegirockPortrait_Pal:: @ 0x39C50C
.incbin "graphics/mon_portraits/regirock_portrait.gbapal"
-
-gRegicePortrait_Pal:: @ 0x39C52C
.incbin "graphics/mon_portraits/regice_portrait.gbapal"
-
-gRegisteelPortrait_Pal:: @ 0x39C54C
.incbin "graphics/mon_portraits/registeel_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy11:: @ 0x39C56C
.incbin "graphics/mon_portraits/silhouette.gbapal"
-gLatiasPortrait_Pal:: @ 0x39C58C
+gMonPortraitsGroup13_Pals:: @ 0x39C58C
.incbin "graphics/mon_portraits/latias_portrait.gbapal"
-
-gLatiosPortrait_Pal:: @ 0x39C5AC
.incbin "graphics/mon_portraits/latios_portrait.gbapal"
-
-gKyogrePortrait_Pal:: @ 0x39C5CC
.incbin "graphics/mon_portraits/kyogre_portrait.gbapal"
-
-gGroudonPortrait_Pal:: @ 0x39C5EC
.incbin "graphics/mon_portraits/groudon_portrait.gbapal"
-
-gRayquazaPortrait_Pal:: @ 0x39C60C
.incbin "graphics/mon_portraits/rayquaza_portrait.gbapal"
-
-gJirachiPortrait_Pal:: @ 0x39C62C
.incbin "graphics/mon_portraits/jirachi_portrait.gbapal"
-
-gChikoritaPortrait_Pal:: @ 0x39C64C
.incbin "graphics/mon_portraits/chikorita_portrait.gbapal"
-
-gCyndaquilPortrait_Pal:: @ 0x39C66C
.incbin "graphics/mon_portraits/cyndaquil_portrait.gbapal"
-
-gTotodilePortrait_Pal:: @ 0x39C68C
.incbin "graphics/mon_portraits/totodile_portrait.gbapal"
-
-gAerodactylPortrait_Pal:: @ 0x39C6AC
.incbin "graphics/mon_portraits/aerodactyl_portrait.gbapal"
-
-gQuestionMarkPortrait_Pal:: @ 0x39C6CC
.incbin "graphics/mon_portraits/question_mark_portrait.gbapal"
-
-gPlaceholder207Portrait_Pal:: @ 0x39C6EC
.incbin "graphics/mon_portraits/207_portrait.gbapal"
-
-gPlaceholder208Portrait_Pal:: @ 0x39C70C
.incbin "graphics/mon_portraits/208_portrait.gbapal"
-
-gPlaceholder209Portrait_Pal:: @ 0x39C72C
.incbin "graphics/mon_portraits/209_portrait.gbapal"
-
-gPlaceholder210Portrait_Pal:: @ 0x39C74C
.incbin "graphics/mon_portraits/210_portrait.gbapal"
-
-gSilhouettePortrait_Pal_Copy12:: @ 0x39C76C
.incbin "graphics/mon_portraits/silhouette.gbapal"
diff --git a/data/rom.s b/data/rom.s
index e58b3e4..6d0b4c4 100755
--- a/data/rom.s
+++ b/data/rom.s
@@ -10,14 +10,76 @@ gIntroCopyright_Gfx:: @ 0x0807A0C0
gIntroCopyright_Pal:: @ 0x0807A8E0
.incbin "graphics/intro/copyright.gbapal"
-.incbin "baserom.gba", 0x7AAE0, 0x39AB8C - 0x7AAE0
+.incbin "baserom.gba", 0x7AAE0, 0x1444F4 - 0x7AAE0
+
+.include "data/graphics/mon_hatch_sprites_pals.inc"
+
+.incbin "baserom.gba", 0x1450F4, 0x39AB8C - 0x1450F4
.include "data/graphics/mon_portraits_pals.inc"
-.incbin "baserom.gba", 0x39C78C, 0x4C596C - 0x39C78C
+.incbin "baserom.gba", 0x39C78C, 0x3C8B6C - 0x39C78C
+
+.include "data/graphics/mon_hatch_sprites.inc"
+
+.incbin "baserom.gba", 0x3EB84C, 0x4C596C - 0x3EB84C
.include "data/graphics/mon_portraits.inc"
-.incbin "baserom.gba", 0x4ECF6C, 0x6BBFD0 - 0x4ECF6C
+.incbin "baserom.gba", 0x4ECF6C, 0x6B159C - 0x4ECF6C
+
+gMonHatchSpriteGroupPals:: @ 0x086B159C
+ .4byte gMonHatchSpriteGroup0_Pals
+ .4byte gMonHatchSpriteGroup1_Pals
+ .4byte gMonHatchSpriteGroup2_Pals
+ .4byte gMonHatchSpriteGroup3_Pals
+ .4byte gMonHatchSpriteGroup4_Pals
+ .4byte gMonHatchSpriteGroup5_Pals
+
+.incbin "baserom.gba", 0x6B15B4, 0x6BB6A4 - 0x6B15B4
+
+gMonPortraitGroupPals:: @ 0x086BB6A4
+ .4byte gMonPortraitsGroup0_Pals
+ .4byte gMonPortraitsGroup1_Pals
+ .4byte gMonPortraitsGroup2_Pals
+ .4byte gMonPortraitsGroup3_Pals
+ .4byte gMonPortraitsGroup4_Pals
+ .4byte gMonPortraitsGroup5_Pals
+ .4byte gMonPortraitsGroup6_Pals
+ .4byte gMonPortraitsGroup7_Pals
+ .4byte gMonPortraitsGroup8_Pals
+ .4byte gMonPortraitsGroup9_Pals
+ .4byte gMonPortraitsGroup10_Pals
+ .4byte gMonPortraitsGroup11_Pals
+ .4byte gMonPortraitsGroup12_Pals
+ .4byte gMonPortraitsGroup13_Pals
+
+gMonHatchSpriteGroupGfx:: @ 0x086BB6DC
+ .4byte gMonHatchSpriteGroup0_Gfx
+ .4byte gMonHatchSpriteGroup1_Gfx
+ .4byte gMonHatchSpriteGroup2_Gfx
+ .4byte gMonHatchSpriteGroup3_Gfx
+ .4byte gMonHatchSpriteGroup4_Gfx
+ .4byte gMonHatchSpriteGroup5_Gfx
+
+.incbin "baserom.gba", 0x6BB6F4, 0x6BB738 - 0x6BB6F4
+
+gMonPortraitGroupGfx:: @ 0x086BB738
+ .4byte gMonPortraitsGroup0_Gfx
+ .4byte gMonPortraitsGroup1_Gfx
+ .4byte gMonPortraitsGroup2_Gfx
+ .4byte gMonPortraitsGroup3_Gfx
+ .4byte gMonPortraitsGroup4_Gfx
+ .4byte gMonPortraitsGroup5_Gfx
+ .4byte gMonPortraitsGroup6_Gfx
+ .4byte gMonPortraitsGroup7_Gfx
+ .4byte gMonPortraitsGroup8_Gfx
+ .4byte gMonPortraitsGroup9_Gfx
+ .4byte gMonPortraitsGroup10_Gfx
+ .4byte gMonPortraitsGroup11_Gfx
+ .4byte gMonPortraitsGroup12_Gfx
+ .4byte gMonPortraitsGroup13_Gfx
+
+.incbin "baserom.gba", 0x6BB770, 0x6BBFD0 - 0x6BB770
@ rom end 0x6BBFD0
diff --git a/graphics/mon_hatch_sprites/aron_hatch.png b/graphics/mon_hatch_sprites/aron_hatch.png
new file mode 100644
index 0000000..0766ea8
--- /dev/null
+++ b/graphics/mon_hatch_sprites/aron_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/azurill_hatch.png b/graphics/mon_hatch_sprites/azurill_hatch.png
new file mode 100644
index 0000000..d9dc9f6
--- /dev/null
+++ b/graphics/mon_hatch_sprites/azurill_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/bagon_hatch.png b/graphics/mon_hatch_sprites/bagon_hatch.png
new file mode 100644
index 0000000..347bfab
--- /dev/null
+++ b/graphics/mon_hatch_sprites/bagon_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/chimecho_hatch.png b/graphics/mon_hatch_sprites/chimecho_hatch.png
new file mode 100644
index 0000000..33865af
--- /dev/null
+++ b/graphics/mon_hatch_sprites/chimecho_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/chinchou_hatch.png b/graphics/mon_hatch_sprites/chinchou_hatch.png
new file mode 100644
index 0000000..fe69711
--- /dev/null
+++ b/graphics/mon_hatch_sprites/chinchou_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/corsola_hatch.png b/graphics/mon_hatch_sprites/corsola_hatch.png
new file mode 100644
index 0000000..caaa738
--- /dev/null
+++ b/graphics/mon_hatch_sprites/corsola_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/gulpin_hatch.png b/graphics/mon_hatch_sprites/gulpin_hatch.png
new file mode 100644
index 0000000..911ae49
--- /dev/null
+++ b/graphics/mon_hatch_sprites/gulpin_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/horsea_hatch.png b/graphics/mon_hatch_sprites/horsea_hatch.png
new file mode 100644
index 0000000..59e3083
--- /dev/null
+++ b/graphics/mon_hatch_sprites/horsea_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/igglybuff_hatch.png b/graphics/mon_hatch_sprites/igglybuff_hatch.png
new file mode 100644
index 0000000..f0ae71e
--- /dev/null
+++ b/graphics/mon_hatch_sprites/igglybuff_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/lotad_hatch.png b/graphics/mon_hatch_sprites/lotad_hatch.png
new file mode 100644
index 0000000..2f92de0
--- /dev/null
+++ b/graphics/mon_hatch_sprites/lotad_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/minun_hatch.png b/graphics/mon_hatch_sprites/minun_hatch.png
new file mode 100644
index 0000000..ab0acba
--- /dev/null
+++ b/graphics/mon_hatch_sprites/minun_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/natu_hatch.png b/graphics/mon_hatch_sprites/natu_hatch.png
new file mode 100644
index 0000000..68aa520
--- /dev/null
+++ b/graphics/mon_hatch_sprites/natu_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/oddish_hatch.png b/graphics/mon_hatch_sprites/oddish_hatch.png
new file mode 100644
index 0000000..e5296b5
--- /dev/null
+++ b/graphics/mon_hatch_sprites/oddish_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/phanpy_hatch.png b/graphics/mon_hatch_sprites/phanpy_hatch.png
new file mode 100644
index 0000000..5913edc
--- /dev/null
+++ b/graphics/mon_hatch_sprites/phanpy_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/pichu_2_hatch.png b/graphics/mon_hatch_sprites/pichu_2_hatch.png
new file mode 100644
index 0000000..b186ad3
--- /dev/null
+++ b/graphics/mon_hatch_sprites/pichu_2_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/pichu_hatch.png b/graphics/mon_hatch_sprites/pichu_hatch.png
new file mode 100644
index 0000000..c6d2534
--- /dev/null
+++ b/graphics/mon_hatch_sprites/pichu_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/plusle_hatch.png b/graphics/mon_hatch_sprites/plusle_hatch.png
new file mode 100644
index 0000000..c5715c8
--- /dev/null
+++ b/graphics/mon_hatch_sprites/plusle_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/ralts_hatch.png b/graphics/mon_hatch_sprites/ralts_hatch.png
new file mode 100644
index 0000000..3437560
--- /dev/null
+++ b/graphics/mon_hatch_sprites/ralts_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/sandshrew_hatch.png b/graphics/mon_hatch_sprites/sandshrew_hatch.png
new file mode 100644
index 0000000..ce1d2dd
--- /dev/null
+++ b/graphics/mon_hatch_sprites/sandshrew_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/seedot_hatch.png b/graphics/mon_hatch_sprites/seedot_hatch.png
new file mode 100644
index 0000000..427e28b
--- /dev/null
+++ b/graphics/mon_hatch_sprites/seedot_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/shroomish_hatch.png b/graphics/mon_hatch_sprites/shroomish_hatch.png
new file mode 100644
index 0000000..ca75b32
--- /dev/null
+++ b/graphics/mon_hatch_sprites/shroomish_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/shuppet_hatch.png b/graphics/mon_hatch_sprites/shuppet_hatch.png
new file mode 100644
index 0000000..eb595ae
--- /dev/null
+++ b/graphics/mon_hatch_sprites/shuppet_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/skitty_hatch.png b/graphics/mon_hatch_sprites/skitty_hatch.png
new file mode 100644
index 0000000..9f4b5ad
--- /dev/null
+++ b/graphics/mon_hatch_sprites/skitty_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/snorunt_hatch.png b/graphics/mon_hatch_sprites/snorunt_hatch.png
new file mode 100644
index 0000000..3bf5bef
--- /dev/null
+++ b/graphics/mon_hatch_sprites/snorunt_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/spheal_hatch.png b/graphics/mon_hatch_sprites/spheal_hatch.png
new file mode 100644
index 0000000..d88a29d
--- /dev/null
+++ b/graphics/mon_hatch_sprites/spheal_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/spinda_hatch.png b/graphics/mon_hatch_sprites/spinda_hatch.png
new file mode 100644
index 0000000..63de4b8
--- /dev/null
+++ b/graphics/mon_hatch_sprites/spinda_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/spoink_hatch.png b/graphics/mon_hatch_sprites/spoink_hatch.png
new file mode 100644
index 0000000..64ab79c
--- /dev/null
+++ b/graphics/mon_hatch_sprites/spoink_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/surskit_hatch.png b/graphics/mon_hatch_sprites/surskit_hatch.png
new file mode 100644
index 0000000..fbf7c0e
--- /dev/null
+++ b/graphics/mon_hatch_sprites/surskit_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/trapinch_hatch.png b/graphics/mon_hatch_sprites/trapinch_hatch.png
new file mode 100644
index 0000000..635d93d
--- /dev/null
+++ b/graphics/mon_hatch_sprites/trapinch_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/whismur_hatch.png b/graphics/mon_hatch_sprites/whismur_hatch.png
new file mode 100644
index 0000000..fb5363f
--- /dev/null
+++ b/graphics/mon_hatch_sprites/whismur_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/wurmple_hatch.png b/graphics/mon_hatch_sprites/wurmple_hatch.png
new file mode 100644
index 0000000..bfb5181
--- /dev/null
+++ b/graphics/mon_hatch_sprites/wurmple_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/wynaut_hatch.png b/graphics/mon_hatch_sprites/wynaut_hatch.png
new file mode 100644
index 0000000..71e7215
--- /dev/null
+++ b/graphics/mon_hatch_sprites/wynaut_hatch.png
Binary files differ
diff --git a/graphics/mon_hatch_sprites/zubat_hatch.png b/graphics/mon_hatch_sprites/zubat_hatch.png
new file mode 100644
index 0000000..e9947c7
--- /dev/null
+++ b/graphics/mon_hatch_sprites/zubat_hatch.png
Binary files differ
diff --git a/graphics_rules.mk b/graphics_rules.mk
index 5b6055c..0fe7dbc 100755
--- a/graphics_rules.mk
+++ b/graphics_rules.mk
@@ -1,4 +1,8 @@
MON_PORTRAITS_DIR := graphics/mon_portraits
+MON_HATCH_SPRITES_DIR := graphics/mon_hatch_sprites
$(MON_PORTRAITS_DIR)/%.4bpp: $(MON_PORTRAITS_DIR)/%.png
$(GFX) $< $@ -mwidth 2 -mheight 2
+
+$(MON_HATCH_SPRITES_DIR)/%.4bpp: $(MON_HATCH_SPRITES_DIR)/%.png
+ $(GFX) $< $@ -pinball-hatch-sprite
diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c
index f927dee..04ee19c 100755
--- a/tools/gbagfx/gfx.c
+++ b/tools/gbagfx/gfx.c
@@ -35,6 +35,32 @@ static void AdvanceMetatilePosition(int *subTileX, int *subTileY, int *metatileX
}
}
+static void AdvancePinballHatchSpriteMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide)
+{
+ int subTileCoords[9][2] = {
+ {1, 0},
+ {0, 1},
+ {2, 1},
+ {1, 1},
+ {2, 0},
+ {0, 2},
+ {1, 2},
+ {2, 2},
+ {0, 0},
+ };
+
+ int tileIndex = *subTileX + (*subTileY) * 3;
+ *subTileX = subTileCoords[tileIndex][0];
+ *subTileY = subTileCoords[tileIndex][1];
+ if (tileIndex == 8) {
+ (*metatileX)++;
+ if (*metatileX == metatilesWide) {
+ *metatileX = 0;
+ (*metatileY)++;
+ }
+ }
+}
+
static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors)
{
int subTileX = 0;
@@ -61,7 +87,7 @@ static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int nu
}
}
-static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors)
+static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool pinballHatchSprite, bool invertColors)
{
int subTileX = 0;
int subTileY = 0;
@@ -88,7 +114,11 @@ static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int nu
}
}
- AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight);
+ if (pinballHatchSprite) {
+ AdvancePinballHatchSpriteMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide);
+ } else {
+ AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight);
+ }
}
}
@@ -145,7 +175,7 @@ static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numT
}
}
-static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors)
+static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool pinballHatchSprite, bool invertColors)
{
int subTileX = 0;
int subTileY = 0;
@@ -172,7 +202,11 @@ static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numT
}
}
- AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight);
+ if (pinballHatchSprite) {
+ AdvancePinballHatchSpriteMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide);
+ } else {
+ AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight);
+ }
}
}
@@ -203,7 +237,7 @@ static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numT
}
}
-void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors)
+void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors)
{
int tileSize = bitDepth * 8;
@@ -235,7 +269,7 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int
ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
break;
case 4:
- ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
+ ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, pinballHatchSprite, invertColors);
break;
case 8:
ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
@@ -245,7 +279,7 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int
free(buffer);
}
-void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors)
+void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors)
{
int tileSize = bitDepth * 8;
@@ -284,7 +318,7 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m
ConvertToTiles1Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
break;
case 4:
- ConvertToTiles4Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
+ ConvertToTiles4Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, pinballHatchSprite, invertColors);
break;
case 8:
ConvertToTiles8Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors);
diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h
index 5355ced..4c9f546 100755
--- a/tools/gbagfx/gfx.h
+++ b/tools/gbagfx/gfx.h
@@ -27,8 +27,8 @@ struct Image {
bool hasTransparency;
};
-void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
-void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
+void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors);
+void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors);
void FreeImage(struct Image *image);
void ReadGbaPalette(char *path, struct Palette *palette);
void WriteGbaPalette(char *path, struct Palette *palette);
diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c
index 86b0afa..d6550ad 100755
--- a/tools/gbagfx/main.c
+++ b/tools/gbagfx/main.c
@@ -34,7 +34,7 @@ void ConvertGbaToPng(char *inputPath, char *outputPath, struct GbaToPngOptions *
image.hasPalette = false;
}
- ReadImage(inputPath, options->width, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette);
+ ReadImage(inputPath, options->width, options->bitDepth, options->metatileWidth, options->metatileHeight, options->pinballHatchSprite, &image, !image.hasPalette);
image.hasTransparency = options->hasTransparency;
@@ -51,7 +51,7 @@ void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions *
ReadPng(inputPath, &image);
- WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette);
+ WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, options->pinballHatchSprite, &image, !image.hasPalette);
FreeImage(&image);
}
@@ -66,6 +66,7 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a
options.width = 1;
options.metatileWidth = 1;
options.metatileHeight = 1;
+ options.pinballHatchSprite = 0;
for (int i = 3; i < argc; i++)
{
@@ -123,15 +124,36 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a
if (options.metatileHeight < 1)
FATAL_ERROR("metatile height must be positive.\n");
}
+ else if (strcmp(option, "-pinball-hatch-sprite") == 0) {
+ options.pinballHatchSprite = 1;
+ }
else
{
FATAL_ERROR("Unrecognized option \"%s\".\n", option);
}
}
+ if (options.pinballHatchSprite) {
+ if (options.metatileWidth != 1 || options.metatileHeight != 1) {
+ FATAL_ERROR("Cannot specify metatile dimensions for pinball hatch sprites.\n");
+ }
+
+ if (options.width == 1) {
+ options.width = 3;
+ }
+
+ if (options.width % 3 != 0) {
+ FATAL_ERROR("Pinball hatch sprite width must be a multiple of 3.");
+ }
+
+ options.metatileWidth = 3;
+ options.metatileHeight = 3;
+ }
+
if (options.metatileWidth > options.width)
options.width = options.metatileWidth;
+
ConvertGbaToPng(inputPath, outputPath, &options);
}
@@ -144,11 +166,11 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a
options.bitDepth = bitDepth;
options.metatileWidth = 1;
options.metatileHeight = 1;
+ options.pinballHatchSprite = 0;
for (int i = 3; i < argc; i++)
{
char *option = argv[i];
-
if (strcmp(option, "-num_tiles") == 0)
{
if (i + 1 >= argc)
@@ -188,12 +210,24 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a
if (options.metatileHeight < 1)
FATAL_ERROR("metatile height must be positive.\n");
}
+ else if (strcmp(option, "-pinball-hatch-sprite") == 0) {
+ options.pinballHatchSprite = 1;
+ }
else
{
FATAL_ERROR("Unrecognized option \"%s\".\n", option);
}
}
+ if (options.pinballHatchSprite) {
+ if (options.metatileWidth != 1 || options.metatileHeight != 1) {
+ FATAL_ERROR("Cannot specify metatile dimensions for pinball hatch sprites.\n");
+ }
+
+ options.metatileWidth = 3;
+ options.metatileHeight = 3;
+ }
+
ConvertPngToGba(inputPath, outputPath, &options);
}
diff --git a/tools/gbagfx/options.h b/tools/gbagfx/options.h
index 2ff3967..b4738cd 100755
--- a/tools/gbagfx/options.h
+++ b/tools/gbagfx/options.h
@@ -12,6 +12,7 @@ struct GbaToPngOptions {
int width;
int metatileWidth;
int metatileHeight;
+ bool pinballHatchSprite;
};
struct PngToGbaOptions {
@@ -19,6 +20,7 @@ struct PngToGbaOptions {
int bitDepth;
int metatileWidth;
int metatileHeight;
+ bool pinballHatchSprite;
};
#endif // OPTIONS_H