summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-01-24 03:44:21 -0800
committerYamaArashi <shadow962@live.com>2016-01-24 03:44:21 -0800
commit64814e13245d6439063a8eff85ac692394c673ee (patch)
treeaf6e43a2063d425b7c1e9bebd237c21b21d42d1f
parentaa3cafe9ba2bb30b273eec0bb3362ab17604a82e (diff)
pokemon graphics data and makefile
-rw-r--r--Makefile85
-rw-r--r--asm/rom.s138
-rw-r--r--data/data2.s78
-rw-r--r--data/graphics/pokemon/back_pic_table.s443
-rw-r--r--data/graphics/pokemon/circled_question_mark_graphics.s19
-rw-r--r--data/graphics/pokemon/footprint_table.s416
-rw-r--r--data/graphics/pokemon/front_pic_table.s443
-rw-r--r--data/graphics/pokemon/graphics.s12014
-rw-r--r--data/graphics/pokemon/icon_palette_indices.s443
-rw-r--r--data/graphics/pokemon/icon_palette_table.s12
-rw-r--r--data/graphics/pokemon/icon_table.s443
-rw-r--r--data/graphics/pokemon/palette_table.s443
-rw-r--r--data/graphics/pokemon/shiny_palette_table.s443
-rw-r--r--fix_local_labels.pl28
-rw-r--r--graphics_file_rules.mk25
-rw-r--r--rom.sha11
-rw-r--r--tools/gbagfx/.gitignore1
-rw-r--r--tools/gbagfx/LICENSE19
-rw-r--r--tools/gbagfx/Makefile15
-rw-r--r--tools/gbagfx/convert_png.c169
-rw-r--r--tools/gbagfx/convert_png.h11
-rw-r--r--tools/gbagfx/font.c326
-rw-r--r--tools/gbagfx/font.h16
-rw-r--r--tools/gbagfx/gfx.c329
-rw-r--r--tools/gbagfx/gfx.h36
-rw-r--r--tools/gbagfx/global.h31
-rw-r--r--tools/gbagfx/jasc_pal.c164
-rw-r--r--tools/gbagfx/jasc_pal.h9
-rw-r--r--tools/gbagfx/lz.c143
-rw-r--r--tools/gbagfx/lz.h9
-rw-r--r--tools/gbagfx/main.c307
-rw-r--r--tools/gbagfx/util.c98
-rw-r--r--tools/gbagfx/util.h13
-rw-r--r--tools/scaninc/.gitignore1
-rw-r--r--tools/scaninc/LICENSE19
-rw-r--r--tools/scaninc/Makefile13
-rw-r--r--tools/scaninc/scaninc.cpp320
37 files changed, 17428 insertions, 95 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..4f367ddc7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,85 @@
+AS := pokeas
+ASFLAGS := -mcpu=arm7tdmi
+
+CC := gbacc
+CFLAGS := -mthumb-interwork -O2 -Iinclude
+
+SHA1 := sha1sum -c
+
+GFX := @tools/gbagfx/gbagfx
+
+SCANINC := tools/scaninc/scaninc
+
+# Clear the default suffixes.
+.SUFFIXES:
+
+# Secondary expansion is required for dependency variables in object rules.
+.SECONDEXPANSION:
+
+.PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz
+
+.PHONY: rom tools gbagfx scaninc clean compare deps
+
+CSRCS := $(wildcard src/*.c)
+OBJS := asm/rom.o
+
+$(foreach obj, $(OBJS), \
+ $(eval $(obj)_deps := $(shell $(SCANINC) $(obj:.o=.s))) \
+)
+
+ROM := pokeruby.gba
+ELF := $(ROM:.gba=.elf)
+
+rom: $(ROM)
+
+tools: gbagfx scaninc
+
+gbagfx:
+ cd tools/gbagfx && make
+
+scaninc:
+ cd tools/scaninc && make
+
+# For contributors to make sure a change didn't affect the contents of the ROM.
+compare: $(ROM)
+ @$(SHA1) rom.sha1
+
+clean:
+ $(RM) $(ROM) $(ELF) $(OBJS)
+ $(RM) genasm/*
+ find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
+
+include graphics_file_rules.mk
+
+%.png: ;
+%.pal: ;
+%.1bpp: %.png ; $(GFX) $< $@
+%.4bpp: %.png ; $(GFX) $< $@
+%.8bpp: %.png ; $(GFX) $< $@
+%.gbapal: %.pal ; $(GFX) $< $@
+%.lz: % ; $(GFX) $< $@
+
+$(OBJS): $(CSRCS:src/%.c=genasm/%.s)
+
+# TODO: fix this .syntax hack
+
+genasm/prefix.tmp:
+ echo -e "\t.syntax divided" >$@
+
+genasm/suffix.tmp:
+ echo -e "\t.syntax unified" >$@
+
+genasm/%.s: src/%.c genasm/prefix.tmp genasm/suffix.tmp
+ mkdir -p genasm
+ $(CC) $(CFLAGS) -o $@.tmp $< -S
+ cat genasm/prefix.tmp $@.tmp genasm/suffix.tmp >$@.tmp2
+ perl fix_local_labels.pl $@.tmp2 $@
+ $(RM) $@.tmp $@.tmp2
+
+%.o: %.s $$($$@_deps)
+ $(AS) $(ASFLAGS) -o $@ $<
+
+# Link objects to produce the ROM.
+$(ROM): $(OBJS)
+ ./pokeld -T ld_script.txt -T wram_syms.txt -o $(ELF) $(OBJS)
+ ./pokeobjcopy -O binary $(ELF) $(ROM)
diff --git a/asm/rom.s b/asm/rom.s
index 9dcb74e06..da71ebbca 100644
--- a/asm/rom.s
+++ b/asm/rom.s
@@ -23655,10 +23655,10 @@ sub_800B25C: ; 800B25C
pop {r1}
bx r1
.align 2
-_0800B2B8: .4byte gUnknown_081E8E44
+_0800B2B8: .4byte gMonFrontPicTable + 0xAF0
_0800B2BC: .4byte gUnknown_081E7C74
_0800B2C0: .4byte gUnknown_081FAF4C
-_0800B2C4: .4byte gUnknown_081EB0A4
+_0800B2C4: .4byte gMonPaletteTable + 0xAF0
_0800B2C8: .4byte 0x02024e8c
thumb_func_end sub_800B25C
@@ -27933,7 +27933,7 @@ DecompressPicFromTable_2: ; 800D308
bl LZ77UnCompWram
b _0800D330
.align 2
-_0800D324: .4byte gUnknown_081E8354
+_0800D324: .4byte gMonFrontPicTable
_0800D328:
ldr r0, [r2]
adds r1, r3, 0
@@ -28034,7 +28034,7 @@ _0800D3CA:
ldr r0, [r1]
b _0800D3F8
.align 2
-_0800D3D8: .4byte gUnknown_081E97F4
+_0800D3D8: .4byte gMonBackPicTable
_0800D3DC:
ldr r0, _0800D3E8
lsls r1, 3
@@ -28042,7 +28042,7 @@ _0800D3DC:
ldr r0, [r1]
b _0800D3F8
.align 2
-_0800D3E8: .4byte gUnknown_081E8354
+_0800D3E8: .4byte gMonFrontPicTable
_0800D3EC:
movs r0, 0xCE
lsls r0, 1
@@ -28055,7 +28055,7 @@ _0800D3F8:
bl LZ77UnCompWram
b _0800D40C
.align 2
-_0800D400: .4byte gUnknown_081E8354
+_0800D400: .4byte gMonFrontPicTable
_0800D404:
ldr r0, [r1]
adds r1, r5, 0
@@ -99463,7 +99463,7 @@ _080317DC:
b _08031856
.align 2
_08031838: .4byte 0x02024e70
-_0803183C: .4byte gUnknown_081E8354
+_0803183C: .4byte gMonFrontPicTable
_08031840: .4byte gUnknown_081E7C74
_08031844: .4byte gUnknown_081FAF4C
_08031848: .4byte 0x02017800
@@ -99627,7 +99627,7 @@ _08031944:
b _080319BE
.align 2
_080319A0: .4byte 0x02024e70
-_080319A4: .4byte gUnknown_081E97F4
+_080319A4: .4byte gMonBackPicTable
_080319A8: .4byte gUnknown_081E9114
_080319AC: .4byte gUnknown_081FAF4C
_080319B0: .4byte 0x02017800
@@ -100516,7 +100516,7 @@ _08032088:
b _08032184
.align 2
_080320C0: .4byte 0x02019348
-_080320C4: .4byte gUnknown_081E97F4
+_080320C4: .4byte gMonBackPicTable
_080320C8: .4byte gUnknown_081E9114
_080320CC: .4byte gUnknown_081FAF4C
_080320D0:
@@ -100612,7 +100612,7 @@ _08032184:
.align 2
_0803218C: .4byte 0x02024a6a
_08032190: .4byte 0x03004360
-_08032194: .4byte gUnknown_081E97F4
+_08032194: .4byte gMonBackPicTable
_08032198: .4byte gUnknown_081E9114
_0803219C: .4byte gUnknown_081FAF4C
_080321A0: .4byte 0x02024e70
@@ -100788,7 +100788,7 @@ _080322F6:
.align 2
_08032308: .4byte 0x02024a6a
_0803230C: .4byte 0x030045c0
-_08032310: .4byte gUnknown_081E8354
+_08032310: .4byte gMonFrontPicTable
_08032314: .4byte gUnknown_081E7C74
_08032318: .4byte gUnknown_081FAF4C
_0803231C: .4byte 0x02024e70
@@ -129766,7 +129766,7 @@ species_and_otid_get_pal: ; 804093C
ldr r0, [r0]
b _08040984
.align 2
-_08040954: .4byte gUnknown_081EA5B4
+_08040954: .4byte gMonPaletteTable
_08040958:
lsrs r0, r1, 16
ldr r2, _08040974
@@ -129783,7 +129783,7 @@ _08040958:
b _08040980
.align 2
_08040974: .4byte 0x0000ffff
-_08040978: .4byte gUnknown_081EA5B4
+_08040978: .4byte gMonPaletteTable
_0804097C:
ldr r0, _0804098C
lsls r1, r5, 3
@@ -129795,7 +129795,7 @@ _08040984:
pop {r1}
bx r1
.align 2
-_0804098C: .4byte gUnknown_081EB374
+_0804098C: .4byte gMonShinyPaletteTable
thumb_func_end species_and_otid_get_pal
thumb_func_start sub_8040990
@@ -129846,7 +129846,7 @@ sub_80409C8: ; 80409C8
b _080409F4
.align 2
_080409E8: .4byte 0x0000ffff
-_080409EC: .4byte gUnknown_081EA5B4
+_080409EC: .4byte gMonPaletteTable
_080409F0:
lsls r0, r4, 3
ldr r1, _080409FC
@@ -129856,7 +129856,7 @@ _080409F4:
pop {r1}
bx r1
.align 2
-_080409FC: .4byte gUnknown_081EB374
+_080409FC: .4byte gMonShinyPaletteTable
thumb_func_end sub_80409C8
thumb_func_start sub_8040A00
@@ -134363,7 +134363,7 @@ _08042BB4:
bl LoadCompressedObjectPalette
b _08042C50
.align 2
-_08042C04: .4byte gUnknown_081E8354
+_08042C04: .4byte gMonFrontPicTable
_08042C08: .4byte gUnknown_081E7C74
_08042C0C: .4byte 0x02000000
_08042C10: .4byte gUnknown_081FAF4C
@@ -151464,7 +151464,7 @@ _0804B330:
strh r5, [r0]
b _0804B3FA
.align 2
-_0804B390: .4byte gUnknown_081E8354
+_0804B390: .4byte gMonFrontPicTable
_0804B394: .4byte gUnknown_081E7C74
_0804B398: .4byte 0x02000000
_0804B39C: .4byte gUnknown_081FAF4C
@@ -250864,7 +250864,7 @@ sub_8079F44: ; 8079F44
.align 2
_08079FE0: .4byte gUnknown_0837F5E0
_08079FE4: .4byte gUnknown_0837F5B0
-_08079FE8: .4byte gUnknown_081E8354
+_08079FE8: .4byte gMonFrontPicTable
_08079FEC: .4byte gUnknown_081E7C74
_08079FF0:
adds r0, r6, 0
@@ -250926,7 +250926,7 @@ _0807A02E:
adds r2, r4
b _0807A09E
.align 2
-_0807A068: .4byte gUnknown_081E97F4
+_0807A068: .4byte gMonBackPicTable
_0807A06C: .4byte gUnknown_081E9114
_0807A070: .4byte 0x06010000
_0807A074: .4byte 0x040000d4
@@ -275246,10 +275246,10 @@ sub_8085AD4: ; 8085AD4
pop {r1}
bx r1
.align 2
-_08085B74: .4byte gUnknown_081E8354
+_08085B74: .4byte gMonFrontPicTable
_08085B78: .4byte gUnknown_081E7C74
_08085B7C: .4byte gUnknown_081FAF4C
-_08085B80: .4byte gUnknown_081EA5B4
+_08085B80: .4byte gMonPaletteTable
_08085B84: .4byte 0x02024e8c
thumb_func_end sub_8085AD4
@@ -275335,7 +275335,7 @@ sub_8085B88: ; 8085B88
pop {r1}
bx r1
.align 2
-_08085C34: .4byte gUnknown_081E8354
+_08085C34: .4byte gMonFrontPicTable
_08085C38: .4byte gUnknown_081E7C74
_08085C3C: .4byte gUnknown_081FAF4C
_08085C40: .4byte 0x02024e8c
@@ -298870,7 +298870,7 @@ _0809178C:
pop {r0}
bx r0
.align 2
-_080917C8: .4byte gUnknown_083B4EE4
+_080917C8: .4byte gMonFootprintTable
thumb_func_end sub_8091738
thumb_func_start sub_80917CC
@@ -299083,7 +299083,7 @@ sub_80918EC: ; 80918EC
bl DecompressPicFromTable_2
b _080919CE
.align 2
-_0809194C: .4byte gUnknown_081E8354
+_0809194C: .4byte gMonFrontPicTable
_08091950: .4byte gUnknown_081E7C74
_08091954: .4byte gUnknown_083B5584
_08091958:
@@ -299113,7 +299113,7 @@ _08091958:
bl sub_800D378
b _080919CE
.align 2
-_0809198C: .4byte gUnknown_081E8354
+_0809198C: .4byte gMonFrontPicTable
_08091990: .4byte gUnknown_081E7C74
_08091994: .4byte gUnknown_083B5584
_08091998: .4byte 0x02024ea4
@@ -299190,11 +299190,11 @@ _080919CE:
pop {r1}
bx r1
.align 2
-_08091A30: .4byte gUnknown_081E8354
+_08091A30: .4byte gMonFrontPicTable
_08091A34: .4byte gUnknown_081E7C74
_08091A38: .4byte gUnknown_083B5584
_08091A3C: .4byte 0x02024ea4
-_08091A40: .4byte gUnknown_081EA5B4
+_08091A40: .4byte gMonPaletteTable
_08091A44: .4byte 0x02024e8c
_08091A48: .4byte 0x02020004
thumb_func_end sub_80918EC
@@ -312344,7 +312344,7 @@ sub_80981F0: ; 80981F0
b _080982A6
.align 2
_08098274: .4byte 0x02000000
-_08098278: .4byte gUnknown_081E8354
+_08098278: .4byte gMonFrontPicTable
_0809827C: .4byte gUnknown_081E7C74
_08098280: .4byte 0x00004784
_08098284: .4byte 0x00002784
@@ -315463,7 +315463,7 @@ _08099A94:
bx r1
.align 2
_08099A9C: .4byte 0x000010d0
-_08099AA0: .4byte gUnknown_083BBD20
+_08099AA0: .4byte gMonIconTable
_08099AA4: .4byte 0x06010000
_08099AA8: .4byte 0x04000080
thumb_func_end sub_80999E8
@@ -315601,7 +315601,7 @@ sub_8099AFC: ; 8099AFC
b _08099BD0
.align 2
_08099BAC: .4byte gUnknown_083B6F14
-_08099BB0: .4byte gUnknown_083BC400
+_08099BB0: .4byte gMonIconPaletteIndices
_08099BB4: .4byte 0x0000dac0
_08099BB8: .4byte 0x0000ffff
_08099BBC: .4byte 0x02020004
@@ -322696,10 +322696,10 @@ sub_809D26C: ; 809D26C
bx r1
.align 2
_0809D2E0: .4byte gUnknown_083BC5E8
-_0809D2E4: .4byte gUnknown_083BBD20
+_0809D2E4: .4byte gMonIconTable
_0809D2E8: .4byte gUnknown_083BC62C
_0809D2EC: .4byte gUnknown_083BC660
-_0809D2F0: .4byte gUnknown_083BC400
+_0809D2F0: .4byte gMonIconPaletteIndices
_0809D2F4: .4byte 0x0000dac0
_0809D2F8: .4byte 0x02020004
thumb_func_end sub_809D26C
@@ -322779,7 +322779,7 @@ _0809D35A:
_0809D38C: .4byte gUnknown_083BC5E8
_0809D390: .4byte gUnknown_083BC62C
_0809D394: .4byte gUnknown_083BC660
-_0809D398: .4byte gUnknown_083BC400
+_0809D398: .4byte gMonIconPaletteIndices
_0809D39C: .4byte 0x0000dac0
_0809D3A0: .4byte 0x02020004
thumb_func_end sub_809D2FC
@@ -322843,10 +322843,10 @@ sub_809D3A4: ; 809D3A4
bx r1
.align 2
_0809D418: .4byte gUnknown_083BC5E8
-_0809D41C: .4byte gUnknown_083BBD20
+_0809D41C: .4byte gMonIconTable
_0809D420: .4byte gUnknown_083BC62C
_0809D424: .4byte gUnknown_083BC660
-_0809D428: .4byte gUnknown_083BC400
+_0809D428: .4byte gMonIconPaletteIndices
_0809D42C: .4byte 0x0000dac0
_0809D430: .4byte 0x02020004
thumb_func_end sub_809D3A4
@@ -322975,7 +322975,7 @@ sub_809D4F4: ; 809D4F4
pop {r1}
bx r1
.align 2
-_0809D50C: .4byte gUnknown_083BBD20
+_0809D50C: .4byte gMonIconTable
thumb_func_end sub_809D4F4
thumb_func_start sub_809D510
@@ -323004,7 +323004,7 @@ _0809D522:
pop {r0}
bx r0
.align 2
-_0809D53C: .4byte gUnknown_083BC5B8
+_0809D53C: .4byte gMonIconPaletteTable
thumb_func_end sub_809D51C
thumb_func_start sub_809D540
@@ -323038,8 +323038,8 @@ _0809D572:
pop {r0}
bx r0
.align 2
-_0809D578: .4byte gUnknown_083BC400
-_0809D57C: .4byte gUnknown_083BC5B8
+_0809D578: .4byte gMonIconPaletteIndices
+_0809D57C: .4byte gMonIconPaletteTable
thumb_func_end sub_809D540
thumb_func_start sub_809D580
@@ -323066,8 +323066,8 @@ _0809D5A6:
pop {r0}
bx r0
.align 2
-_0809D5AC: .4byte gUnknown_083BC400
-_0809D5B0: .4byte gUnknown_083BC5B8
+_0809D5AC: .4byte gMonIconPaletteIndices
+_0809D5B0: .4byte gMonIconPaletteTable
thumb_func_end sub_809D580
thumb_func_start sub_809D5B4
@@ -323089,7 +323089,7 @@ _0809D5BA:
pop {r0}
bx r0
.align 2
-_0809D5D4: .4byte gUnknown_083BC5B8
+_0809D5D4: .4byte gMonIconPaletteTable
thumb_func_end sub_809D5B4
thumb_func_start sub_809D5D8
@@ -323115,8 +323115,8 @@ _0809D5EA:
pop {r0}
bx r0
.align 2
-_0809D600: .4byte gUnknown_083BC400
-_0809D604: .4byte gUnknown_083BC5B8
+_0809D600: .4byte gMonIconPaletteIndices
+_0809D604: .4byte gMonIconPaletteTable
thumb_func_end sub_809D5D8
thumb_func_start sub_809D608
@@ -323135,8 +323135,8 @@ sub_809D608: ; 809D608
pop {r0}
bx r0
.align 2
-_0809D624: .4byte gUnknown_083BC400
-_0809D628: .4byte gUnknown_083BC5B8
+_0809D624: .4byte gMonIconPaletteIndices
+_0809D628: .4byte gMonIconPaletteTable
thumb_func_end sub_809D608
thumb_func_start sub_809D62C
@@ -327250,7 +327250,7 @@ _0809F6D2:
bl sub_800D334
b _0809F74E
.align 2
-_0809F70C: .4byte gUnknown_081E8354
+_0809F70C: .4byte gMonFrontPicTable
_0809F710: .4byte gUnknown_081E7C74
_0809F714: .4byte gUnknown_081FAF4C
_0809F718:
@@ -358171,10 +358171,10 @@ sub_80AE908: ; 80AE908
.align 2
_080AE9D4: .4byte 0x02038570
_080AE9D8: .4byte 0x02038695
-_080AE9DC: .4byte gUnknown_081E8354
+_080AE9DC: .4byte gMonFrontPicTable
_080AE9E0: .4byte gUnknown_081E7C74
_080AE9E4: .4byte gUnknown_081FAF4C
-_080AE9E8: .4byte gUnknown_081EA5B4
+_080AE9E8: .4byte gMonPaletteTable
_080AE9EC: .4byte 0x02024e8c
_080AE9F0: .4byte 0x02020004
_080AE9F4: .4byte nullsub_2
@@ -358279,7 +358279,7 @@ sub_80AE9FC: ; 80AE9FC
ldr r1, _080AEAE4
b _080AEAF0
.align 2
-_080AEACC: .4byte gUnknown_081E97F4
+_080AEACC: .4byte gMonBackPicTable
_080AEAD0: .4byte gUnknown_081E9114
_080AEAD4: .4byte gUnknown_081FAF4C
_080AEAD8: .4byte 0x02024e8c
@@ -399653,7 +399653,7 @@ _080C2BC8: .4byte 0x03004240
_080C2BCC: .4byte 0x00005050
_080C2BD0: .4byte 0x02038690
_080C2BD4: .4byte 0x02038570
-_080C2BD8: .4byte gUnknown_081E8354
+_080C2BD8: .4byte gMonFrontPicTable
_080C2BDC: .4byte gUnknown_081E7C74
_080C2BE0: .4byte gUnknown_081FAF4C
_080C2BE4: .4byte 0x02000000
@@ -400348,9 +400348,9 @@ _080C3116:
pop {r0}
bx r0
.align 2
-_080C314C: .4byte gUnknown_083BC400
+_080C314C: .4byte gMonIconPaletteIndices
_080C3150: .4byte 0x02038570
-_080C3154: .4byte gUnknown_08E966D8
+_080C3154: .4byte gMonIconPalettes
thumb_func_end sub_80C310C
thumb_func_start sub_80C3158
@@ -404511,7 +404511,7 @@ _080C513C: .4byte sub_80C5190
_080C5140: .4byte 0x02038570
_080C5144: .4byte 0x0202e8d0
_080C5148: .4byte 0x03004b20
-_080C514C: .4byte gUnknown_081E8354
+_080C514C: .4byte gMonFrontPicTable
_080C5150: .4byte gUnknown_081E7C74
_080C5154: .4byte gUnknown_081FAF4C
_080C5158: .4byte 0x02024e8c
@@ -502283,7 +502283,7 @@ _080F48D0:
_080F48E0: .4byte gUnknown_083DFEC4
_080F48E4: .4byte 0x0000893f
_080F48E8: .4byte 0x0000893d
-_080F48EC: .4byte gUnknown_081E8354
+_080F48EC: .4byte gMonFrontPicTable
_080F48F0: .4byte gUnknown_081E7C74
_080F48F4: .4byte 0x000131e4
_080F48F8: .4byte 0x0000d1e4
@@ -540409,7 +540409,7 @@ sub_8106AC4: ; 8106AC4
.align 2
_08106B28: .4byte 0x03005e8c
_08106B2C: .4byte 0x03005e90
-_08106B30: .4byte gUnknown_081E8354
+_08106B30: .4byte gMonFrontPicTable
_08106B34: .4byte gUnknown_081E7C74
_08106B38: .4byte gUnknown_081FAF4C
_08106B3C: .4byte 0x03005e10
@@ -540446,7 +540446,7 @@ _08106B74:
pop {r0}
bx r0
.align 2
-_08106B80: .4byte gUnknown_081E97F4
+_08106B80: .4byte gMonBackPicTable
_08106B84: .4byte gUnknown_081E9114
_08106B88: .4byte gUnknown_081FAF4C
_08106B8C: .4byte 0x03005e10
@@ -548148,10 +548148,10 @@ sub_810A580: ; 810A580
pop {r1}
bx r1
.align 2
-_0810A610: .4byte gUnknown_081E8354
+_0810A610: .4byte gMonFrontPicTable
_0810A614: .4byte gUnknown_081E7C74
_0810A618: .4byte gUnknown_081FAF4C
-_0810A61C: .4byte gUnknown_081EA5B4
+_0810A61C: .4byte gMonPaletteTable
_0810A620: .4byte 0x02024e8c
_0810A624: .4byte 0x02020004
_0810A628: .4byte nullsub_72
@@ -563350,7 +563350,7 @@ _08111C44: .4byte 0x030028f8
_08111C48: .4byte 0x020231cc
_08111C4C: .4byte 0x020232cc
_08111C50: .4byte gSpeciesNames
-_08111C54: .4byte gUnknown_081E8354
+_08111C54: .4byte gMonFrontPicTable
_08111C58: .4byte gUnknown_081E7C74
_08111C5C: .4byte gUnknown_081FAF4C
_08111C60: .4byte 0x02024e8c
@@ -563559,7 +563559,7 @@ _08111E48: .4byte 0x030041b8
_08111E4C: .4byte 0x03004210
_08111E50: .4byte 0x0300428c
_08111E54: .4byte 0x030028f8
-_08111E58: .4byte gUnknown_081E8354
+_08111E58: .4byte gMonFrontPicTable
_08111E5C: .4byte gUnknown_081E7C74
_08111E60: .4byte gUnknown_081FAF4C
_08111E64: .4byte 0x02024e8c
@@ -563753,7 +563753,7 @@ _08111FE2:
adds r1, r0
b _0811208E
.align 2
-_08112034: .4byte gUnknown_081E8354
+_08112034: .4byte gMonFrontPicTable
_08112038: .4byte gUnknown_081E7C74
_0811203C: .4byte gUnknown_081FAF4C
_08112040: .4byte 0x03001770
@@ -563992,7 +563992,7 @@ _08112238: .4byte 0x020232cc
_0811223C: .4byte gSpeciesNames
_08112240: .4byte 0x020211c8
_08112244: .4byte 0x02014800
-_08112248: .4byte gUnknown_081E8354
+_08112248: .4byte gMonFrontPicTable
_0811224C: .4byte gUnknown_081E7C74
_08112250: .4byte gUnknown_081FAF4C
_08112254: .4byte 0x02024e8c
@@ -651072,7 +651072,7 @@ sub_813CE88: ; 813CE88
bl sub_800D378
b _0813CF1C
.align 2
-_0813CEE4: .4byte gUnknown_081E8354
+_0813CEE4: .4byte gMonFrontPicTable
_0813CEE8: .4byte gUnknown_081E7C74
_0813CEEC: .4byte gUnknown_0840B5A0
_0813CEF0:
@@ -651153,7 +651153,7 @@ _0813CF1C:
pop {r1}
bx r1
.align 2
-_0813CF90: .4byte gUnknown_081E97F4
+_0813CF90: .4byte gMonBackPicTable
_0813CF94: .4byte gUnknown_081E9114
_0813CF98: .4byte gUnknown_0840B5A0
_0813CF9C: .4byte 0x0000ffff
@@ -664434,7 +664434,7 @@ sub_81436BC: ; 81436BC
pop {r1}
bx r1
.align 2
-_08143790: .4byte gUnknown_081E8354
+_08143790: .4byte gMonFrontPicTable
_08143794: .4byte gUnknown_081E7C74
_08143798: .4byte gUnknown_0840B5A0
_0814379C: .4byte 0x02024e8c
@@ -668485,7 +668485,7 @@ _081456FC:
bx r1
.align 2
_081457E8: .4byte 0x02024ea4
-_081457EC: .4byte gUnknown_081E8354
+_081457EC: .4byte gMonFrontPicTable
_081457F0: .4byte gUnknown_081E7C74
_081457F4: .4byte gUnknown_0840B5A0
_081457F8: .4byte 0x0000ffff
@@ -672819,7 +672819,7 @@ _08147B70:
bl sub_800D334
b _08147C40
.align 2
-_08147BAC: .4byte gUnknown_081E8354
+_08147BAC: .4byte gMonFrontPicTable
_08147BB0: .4byte gUnknown_081E7C74
_08147BB4: .4byte gUnknown_081FAF4C
_08147BB8:
diff --git a/data/data2.s b/data/data2.s
index 997557a5a..e3a9ca515 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -374,26 +374,23 @@ gUnknown_081E7C64: ; 81E7C64
gUnknown_081E7C74: ; 81E7C74
.incbin "baserom.gba", 0x001e7c74, 0x6e0
-gUnknown_081E8354: ; 81E8354
- .incbin "baserom.gba", 0x001e8354, 0xaf0
-
-gUnknown_081E8E44: ; 81E8E44
- .incbin "baserom.gba", 0x001e8e44, 0x2d0
+; 81E8354
+ .include "data/graphics/pokemon/front_pic_table.s"
gUnknown_081E9114: ; 81E9114
.incbin "baserom.gba", 0x001e9114, 0x6e0
-gUnknown_081E97F4: ; 81E97F4
- .incbin "baserom.gba", 0x001e97f4, 0xdc0
+; 81E97F4
+ .include "data/graphics/pokemon/back_pic_table.s"
-gUnknown_081EA5B4: ; 81EA5B4
- .incbin "baserom.gba", 0x001ea5b4, 0xaf0
+; 81EA5B4
+ .include "data/graphics/pokemon/palette_table.s"
-gUnknown_081EB0A4: ; 81EB0A4
- .incbin "baserom.gba", 0x001eb0a4, 0x2d0
+; 81EB374
+ .include "data/graphics/pokemon/shiny_palette_table.s"
-gUnknown_081EB374: ; 81EB374
- .incbin "baserom.gba", 0x001eb374, 0xf30
+; 81EC134
+ .incbin "baserom.gba", 0x001EC134, 0x170
gUnknown_081EC2A4: ; 81EC2A4
.incbin "baserom.gba", 0x001ec2a4, 0x14c
@@ -2490,8 +2487,8 @@ gUnknown_083B1858: ; 83B1858
gUnknown_083B4EC4: ; 83B4EC4
.incbin "baserom.gba", 0x003b4ec4, 0x20
-gUnknown_083B4EE4: ; 83B4EE4
- .incbin "baserom.gba", 0x003b4ee4, 0x674
+; 83B4EE4
+ .include "data/graphics/pokemon/footprint_table.s"
gUnknown_083B5558: ; 83B5558
.incbin "baserom.gba", 0x003b5558, 0x2c
@@ -2700,14 +2697,14 @@ gUnknown_083BBC88: ; 83BBC88
gUnknown_083BBCA0: ; 83BBCA0
.incbin "baserom.gba", 0x003bbca0, 0x80
-gUnknown_083BBD20: ; 83BBD20
- .incbin "baserom.gba", 0x003bbd20, 0x6e0
+; 83BBD20
+ .include "data/graphics/pokemon/icon_table.s"
-gUnknown_083BC400: ; 83BC400
- .incbin "baserom.gba", 0x003bc400, 0x1b8
+; 83BC400
+ .include "data/graphics/pokemon/icon_palette_indices.s"
-gUnknown_083BC5B8: ; 83BC5B8
- .incbin "baserom.gba", 0x003bc5b8, 0x30
+; 83BC5B8
+ .include "data/graphics/pokemon/icon_palette_table.s"
gUnknown_083BC5E8: ; 83BC5E8
.incbin "baserom.gba", 0x003bc5e8, 0x44
@@ -7858,7 +7855,13 @@ gUnknown_08D004E0: ; 8D004E0
.incbin "baserom.gba", 0x00d004e0, 0x44
gUnknown_08D00524: ; 8D00524
- .incbin "baserom.gba", 0x00d00524, 0x2bac
+ .incbin "baserom.gba", 0x00d00524, 0x1000
+
+; 8D01524
+ .include "data/graphics/pokemon/circled_question_mark_graphics.s"
+
+; 8D019E4
+ .incbin "baserom.gba", 0xd019e4, 0x16EC
gUnknown_08D030D0: ; 8D030D0
.incbin "baserom.gba", 0x00d030d0, 0x6b78
@@ -8002,7 +8005,22 @@ gUnknown_08D2EDFC: ; 8D2EDFC
.incbin "baserom.gba", 0x00d2edfc, 0x4c
gUnknown_08D2EE48: ; 8D2EE48
- .incbin "baserom.gba", 0x00d2ee48, 0x12ebc8
+ .incbin "baserom.gba", 0x00d2ee48, 0xF44
+
+; 8D2FD8C
+ .include "data/graphics/pokemon/graphics.s"
+
+ .incbin "baserom.gba", 0xe48d38, 0x148b8
+
+ .align 2
+
+gMonIcon_QuestionMark: ; 8E5D5F0
+ .incbin "graphics/pokemon/question_mark/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_QuestionMark: ; 8E5D9F0
+ .incbin "graphics/pokemon/question_mark/footprint.1bpp"
gUnknown_08E5DA10: ; 8E5DA10
.incbin "baserom.gba", 0x00e5da10, 0xe8
@@ -8113,7 +8131,13 @@ gUnknown_08E6978C: ; 8E6978C
.incbin "baserom.gba", 0x00e6978c, 0xf78
gUnknown_08E6A704: ; 8E6A704
- .incbin "baserom.gba", 0x00e6a704, 0x19fc
+ .incbin "baserom.gba", 0x00e6a704, 0xD8
+
+gMonIcon_Egg: ; 8E6A7DC
+ .incbin "graphics/pokemon/egg/icon.4bpp"
+
+; 8E6ABDC
+ .incbin "baserom.gba", 0x00E6ABDC, 0x1524
gUnknown_08E6C100: ; 8E6C100
.incbin "baserom.gba", 0x00e6c100, 0x820
@@ -8451,8 +8475,10 @@ gUnknown_08E964B8: ; 8E964B8
gUnknown_08E966B8: ; 8E966B8
.incbin "baserom.gba", 0x00e966b8, 0x20
-gUnknown_08E966D8: ; 8E966D8
- .incbin "baserom.gba", 0x00e966d8, 0x60
+gMonIconPalettes: ; 8E966D8
+ .incbin "graphics/pokemon_icon_palettes/0.gbapal"
+ .incbin "graphics/pokemon_icon_palettes/1.gbapal"
+ .incbin "graphics/pokemon_icon_palettes/2.gbapal"
gUnknown_08E96738: ; 8E96738
.incbin "baserom.gba", 0x00e96738, 0x150
diff --git a/data/graphics/pokemon/back_pic_table.s b/data/graphics/pokemon/back_pic_table.s
new file mode 100644
index 000000000..6ee328537
--- /dev/null
+++ b/data/graphics/pokemon/back_pic_table.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonBackPicTable: ; 81E97F4
+ obj_tiles gMonBackPic_CircledQuestionMark, 0x800, 0
+ obj_tiles gMonBackPic_Bulbasaur, 0x800, 1
+ obj_tiles gMonBackPic_Ivysaur, 0x800, 2
+ obj_tiles gMonBackPic_Venusaur, 0x800, 3
+ obj_tiles gMonBackPic_Charmander, 0x800, 4
+ obj_tiles gMonBackPic_Charmeleon, 0x800, 5
+ obj_tiles gMonBackPic_Charizard, 0x800, 6
+ obj_tiles gMonBackPic_Squirtle, 0x800, 7
+ obj_tiles gMonBackPic_Wartortle, 0x800, 8
+ obj_tiles gMonBackPic_Blastoise, 0x800, 9
+ obj_tiles gMonBackPic_Caterpie, 0x800, 10
+ obj_tiles gMonBackPic_Metapod, 0x800, 11
+ obj_tiles gMonBackPic_Butterfree, 0x800, 12
+ obj_tiles gMonBackPic_Weedle, 0x800, 13
+ obj_tiles gMonBackPic_Kakuna, 0x800, 14
+ obj_tiles gMonBackPic_Beedrill, 0x800, 15
+ obj_tiles gMonBackPic_Pidgey, 0x800, 16
+ obj_tiles gMonBackPic_Pidgeotto, 0x800, 17
+ obj_tiles gMonBackPic_Pidgeot, 0x800, 18
+ obj_tiles gMonBackPic_Rattata, 0x800, 19
+ obj_tiles gMonBackPic_Raticate, 0x800, 20
+ obj_tiles gMonBackPic_Spearow, 0x800, 21
+ obj_tiles gMonBackPic_Fearow, 0x800, 22
+ obj_tiles gMonBackPic_Ekans, 0x800, 23
+ obj_tiles gMonBackPic_Arbok, 0x800, 24
+ obj_tiles gMonBackPic_Pikachu, 0x800, 25
+ obj_tiles gMonBackPic_Raichu, 0x800, 26
+ obj_tiles gMonBackPic_Sandshrew, 0x800, 27
+ obj_tiles gMonBackPic_Sandslash, 0x800, 28
+ obj_tiles gMonBackPic_NidoranF, 0x800, 29
+ obj_tiles gMonBackPic_Nidorina, 0x800, 30
+ obj_tiles gMonBackPic_Nidoqueen, 0x800, 31
+ obj_tiles gMonBackPic_NidoranM, 0x800, 32
+ obj_tiles gMonBackPic_Nidorino, 0x800, 33
+ obj_tiles gMonBackPic_Nidoking, 0x800, 34
+ obj_tiles gMonBackPic_Clefairy, 0x800, 35
+ obj_tiles gMonBackPic_Clefable, 0x800, 36
+ obj_tiles gMonBackPic_Vulpix, 0x800, 37
+ obj_tiles gMonBackPic_Ninetales, 0x800, 38
+ obj_tiles gMonBackPic_Jigglypuff, 0x800, 39
+ obj_tiles gMonBackPic_Wigglytuff, 0x800, 40
+ obj_tiles gMonBackPic_Zubat, 0x800, 41
+ obj_tiles gMonBackPic_Golbat, 0x800, 42
+ obj_tiles gMonBackPic_Oddish, 0x800, 43
+ obj_tiles gMonBackPic_Gloom, 0x800, 44
+ obj_tiles gMonBackPic_Vileplume, 0x800, 45
+ obj_tiles gMonBackPic_Paras, 0x800, 46
+ obj_tiles gMonBackPic_Parasect, 0x800, 47
+ obj_tiles gMonBackPic_Venonat, 0x800, 48
+ obj_tiles gMonBackPic_Venomoth, 0x800, 49
+ obj_tiles gMonBackPic_Diglett, 0x800, 50
+ obj_tiles gMonBackPic_Dugtrio, 0x800, 51
+ obj_tiles gMonBackPic_Meowth, 0x800, 52
+ obj_tiles gMonBackPic_Persian, 0x800, 53
+ obj_tiles gMonBackPic_Psyduck, 0x800, 54
+ obj_tiles gMonBackPic_Golduck, 0x800, 55
+ obj_tiles gMonBackPic_Mankey, 0x800, 56
+ obj_tiles gMonBackPic_Primeape, 0x800, 57
+ obj_tiles gMonBackPic_Growlithe, 0x800, 58
+ obj_tiles gMonBackPic_Arcanine, 0x800, 59
+ obj_tiles gMonBackPic_Poliwag, 0x800, 60
+ obj_tiles gMonBackPic_Poliwhirl, 0x800, 61
+ obj_tiles gMonBackPic_Poliwrath, 0x800, 62
+ obj_tiles gMonBackPic_Abra, 0x800, 63
+ obj_tiles gMonBackPic_Kadabra, 0x800, 64
+ obj_tiles gMonBackPic_Alakazam, 0x800, 65
+ obj_tiles gMonBackPic_Machop, 0x800, 66
+ obj_tiles gMonBackPic_Machoke, 0x800, 67
+ obj_tiles gMonBackPic_Machamp, 0x800, 68
+ obj_tiles gMonBackPic_Bellsprout, 0x800, 69
+ obj_tiles gMonBackPic_Weepinbell, 0x800, 70
+ obj_tiles gMonBackPic_Victreebel, 0x800, 71
+ obj_tiles gMonBackPic_Tentacool, 0x800, 72
+ obj_tiles gMonBackPic_Tentacruel, 0x800, 73
+ obj_tiles gMonBackPic_Geodude, 0x800, 74
+ obj_tiles gMonBackPic_Graveler, 0x800, 75
+ obj_tiles gMonBackPic_Golem, 0x800, 76
+ obj_tiles gMonBackPic_Ponyta, 0x800, 77
+ obj_tiles gMonBackPic_Rapidash, 0x800, 78
+ obj_tiles gMonBackPic_Slowpoke, 0x800, 79
+ obj_tiles gMonBackPic_Slowbro, 0x800, 80
+ obj_tiles gMonBackPic_Magnemite, 0x800, 81
+ obj_tiles gMonBackPic_Magneton, 0x800, 82
+ obj_tiles gMonBackPic_Farfetchd, 0x800, 83
+ obj_tiles gMonBackPic_Doduo, 0x800, 84
+ obj_tiles gMonBackPic_Dodrio, 0x800, 85
+ obj_tiles gMonBackPic_Seel, 0x800, 86
+ obj_tiles gMonBackPic_Dewgong, 0x800, 87
+ obj_tiles gMonBackPic_Grimer, 0x800, 88
+ obj_tiles gMonBackPic_Muk, 0x800, 89
+ obj_tiles gMonBackPic_Shellder, 0x800, 90
+ obj_tiles gMonBackPic_Cloyster, 0x800, 91
+ obj_tiles gMonBackPic_Gastly, 0x800, 92
+ obj_tiles gMonBackPic_Haunter, 0x800, 93
+ obj_tiles gMonBackPic_Gengar, 0x800, 94
+ obj_tiles gMonBackPic_Onix, 0x800, 95
+ obj_tiles gMonBackPic_Drowzee, 0x800, 96
+ obj_tiles gMonBackPic_Hypno, 0x800, 97
+ obj_tiles gMonBackPic_Krabby, 0x800, 98
+ obj_tiles gMonBackPic_Kingler, 0x800, 99
+ obj_tiles gMonBackPic_Voltorb, 0x800, 100
+ obj_tiles gMonBackPic_Electrode, 0x800, 101
+ obj_tiles gMonBackPic_Exeggcute, 0x800, 102
+ obj_tiles gMonBackPic_Exeggutor, 0x800, 103
+ obj_tiles gMonBackPic_Cubone, 0x800, 104
+ obj_tiles gMonBackPic_Marowak, 0x800, 105
+ obj_tiles gMonBackPic_Hitmonlee, 0x800, 106
+ obj_tiles gMonBackPic_Hitmonchan, 0x800, 107
+ obj_tiles gMonBackPic_Lickitung, 0x800, 108
+ obj_tiles gMonBackPic_Koffing, 0x800, 109
+ obj_tiles gMonBackPic_Weezing, 0x800, 110
+ obj_tiles gMonBackPic_Rhyhorn, 0x800, 111
+ obj_tiles gMonBackPic_Rhydon, 0x800, 112
+ obj_tiles gMonBackPic_Chansey, 0x800, 113
+ obj_tiles gMonBackPic_Tangela, 0x800, 114
+ obj_tiles gMonBackPic_Kangaskhan, 0x800, 115
+ obj_tiles gMonBackPic_Horsea, 0x800, 116
+ obj_tiles gMonBackPic_Seadra, 0x800, 117
+ obj_tiles gMonBackPic_Goldeen, 0x800, 118
+ obj_tiles gMonBackPic_Seaking, 0x800, 119
+ obj_tiles gMonBackPic_Staryu, 0x800, 120
+ obj_tiles gMonBackPic_Starmie, 0x800, 121
+ obj_tiles gMonBackPic_Mrmime, 0x800, 122
+ obj_tiles gMonBackPic_Scyther, 0x800, 123
+ obj_tiles gMonBackPic_Jynx, 0x800, 124
+ obj_tiles gMonBackPic_Electabuzz, 0x800, 125
+ obj_tiles gMonBackPic_Magmar, 0x800, 126
+ obj_tiles gMonBackPic_Pinsir, 0x800, 127
+ obj_tiles gMonBackPic_Tauros, 0x800, 128
+ obj_tiles gMonBackPic_Magikarp, 0x800, 129
+ obj_tiles gMonBackPic_Gyarados, 0x800, 130
+ obj_tiles gMonBackPic_Lapras, 0x800, 131
+ obj_tiles gMonBackPic_Ditto, 0x800, 132
+ obj_tiles gMonBackPic_Eevee, 0x800, 133
+ obj_tiles gMonBackPic_Vaporeon, 0x800, 134
+ obj_tiles gMonBackPic_Jolteon, 0x800, 135
+ obj_tiles gMonBackPic_Flareon, 0x800, 136
+ obj_tiles gMonBackPic_Porygon, 0x800, 137
+ obj_tiles gMonBackPic_Omanyte, 0x800, 138
+ obj_tiles gMonBackPic_Omastar, 0x800, 139
+ obj_tiles gMonBackPic_Kabuto, 0x800, 140
+ obj_tiles gMonBackPic_Kabutops, 0x800, 141
+ obj_tiles gMonBackPic_Aerodactyl, 0x800, 142
+ obj_tiles gMonBackPic_Snorlax, 0x800, 143
+ obj_tiles gMonBackPic_Articuno, 0x800, 144
+ obj_tiles gMonBackPic_Zapdos, 0x800, 145
+ obj_tiles gMonBackPic_Moltres, 0x800, 146
+ obj_tiles gMonBackPic_Dratini, 0x800, 147
+ obj_tiles gMonBackPic_Dragonair, 0x800, 148
+ obj_tiles gMonBackPic_Dragonite, 0x800, 149
+ obj_tiles gMonBackPic_Mewtwo, 0x800, 150
+ obj_tiles gMonBackPic_Mew, 0x800, 151
+ obj_tiles gMonBackPic_Chikorita, 0x800, 152
+ obj_tiles gMonBackPic_Bayleef, 0x800, 153
+ obj_tiles gMonBackPic_Meganium, 0x800, 154
+ obj_tiles gMonBackPic_Cyndaquil, 0x800, 155
+ obj_tiles gMonBackPic_Quilava, 0x800, 156
+ obj_tiles gMonBackPic_Typhlosion, 0x800, 157
+ obj_tiles gMonBackPic_Totodile, 0x800, 158
+ obj_tiles gMonBackPic_Croconaw, 0x800, 159
+ obj_tiles gMonBackPic_Feraligatr, 0x800, 160
+ obj_tiles gMonBackPic_Sentret, 0x800, 161
+ obj_tiles gMonBackPic_Furret, 0x800, 162
+ obj_tiles gMonBackPic_Hoothoot, 0x800, 163
+ obj_tiles gMonBackPic_Noctowl, 0x800, 164
+ obj_tiles gMonBackPic_Ledyba, 0x800, 165
+ obj_tiles gMonBackPic_Ledian, 0x800, 166
+ obj_tiles gMonBackPic_Spinarak, 0x800, 167
+ obj_tiles gMonBackPic_Ariados, 0x800, 168
+ obj_tiles gMonBackPic_Crobat, 0x800, 169
+ obj_tiles gMonBackPic_Chinchou, 0x800, 170
+ obj_tiles gMonBackPic_Lanturn, 0x800, 171
+ obj_tiles gMonBackPic_Pichu, 0x800, 172
+ obj_tiles gMonBackPic_Cleffa, 0x800, 173
+ obj_tiles gMonBackPic_Igglybuff, 0x800, 174
+ obj_tiles gMonBackPic_Togepi, 0x800, 175
+ obj_tiles gMonBackPic_Togetic, 0x800, 176
+ obj_tiles gMonBackPic_Natu, 0x800, 177
+ obj_tiles gMonBackPic_Xatu, 0x800, 178
+ obj_tiles gMonBackPic_Mareep, 0x800, 179
+ obj_tiles gMonBackPic_Flaaffy, 0x800, 180
+ obj_tiles gMonBackPic_Ampharos, 0x800, 181
+ obj_tiles gMonBackPic_Bellossom, 0x800, 182
+ obj_tiles gMonBackPic_Marill, 0x800, 183
+ obj_tiles gMonBackPic_Azumarill, 0x800, 184
+ obj_tiles gMonBackPic_Sudowoodo, 0x800, 185
+ obj_tiles gMonBackPic_Politoed, 0x800, 186
+ obj_tiles gMonBackPic_Hoppip, 0x800, 187
+ obj_tiles gMonBackPic_Skiploom, 0x800, 188
+ obj_tiles gMonBackPic_Jumpluff, 0x800, 189
+ obj_tiles gMonBackPic_Aipom, 0x800, 190
+ obj_tiles gMonBackPic_Sunkern, 0x800, 191
+ obj_tiles gMonBackPic_Sunflora, 0x800, 192
+ obj_tiles gMonBackPic_Yanma, 0x800, 193
+ obj_tiles gMonBackPic_Wooper, 0x800, 194
+ obj_tiles gMonBackPic_Quagsire, 0x800, 195
+ obj_tiles gMonBackPic_Espeon, 0x800, 196
+ obj_tiles gMonBackPic_Umbreon, 0x800, 197
+ obj_tiles gMonBackPic_Murkrow, 0x800, 198
+ obj_tiles gMonBackPic_Slowking, 0x800, 199
+ obj_tiles gMonBackPic_Misdreavus, 0x800, 200
+ obj_tiles gMonBackPic_UnownA, 0x800, 201
+ obj_tiles gMonBackPic_Wobbuffet, 0x800, 202
+ obj_tiles gMonBackPic_Girafarig, 0x800, 203
+ obj_tiles gMonBackPic_Pineco, 0x800, 204
+ obj_tiles gMonBackPic_Forretress, 0x800, 205
+ obj_tiles gMonBackPic_Dunsparce, 0x800, 206
+ obj_tiles gMonBackPic_Gligar, 0x800, 207
+ obj_tiles gMonBackPic_Steelix, 0x800, 208
+ obj_tiles gMonBackPic_Snubbull, 0x800, 209
+ obj_tiles gMonBackPic_Granbull, 0x800, 210
+ obj_tiles gMonBackPic_Qwilfish, 0x800, 211
+ obj_tiles gMonBackPic_Scizor, 0x800, 212
+ obj_tiles gMonBackPic_Shuckle, 0x800, 213
+ obj_tiles gMonBackPic_Heracross, 0x800, 214
+ obj_tiles gMonBackPic_Sneasel, 0x800, 215
+ obj_tiles gMonBackPic_Teddiursa, 0x800, 216
+ obj_tiles gMonBackPic_Ursaring, 0x800, 217
+ obj_tiles gMonBackPic_Slugma, 0x800, 218
+ obj_tiles gMonBackPic_Magcargo, 0x800, 219
+ obj_tiles gMonBackPic_Swinub, 0x800, 220
+ obj_tiles gMonBackPic_Piloswine, 0x800, 221
+ obj_tiles gMonBackPic_Corsola, 0x800, 222
+ obj_tiles gMonBackPic_Remoraid, 0x800, 223
+ obj_tiles gMonBackPic_Octillery, 0x800, 224
+ obj_tiles gMonBackPic_Delibird, 0x800, 225
+ obj_tiles gMonBackPic_Mantine, 0x800, 226
+ obj_tiles gMonBackPic_Skarmory, 0x800, 227
+ obj_tiles gMonBackPic_Houndour, 0x800, 228
+ obj_tiles gMonBackPic_Houndoom, 0x800, 229
+ obj_tiles gMonBackPic_Kingdra, 0x800, 230
+ obj_tiles gMonBackPic_Phanpy, 0x800, 231
+ obj_tiles gMonBackPic_Donphan, 0x800, 232
+ obj_tiles gMonBackPic_Porygon2, 0x800, 233
+ obj_tiles gMonBackPic_Stantler, 0x800, 234
+ obj_tiles gMonBackPic_Smeargle, 0x800, 235
+ obj_tiles gMonBackPic_Tyrogue, 0x800, 236
+ obj_tiles gMonBackPic_Hitmontop, 0x800, 237
+ obj_tiles gMonBackPic_Smoochum, 0x800, 238
+ obj_tiles gMonBackPic_Elekid, 0x800, 239
+ obj_tiles gMonBackPic_Magby, 0x800, 240
+ obj_tiles gMonBackPic_Miltank, 0x800, 241
+ obj_tiles gMonBackPic_Blissey, 0x800, 242
+ obj_tiles gMonBackPic_Raikou, 0x800, 243
+ obj_tiles gMonBackPic_Entei, 0x800, 244
+ obj_tiles gMonBackPic_Suicune, 0x800, 245
+ obj_tiles gMonBackPic_Larvitar, 0x800, 246
+ obj_tiles gMonBackPic_Pupitar, 0x800, 247
+ obj_tiles gMonBackPic_Tyranitar, 0x800, 248
+ obj_tiles gMonBackPic_Lugia, 0x800, 249
+ obj_tiles gMonBackPic_HoOh, 0x800, 250
+ obj_tiles gMonBackPic_Celebi, 0x800, 251
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 252
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 253
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 254
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 255
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 256
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 257
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 258
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 259
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 260
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 261
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 262
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 263
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 264
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 265
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 266
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 267
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 268
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 269
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 270
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 271
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 272
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 273
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 274
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 275
+ obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 276
+ obj_tiles gMonBackPic_Treecko, 0x800, 277
+ obj_tiles gMonBackPic_Grovyle, 0x800, 278
+ obj_tiles gMonBackPic_Sceptile, 0x800, 279
+ obj_tiles gMonBackPic_Torchic, 0x800, 280
+ obj_tiles gMonBackPic_Combusken, 0x800, 281
+ obj_tiles gMonBackPic_Blaziken, 0x800, 282
+ obj_tiles gMonBackPic_Mudkip, 0x800, 283
+ obj_tiles gMonBackPic_Marshtomp, 0x800, 284
+ obj_tiles gMonBackPic_Swampert, 0x800, 285
+ obj_tiles gMonBackPic_Poochyena, 0x800, 286
+ obj_tiles gMonBackPic_Mightyena, 0x800, 287
+ obj_tiles gMonBackPic_Zigzagoon, 0x800, 288
+ obj_tiles gMonBackPic_Linoone, 0x800, 289
+ obj_tiles gMonBackPic_Wurmple, 0x800, 290
+ obj_tiles gMonBackPic_Silcoon, 0x800, 291
+ obj_tiles gMonBackPic_Beautifly, 0x800, 292
+ obj_tiles gMonBackPic_Cascoon, 0x800, 293
+ obj_tiles gMonBackPic_Dustox, 0x800, 294
+ obj_tiles gMonBackPic_Lotad, 0x800, 295
+ obj_tiles gMonBackPic_Lombre, 0x800, 296
+ obj_tiles gMonBackPic_Ludicolo, 0x800, 297
+ obj_tiles gMonBackPic_Seedot, 0x800, 298
+ obj_tiles gMonBackPic_Nuzleaf, 0x800, 299
+ obj_tiles gMonBackPic_Shiftry, 0x800, 300
+ obj_tiles gMonBackPic_Nincada, 0x800, 301
+ obj_tiles gMonBackPic_Ninjask, 0x800, 302
+ obj_tiles gMonBackPic_Shedinja, 0x800, 303
+ obj_tiles gMonBackPic_Taillow, 0x800, 304
+ obj_tiles gMonBackPic_Swellow, 0x800, 305
+ obj_tiles gMonBackPic_Shroomish, 0x800, 306
+ obj_tiles gMonBackPic_Breloom, 0x800, 307
+ obj_tiles gMonBackPic_Spinda, 0x800, 308
+ obj_tiles gMonBackPic_Wingull, 0x800, 309
+ obj_tiles gMonBackPic_Pelipper, 0x800, 310
+ obj_tiles gMonBackPic_Surskit, 0x800, 311
+ obj_tiles gMonBackPic_Masquerain, 0x800, 312
+ obj_tiles gMonBackPic_Wailmer, 0x800, 313
+ obj_tiles gMonBackPic_Wailord, 0x800, 314
+ obj_tiles gMonBackPic_Skitty, 0x800, 315
+ obj_tiles gMonBackPic_Delcatty, 0x800, 316
+ obj_tiles gMonBackPic_Kecleon, 0x800, 317
+ obj_tiles gMonBackPic_Baltoy, 0x800, 318
+ obj_tiles gMonBackPic_Claydol, 0x800, 319
+ obj_tiles gMonBackPic_Nosepass, 0x800, 320
+ obj_tiles gMonBackPic_Torkoal, 0x800, 321
+ obj_tiles gMonBackPic_Sableye, 0x800, 322
+ obj_tiles gMonBackPic_Barboach, 0x800, 323
+ obj_tiles gMonBackPic_Whiscash, 0x800, 324
+ obj_tiles gMonBackPic_Luvdisc, 0x800, 325
+ obj_tiles gMonBackPic_Corphish, 0x800, 326
+ obj_tiles gMonBackPic_Crawdaunt, 0x800, 327
+ obj_tiles gMonBackPic_Feebas, 0x800, 328
+ obj_tiles gMonBackPic_Milotic, 0x800, 329
+ obj_tiles gMonBackPic_Carvanha, 0x800, 330
+ obj_tiles gMonBackPic_Sharpedo, 0x800, 331
+ obj_tiles gMonBackPic_Trapinch, 0x800, 332
+ obj_tiles gMonBackPic_Vibrava, 0x800, 333
+ obj_tiles gMonBackPic_Flygon, 0x800, 334
+ obj_tiles gMonBackPic_Makuhita, 0x800, 335
+ obj_tiles gMonBackPic_Hariyama, 0x800, 336
+ obj_tiles gMonBackPic_Electrike, 0x800, 337
+ obj_tiles gMonBackPic_Manectric, 0x800, 338
+ obj_tiles gMonBackPic_Numel, 0x800, 339
+ obj_tiles gMonBackPic_Camerupt, 0x800, 340
+ obj_tiles gMonBackPic_Spheal, 0x800, 341
+ obj_tiles gMonBackPic_Sealeo, 0x800, 342
+ obj_tiles gMonBackPic_Walrein, 0x800, 343
+ obj_tiles gMonBackPic_Cacnea, 0x800, 344
+ obj_tiles gMonBackPic_Cacturne, 0x800, 345
+ obj_tiles gMonBackPic_Snorunt, 0x800, 346
+ obj_tiles gMonBackPic_Glalie, 0x800, 347
+ obj_tiles gMonBackPic_Lunatone, 0x800, 348
+ obj_tiles gMonBackPic_Solrock, 0x800, 349
+ obj_tiles gMonBackPic_Azurill, 0x800, 350
+ obj_tiles gMonBackPic_Spoink, 0x800, 351
+ obj_tiles gMonBackPic_Grumpig, 0x800, 352
+ obj_tiles gMonBackPic_Plusle, 0x800, 353
+ obj_tiles gMonBackPic_Minun, 0x800, 354
+ obj_tiles gMonBackPic_Mawile, 0x800, 355
+ obj_tiles gMonBackPic_Meditite, 0x800, 356
+ obj_tiles gMonBackPic_Medicham, 0x800, 357
+ obj_tiles gMonBackPic_Swablu, 0x800, 358
+ obj_tiles gMonBackPic_Altaria, 0x800, 359
+ obj_tiles gMonBackPic_Wynaut, 0x800, 360
+ obj_tiles gMonBackPic_Duskull, 0x800, 361
+ obj_tiles gMonBackPic_Dusclops, 0x800, 362
+ obj_tiles gMonBackPic_Roselia, 0x800, 363
+ obj_tiles gMonBackPic_Slakoth, 0x800, 364
+ obj_tiles gMonBackPic_Vigoroth, 0x800, 365
+ obj_tiles gMonBackPic_Slaking, 0x800, 366
+ obj_tiles gMonBackPic_Gulpin, 0x800, 367
+ obj_tiles gMonBackPic_Swalot, 0x800, 368
+ obj_tiles gMonBackPic_Tropius, 0x800, 369
+ obj_tiles gMonBackPic_Whismur, 0x800, 370
+ obj_tiles gMonBackPic_Loudred, 0x800, 371
+ obj_tiles gMonBackPic_Exploud, 0x800, 372
+ obj_tiles gMonBackPic_Clamperl, 0x800, 373
+ obj_tiles gMonBackPic_Huntail, 0x800, 374
+ obj_tiles gMonBackPic_Gorebyss, 0x800, 375
+ obj_tiles gMonBackPic_Absol, 0x800, 376
+ obj_tiles gMonBackPic_Shuppet, 0x800, 377
+ obj_tiles gMonBackPic_Banette, 0x800, 378
+ obj_tiles gMonBackPic_Seviper, 0x800, 379
+ obj_tiles gMonBackPic_Zangoose, 0x800, 380
+ obj_tiles gMonBackPic_Relicanth, 0x800, 381
+ obj_tiles gMonBackPic_Aron, 0x800, 382
+ obj_tiles gMonBackPic_Lairon, 0x800, 383
+ obj_tiles gMonBackPic_Aggron, 0x800, 384
+ obj_tiles gMonBackPic_Castform, 0x800, 385
+ obj_tiles gMonBackPic_Volbeat, 0x800, 386
+ obj_tiles gMonBackPic_Illumise, 0x800, 387
+ obj_tiles gMonBackPic_Lileep, 0x800, 388
+ obj_tiles gMonBackPic_Cradily, 0x800, 389
+ obj_tiles gMonBackPic_Anorith, 0x800, 390
+ obj_tiles gMonBackPic_Armaldo, 0x800, 391
+ obj_tiles gMonBackPic_Ralts, 0x800, 392
+ obj_tiles gMonBackPic_Kirlia, 0x800, 393
+ obj_tiles gMonBackPic_Gardevoir, 0x800, 394
+ obj_tiles gMonBackPic_Bagon, 0x800, 395
+ obj_tiles gMonBackPic_Shelgon, 0x800, 396
+ obj_tiles gMonBackPic_Salamence, 0x800, 397
+ obj_tiles gMonBackPic_Beldum, 0x800, 398
+ obj_tiles gMonBackPic_Metang, 0x800, 399
+ obj_tiles gMonBackPic_Metagross, 0x800, 400
+ obj_tiles gMonBackPic_Regirock, 0x800, 401
+ obj_tiles gMonBackPic_Regice, 0x800, 402
+ obj_tiles gMonBackPic_Registeel, 0x800, 403
+ obj_tiles gMonBackPic_Kyogre, 0x800, 404
+ obj_tiles gMonBackPic_Groudon, 0x800, 405
+ obj_tiles gMonBackPic_Rayquaza, 0x800, 406
+ obj_tiles gMonBackPic_Latias, 0x800, 407
+ obj_tiles gMonBackPic_Latios, 0x800, 408
+ obj_tiles gMonBackPic_Jirachi, 0x800, 409
+ obj_tiles gMonBackPic_Deoxys, 0x800, 410
+ obj_tiles gMonBackPic_Chimecho, 0x800, 411
+ obj_tiles gMonPic_Egg, 0x800, 412
+ obj_tiles gMonBackPic_UnownB, 0x800, 413
+ obj_tiles gMonBackPic_UnownC, 0x800, 414
+ obj_tiles gMonBackPic_UnownD, 0x800, 415
+ obj_tiles gMonBackPic_UnownE, 0x800, 416
+ obj_tiles gMonBackPic_UnownF, 0x800, 417
+ obj_tiles gMonBackPic_UnownG, 0x800, 418
+ obj_tiles gMonBackPic_UnownH, 0x800, 419
+ obj_tiles gMonBackPic_UnownI, 0x800, 420
+ obj_tiles gMonBackPic_UnownJ, 0x800, 421
+ obj_tiles gMonBackPic_UnownK, 0x800, 422
+ obj_tiles gMonBackPic_UnownL, 0x800, 423
+ obj_tiles gMonBackPic_UnownM, 0x800, 424
+ obj_tiles gMonBackPic_UnownN, 0x800, 425
+ obj_tiles gMonBackPic_UnownO, 0x800, 426
+ obj_tiles gMonBackPic_UnownP, 0x800, 427
+ obj_tiles gMonBackPic_UnownQ, 0x800, 428
+ obj_tiles gMonBackPic_UnownR, 0x800, 429
+ obj_tiles gMonBackPic_UnownS, 0x800, 430
+ obj_tiles gMonBackPic_UnownT, 0x800, 431
+ obj_tiles gMonBackPic_UnownU, 0x800, 432
+ obj_tiles gMonBackPic_UnownV, 0x800, 433
+ obj_tiles gMonBackPic_UnownW, 0x800, 434
+ obj_tiles gMonBackPic_UnownX, 0x800, 435
+ obj_tiles gMonBackPic_UnownY, 0x800, 436
+ obj_tiles gMonBackPic_UnownZ, 0x800, 437
+ obj_tiles gMonBackPic_UnownExclamationMark, 0x800, 438
+ obj_tiles gMonBackPic_UnownQuestionMark, 0x800, 439
diff --git a/data/graphics/pokemon/circled_question_mark_graphics.s b/data/graphics/pokemon/circled_question_mark_graphics.s
new file mode 100644
index 000000000..63fd233ba
--- /dev/null
+++ b/data/graphics/pokemon/circled_question_mark_graphics.s
@@ -0,0 +1,19 @@
+ .align 2
+
+gMonFrontPic_CircledQuestionMark: ; 8D01524
+ .incbin "graphics/pokemon/circled_question_mark/front.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_CircledQuestionMark: ; 8D0176C
+ .incbin "graphics/pokemon/circled_question_mark/back.4bpp.lz"
+
+ .align 2
+
+gMonPalette_CircledQuestionMark: ; 8D019B4
+ .incbin "graphics/pokemon/circled_question_mark/normal.gbapal.lz"
+
+ .align 2
+
+gMonShinyPalette_CircledQuestionMark: ; 8D019CC
+ .incbin "graphics/pokemon/circled_question_mark/shiny.gbapal.lz"
diff --git a/data/graphics/pokemon/footprint_table.s b/data/graphics/pokemon/footprint_table.s
new file mode 100644
index 000000000..4ae82b59f
--- /dev/null
+++ b/data/graphics/pokemon/footprint_table.s
@@ -0,0 +1,416 @@
+ .align 2
+
+gMonFootprintTable: ; 83B4EE4
+ .4byte gMonFootprint_Bulbasaur
+ .4byte gMonFootprint_Bulbasaur
+ .4byte gMonFootprint_Ivysaur
+ .4byte gMonFootprint_Venusaur
+ .4byte gMonFootprint_Charmander
+ .4byte gMonFootprint_Charmeleon
+ .4byte gMonFootprint_Charizard
+ .4byte gMonFootprint_Squirtle
+ .4byte gMonFootprint_Wartortle
+ .4byte gMonFootprint_Blastoise
+ .4byte gMonFootprint_Caterpie
+ .4byte gMonFootprint_Metapod
+ .4byte gMonFootprint_Butterfree
+ .4byte gMonFootprint_Weedle
+ .4byte gMonFootprint_Kakuna
+ .4byte gMonFootprint_Beedrill
+ .4byte gMonFootprint_Pidgey
+ .4byte gMonFootprint_Pidgeotto
+ .4byte gMonFootprint_Pidgeot
+ .4byte gMonFootprint_Rattata
+ .4byte gMonFootprint_Raticate
+ .4byte gMonFootprint_Spearow
+ .4byte gMonFootprint_Fearow
+ .4byte gMonFootprint_Ekans
+ .4byte gMonFootprint_Arbok
+ .4byte gMonFootprint_Pikachu
+ .4byte gMonFootprint_Raichu
+ .4byte gMonFootprint_Sandshrew
+ .4byte gMonFootprint_Sandslash
+ .4byte gMonFootprint_NidoranF
+ .4byte gMonFootprint_Nidorina
+ .4byte gMonFootprint_Nidoqueen
+ .4byte gMonFootprint_NidoranM
+ .4byte gMonFootprint_Nidorino
+ .4byte gMonFootprint_Nidoking
+ .4byte gMonFootprint_Clefairy
+ .4byte gMonFootprint_Clefable
+ .4byte gMonFootprint_Vulpix
+ .4byte gMonFootprint_Ninetales
+ .4byte gMonFootprint_Jigglypuff
+ .4byte gMonFootprint_Wigglytuff
+ .4byte gMonFootprint_Zubat
+ .4byte gMonFootprint_Golbat
+ .4byte gMonFootprint_Oddish
+ .4byte gMonFootprint_Gloom
+ .4byte gMonFootprint_Vileplume
+ .4byte gMonFootprint_Paras
+ .4byte gMonFootprint_Parasect
+ .4byte gMonFootprint_Venonat
+ .4byte gMonFootprint_Venomoth
+ .4byte gMonFootprint_Diglett
+ .4byte gMonFootprint_Dugtrio
+ .4byte gMonFootprint_Meowth
+ .4byte gMonFootprint_Persian
+ .4byte gMonFootprint_Psyduck
+ .4byte gMonFootprint_Golduck
+ .4byte gMonFootprint_Mankey
+ .4byte gMonFootprint_Primeape
+ .4byte gMonFootprint_Growlithe
+ .4byte gMonFootprint_Arcanine
+ .4byte gMonFootprint_Poliwag
+ .4byte gMonFootprint_Poliwhirl
+ .4byte gMonFootprint_Poliwrath
+ .4byte gMonFootprint_Abra
+ .4byte gMonFootprint_Kadabra
+ .4byte gMonFootprint_Alakazam
+ .4byte gMonFootprint_Machop
+ .4byte gMonFootprint_Machoke
+ .4byte gMonFootprint_Machamp
+ .4byte gMonFootprint_Bellsprout
+ .4byte gMonFootprint_Weepinbell
+ .4byte gMonFootprint_Victreebel
+ .4byte gMonFootprint_Tentacool
+ .4byte gMonFootprint_Tentacruel
+ .4byte gMonFootprint_Geodude
+ .4byte gMonFootprint_Graveler
+ .4byte gMonFootprint_Golem
+ .4byte gMonFootprint_Ponyta
+ .4byte gMonFootprint_Rapidash
+ .4byte gMonFootprint_Slowpoke
+ .4byte gMonFootprint_Slowbro
+ .4byte gMonFootprint_Magnemite
+ .4byte gMonFootprint_Magneton
+ .4byte gMonFootprint_Farfetchd
+ .4byte gMonFootprint_Doduo
+ .4byte gMonFootprint_Dodrio
+ .4byte gMonFootprint_Seel
+ .4byte gMonFootprint_Dewgong
+ .4byte gMonFootprint_Grimer
+ .4byte gMonFootprint_Muk
+ .4byte gMonFootprint_Shellder
+ .4byte gMonFootprint_Cloyster
+ .4byte gMonFootprint_Gastly
+ .4byte gMonFootprint_Haunter
+ .4byte gMonFootprint_Gengar
+ .4byte gMonFootprint_Onix
+ .4byte gMonFootprint_Drowzee
+ .4byte gMonFootprint_Hypno
+ .4byte gMonFootprint_Krabby
+ .4byte gMonFootprint_Kingler
+ .4byte gMonFootprint_Voltorb
+ .4byte gMonFootprint_Electrode
+ .4byte gMonFootprint_Exeggcute
+ .4byte gMonFootprint_Exeggutor
+ .4byte gMonFootprint_Cubone
+ .4byte gMonFootprint_Marowak
+ .4byte gMonFootprint_Hitmonlee
+ .4byte gMonFootprint_Hitmonchan
+ .4byte gMonFootprint_Lickitung
+ .4byte gMonFootprint_Koffing
+ .4byte gMonFootprint_Weezing
+ .4byte gMonFootprint_Rhyhorn
+ .4byte gMonFootprint_Rhydon
+ .4byte gMonFootprint_Chansey
+ .4byte gMonFootprint_Tangela
+ .4byte gMonFootprint_Kangaskhan
+ .4byte gMonFootprint_Horsea
+ .4byte gMonFootprint_Seadra
+ .4byte gMonFootprint_Goldeen
+ .4byte gMonFootprint_Seaking
+ .4byte gMonFootprint_Staryu
+ .4byte gMonFootprint_Starmie
+ .4byte gMonFootprint_Mrmime
+ .4byte gMonFootprint_Scyther
+ .4byte gMonFootprint_Jynx
+ .4byte gMonFootprint_Electabuzz
+ .4byte gMonFootprint_Magmar
+ .4byte gMonFootprint_Pinsir
+ .4byte gMonFootprint_Tauros
+ .4byte gMonFootprint_Magikarp
+ .4byte gMonFootprint_Gyarados
+ .4byte gMonFootprint_Lapras
+ .4byte gMonFootprint_Ditto
+ .4byte gMonFootprint_Eevee
+ .4byte gMonFootprint_Vaporeon
+ .4byte gMonFootprint_Jolteon
+ .4byte gMonFootprint_Flareon
+ .4byte gMonFootprint_Porygon
+ .4byte gMonFootprint_Omanyte
+ .4byte gMonFootprint_Omastar
+ .4byte gMonFootprint_Kabuto
+ .4byte gMonFootprint_Kabutops
+ .4byte gMonFootprint_Aerodactyl
+ .4byte gMonFootprint_Snorlax
+ .4byte gMonFootprint_Articuno
+ .4byte gMonFootprint_Zapdos
+ .4byte gMonFootprint_Moltres
+ .4byte gMonFootprint_Dratini
+ .4byte gMonFootprint_Dragonair
+ .4byte gMonFootprint_Dragonite
+ .4byte gMonFootprint_Mewtwo
+ .4byte gMonFootprint_Mew
+ .4byte gMonFootprint_Chikorita
+ .4byte gMonFootprint_Bayleef
+ .4byte gMonFootprint_Meganium
+ .4byte gMonFootprint_Cyndaquil
+ .4byte gMonFootprint_Quilava
+ .4byte gMonFootprint_Typhlosion
+ .4byte gMonFootprint_Totodile
+ .4byte gMonFootprint_Croconaw
+ .4byte gMonFootprint_Feraligatr
+ .4byte gMonFootprint_Sentret
+ .4byte gMonFootprint_Furret
+ .4byte gMonFootprint_Hoothoot
+ .4byte gMonFootprint_Noctowl
+ .4byte gMonFootprint_Ledyba
+ .4byte gMonFootprint_Ledian
+ .4byte gMonFootprint_Spinarak
+ .4byte gMonFootprint_Ariados
+ .4byte gMonFootprint_Crobat
+ .4byte gMonFootprint_Chinchou
+ .4byte gMonFootprint_Lanturn
+ .4byte gMonFootprint_Pichu
+ .4byte gMonFootprint_Cleffa
+ .4byte gMonFootprint_Igglybuff
+ .4byte gMonFootprint_Togepi
+ .4byte gMonFootprint_Togetic
+ .4byte gMonFootprint_Natu
+ .4byte gMonFootprint_Xatu
+ .4byte gMonFootprint_Mareep
+ .4byte gMonFootprint_Flaaffy
+ .4byte gMonFootprint_Ampharos
+ .4byte gMonFootprint_Bellossom
+ .4byte gMonFootprint_Marill
+ .4byte gMonFootprint_Azumarill
+ .4byte gMonFootprint_Sudowoodo
+ .4byte gMonFootprint_Politoed
+ .4byte gMonFootprint_Hoppip
+ .4byte gMonFootprint_Skiploom
+ .4byte gMonFootprint_Jumpluff
+ .4byte gMonFootprint_Aipom
+ .4byte gMonFootprint_Sunkern
+ .4byte gMonFootprint_Sunflora
+ .4byte gMonFootprint_Yanma
+ .4byte gMonFootprint_Wooper
+ .4byte gMonFootprint_Quagsire
+ .4byte gMonFootprint_Espeon
+ .4byte gMonFootprint_Umbreon
+ .4byte gMonFootprint_Murkrow
+ .4byte gMonFootprint_Slowking
+ .4byte gMonFootprint_Misdreavus
+ .4byte gMonFootprint_Unown
+ .4byte gMonFootprint_Wobbuffet
+ .4byte gMonFootprint_Girafarig
+ .4byte gMonFootprint_Pineco
+ .4byte gMonFootprint_Forretress
+ .4byte gMonFootprint_Dunsparce
+ .4byte gMonFootprint_Gligar
+ .4byte gMonFootprint_Steelix
+ .4byte gMonFootprint_Snubbull
+ .4byte gMonFootprint_Granbull
+ .4byte gMonFootprint_Qwilfish
+ .4byte gMonFootprint_Scizor
+ .4byte gMonFootprint_Shuckle
+ .4byte gMonFootprint_Heracross
+ .4byte gMonFootprint_Sneasel
+ .4byte gMonFootprint_Teddiursa
+ .4byte gMonFootprint_Ursaring
+ .4byte gMonFootprint_Slugma
+ .4byte gMonFootprint_Magcargo
+ .4byte gMonFootprint_Swinub
+ .4byte gMonFootprint_Piloswine
+ .4byte gMonFootprint_Corsola
+ .4byte gMonFootprint_Remoraid
+ .4byte gMonFootprint_Octillery
+ .4byte gMonFootprint_Delibird
+ .4byte gMonFootprint_Mantine
+ .4byte gMonFootprint_Skarmory
+ .4byte gMonFootprint_Houndour
+ .4byte gMonFootprint_Houndoom
+ .4byte gMonFootprint_Kingdra
+ .4byte gMonFootprint_Phanpy
+ .4byte gMonFootprint_Donphan
+ .4byte gMonFootprint_Porygon2
+ .4byte gMonFootprint_Stantler
+ .4byte gMonFootprint_Smeargle
+ .4byte gMonFootprint_Tyrogue
+ .4byte gMonFootprint_Hitmontop
+ .4byte gMonFootprint_Smoochum
+ .4byte gMonFootprint_Elekid
+ .4byte gMonFootprint_Magby
+ .4byte gMonFootprint_Miltank
+ .4byte gMonFootprint_Blissey
+ .4byte gMonFootprint_Raikou
+ .4byte gMonFootprint_Entei
+ .4byte gMonFootprint_Suicune
+ .4byte gMonFootprint_Larvitar
+ .4byte gMonFootprint_Pupitar
+ .4byte gMonFootprint_Tyranitar
+ .4byte gMonFootprint_Lugia
+ .4byte gMonFootprint_HoOh
+ .4byte gMonFootprint_Celebi
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_Treecko
+ .4byte gMonFootprint_Grovyle
+ .4byte gMonFootprint_Sceptile
+ .4byte gMonFootprint_Torchic
+ .4byte gMonFootprint_Combusken
+ .4byte gMonFootprint_Blaziken
+ .4byte gMonFootprint_Mudkip
+ .4byte gMonFootprint_Marshtomp
+ .4byte gMonFootprint_Swampert
+ .4byte gMonFootprint_Poochyena
+ .4byte gMonFootprint_Mightyena
+ .4byte gMonFootprint_Zigzagoon
+ .4byte gMonFootprint_Linoone
+ .4byte gMonFootprint_Wurmple
+ .4byte gMonFootprint_Silcoon
+ .4byte gMonFootprint_Beautifly
+ .4byte gMonFootprint_Cascoon
+ .4byte gMonFootprint_Dustox
+ .4byte gMonFootprint_Lotad
+ .4byte gMonFootprint_Lombre
+ .4byte gMonFootprint_Ludicolo
+ .4byte gMonFootprint_Seedot
+ .4byte gMonFootprint_Nuzleaf
+ .4byte gMonFootprint_Shiftry
+ .4byte gMonFootprint_Nincada
+ .4byte gMonFootprint_Ninjask
+ .4byte gMonFootprint_Shedinja
+ .4byte gMonFootprint_Taillow
+ .4byte gMonFootprint_Swellow
+ .4byte gMonFootprint_Shroomish
+ .4byte gMonFootprint_Breloom
+ .4byte gMonFootprint_Spinda
+ .4byte gMonFootprint_Wingull
+ .4byte gMonFootprint_Pelipper
+ .4byte gMonFootprint_Surskit
+ .4byte gMonFootprint_Masquerain
+ .4byte gMonFootprint_Wailmer
+ .4byte gMonFootprint_Wailord
+ .4byte gMonFootprint_Skitty
+ .4byte gMonFootprint_Delcatty
+ .4byte gMonFootprint_Kecleon
+ .4byte gMonFootprint_Baltoy
+ .4byte gMonFootprint_Claydol
+ .4byte gMonFootprint_Nosepass
+ .4byte gMonFootprint_Torkoal
+ .4byte gMonFootprint_Sableye
+ .4byte gMonFootprint_Barboach
+ .4byte gMonFootprint_Whiscash
+ .4byte gMonFootprint_Luvdisc
+ .4byte gMonFootprint_Corphish
+ .4byte gMonFootprint_Crawdaunt
+ .4byte gMonFootprint_Feebas
+ .4byte gMonFootprint_Milotic
+ .4byte gMonFootprint_Carvanha
+ .4byte gMonFootprint_Sharpedo
+ .4byte gMonFootprint_Trapinch
+ .4byte gMonFootprint_Vibrava
+ .4byte gMonFootprint_Flygon
+ .4byte gMonFootprint_Makuhita
+ .4byte gMonFootprint_Hariyama
+ .4byte gMonFootprint_Electrike
+ .4byte gMonFootprint_Manectric
+ .4byte gMonFootprint_Numel
+ .4byte gMonFootprint_Camerupt
+ .4byte gMonFootprint_Spheal
+ .4byte gMonFootprint_Sealeo
+ .4byte gMonFootprint_Walrein
+ .4byte gMonFootprint_Cacnea
+ .4byte gMonFootprint_Cacturne
+ .4byte gMonFootprint_Snorunt
+ .4byte gMonFootprint_Glalie
+ .4byte gMonFootprint_Lunatone
+ .4byte gMonFootprint_Solrock
+ .4byte gMonFootprint_Azurill
+ .4byte gMonFootprint_Spoink
+ .4byte gMonFootprint_Grumpig
+ .4byte gMonFootprint_Plusle
+ .4byte gMonFootprint_Minun
+ .4byte gMonFootprint_Mawile
+ .4byte gMonFootprint_Meditite
+ .4byte gMonFootprint_Medicham
+ .4byte gMonFootprint_Swablu
+ .4byte gMonFootprint_Altaria
+ .4byte gMonFootprint_Wynaut
+ .4byte gMonFootprint_Duskull
+ .4byte gMonFootprint_Dusclops
+ .4byte gMonFootprint_Roselia
+ .4byte gMonFootprint_Slakoth
+ .4byte gMonFootprint_Vigoroth
+ .4byte gMonFootprint_Slaking
+ .4byte gMonFootprint_Gulpin
+ .4byte gMonFootprint_Swalot
+ .4byte gMonFootprint_Tropius
+ .4byte gMonFootprint_Whismur
+ .4byte gMonFootprint_Loudred
+ .4byte gMonFootprint_Exploud
+ .4byte gMonFootprint_Clamperl
+ .4byte gMonFootprint_Huntail
+ .4byte gMonFootprint_Gorebyss
+ .4byte gMonFootprint_Absol
+ .4byte gMonFootprint_Shuppet
+ .4byte gMonFootprint_Banette
+ .4byte gMonFootprint_Seviper
+ .4byte gMonFootprint_Zangoose
+ .4byte gMonFootprint_Relicanth
+ .4byte gMonFootprint_Aron
+ .4byte gMonFootprint_Lairon
+ .4byte gMonFootprint_Aggron
+ .4byte gMonFootprint_Castform
+ .4byte gMonFootprint_Volbeat
+ .4byte gMonFootprint_Illumise
+ .4byte gMonFootprint_Lileep
+ .4byte gMonFootprint_Cradily
+ .4byte gMonFootprint_Anorith
+ .4byte gMonFootprint_Armaldo
+ .4byte gMonFootprint_Ralts
+ .4byte gMonFootprint_Kirlia
+ .4byte gMonFootprint_Gardevoir
+ .4byte gMonFootprint_Bagon
+ .4byte gMonFootprint_Shelgon
+ .4byte gMonFootprint_Salamence
+ .4byte gMonFootprint_Beldum
+ .4byte gMonFootprint_Metang
+ .4byte gMonFootprint_Metagross
+ .4byte gMonFootprint_Regirock
+ .4byte gMonFootprint_Regice
+ .4byte gMonFootprint_Registeel
+ .4byte gMonFootprint_Kyogre
+ .4byte gMonFootprint_Groudon
+ .4byte gMonFootprint_Rayquaza
+ .4byte gMonFootprint_Latias
+ .4byte gMonFootprint_Latios
+ .4byte gMonFootprint_Jirachi
+ .4byte gMonFootprint_Deoxys
+ .4byte gMonFootprint_Chimecho
+ .4byte gMonFootprint_Bulbasaur
diff --git a/data/graphics/pokemon/front_pic_table.s b/data/graphics/pokemon/front_pic_table.s
new file mode 100644
index 000000000..d4fdbc449
--- /dev/null
+++ b/data/graphics/pokemon/front_pic_table.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonFrontPicTable: ; 81E8354
+ obj_tiles gMonFrontPic_CircledQuestionMark, 0x800, 0
+ obj_tiles gMonFrontPic_Bulbasaur, 0x800, 1
+ obj_tiles gMonFrontPic_Ivysaur, 0x800, 2
+ obj_tiles gMonFrontPic_Venusaur, 0x800, 3
+ obj_tiles gMonFrontPic_Charmander, 0x800, 4
+ obj_tiles gMonFrontPic_Charmeleon, 0x800, 5
+ obj_tiles gMonFrontPic_Charizard, 0x800, 6
+ obj_tiles gMonFrontPic_Squirtle, 0x800, 7
+ obj_tiles gMonFrontPic_Wartortle, 0x800, 8
+ obj_tiles gMonFrontPic_Blastoise, 0x800, 9
+ obj_tiles gMonFrontPic_Caterpie, 0x800, 10
+ obj_tiles gMonFrontPic_Metapod, 0x800, 11
+ obj_tiles gMonFrontPic_Butterfree, 0x800, 12
+ obj_tiles gMonFrontPic_Weedle, 0x800, 13
+ obj_tiles gMonFrontPic_Kakuna, 0x800, 14
+ obj_tiles gMonFrontPic_Beedrill, 0x800, 15
+ obj_tiles gMonFrontPic_Pidgey, 0x800, 16
+ obj_tiles gMonFrontPic_Pidgeotto, 0x800, 17
+ obj_tiles gMonFrontPic_Pidgeot, 0x800, 18
+ obj_tiles gMonFrontPic_Rattata, 0x800, 19
+ obj_tiles gMonFrontPic_Raticate, 0x800, 20
+ obj_tiles gMonFrontPic_Spearow, 0x800, 21
+ obj_tiles gMonFrontPic_Fearow, 0x800, 22
+ obj_tiles gMonFrontPic_Ekans, 0x800, 23
+ obj_tiles gMonFrontPic_Arbok, 0x800, 24
+ obj_tiles gMonFrontPic_Pikachu, 0x800, 25
+ obj_tiles gMonFrontPic_Raichu, 0x800, 26
+ obj_tiles gMonFrontPic_Sandshrew, 0x800, 27
+ obj_tiles gMonFrontPic_Sandslash, 0x800, 28
+ obj_tiles gMonFrontPic_NidoranF, 0x800, 29
+ obj_tiles gMonFrontPic_Nidorina, 0x800, 30
+ obj_tiles gMonFrontPic_Nidoqueen, 0x800, 31
+ obj_tiles gMonFrontPic_NidoranM, 0x800, 32
+ obj_tiles gMonFrontPic_Nidorino, 0x800, 33
+ obj_tiles gMonFrontPic_Nidoking, 0x800, 34
+ obj_tiles gMonFrontPic_Clefairy, 0x800, 35
+ obj_tiles gMonFrontPic_Clefable, 0x800, 36
+ obj_tiles gMonFrontPic_Vulpix, 0x800, 37
+ obj_tiles gMonFrontPic_Ninetales, 0x800, 38
+ obj_tiles gMonFrontPic_Jigglypuff, 0x800, 39
+ obj_tiles gMonFrontPic_Wigglytuff, 0x800, 40
+ obj_tiles gMonFrontPic_Zubat, 0x800, 41
+ obj_tiles gMonFrontPic_Golbat, 0x800, 42
+ obj_tiles gMonFrontPic_Oddish, 0x800, 43
+ obj_tiles gMonFrontPic_Gloom, 0x800, 44
+ obj_tiles gMonFrontPic_Vileplume, 0x800, 45
+ obj_tiles gMonFrontPic_Paras, 0x800, 46
+ obj_tiles gMonFrontPic_Parasect, 0x800, 47
+ obj_tiles gMonFrontPic_Venonat, 0x800, 48
+ obj_tiles gMonFrontPic_Venomoth, 0x800, 49
+ obj_tiles gMonFrontPic_Diglett, 0x800, 50
+ obj_tiles gMonFrontPic_Dugtrio, 0x800, 51
+ obj_tiles gMonFrontPic_Meowth, 0x800, 52
+ obj_tiles gMonFrontPic_Persian, 0x800, 53
+ obj_tiles gMonFrontPic_Psyduck, 0x800, 54
+ obj_tiles gMonFrontPic_Golduck, 0x800, 55
+ obj_tiles gMonFrontPic_Mankey, 0x800, 56
+ obj_tiles gMonFrontPic_Primeape, 0x800, 57
+ obj_tiles gMonFrontPic_Growlithe, 0x800, 58
+ obj_tiles gMonFrontPic_Arcanine, 0x800, 59
+ obj_tiles gMonFrontPic_Poliwag, 0x800, 60
+ obj_tiles gMonFrontPic_Poliwhirl, 0x800, 61
+ obj_tiles gMonFrontPic_Poliwrath, 0x800, 62
+ obj_tiles gMonFrontPic_Abra, 0x800, 63
+ obj_tiles gMonFrontPic_Kadabra, 0x800, 64
+ obj_tiles gMonFrontPic_Alakazam, 0x800, 65
+ obj_tiles gMonFrontPic_Machop, 0x800, 66
+ obj_tiles gMonFrontPic_Machoke, 0x800, 67
+ obj_tiles gMonFrontPic_Machamp, 0x800, 68
+ obj_tiles gMonFrontPic_Bellsprout, 0x800, 69
+ obj_tiles gMonFrontPic_Weepinbell, 0x800, 70
+ obj_tiles gMonFrontPic_Victreebel, 0x800, 71
+ obj_tiles gMonFrontPic_Tentacool, 0x800, 72
+ obj_tiles gMonFrontPic_Tentacruel, 0x800, 73
+ obj_tiles gMonFrontPic_Geodude, 0x800, 74
+ obj_tiles gMonFrontPic_Graveler, 0x800, 75
+ obj_tiles gMonFrontPic_Golem, 0x800, 76
+ obj_tiles gMonFrontPic_Ponyta, 0x800, 77
+ obj_tiles gMonFrontPic_Rapidash, 0x800, 78
+ obj_tiles gMonFrontPic_Slowpoke, 0x800, 79
+ obj_tiles gMonFrontPic_Slowbro, 0x800, 80
+ obj_tiles gMonFrontPic_Magnemite, 0x800, 81
+ obj_tiles gMonFrontPic_Magneton, 0x800, 82
+ obj_tiles gMonFrontPic_Farfetchd, 0x800, 83
+ obj_tiles gMonFrontPic_Doduo, 0x800, 84
+ obj_tiles gMonFrontPic_Dodrio, 0x800, 85
+ obj_tiles gMonFrontPic_Seel, 0x800, 86
+ obj_tiles gMonFrontPic_Dewgong, 0x800, 87
+ obj_tiles gMonFrontPic_Grimer, 0x800, 88
+ obj_tiles gMonFrontPic_Muk, 0x800, 89
+ obj_tiles gMonFrontPic_Shellder, 0x800, 90
+ obj_tiles gMonFrontPic_Cloyster, 0x800, 91
+ obj_tiles gMonFrontPic_Gastly, 0x800, 92
+ obj_tiles gMonFrontPic_Haunter, 0x800, 93
+ obj_tiles gMonFrontPic_Gengar, 0x800, 94
+ obj_tiles gMonFrontPic_Onix, 0x800, 95
+ obj_tiles gMonFrontPic_Drowzee, 0x800, 96
+ obj_tiles gMonFrontPic_Hypno, 0x800, 97
+ obj_tiles gMonFrontPic_Krabby, 0x800, 98
+ obj_tiles gMonFrontPic_Kingler, 0x800, 99
+ obj_tiles gMonFrontPic_Voltorb, 0x800, 100
+ obj_tiles gMonFrontPic_Electrode, 0x800, 101
+ obj_tiles gMonFrontPic_Exeggcute, 0x800, 102
+ obj_tiles gMonFrontPic_Exeggutor, 0x800, 103
+ obj_tiles gMonFrontPic_Cubone, 0x800, 104
+ obj_tiles gMonFrontPic_Marowak, 0x800, 105
+ obj_tiles gMonFrontPic_Hitmonlee, 0x800, 106
+ obj_tiles gMonFrontPic_Hitmonchan, 0x800, 107
+ obj_tiles gMonFrontPic_Lickitung, 0x800, 108
+ obj_tiles gMonFrontPic_Koffing, 0x800, 109
+ obj_tiles gMonFrontPic_Weezing, 0x800, 110
+ obj_tiles gMonFrontPic_Rhyhorn, 0x800, 111
+ obj_tiles gMonFrontPic_Rhydon, 0x800, 112
+ obj_tiles gMonFrontPic_Chansey, 0x800, 113
+ obj_tiles gMonFrontPic_Tangela, 0x800, 114
+ obj_tiles gMonFrontPic_Kangaskhan, 0x800, 115
+ obj_tiles gMonFrontPic_Horsea, 0x800, 116
+ obj_tiles gMonFrontPic_Seadra, 0x800, 117
+ obj_tiles gMonFrontPic_Goldeen, 0x800, 118
+ obj_tiles gMonFrontPic_Seaking, 0x800, 119
+ obj_tiles gMonFrontPic_Staryu, 0x800, 120
+ obj_tiles gMonFrontPic_Starmie, 0x800, 121
+ obj_tiles gMonFrontPic_Mrmime, 0x800, 122
+ obj_tiles gMonFrontPic_Scyther, 0x800, 123
+ obj_tiles gMonFrontPic_Jynx, 0x800, 124
+ obj_tiles gMonFrontPic_Electabuzz, 0x800, 125
+ obj_tiles gMonFrontPic_Magmar, 0x800, 126
+ obj_tiles gMonFrontPic_Pinsir, 0x800, 127
+ obj_tiles gMonFrontPic_Tauros, 0x800, 128
+ obj_tiles gMonFrontPic_Magikarp, 0x800, 129
+ obj_tiles gMonFrontPic_Gyarados, 0x800, 130
+ obj_tiles gMonFrontPic_Lapras, 0x800, 131
+ obj_tiles gMonFrontPic_Ditto, 0x800, 132
+ obj_tiles gMonFrontPic_Eevee, 0x800, 133
+ obj_tiles gMonFrontPic_Vaporeon, 0x800, 134
+ obj_tiles gMonFrontPic_Jolteon, 0x800, 135
+ obj_tiles gMonFrontPic_Flareon, 0x800, 136
+ obj_tiles gMonFrontPic_Porygon, 0x800, 137
+ obj_tiles gMonFrontPic_Omanyte, 0x800, 138
+ obj_tiles gMonFrontPic_Omastar, 0x800, 139
+ obj_tiles gMonFrontPic_Kabuto, 0x800, 140
+ obj_tiles gMonFrontPic_Kabutops, 0x800, 141
+ obj_tiles gMonFrontPic_Aerodactyl, 0x800, 142
+ obj_tiles gMonFrontPic_Snorlax, 0x800, 143
+ obj_tiles gMonFrontPic_Articuno, 0x800, 144
+ obj_tiles gMonFrontPic_Zapdos, 0x800, 145
+ obj_tiles gMonFrontPic_Moltres, 0x800, 146
+ obj_tiles gMonFrontPic_Dratini, 0x800, 147
+ obj_tiles gMonFrontPic_Dragonair, 0x800, 148
+ obj_tiles gMonFrontPic_Dragonite, 0x800, 149
+ obj_tiles gMonFrontPic_Mewtwo, 0x800, 150
+ obj_tiles gMonFrontPic_Mew, 0x800, 151
+ obj_tiles gMonFrontPic_Chikorita, 0x800, 152
+ obj_tiles gMonFrontPic_Bayleef, 0x800, 153
+ obj_tiles gMonFrontPic_Meganium, 0x800, 154
+ obj_tiles gMonFrontPic_Cyndaquil, 0x800, 155
+ obj_tiles gMonFrontPic_Quilava, 0x800, 156
+ obj_tiles gMonFrontPic_Typhlosion, 0x800, 157
+ obj_tiles gMonFrontPic_Totodile, 0x800, 158
+ obj_tiles gMonFrontPic_Croconaw, 0x800, 159
+ obj_tiles gMonFrontPic_Feraligatr, 0x800, 160
+ obj_tiles gMonFrontPic_Sentret, 0x800, 161
+ obj_tiles gMonFrontPic_Furret, 0x800, 162
+ obj_tiles gMonFrontPic_Hoothoot, 0x800, 163
+ obj_tiles gMonFrontPic_Noctowl, 0x800, 164
+ obj_tiles gMonFrontPic_Ledyba, 0x800, 165
+ obj_tiles gMonFrontPic_Ledian, 0x800, 166
+ obj_tiles gMonFrontPic_Spinarak, 0x800, 167
+ obj_tiles gMonFrontPic_Ariados, 0x800, 168
+ obj_tiles gMonFrontPic_Crobat, 0x800, 169
+ obj_tiles gMonFrontPic_Chinchou, 0x800, 170
+ obj_tiles gMonFrontPic_Lanturn, 0x800, 171
+ obj_tiles gMonFrontPic_Pichu, 0x800, 172
+ obj_tiles gMonFrontPic_Cleffa, 0x800, 173
+ obj_tiles gMonFrontPic_Igglybuff, 0x800, 174
+ obj_tiles gMonFrontPic_Togepi, 0x800, 175
+ obj_tiles gMonFrontPic_Togetic, 0x800, 176
+ obj_tiles gMonFrontPic_Natu, 0x800, 177
+ obj_tiles gMonFrontPic_Xatu, 0x800, 178
+ obj_tiles gMonFrontPic_Mareep, 0x800, 179
+ obj_tiles gMonFrontPic_Flaaffy, 0x800, 180
+ obj_tiles gMonFrontPic_Ampharos, 0x800, 181
+ obj_tiles gMonFrontPic_Bellossom, 0x800, 182
+ obj_tiles gMonFrontPic_Marill, 0x800, 183
+ obj_tiles gMonFrontPic_Azumarill, 0x800, 184
+ obj_tiles gMonFrontPic_Sudowoodo, 0x800, 185
+ obj_tiles gMonFrontPic_Politoed, 0x800, 186
+ obj_tiles gMonFrontPic_Hoppip, 0x800, 187
+ obj_tiles gMonFrontPic_Skiploom, 0x800, 188
+ obj_tiles gMonFrontPic_Jumpluff, 0x800, 189
+ obj_tiles gMonFrontPic_Aipom, 0x800, 190
+ obj_tiles gMonFrontPic_Sunkern, 0x800, 191
+ obj_tiles gMonFrontPic_Sunflora, 0x800, 192
+ obj_tiles gMonFrontPic_Yanma, 0x800, 193
+ obj_tiles gMonFrontPic_Wooper, 0x800, 194
+ obj_tiles gMonFrontPic_Quagsire, 0x800, 195
+ obj_tiles gMonFrontPic_Espeon, 0x800, 196
+ obj_tiles gMonFrontPic_Umbreon, 0x800, 197
+ obj_tiles gMonFrontPic_Murkrow, 0x800, 198
+ obj_tiles gMonFrontPic_Slowking, 0x800, 199
+ obj_tiles gMonFrontPic_Misdreavus, 0x800, 200
+ obj_tiles gMonFrontPic_UnownA, 0x800, 201
+ obj_tiles gMonFrontPic_Wobbuffet, 0x800, 202
+ obj_tiles gMonFrontPic_Girafarig, 0x800, 203
+ obj_tiles gMonFrontPic_Pineco, 0x800, 204
+ obj_tiles gMonFrontPic_Forretress, 0x800, 205
+ obj_tiles gMonFrontPic_Dunsparce, 0x800, 206
+ obj_tiles gMonFrontPic_Gligar, 0x800, 207
+ obj_tiles gMonFrontPic_Steelix, 0x800, 208
+ obj_tiles gMonFrontPic_Snubbull, 0x800, 209
+ obj_tiles gMonFrontPic_Granbull, 0x800, 210
+ obj_tiles gMonFrontPic_Qwilfish, 0x800, 211
+ obj_tiles gMonFrontPic_Scizor, 0x800, 212
+ obj_tiles gMonFrontPic_Shuckle, 0x800, 213
+ obj_tiles gMonFrontPic_Heracross, 0x800, 214
+ obj_tiles gMonFrontPic_Sneasel, 0x800, 215
+ obj_tiles gMonFrontPic_Teddiursa, 0x800, 216
+ obj_tiles gMonFrontPic_Ursaring, 0x800, 217
+ obj_tiles gMonFrontPic_Slugma, 0x800, 218
+ obj_tiles gMonFrontPic_Magcargo, 0x800, 219
+ obj_tiles gMonFrontPic_Swinub, 0x800, 220
+ obj_tiles gMonFrontPic_Piloswine, 0x800, 221
+ obj_tiles gMonFrontPic_Corsola, 0x800, 222
+ obj_tiles gMonFrontPic_Remoraid, 0x800, 223
+ obj_tiles gMonFrontPic_Octillery, 0x800, 224
+ obj_tiles gMonFrontPic_Delibird, 0x800, 225
+ obj_tiles gMonFrontPic_Mantine, 0x800, 226
+ obj_tiles gMonFrontPic_Skarmory, 0x800, 227
+ obj_tiles gMonFrontPic_Houndour, 0x800, 228
+ obj_tiles gMonFrontPic_Houndoom, 0x800, 229
+ obj_tiles gMonFrontPic_Kingdra, 0x800, 230
+ obj_tiles gMonFrontPic_Phanpy, 0x800, 231
+ obj_tiles gMonFrontPic_Donphan, 0x800, 232
+ obj_tiles gMonFrontPic_Porygon2, 0x800, 233
+ obj_tiles gMonFrontPic_Stantler, 0x800, 234
+ obj_tiles gMonFrontPic_Smeargle, 0x800, 235
+ obj_tiles gMonFrontPic_Tyrogue, 0x800, 236
+ obj_tiles gMonFrontPic_Hitmontop, 0x800, 237
+ obj_tiles gMonFrontPic_Smoochum, 0x800, 238
+ obj_tiles gMonFrontPic_Elekid, 0x800, 239
+ obj_tiles gMonFrontPic_Magby, 0x800, 240
+ obj_tiles gMonFrontPic_Miltank, 0x800, 241
+ obj_tiles gMonFrontPic_Blissey, 0x800, 242
+ obj_tiles gMonFrontPic_Raikou, 0x800, 243
+ obj_tiles gMonFrontPic_Entei, 0x800, 244
+ obj_tiles gMonFrontPic_Suicune, 0x800, 245
+ obj_tiles gMonFrontPic_Larvitar, 0x800, 246
+ obj_tiles gMonFrontPic_Pupitar, 0x800, 247
+ obj_tiles gMonFrontPic_Tyranitar, 0x800, 248
+ obj_tiles gMonFrontPic_Lugia, 0x800, 249
+ obj_tiles gMonFrontPic_HoOh, 0x800, 250
+ obj_tiles gMonFrontPic_Celebi, 0x800, 251
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 252
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 253
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 254
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 255
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 256
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 257
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 258
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 259
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 260
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 261
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 262
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 263
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 264
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 265
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 266
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 267
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 268
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 269
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 270
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 271
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 272
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 273
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 274
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 275
+ obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 276
+ obj_tiles gMonFrontPic_Treecko, 0x800, 277
+ obj_tiles gMonFrontPic_Grovyle, 0x800, 278
+ obj_tiles gMonFrontPic_Sceptile, 0x800, 279
+ obj_tiles gMonFrontPic_Torchic, 0x800, 280
+ obj_tiles gMonFrontPic_Combusken, 0x800, 281
+ obj_tiles gMonFrontPic_Blaziken, 0x800, 282
+ obj_tiles gMonFrontPic_Mudkip, 0x800, 283
+ obj_tiles gMonFrontPic_Marshtomp, 0x800, 284
+ obj_tiles gMonFrontPic_Swampert, 0x800, 285
+ obj_tiles gMonFrontPic_Poochyena, 0x800, 286
+ obj_tiles gMonFrontPic_Mightyena, 0x800, 287
+ obj_tiles gMonFrontPic_Zigzagoon, 0x800, 288
+ obj_tiles gMonFrontPic_Linoone, 0x800, 289
+ obj_tiles gMonFrontPic_Wurmple, 0x800, 290
+ obj_tiles gMonFrontPic_Silcoon, 0x800, 291
+ obj_tiles gMonFrontPic_Beautifly, 0x800, 292
+ obj_tiles gMonFrontPic_Cascoon, 0x800, 293
+ obj_tiles gMonFrontPic_Dustox, 0x800, 294
+ obj_tiles gMonFrontPic_Lotad, 0x800, 295
+ obj_tiles gMonFrontPic_Lombre, 0x800, 296
+ obj_tiles gMonFrontPic_Ludicolo, 0x800, 297
+ obj_tiles gMonFrontPic_Seedot, 0x800, 298
+ obj_tiles gMonFrontPic_Nuzleaf, 0x800, 299
+ obj_tiles gMonFrontPic_Shiftry, 0x800, 300
+ obj_tiles gMonFrontPic_Nincada, 0x800, 301
+ obj_tiles gMonFrontPic_Ninjask, 0x800, 302
+ obj_tiles gMonFrontPic_Shedinja, 0x800, 303
+ obj_tiles gMonFrontPic_Taillow, 0x800, 304
+ obj_tiles gMonFrontPic_Swellow, 0x800, 305
+ obj_tiles gMonFrontPic_Shroomish, 0x800, 306
+ obj_tiles gMonFrontPic_Breloom, 0x800, 307
+ obj_tiles gMonFrontPic_Spinda, 0x800, 308
+ obj_tiles gMonFrontPic_Wingull, 0x800, 309
+ obj_tiles gMonFrontPic_Pelipper, 0x800, 310
+ obj_tiles gMonFrontPic_Surskit, 0x800, 311
+ obj_tiles gMonFrontPic_Masquerain, 0x800, 312
+ obj_tiles gMonFrontPic_Wailmer, 0x800, 313
+ obj_tiles gMonFrontPic_Wailord, 0x800, 314
+ obj_tiles gMonFrontPic_Skitty, 0x800, 315
+ obj_tiles gMonFrontPic_Delcatty, 0x800, 316
+ obj_tiles gMonFrontPic_Kecleon, 0x800, 317
+ obj_tiles gMonFrontPic_Baltoy, 0x800, 318
+ obj_tiles gMonFrontPic_Claydol, 0x800, 319
+ obj_tiles gMonFrontPic_Nosepass, 0x800, 320
+ obj_tiles gMonFrontPic_Torkoal, 0x800, 321
+ obj_tiles gMonFrontPic_Sableye, 0x800, 322
+ obj_tiles gMonFrontPic_Barboach, 0x800, 323
+ obj_tiles gMonFrontPic_Whiscash, 0x800, 324
+ obj_tiles gMonFrontPic_Luvdisc, 0x800, 325
+ obj_tiles gMonFrontPic_Corphish, 0x800, 326
+ obj_tiles gMonFrontPic_Crawdaunt, 0x800, 327
+ obj_tiles gMonFrontPic_Feebas, 0x800, 328
+ obj_tiles gMonFrontPic_Milotic, 0x800, 329
+ obj_tiles gMonFrontPic_Carvanha, 0x800, 330
+ obj_tiles gMonFrontPic_Sharpedo, 0x800, 331
+ obj_tiles gMonFrontPic_Trapinch, 0x800, 332
+ obj_tiles gMonFrontPic_Vibrava, 0x800, 333
+ obj_tiles gMonFrontPic_Flygon, 0x800, 334
+ obj_tiles gMonFrontPic_Makuhita, 0x800, 335
+ obj_tiles gMonFrontPic_Hariyama, 0x800, 336
+ obj_tiles gMonFrontPic_Electrike, 0x800, 337
+ obj_tiles gMonFrontPic_Manectric, 0x800, 338
+ obj_tiles gMonFrontPic_Numel, 0x800, 339
+ obj_tiles gMonFrontPic_Camerupt, 0x800, 340
+ obj_tiles gMonFrontPic_Spheal, 0x800, 341
+ obj_tiles gMonFrontPic_Sealeo, 0x800, 342
+ obj_tiles gMonFrontPic_Walrein, 0x800, 343
+ obj_tiles gMonFrontPic_Cacnea, 0x800, 344
+ obj_tiles gMonFrontPic_Cacturne, 0x800, 345
+ obj_tiles gMonFrontPic_Snorunt, 0x800, 346
+ obj_tiles gMonFrontPic_Glalie, 0x800, 347
+ obj_tiles gMonFrontPic_Lunatone, 0x800, 348
+ obj_tiles gMonFrontPic_Solrock, 0x800, 349
+ obj_tiles gMonFrontPic_Azurill, 0x800, 350
+ obj_tiles gMonFrontPic_Spoink, 0x800, 351
+ obj_tiles gMonFrontPic_Grumpig, 0x800, 352
+ obj_tiles gMonFrontPic_Plusle, 0x800, 353
+ obj_tiles gMonFrontPic_Minun, 0x800, 354
+ obj_tiles gMonFrontPic_Mawile, 0x800, 355
+ obj_tiles gMonFrontPic_Meditite, 0x800, 356
+ obj_tiles gMonFrontPic_Medicham, 0x800, 357
+ obj_tiles gMonFrontPic_Swablu, 0x800, 358
+ obj_tiles gMonFrontPic_Altaria, 0x800, 359
+ obj_tiles gMonFrontPic_Wynaut, 0x800, 360
+ obj_tiles gMonFrontPic_Duskull, 0x800, 361
+ obj_tiles gMonFrontPic_Dusclops, 0x800, 362
+ obj_tiles gMonFrontPic_Roselia, 0x800, 363
+ obj_tiles gMonFrontPic_Slakoth, 0x800, 364
+ obj_tiles gMonFrontPic_Vigoroth, 0x800, 365
+ obj_tiles gMonFrontPic_Slaking, 0x800, 366
+ obj_tiles gMonFrontPic_Gulpin, 0x800, 367
+ obj_tiles gMonFrontPic_Swalot, 0x800, 368
+ obj_tiles gMonFrontPic_Tropius, 0x800, 369
+ obj_tiles gMonFrontPic_Whismur, 0x800, 370
+ obj_tiles gMonFrontPic_Loudred, 0x800, 371
+ obj_tiles gMonFrontPic_Exploud, 0x800, 372
+ obj_tiles gMonFrontPic_Clamperl, 0x800, 373
+ obj_tiles gMonFrontPic_Huntail, 0x800, 374
+ obj_tiles gMonFrontPic_Gorebyss, 0x800, 375
+ obj_tiles gMonFrontPic_Absol, 0x800, 376
+ obj_tiles gMonFrontPic_Shuppet, 0x800, 377
+ obj_tiles gMonFrontPic_Banette, 0x800, 378
+ obj_tiles gMonFrontPic_Seviper, 0x800, 379
+ obj_tiles gMonFrontPic_Zangoose, 0x800, 380
+ obj_tiles gMonFrontPic_Relicanth, 0x800, 381
+ obj_tiles gMonFrontPic_Aron, 0x800, 382
+ obj_tiles gMonFrontPic_Lairon, 0x800, 383
+ obj_tiles gMonFrontPic_Aggron, 0x800, 384
+ obj_tiles gMonFrontPic_Castform, 0x800, 385
+ obj_tiles gMonFrontPic_Volbeat, 0x800, 386
+ obj_tiles gMonFrontPic_Illumise, 0x800, 387
+ obj_tiles gMonFrontPic_Lileep, 0x800, 388
+ obj_tiles gMonFrontPic_Cradily, 0x800, 389
+ obj_tiles gMonFrontPic_Anorith, 0x800, 390
+ obj_tiles gMonFrontPic_Armaldo, 0x800, 391
+ obj_tiles gMonFrontPic_Ralts, 0x800, 392
+ obj_tiles gMonFrontPic_Kirlia, 0x800, 393
+ obj_tiles gMonFrontPic_Gardevoir, 0x800, 394
+ obj_tiles gMonFrontPic_Bagon, 0x800, 395
+ obj_tiles gMonFrontPic_Shelgon, 0x800, 396
+ obj_tiles gMonFrontPic_Salamence, 0x800, 397
+ obj_tiles gMonFrontPic_Beldum, 0x800, 398
+ obj_tiles gMonFrontPic_Metang, 0x800, 399
+ obj_tiles gMonFrontPic_Metagross, 0x800, 400
+ obj_tiles gMonFrontPic_Regirock, 0x800, 401
+ obj_tiles gMonFrontPic_Regice, 0x800, 402
+ obj_tiles gMonFrontPic_Registeel, 0x800, 403
+ obj_tiles gMonFrontPic_Kyogre, 0x800, 404
+ obj_tiles gMonFrontPic_Groudon, 0x800, 405
+ obj_tiles gMonFrontPic_Rayquaza, 0x800, 406
+ obj_tiles gMonFrontPic_Latias, 0x800, 407
+ obj_tiles gMonFrontPic_Latios, 0x800, 408
+ obj_tiles gMonFrontPic_Jirachi, 0x800, 409
+ obj_tiles gMonFrontPic_Deoxys, 0x800, 410
+ obj_tiles gMonFrontPic_Chimecho, 0x800, 411
+ obj_tiles gMonPic_Egg, 0x800, 412
+ obj_tiles gMonFrontPic_UnownB, 0x800, 413
+ obj_tiles gMonFrontPic_UnownC, 0x800, 414
+ obj_tiles gMonFrontPic_UnownD, 0x800, 415
+ obj_tiles gMonFrontPic_UnownE, 0x800, 416
+ obj_tiles gMonFrontPic_UnownF, 0x800, 417
+ obj_tiles gMonFrontPic_UnownG, 0x800, 418
+ obj_tiles gMonFrontPic_UnownH, 0x800, 419
+ obj_tiles gMonFrontPic_UnownI, 0x800, 420
+ obj_tiles gMonFrontPic_UnownJ, 0x800, 421
+ obj_tiles gMonFrontPic_UnownK, 0x800, 422
+ obj_tiles gMonFrontPic_UnownL, 0x800, 423
+ obj_tiles gMonFrontPic_UnownM, 0x800, 424
+ obj_tiles gMonFrontPic_UnownN, 0x800, 425
+ obj_tiles gMonFrontPic_UnownO, 0x800, 426
+ obj_tiles gMonFrontPic_UnownP, 0x800, 427
+ obj_tiles gMonFrontPic_UnownQ, 0x800, 428
+ obj_tiles gMonFrontPic_UnownR, 0x800, 429
+ obj_tiles gMonFrontPic_UnownS, 0x800, 430
+ obj_tiles gMonFrontPic_UnownT, 0x800, 431
+ obj_tiles gMonFrontPic_UnownU, 0x800, 432
+ obj_tiles gMonFrontPic_UnownV, 0x800, 433
+ obj_tiles gMonFrontPic_UnownW, 0x800, 434
+ obj_tiles gMonFrontPic_UnownX, 0x800, 435
+ obj_tiles gMonFrontPic_UnownY, 0x800, 436
+ obj_tiles gMonFrontPic_UnownZ, 0x800, 437
+ obj_tiles gMonFrontPic_UnownExclamationMark, 0x800, 438
+ obj_tiles gMonFrontPic_UnownQuestionMark, 0x800, 439
diff --git a/data/graphics/pokemon/graphics.s b/data/graphics/pokemon/graphics.s
new file mode 100644
index 000000000..8e3abcef4
--- /dev/null
+++ b/data/graphics/pokemon/graphics.s
@@ -0,0 +1,12014 @@
+ .align 2
+
+gMonFrontPic_Bulbasaur: ; 8D2FD8C
+ .incbin "graphics/pokemon/bulbasaur/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Bulbasaur: ; 8D30024
+ .incbin "graphics/pokemon/bulbasaur/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Bulbasaur: ; 8D3004C
+ .incbin "graphics/pokemon/bulbasaur/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Bulbasaur: ; 8D302FC
+ .incbin "graphics/pokemon/bulbasaur/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Bulbasaur: ; 8D30324
+ .incbin "graphics/pokemon/bulbasaur/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Bulbasaur: ; 8D30724
+ .incbin "graphics/pokemon/bulbasaur/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ivysaur: ; 8D30744
+ .incbin "graphics/pokemon/ivysaur/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ivysaur: ; 8D30AB8
+ .incbin "graphics/pokemon/ivysaur/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ivysaur: ; 8D30AE0
+ .incbin "graphics/pokemon/ivysaur/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ivysaur: ; 8D30E6C
+ .incbin "graphics/pokemon/ivysaur/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ivysaur: ; 8D30E94
+ .incbin "graphics/pokemon/ivysaur/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ivysaur: ; 8D31294
+ .incbin "graphics/pokemon/ivysaur/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Venusaur: ; 8D312B4
+ .incbin "graphics/pokemon/venusaur/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Venusaur: ; 8D31840
+ .incbin "graphics/pokemon/venusaur/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Venusaur: ; 8D31868
+ .incbin "graphics/pokemon/venusaur/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Venusaur: ; 8D31D38
+ .incbin "graphics/pokemon/venusaur/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Venusaur: ; 8D31D60
+ .incbin "graphics/pokemon/venusaur/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Venusaur: ; 8D32160
+ .incbin "graphics/pokemon/venusaur/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Charmander: ; 8D32180
+ .incbin "graphics/pokemon/charmander/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Charmander: ; 8D32430
+ .incbin "graphics/pokemon/charmander/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Charmander: ; 8D32458
+ .incbin "graphics/pokemon/charmander/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Charmander: ; 8D326EC
+ .incbin "graphics/pokemon/charmander/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Charmander: ; 8D32714
+ .incbin "graphics/pokemon/charmander/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Charmander: ; 8D32B14
+ .incbin "graphics/pokemon/charmander/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Charmeleon: ; 8D32B34
+ .incbin "graphics/pokemon/charmeleon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Charmeleon: ; 8D32EDC
+ .incbin "graphics/pokemon/charmeleon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Charmeleon: ; 8D32F04
+ .incbin "graphics/pokemon/charmeleon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Charmeleon: ; 8D331E4
+ .incbin "graphics/pokemon/charmeleon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Charmeleon: ; 8D3320C
+ .incbin "graphics/pokemon/charmeleon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Charmeleon: ; 8D3360C
+ .incbin "graphics/pokemon/charmeleon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Charizard: ; 8D3362C
+ .incbin "graphics/pokemon/charizard/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Charizard: ; 8D33B7C
+ .incbin "graphics/pokemon/charizard/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Charizard: ; 8D33BA4
+ .incbin "graphics/pokemon/charizard/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Charizard: ; 8D33FC0
+ .incbin "graphics/pokemon/charizard/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Charizard: ; 8D33FE8
+ .incbin "graphics/pokemon/charizard/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Charizard: ; 8D343E8
+ .incbin "graphics/pokemon/charizard/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Squirtle: ; 8D34408
+ .incbin "graphics/pokemon/squirtle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Squirtle: ; 8D346E4
+ .incbin "graphics/pokemon/squirtle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Squirtle: ; 8D3470C
+ .incbin "graphics/pokemon/squirtle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Squirtle: ; 8D3498C
+ .incbin "graphics/pokemon/squirtle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Squirtle: ; 8D349B4
+ .incbin "graphics/pokemon/squirtle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Squirtle: ; 8D34DB4
+ .incbin "graphics/pokemon/squirtle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wartortle: ; 8D34DD4
+ .incbin "graphics/pokemon/wartortle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wartortle: ; 8D35150
+ .incbin "graphics/pokemon/wartortle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wartortle: ; 8D35178
+ .incbin "graphics/pokemon/wartortle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wartortle: ; 8D354AC
+ .incbin "graphics/pokemon/wartortle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wartortle: ; 8D354D4
+ .incbin "graphics/pokemon/wartortle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wartortle: ; 8D358D4
+ .incbin "graphics/pokemon/wartortle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Blastoise: ; 8D358F4
+ .incbin "graphics/pokemon/blastoise/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Blastoise: ; 8D35DF8
+ .incbin "graphics/pokemon/blastoise/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Blastoise: ; 8D35E20
+ .incbin "graphics/pokemon/blastoise/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Blastoise: ; 8D36264
+ .incbin "graphics/pokemon/blastoise/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Blastoise: ; 8D3628C
+ .incbin "graphics/pokemon/blastoise/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Blastoise: ; 8D3668C
+ .incbin "graphics/pokemon/blastoise/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Caterpie: ; 8D366AC
+ .incbin "graphics/pokemon/caterpie/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Caterpie: ; 8D3690C
+ .incbin "graphics/pokemon/caterpie/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Caterpie: ; 8D36934
+ .incbin "graphics/pokemon/caterpie/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Caterpie: ; 8D36BE4
+ .incbin "graphics/pokemon/caterpie/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Caterpie: ; 8D36C0C
+ .incbin "graphics/pokemon/caterpie/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Caterpie: ; 8D3700C
+ .incbin "graphics/pokemon/caterpie/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Metapod: ; 8D3702C
+ .incbin "graphics/pokemon/metapod/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Metapod: ; 8D37244
+ .incbin "graphics/pokemon/metapod/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Metapod: ; 8D37264
+ .incbin "graphics/pokemon/metapod/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Metapod: ; 8D374A4
+ .incbin "graphics/pokemon/metapod/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Metapod: ; 8D374C4
+ .incbin "graphics/pokemon/metapod/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Metapod: ; 8D378C4
+ .incbin "graphics/pokemon/metapod/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Butterfree: ; 8D378E4
+ .incbin "graphics/pokemon/butterfree/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Butterfree: ; 8D37C44
+ .incbin "graphics/pokemon/butterfree/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Butterfree: ; 8D37C6C
+ .incbin "graphics/pokemon/butterfree/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Butterfree: ; 8D38038
+ .incbin "graphics/pokemon/butterfree/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Butterfree: ; 8D38060
+ .incbin "graphics/pokemon/butterfree/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Butterfree: ; 8D38460
+ .incbin "graphics/pokemon/butterfree/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Weedle: ; 8D38480
+ .incbin "graphics/pokemon/weedle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Weedle: ; 8D386C0
+ .incbin "graphics/pokemon/weedle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Weedle: ; 8D386E8
+ .incbin "graphics/pokemon/weedle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Weedle: ; 8D38950
+ .incbin "graphics/pokemon/weedle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Weedle: ; 8D38978
+ .incbin "graphics/pokemon/weedle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Weedle: ; 8D38D78
+ .incbin "graphics/pokemon/weedle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kakuna: ; 8D38D98
+ .incbin "graphics/pokemon/kakuna/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kakuna: ; 8D38FE4
+ .incbin "graphics/pokemon/kakuna/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kakuna: ; 8D39008
+ .incbin "graphics/pokemon/kakuna/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kakuna: ; 8D3928C
+ .incbin "graphics/pokemon/kakuna/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kakuna: ; 8D392B0
+ .incbin "graphics/pokemon/kakuna/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kakuna: ; 8D396B0
+ .incbin "graphics/pokemon/kakuna/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Beedrill: ; 8D396D0
+ .incbin "graphics/pokemon/beedrill/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Beedrill: ; 8D39AE0
+ .incbin "graphics/pokemon/beedrill/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Beedrill: ; 8D39B08
+ .incbin "graphics/pokemon/beedrill/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Beedrill: ; 8D39E7C
+ .incbin "graphics/pokemon/beedrill/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Beedrill: ; 8D39EA4
+ .incbin "graphics/pokemon/beedrill/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Beedrill: ; 8D3A2A4
+ .incbin "graphics/pokemon/beedrill/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pidgey: ; 8D3A2C4
+ .incbin "graphics/pokemon/pidgey/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pidgey: ; 8D3A5B0
+ .incbin "graphics/pokemon/pidgey/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pidgey: ; 8D3A5D8
+ .incbin "graphics/pokemon/pidgey/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pidgey: ; 8D3A92C
+ .incbin "graphics/pokemon/pidgey/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pidgey: ; 8D3A954
+ .incbin "graphics/pokemon/pidgey/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pidgey: ; 8D3AD54
+ .incbin "graphics/pokemon/pidgey/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pidgeotto: ; 8D3AD74
+ .incbin "graphics/pokemon/pidgeotto/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pidgeotto: ; 8D3B0E8
+ .incbin "graphics/pokemon/pidgeotto/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pidgeotto: ; 8D3B110
+ .incbin "graphics/pokemon/pidgeotto/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pidgeotto: ; 8D3B45C
+ .incbin "graphics/pokemon/pidgeotto/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pidgeotto: ; 8D3B484
+ .incbin "graphics/pokemon/pidgeotto/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pidgeotto: ; 8D3B884
+ .incbin "graphics/pokemon/pidgeotto/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pidgeot: ; 8D3B8A4
+ .incbin "graphics/pokemon/pidgeot/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pidgeot: ; 8D3BDA0
+ .incbin "graphics/pokemon/pidgeot/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pidgeot: ; 8D3BDC8
+ .incbin "graphics/pokemon/pidgeot/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pidgeot: ; 8D3C150
+ .incbin "graphics/pokemon/pidgeot/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pidgeot: ; 8D3C178
+ .incbin "graphics/pokemon/pidgeot/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pidgeot: ; 8D3C578
+ .incbin "graphics/pokemon/pidgeot/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Rattata: ; 8D3C598
+ .incbin "graphics/pokemon/rattata/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Rattata: ; 8D3C7E4
+ .incbin "graphics/pokemon/rattata/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Rattata: ; 8D3C80C
+ .incbin "graphics/pokemon/rattata/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Rattata: ; 8D3CAE8
+ .incbin "graphics/pokemon/rattata/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Rattata: ; 8D3CB10
+ .incbin "graphics/pokemon/rattata/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Rattata: ; 8D3CF10
+ .incbin "graphics/pokemon/rattata/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Raticate: ; 8D3CF30
+ .incbin "graphics/pokemon/raticate/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Raticate: ; 8D3D2B8
+ .incbin "graphics/pokemon/raticate/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Raticate: ; 8D3D2E0
+ .incbin "graphics/pokemon/raticate/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Raticate: ; 8D3D610
+ .incbin "graphics/pokemon/raticate/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Raticate: ; 8D3D638
+ .incbin "graphics/pokemon/raticate/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Raticate: ; 8D3DA38
+ .incbin "graphics/pokemon/raticate/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Spearow: ; 8D3DA58
+ .incbin "graphics/pokemon/spearow/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Spearow: ; 8D3DCE0
+ .incbin "graphics/pokemon/spearow/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Spearow: ; 8D3DD08
+ .incbin "graphics/pokemon/spearow/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Spearow: ; 8D3DFE4
+ .incbin "graphics/pokemon/spearow/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Spearow: ; 8D3E00C
+ .incbin "graphics/pokemon/spearow/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Spearow: ; 8D3E40C
+ .incbin "graphics/pokemon/spearow/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Fearow: ; 8D3E42C
+ .incbin "graphics/pokemon/fearow/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Fearow: ; 8D3E8C0
+ .incbin "graphics/pokemon/fearow/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Fearow: ; 8D3E8E8
+ .incbin "graphics/pokemon/fearow/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Fearow: ; 8D3EBE0
+ .incbin "graphics/pokemon/fearow/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Fearow: ; 8D3EC08
+ .incbin "graphics/pokemon/fearow/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Fearow: ; 8D3F008
+ .incbin "graphics/pokemon/fearow/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ekans: ; 8D3F028
+ .incbin "graphics/pokemon/ekans/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ekans: ; 8D3F328
+ .incbin "graphics/pokemon/ekans/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ekans: ; 8D3F350
+ .incbin "graphics/pokemon/ekans/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ekans: ; 8D3F640
+ .incbin "graphics/pokemon/ekans/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ekans: ; 8D3F668
+ .incbin "graphics/pokemon/ekans/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ekans: ; 8D3FA68
+ .incbin "graphics/pokemon/ekans/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Arbok: ; 8D3FA88
+ .incbin "graphics/pokemon/arbok/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Arbok: ; 8D3FED4
+ .incbin "graphics/pokemon/arbok/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Arbok: ; 8D3FEFC
+ .incbin "graphics/pokemon/arbok/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Arbok: ; 8D4019C
+ .incbin "graphics/pokemon/arbok/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Arbok: ; 8D401C4
+ .incbin "graphics/pokemon/arbok/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Arbok: ; 8D405C4
+ .incbin "graphics/pokemon/arbok/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pikachu: ; 8D405E4
+ .incbin "graphics/pokemon/pikachu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pikachu: ; 8D408B4
+ .incbin "graphics/pokemon/pikachu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pikachu: ; 8D408DC
+ .incbin "graphics/pokemon/pikachu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pikachu: ; 8D40BB4
+ .incbin "graphics/pokemon/pikachu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pikachu: ; 8D40BDC
+ .incbin "graphics/pokemon/pikachu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pikachu: ; 8D40FDC
+ .incbin "graphics/pokemon/pikachu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Raichu: ; 8D40FFC
+ .incbin "graphics/pokemon/raichu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Raichu: ; 8D413A8
+ .incbin "graphics/pokemon/raichu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Raichu: ; 8D413D0
+ .incbin "graphics/pokemon/raichu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Raichu: ; 8D416F0
+ .incbin "graphics/pokemon/raichu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Raichu: ; 8D41718
+ .incbin "graphics/pokemon/raichu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Raichu: ; 8D41B18
+ .incbin "graphics/pokemon/raichu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sandshrew: ; 8D41B38
+ .incbin "graphics/pokemon/sandshrew/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sandshrew: ; 8D41DF8
+ .incbin "graphics/pokemon/sandshrew/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sandshrew: ; 8D41E20
+ .incbin "graphics/pokemon/sandshrew/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sandshrew: ; 8D42148
+ .incbin "graphics/pokemon/sandshrew/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sandshrew: ; 8D42170
+ .incbin "graphics/pokemon/sandshrew/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sandshrew: ; 8D42570
+ .incbin "graphics/pokemon/sandshrew/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sandslash: ; 8D42590
+ .incbin "graphics/pokemon/sandslash/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sandslash: ; 8D4297C
+ .incbin "graphics/pokemon/sandslash/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sandslash: ; 8D429A4
+ .incbin "graphics/pokemon/sandslash/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sandslash: ; 8D42DC0
+ .incbin "graphics/pokemon/sandslash/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sandslash: ; 8D42DE8
+ .incbin "graphics/pokemon/sandslash/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sandslash: ; 8D431E8
+ .incbin "graphics/pokemon/sandslash/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_NidoranF: ; 8D43208
+ .incbin "graphics/pokemon/nidoran_f/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_NidoranF: ; 8D43480
+ .incbin "graphics/pokemon/nidoran_f/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_NidoranF: ; 8D434A8
+ .incbin "graphics/pokemon/nidoran_f/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_NidoranF: ; 8D43780
+ .incbin "graphics/pokemon/nidoran_f/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_NidoranF: ; 8D437A8
+ .incbin "graphics/pokemon/nidoran_f/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_NidoranF: ; 8D43BA8
+ .incbin "graphics/pokemon/nidoran_f/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nidorina: ; 8D43BC8
+ .incbin "graphics/pokemon/nidorina/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nidorina: ; 8D43EF4
+ .incbin "graphics/pokemon/nidorina/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nidorina: ; 8D43F1C
+ .incbin "graphics/pokemon/nidorina/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nidorina: ; 8D442B0
+ .incbin "graphics/pokemon/nidorina/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nidorina: ; 8D442D8
+ .incbin "graphics/pokemon/nidorina/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nidorina: ; 8D446D8
+ .incbin "graphics/pokemon/nidorina/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nidoqueen: ; 8D446F8
+ .incbin "graphics/pokemon/nidoqueen/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nidoqueen: ; 8D44B84
+ .incbin "graphics/pokemon/nidoqueen/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nidoqueen: ; 8D44BAC
+ .incbin "graphics/pokemon/nidoqueen/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nidoqueen: ; 8D44F70
+ .incbin "graphics/pokemon/nidoqueen/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nidoqueen: ; 8D44F98
+ .incbin "graphics/pokemon/nidoqueen/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nidoqueen: ; 8D45398
+ .incbin "graphics/pokemon/nidoqueen/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_NidoranM: ; 8D453B8
+ .incbin "graphics/pokemon/nidoran_m/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_NidoranM: ; 8D45688
+ .incbin "graphics/pokemon/nidoran_m/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_NidoranM: ; 8D456B0
+ .incbin "graphics/pokemon/nidoran_m/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_NidoranM: ; 8D459E4
+ .incbin "graphics/pokemon/nidoran_m/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_NidoranM: ; 8D45A0C
+ .incbin "graphics/pokemon/nidoran_m/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_NidoranM: ; 8D45E0C
+ .incbin "graphics/pokemon/nidoran_m/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nidorino: ; 8D45E2C
+ .incbin "graphics/pokemon/nidorino/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nidorino: ; 8D461C0
+ .incbin "graphics/pokemon/nidorino/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nidorino: ; 8D461E8
+ .incbin "graphics/pokemon/nidorino/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nidorino: ; 8D465A4
+ .incbin "graphics/pokemon/nidorino/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nidorino: ; 8D465CC
+ .incbin "graphics/pokemon/nidorino/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nidorino: ; 8D469CC
+ .incbin "graphics/pokemon/nidorino/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nidoking: ; 8D469EC
+ .incbin "graphics/pokemon/nidoking/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nidoking: ; 8D46EE4
+ .incbin "graphics/pokemon/nidoking/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nidoking: ; 8D46F0C
+ .incbin "graphics/pokemon/nidoking/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nidoking: ; 8D47348
+ .incbin "graphics/pokemon/nidoking/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nidoking: ; 8D47370
+ .incbin "graphics/pokemon/nidoking/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nidoking: ; 8D47770
+ .incbin "graphics/pokemon/nidoking/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Clefairy: ; 8D47790
+ .incbin "graphics/pokemon/clefairy/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Clefairy: ; 8D47A18
+ .incbin "graphics/pokemon/clefairy/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Clefairy: ; 8D47A40
+ .incbin "graphics/pokemon/clefairy/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Clefairy: ; 8D47D10
+ .incbin "graphics/pokemon/clefairy/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Clefairy: ; 8D47D38
+ .incbin "graphics/pokemon/clefairy/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Clefairy: ; 8D48138
+ .incbin "graphics/pokemon/clefairy/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Clefable: ; 8D48158
+ .incbin "graphics/pokemon/clefable/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Clefable: ; 8D48494
+ .incbin "graphics/pokemon/clefable/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Clefable: ; 8D484BC
+ .incbin "graphics/pokemon/clefable/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Clefable: ; 8D487F4
+ .incbin "graphics/pokemon/clefable/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Clefable: ; 8D4881C
+ .incbin "graphics/pokemon/clefable/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Clefable: ; 8D48C1C
+ .incbin "graphics/pokemon/clefable/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Vulpix: ; 8D48C3C
+ .incbin "graphics/pokemon/vulpix/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Vulpix: ; 8D48F78
+ .incbin "graphics/pokemon/vulpix/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Vulpix: ; 8D48FA0
+ .incbin "graphics/pokemon/vulpix/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Vulpix: ; 8D4929C
+ .incbin "graphics/pokemon/vulpix/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Vulpix: ; 8D492C4
+ .incbin "graphics/pokemon/vulpix/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Vulpix: ; 8D496C4
+ .incbin "graphics/pokemon/vulpix/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ninetales: ; 8D496E4
+ .incbin "graphics/pokemon/ninetales/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ninetales: ; 8D49B20
+ .incbin "graphics/pokemon/ninetales/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ninetales: ; 8D49B40
+ .incbin "graphics/pokemon/ninetales/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ninetales: ; 8D49EC0
+ .incbin "graphics/pokemon/ninetales/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ninetales: ; 8D49EE0
+ .incbin "graphics/pokemon/ninetales/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ninetales: ; 8D4A2E0
+ .incbin "graphics/pokemon/ninetales/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Jigglypuff: ; 8D4A300
+ .incbin "graphics/pokemon/jigglypuff/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Jigglypuff: ; 8D4A578
+ .incbin "graphics/pokemon/jigglypuff/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Jigglypuff: ; 8D4A5A0
+ .incbin "graphics/pokemon/jigglypuff/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Jigglypuff: ; 8D4A7FC
+ .incbin "graphics/pokemon/jigglypuff/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Jigglypuff: ; 8D4A824
+ .incbin "graphics/pokemon/jigglypuff/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Jigglypuff: ; 8D4AC24
+ .incbin "graphics/pokemon/jigglypuff/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wigglytuff: ; 8D4AC44
+ .incbin "graphics/pokemon/wigglytuff/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wigglytuff: ; 8D4AF98
+ .incbin "graphics/pokemon/wigglytuff/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wigglytuff: ; 8D4AFC0
+ .incbin "graphics/pokemon/wigglytuff/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wigglytuff: ; 8D4B268
+ .incbin "graphics/pokemon/wigglytuff/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wigglytuff: ; 8D4B290
+ .incbin "graphics/pokemon/wigglytuff/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wigglytuff: ; 8D4B690
+ .incbin "graphics/pokemon/wigglytuff/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Zubat: ; 8D4B6B0
+ .incbin "graphics/pokemon/zubat/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Zubat: ; 8D4B988
+ .incbin "graphics/pokemon/zubat/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Zubat: ; 8D4B9B0
+ .incbin "graphics/pokemon/zubat/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Zubat: ; 8D4BC6C
+ .incbin "graphics/pokemon/zubat/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Zubat: ; 8D4BC94
+ .incbin "graphics/pokemon/zubat/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Zubat: ; 8D4C094
+ .incbin "graphics/pokemon/zubat/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Golbat: ; 8D4C0B4
+ .incbin "graphics/pokemon/golbat/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Golbat: ; 8D4C450
+ .incbin "graphics/pokemon/golbat/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Golbat: ; 8D4C478
+ .incbin "graphics/pokemon/golbat/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Golbat: ; 8D4C734
+ .incbin "graphics/pokemon/golbat/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Golbat: ; 8D4C75C
+ .incbin "graphics/pokemon/golbat/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Golbat: ; 8D4CB5C
+ .incbin "graphics/pokemon/golbat/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Oddish: ; 8D4CB7C
+ .incbin "graphics/pokemon/oddish/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Oddish: ; 8D4CDB0
+ .incbin "graphics/pokemon/oddish/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Oddish: ; 8D4CDD8
+ .incbin "graphics/pokemon/oddish/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Oddish: ; 8D4D050
+ .incbin "graphics/pokemon/oddish/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Oddish: ; 8D4D078
+ .incbin "graphics/pokemon/oddish/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Oddish: ; 8D4D478
+ .incbin "graphics/pokemon/oddish/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gloom: ; 8D4D498
+ .incbin "graphics/pokemon/gloom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gloom: ; 8D4D810
+ .incbin "graphics/pokemon/gloom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gloom: ; 8D4D838
+ .incbin "graphics/pokemon/gloom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gloom: ; 8D4DBA0
+ .incbin "graphics/pokemon/gloom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gloom: ; 8D4DBC8
+ .incbin "graphics/pokemon/gloom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gloom: ; 8D4DFC8
+ .incbin "graphics/pokemon/gloom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Vileplume: ; 8D4DFE8
+ .incbin "graphics/pokemon/vileplume/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Vileplume: ; 8D4E364
+ .incbin "graphics/pokemon/vileplume/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Vileplume: ; 8D4E38C
+ .incbin "graphics/pokemon/vileplume/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Vileplume: ; 8D4E7A4
+ .incbin "graphics/pokemon/vileplume/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Vileplume: ; 8D4E7CC
+ .incbin "graphics/pokemon/vileplume/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Vileplume: ; 8D4EBCC
+ .incbin "graphics/pokemon/vileplume/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Paras: ; 8D4EBEC
+ .incbin "graphics/pokemon/paras/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Paras: ; 8D4EE58
+ .incbin "graphics/pokemon/paras/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Paras: ; 8D4EE80
+ .incbin "graphics/pokemon/paras/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Paras: ; 8D4F120
+ .incbin "graphics/pokemon/paras/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Paras: ; 8D4F148
+ .incbin "graphics/pokemon/paras/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Paras: ; 8D4F548
+ .incbin "graphics/pokemon/paras/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Parasect: ; 8D4F568
+ .incbin "graphics/pokemon/parasect/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Parasect: ; 8D4F92C
+ .incbin "graphics/pokemon/parasect/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Parasect: ; 8D4F954
+ .incbin "graphics/pokemon/parasect/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Parasect: ; 8D4FC50
+ .incbin "graphics/pokemon/parasect/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Parasect: ; 8D4FC78
+ .incbin "graphics/pokemon/parasect/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Parasect: ; 8D50078
+ .incbin "graphics/pokemon/parasect/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Venonat: ; 8D50098
+ .incbin "graphics/pokemon/venonat/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Venonat: ; 8D50410
+ .incbin "graphics/pokemon/venonat/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Venonat: ; 8D50438
+ .incbin "graphics/pokemon/venonat/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Venonat: ; 8D50768
+ .incbin "graphics/pokemon/venonat/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Venonat: ; 8D50790
+ .incbin "graphics/pokemon/venonat/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Venonat: ; 8D50B90
+ .incbin "graphics/pokemon/venonat/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Venomoth: ; 8D50BB0
+ .incbin "graphics/pokemon/venomoth/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Venomoth: ; 8D51054
+ .incbin "graphics/pokemon/venomoth/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Venomoth: ; 8D5107C
+ .incbin "graphics/pokemon/venomoth/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Venomoth: ; 8D51440
+ .incbin "graphics/pokemon/venomoth/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Venomoth: ; 8D51468
+ .incbin "graphics/pokemon/venomoth/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Venomoth: ; 8D51868
+ .incbin "graphics/pokemon/venomoth/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Diglett: ; 8D51888
+ .incbin "graphics/pokemon/diglett/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Diglett: ; 8D51A94
+ .incbin "graphics/pokemon/diglett/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Diglett: ; 8D51ABC
+ .incbin "graphics/pokemon/diglett/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Diglett: ; 8D51CC8
+ .incbin "graphics/pokemon/diglett/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Diglett: ; 8D51CF0
+ .incbin "graphics/pokemon/diglett/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Diglett: ; 8D520F0
+ .incbin "graphics/pokemon/diglett/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dugtrio: ; 8D52110
+ .incbin "graphics/pokemon/dugtrio/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dugtrio: ; 8D52434
+ .incbin "graphics/pokemon/dugtrio/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dugtrio: ; 8D5245C
+ .incbin "graphics/pokemon/dugtrio/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dugtrio: ; 8D52708
+ .incbin "graphics/pokemon/dugtrio/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dugtrio: ; 8D52730
+ .incbin "graphics/pokemon/dugtrio/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dugtrio: ; 8D52B30
+ .incbin "graphics/pokemon/dugtrio/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Meowth: ; 8D52B50
+ .incbin "graphics/pokemon/meowth/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Meowth: ; 8D52E3C
+ .incbin "graphics/pokemon/meowth/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Meowth: ; 8D52E64
+ .incbin "graphics/pokemon/meowth/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Meowth: ; 8D53148
+ .incbin "graphics/pokemon/meowth/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Meowth: ; 8D53170
+ .incbin "graphics/pokemon/meowth/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Meowth: ; 8D53570
+ .incbin "graphics/pokemon/meowth/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Persian: ; 8D53590
+ .incbin "graphics/pokemon/persian/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Persian: ; 8D53944
+ .incbin "graphics/pokemon/persian/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Persian: ; 8D5396C
+ .incbin "graphics/pokemon/persian/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Persian: ; 8D53CD0
+ .incbin "graphics/pokemon/persian/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Persian: ; 8D53CF8
+ .incbin "graphics/pokemon/persian/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Persian: ; 8D540F8
+ .incbin "graphics/pokemon/persian/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Psyduck: ; 8D54118
+ .incbin "graphics/pokemon/psyduck/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Psyduck: ; 8D543F0
+ .incbin "graphics/pokemon/psyduck/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Psyduck: ; 8D54418
+ .incbin "graphics/pokemon/psyduck/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Psyduck: ; 8D546B4
+ .incbin "graphics/pokemon/psyduck/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Psyduck: ; 8D546DC
+ .incbin "graphics/pokemon/psyduck/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Psyduck: ; 8D54ADC
+ .incbin "graphics/pokemon/psyduck/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Golduck: ; 8D54AFC
+ .incbin "graphics/pokemon/golduck/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Golduck: ; 8D54ED4
+ .incbin "graphics/pokemon/golduck/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Golduck: ; 8D54EFC
+ .incbin "graphics/pokemon/golduck/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Golduck: ; 8D55228
+ .incbin "graphics/pokemon/golduck/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Golduck: ; 8D55250
+ .incbin "graphics/pokemon/golduck/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Golduck: ; 8D55650
+ .incbin "graphics/pokemon/golduck/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mankey: ; 8D55670
+ .incbin "graphics/pokemon/mankey/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mankey: ; 8D55988
+ .incbin "graphics/pokemon/mankey/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mankey: ; 8D559B0
+ .incbin "graphics/pokemon/mankey/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mankey: ; 8D55D18
+ .incbin "graphics/pokemon/mankey/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mankey: ; 8D55D40
+ .incbin "graphics/pokemon/mankey/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mankey: ; 8D56140
+ .incbin "graphics/pokemon/mankey/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Primeape: ; 8D56160
+ .incbin "graphics/pokemon/primeape/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Primeape: ; 8D56510
+ .incbin "graphics/pokemon/primeape/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Primeape: ; 8D56538
+ .incbin "graphics/pokemon/primeape/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Primeape: ; 8D568A8
+ .incbin "graphics/pokemon/primeape/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Primeape: ; 8D568D0
+ .incbin "graphics/pokemon/primeape/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Primeape: ; 8D56CD0
+ .incbin "graphics/pokemon/primeape/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Growlithe: ; 8D56CF0
+ .incbin "graphics/pokemon/growlithe/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Growlithe: ; 8D57048
+ .incbin "graphics/pokemon/growlithe/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Growlithe: ; 8D57070
+ .incbin "graphics/pokemon/growlithe/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Growlithe: ; 8D573AC
+ .incbin "graphics/pokemon/growlithe/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Growlithe: ; 8D573D4
+ .incbin "graphics/pokemon/growlithe/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Growlithe: ; 8D577D4
+ .incbin "graphics/pokemon/growlithe/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Arcanine: ; 8D577F4
+ .incbin "graphics/pokemon/arcanine/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Arcanine: ; 8D57D28
+ .incbin "graphics/pokemon/arcanine/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Arcanine: ; 8D57D50
+ .incbin "graphics/pokemon/arcanine/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Arcanine: ; 8D58130
+ .incbin "graphics/pokemon/arcanine/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Arcanine: ; 8D58158
+ .incbin "graphics/pokemon/arcanine/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Arcanine: ; 8D58558
+ .incbin "graphics/pokemon/arcanine/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Poliwag: ; 8D58578
+ .incbin "graphics/pokemon/poliwag/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Poliwag: ; 8D58800
+ .incbin "graphics/pokemon/poliwag/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Poliwag: ; 8D58828
+ .incbin "graphics/pokemon/poliwag/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Poliwag: ; 8D58A98
+ .incbin "graphics/pokemon/poliwag/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Poliwag: ; 8D58AC0
+ .incbin "graphics/pokemon/poliwag/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Poliwag: ; 8D58EC0
+ .incbin "graphics/pokemon/poliwag/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Poliwhirl: ; 8D58EE0
+ .incbin "graphics/pokemon/poliwhirl/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Poliwhirl: ; 8D592A4
+ .incbin "graphics/pokemon/poliwhirl/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Poliwhirl: ; 8D592CC
+ .incbin "graphics/pokemon/poliwhirl/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Poliwhirl: ; 8D5959C
+ .incbin "graphics/pokemon/poliwhirl/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Poliwhirl: ; 8D595C4
+ .incbin "graphics/pokemon/poliwhirl/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Poliwhirl: ; 8D599C4
+ .incbin "graphics/pokemon/poliwhirl/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Poliwrath: ; 8D599E4
+ .incbin "graphics/pokemon/poliwrath/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Poliwrath: ; 8D59DAC
+ .incbin "graphics/pokemon/poliwrath/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Poliwrath: ; 8D59DD4
+ .incbin "graphics/pokemon/poliwrath/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Poliwrath: ; 8D5A114
+ .incbin "graphics/pokemon/poliwrath/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Poliwrath: ; 8D5A13C
+ .incbin "graphics/pokemon/poliwrath/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Poliwrath: ; 8D5A53C
+ .incbin "graphics/pokemon/poliwrath/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Abra: ; 8D5A55C
+ .incbin "graphics/pokemon/abra/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Abra: ; 8D5A840
+ .incbin "graphics/pokemon/abra/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Abra: ; 8D5A864
+ .incbin "graphics/pokemon/abra/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Abra: ; 8D5AB78
+ .incbin "graphics/pokemon/abra/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Abra: ; 8D5AB9C
+ .incbin "graphics/pokemon/abra/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Abra: ; 8D5AF9C
+ .incbin "graphics/pokemon/abra/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kadabra: ; 8D5AFBC
+ .incbin "graphics/pokemon/kadabra/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kadabra: ; 8D5B420
+ .incbin "graphics/pokemon/kadabra/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kadabra: ; 8D5B448
+ .incbin "graphics/pokemon/kadabra/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kadabra: ; 8D5B824
+ .incbin "graphics/pokemon/kadabra/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kadabra: ; 8D5B84C
+ .incbin "graphics/pokemon/kadabra/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kadabra: ; 8D5BC4C
+ .incbin "graphics/pokemon/kadabra/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Alakazam: ; 8D5BC6C
+ .incbin "graphics/pokemon/alakazam/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Alakazam: ; 8D5C068
+ .incbin "graphics/pokemon/alakazam/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Alakazam: ; 8D5C090
+ .incbin "graphics/pokemon/alakazam/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Alakazam: ; 8D5C4D4
+ .incbin "graphics/pokemon/alakazam/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Alakazam: ; 8D5C4FC
+ .incbin "graphics/pokemon/alakazam/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Alakazam: ; 8D5C8FC
+ .incbin "graphics/pokemon/alakazam/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Machop: ; 8D5C91C
+ .incbin "graphics/pokemon/machop/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Machop: ; 8D5CBC0
+ .incbin "graphics/pokemon/machop/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Machop: ; 8D5CBE8
+ .incbin "graphics/pokemon/machop/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Machop: ; 8D5CEC8
+ .incbin "graphics/pokemon/machop/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Machop: ; 8D5CEF0
+ .incbin "graphics/pokemon/machop/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Machop: ; 8D5D2F0
+ .incbin "graphics/pokemon/machop/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Machoke: ; 8D5D310
+ .incbin "graphics/pokemon/machoke/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Machoke: ; 8D5D6C0
+ .incbin "graphics/pokemon/machoke/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Machoke: ; 8D5D6E8
+ .incbin "graphics/pokemon/machoke/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Machoke: ; 8D5DA38
+ .incbin "graphics/pokemon/machoke/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Machoke: ; 8D5DA60
+ .incbin "graphics/pokemon/machoke/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Machoke: ; 8D5DE60
+ .incbin "graphics/pokemon/machoke/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Machamp: ; 8D5DE80
+ .incbin "graphics/pokemon/machamp/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Machamp: ; 8D5E3D0
+ .incbin "graphics/pokemon/machamp/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Machamp: ; 8D5E3F8
+ .incbin "graphics/pokemon/machamp/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Machamp: ; 8D5E854
+ .incbin "graphics/pokemon/machamp/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Machamp: ; 8D5E87C
+ .incbin "graphics/pokemon/machamp/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Machamp: ; 8D5EC7C
+ .incbin "graphics/pokemon/machamp/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Bellsprout: ; 8D5EC9C
+ .incbin "graphics/pokemon/bellsprout/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Bellsprout: ; 8D5EF1C
+ .incbin "graphics/pokemon/bellsprout/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Bellsprout: ; 8D5EF44
+ .incbin "graphics/pokemon/bellsprout/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Bellsprout: ; 8D5F1E0
+ .incbin "graphics/pokemon/bellsprout/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Bellsprout: ; 8D5F208
+ .incbin "graphics/pokemon/bellsprout/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Bellsprout: ; 8D5F608
+ .incbin "graphics/pokemon/bellsprout/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Weepinbell: ; 8D5F628
+ .incbin "graphics/pokemon/weepinbell/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Weepinbell: ; 8D5F94C
+ .incbin "graphics/pokemon/weepinbell/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Weepinbell: ; 8D5F974
+ .incbin "graphics/pokemon/weepinbell/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Weepinbell: ; 8D5FC70
+ .incbin "graphics/pokemon/weepinbell/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Weepinbell: ; 8D5FC98
+ .incbin "graphics/pokemon/weepinbell/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Weepinbell: ; 8D60098
+ .incbin "graphics/pokemon/weepinbell/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Victreebel: ; 8D600B8
+ .incbin "graphics/pokemon/victreebel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Victreebel: ; 8D604E4
+ .incbin "graphics/pokemon/victreebel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Victreebel: ; 8D6050C
+ .incbin "graphics/pokemon/victreebel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Victreebel: ; 8D608A4
+ .incbin "graphics/pokemon/victreebel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Victreebel: ; 8D608CC
+ .incbin "graphics/pokemon/victreebel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Victreebel: ; 8D60CCC
+ .incbin "graphics/pokemon/victreebel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tentacool: ; 8D60CEC
+ .incbin "graphics/pokemon/tentacool/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tentacool: ; 8D60F8C
+ .incbin "graphics/pokemon/tentacool/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tentacool: ; 8D60FB4
+ .incbin "graphics/pokemon/tentacool/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tentacool: ; 8D61280
+ .incbin "graphics/pokemon/tentacool/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tentacool: ; 8D612A8
+ .incbin "graphics/pokemon/tentacool/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tentacool: ; 8D616A8
+ .incbin "graphics/pokemon/tentacool/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tentacruel: ; 8D616C8
+ .incbin "graphics/pokemon/tentacruel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tentacruel: ; 8D61B64
+ .incbin "graphics/pokemon/tentacruel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tentacruel: ; 8D61B8C
+ .incbin "graphics/pokemon/tentacruel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tentacruel: ; 8D61F28
+ .incbin "graphics/pokemon/tentacruel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tentacruel: ; 8D61F50
+ .incbin "graphics/pokemon/tentacruel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tentacruel: ; 8D62350
+ .incbin "graphics/pokemon/tentacruel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Geodude: ; 8D62370
+ .incbin "graphics/pokemon/geodude/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Geodude: ; 8D625DC
+ .incbin "graphics/pokemon/geodude/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Geodude: ; 8D625F8
+ .incbin "graphics/pokemon/geodude/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Geodude: ; 8D6288C
+ .incbin "graphics/pokemon/geodude/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Geodude: ; 8D628A8
+ .incbin "graphics/pokemon/geodude/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Geodude: ; 8D62CA8
+ .incbin "graphics/pokemon/geodude/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Graveler: ; 8D62CC8
+ .incbin "graphics/pokemon/graveler/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Graveler: ; 8D630D0
+ .incbin "graphics/pokemon/graveler/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Graveler: ; 8D630F0
+ .incbin "graphics/pokemon/graveler/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Graveler: ; 8D6336C
+ .incbin "graphics/pokemon/graveler/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Graveler: ; 8D6338C
+ .incbin "graphics/pokemon/graveler/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Graveler: ; 8D6378C
+ .incbin "graphics/pokemon/graveler/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Golem: ; 8D637AC
+ .incbin "graphics/pokemon/golem/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Golem: ; 8D63C28
+ .incbin "graphics/pokemon/golem/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Golem: ; 8D63C50
+ .incbin "graphics/pokemon/golem/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Golem: ; 8D63F10
+ .incbin "graphics/pokemon/golem/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Golem: ; 8D63F38
+ .incbin "graphics/pokemon/golem/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Golem: ; 8D64338
+ .incbin "graphics/pokemon/golem/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ponyta: ; 8D64358
+ .incbin "graphics/pokemon/ponyta/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ponyta: ; 8D64700
+ .incbin "graphics/pokemon/ponyta/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ponyta: ; 8D64728
+ .incbin "graphics/pokemon/ponyta/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ponyta: ; 8D64A64
+ .incbin "graphics/pokemon/ponyta/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ponyta: ; 8D64A8C
+ .incbin "graphics/pokemon/ponyta/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ponyta: ; 8D64E8C
+ .incbin "graphics/pokemon/ponyta/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Rapidash: ; 8D64EAC
+ .incbin "graphics/pokemon/rapidash/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Rapidash: ; 8D6537C
+ .incbin "graphics/pokemon/rapidash/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Rapidash: ; 8D653A4
+ .incbin "graphics/pokemon/rapidash/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Rapidash: ; 8D657B4
+ .incbin "graphics/pokemon/rapidash/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Rapidash: ; 8D657DC
+ .incbin "graphics/pokemon/rapidash/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Rapidash: ; 8D65BDC
+ .incbin "graphics/pokemon/rapidash/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slowpoke: ; 8D65BFC
+ .incbin "graphics/pokemon/slowpoke/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slowpoke: ; 8D65F08
+ .incbin "graphics/pokemon/slowpoke/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slowpoke: ; 8D65F30
+ .incbin "graphics/pokemon/slowpoke/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slowpoke: ; 8D66194
+ .incbin "graphics/pokemon/slowpoke/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slowpoke: ; 8D661BC
+ .incbin "graphics/pokemon/slowpoke/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slowpoke: ; 8D665BC
+ .incbin "graphics/pokemon/slowpoke/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slowbro: ; 8D665DC
+ .incbin "graphics/pokemon/slowbro/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slowbro: ; 8D66A9C
+ .incbin "graphics/pokemon/slowbro/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slowbro: ; 8D66AC4
+ .incbin "graphics/pokemon/slowbro/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slowbro: ; 8D66E60
+ .incbin "graphics/pokemon/slowbro/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slowbro: ; 8D66E88
+ .incbin "graphics/pokemon/slowbro/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slowbro: ; 8D67288
+ .incbin "graphics/pokemon/slowbro/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magnemite: ; 8D672A8
+ .incbin "graphics/pokemon/magnemite/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magnemite: ; 8D67480
+ .incbin "graphics/pokemon/magnemite/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magnemite: ; 8D674A8
+ .incbin "graphics/pokemon/magnemite/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magnemite: ; 8D67690
+ .incbin "graphics/pokemon/magnemite/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magnemite: ; 8D676B4
+ .incbin "graphics/pokemon/magnemite/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magnemite: ; 8D67AB4
+ .incbin "graphics/pokemon/magnemite/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magneton: ; 8D67AD4
+ .incbin "graphics/pokemon/magneton/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magneton: ; 8D67ED8
+ .incbin "graphics/pokemon/magneton/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magneton: ; 8D67F00
+ .incbin "graphics/pokemon/magneton/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magneton: ; 8D68280
+ .incbin "graphics/pokemon/magneton/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magneton: ; 8D682A8
+ .incbin "graphics/pokemon/magneton/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magneton: ; 8D686A8
+ .incbin "graphics/pokemon/magneton/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Farfetchd: ; 8D686C8
+ .incbin "graphics/pokemon/farfetchd/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Farfetchd: ; 8D68A44
+ .incbin "graphics/pokemon/farfetchd/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Farfetchd: ; 8D68A6C
+ .incbin "graphics/pokemon/farfetchd/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Farfetchd: ; 8D68DD8
+ .incbin "graphics/pokemon/farfetchd/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Farfetchd: ; 8D68E00
+ .incbin "graphics/pokemon/farfetchd/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Farfetchd: ; 8D69200
+ .incbin "graphics/pokemon/farfetchd/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Doduo: ; 8D69220
+ .incbin "graphics/pokemon/doduo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Doduo: ; 8D69574
+ .incbin "graphics/pokemon/doduo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Doduo: ; 8D69598
+ .incbin "graphics/pokemon/doduo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Doduo: ; 8D698B0
+ .incbin "graphics/pokemon/doduo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Doduo: ; 8D698D4
+ .incbin "graphics/pokemon/doduo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Doduo: ; 8D69CD4
+ .incbin "graphics/pokemon/doduo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dodrio: ; 8D69CF4
+ .incbin "graphics/pokemon/dodrio/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dodrio: ; 8D6A1D0
+ .incbin "graphics/pokemon/dodrio/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dodrio: ; 8D6A1F8
+ .incbin "graphics/pokemon/dodrio/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dodrio: ; 8D6A65C
+ .incbin "graphics/pokemon/dodrio/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dodrio: ; 8D6A684
+ .incbin "graphics/pokemon/dodrio/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dodrio: ; 8D6AA84
+ .incbin "graphics/pokemon/dodrio/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Seel: ; 8D6AAA4
+ .incbin "graphics/pokemon/seel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Seel: ; 8D6ADAC
+ .incbin "graphics/pokemon/seel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Seel: ; 8D6ADD4
+ .incbin "graphics/pokemon/seel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Seel: ; 8D6B0C0
+ .incbin "graphics/pokemon/seel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Seel: ; 8D6B0E8
+ .incbin "graphics/pokemon/seel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Seel: ; 8D6B4E8
+ .incbin "graphics/pokemon/seel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dewgong: ; 8D6B508
+ .incbin "graphics/pokemon/dewgong/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dewgong: ; 8D6B8D0
+ .incbin "graphics/pokemon/dewgong/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dewgong: ; 8D6B8F0
+ .incbin "graphics/pokemon/dewgong/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dewgong: ; 8D6BB84
+ .incbin "graphics/pokemon/dewgong/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dewgong: ; 8D6BBA4
+ .incbin "graphics/pokemon/dewgong/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dewgong: ; 8D6BFA4
+ .incbin "graphics/pokemon/dewgong/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Grimer: ; 8D6BFC4
+ .incbin "graphics/pokemon/grimer/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Grimer: ; 8D6C2E0
+ .incbin "graphics/pokemon/grimer/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Grimer: ; 8D6C304
+ .incbin "graphics/pokemon/grimer/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Grimer: ; 8D6C5E8
+ .incbin "graphics/pokemon/grimer/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Grimer: ; 8D6C60C
+ .incbin "graphics/pokemon/grimer/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Grimer: ; 8D6CA0C
+ .incbin "graphics/pokemon/grimer/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Muk: ; 8D6CA2C
+ .incbin "graphics/pokemon/muk/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Muk: ; 8D6CE78
+ .incbin "graphics/pokemon/muk/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Muk: ; 8D6CE9C
+ .incbin "graphics/pokemon/muk/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Muk: ; 8D6D1F4
+ .incbin "graphics/pokemon/muk/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Muk: ; 8D6D218
+ .incbin "graphics/pokemon/muk/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Muk: ; 8D6D618
+ .incbin "graphics/pokemon/muk/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shellder: ; 8D6D638
+ .incbin "graphics/pokemon/shellder/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shellder: ; 8D6D8A0
+ .incbin "graphics/pokemon/shellder/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shellder: ; 8D6D8C4
+ .incbin "graphics/pokemon/shellder/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shellder: ; 8D6DBD8
+ .incbin "graphics/pokemon/shellder/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shellder: ; 8D6DBFC
+ .incbin "graphics/pokemon/shellder/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shellder: ; 8D6DFFC
+ .incbin "graphics/pokemon/shellder/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cloyster: ; 8D6E01C
+ .incbin "graphics/pokemon/cloyster/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cloyster: ; 8D6E454
+ .incbin "graphics/pokemon/cloyster/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cloyster: ; 8D6E478
+ .incbin "graphics/pokemon/cloyster/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cloyster: ; 8D6E884
+ .incbin "graphics/pokemon/cloyster/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cloyster: ; 8D6E8A8
+ .incbin "graphics/pokemon/cloyster/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cloyster: ; 8D6ECA8
+ .incbin "graphics/pokemon/cloyster/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gastly: ; 8D6ECC8
+ .incbin "graphics/pokemon/gastly/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gastly: ; 8D6F080
+ .incbin "graphics/pokemon/gastly/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gastly: ; 8D6F0A8
+ .incbin "graphics/pokemon/gastly/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gastly: ; 8D6F3CC
+ .incbin "graphics/pokemon/gastly/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gastly: ; 8D6F3F4
+ .incbin "graphics/pokemon/gastly/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gastly: ; 8D6F7F4
+ .incbin "graphics/pokemon/gastly/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Haunter: ; 8D6F814
+ .incbin "graphics/pokemon/haunter/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Haunter: ; 8D6FC14
+ .incbin "graphics/pokemon/haunter/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Haunter: ; 8D6FC38
+ .incbin "graphics/pokemon/haunter/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Haunter: ; 8D6FF60
+ .incbin "graphics/pokemon/haunter/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Haunter: ; 8D6FF84
+ .incbin "graphics/pokemon/haunter/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Haunter: ; 8D70384
+ .incbin "graphics/pokemon/haunter/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gengar: ; 8D703A4
+ .incbin "graphics/pokemon/gengar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gengar: ; 8D70740
+ .incbin "graphics/pokemon/gengar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gengar: ; 8D70764
+ .incbin "graphics/pokemon/gengar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gengar: ; 8D70A4C
+ .incbin "graphics/pokemon/gengar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gengar: ; 8D70A70
+ .incbin "graphics/pokemon/gengar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gengar: ; 8D70E70
+ .incbin "graphics/pokemon/gengar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Onix: ; 8D70E90
+ .incbin "graphics/pokemon/onix/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Onix: ; 8D71308
+ .incbin "graphics/pokemon/onix/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Onix: ; 8D71324
+ .incbin "graphics/pokemon/onix/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Onix: ; 8D716A0
+ .incbin "graphics/pokemon/onix/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Onix: ; 8D716BC
+ .incbin "graphics/pokemon/onix/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Onix: ; 8D71ABC
+ .incbin "graphics/pokemon/onix/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Drowzee: ; 8D71ADC
+ .incbin "graphics/pokemon/drowzee/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Drowzee: ; 8D71E54
+ .incbin "graphics/pokemon/drowzee/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Drowzee: ; 8D71E78
+ .incbin "graphics/pokemon/drowzee/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Drowzee: ; 8D720D4
+ .incbin "graphics/pokemon/drowzee/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Drowzee: ; 8D720F8
+ .incbin "graphics/pokemon/drowzee/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Drowzee: ; 8D724F8
+ .incbin "graphics/pokemon/drowzee/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hypno: ; 8D72518
+ .incbin "graphics/pokemon/hypno/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hypno: ; 8D72904
+ .incbin "graphics/pokemon/hypno/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hypno: ; 8D72928
+ .incbin "graphics/pokemon/hypno/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hypno: ; 8D72C58
+ .incbin "graphics/pokemon/hypno/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hypno: ; 8D72C7C
+ .incbin "graphics/pokemon/hypno/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hypno: ; 8D7307C
+ .incbin "graphics/pokemon/hypno/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Krabby: ; 8D7309C
+ .incbin "graphics/pokemon/krabby/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Krabby: ; 8D73354
+ .incbin "graphics/pokemon/krabby/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Krabby: ; 8D7337C
+ .incbin "graphics/pokemon/krabby/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Krabby: ; 8D73708
+ .incbin "graphics/pokemon/krabby/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Krabby: ; 8D73730
+ .incbin "graphics/pokemon/krabby/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Krabby: ; 8D73B30
+ .incbin "graphics/pokemon/krabby/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kingler: ; 8D73B50
+ .incbin "graphics/pokemon/kingler/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kingler: ; 8D74084
+ .incbin "graphics/pokemon/kingler/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kingler: ; 8D740A8
+ .incbin "graphics/pokemon/kingler/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kingler: ; 8D7442C
+ .incbin "graphics/pokemon/kingler/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kingler: ; 8D74450
+ .incbin "graphics/pokemon/kingler/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kingler: ; 8D74850
+ .incbin "graphics/pokemon/kingler/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Voltorb: ; 8D74870
+ .incbin "graphics/pokemon/voltorb/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Voltorb: ; 8D74A78
+ .incbin "graphics/pokemon/voltorb/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Voltorb: ; 8D74A9C
+ .incbin "graphics/pokemon/voltorb/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Voltorb: ; 8D74D10
+ .incbin "graphics/pokemon/voltorb/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Voltorb: ; 8D74D34
+ .incbin "graphics/pokemon/voltorb/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Voltorb: ; 8D75134
+ .incbin "graphics/pokemon/voltorb/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Electrode: ; 8D75154
+ .incbin "graphics/pokemon/electrode/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Electrode: ; 8D753C0
+ .incbin "graphics/pokemon/electrode/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Electrode: ; 8D753E4
+ .incbin "graphics/pokemon/electrode/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Electrode: ; 8D75654
+ .incbin "graphics/pokemon/electrode/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Electrode: ; 8D75678
+ .incbin "graphics/pokemon/electrode/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Electrode: ; 8D75A78
+ .incbin "graphics/pokemon/electrode/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Exeggcute: ; 8D75A98
+ .incbin "graphics/pokemon/exeggcute/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Exeggcute: ; 8D75E9C
+ .incbin "graphics/pokemon/exeggcute/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Exeggcute: ; 8D75EC0
+ .incbin "graphics/pokemon/exeggcute/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Exeggcute: ; 8D761C8
+ .incbin "graphics/pokemon/exeggcute/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Exeggcute: ; 8D761EC
+ .incbin "graphics/pokemon/exeggcute/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Exeggcute: ; 8D765EC
+ .incbin "graphics/pokemon/exeggcute/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Exeggutor: ; 8D7660C
+ .incbin "graphics/pokemon/exeggutor/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Exeggutor: ; 8D76B0C
+ .incbin "graphics/pokemon/exeggutor/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Exeggutor: ; 8D76B34
+ .incbin "graphics/pokemon/exeggutor/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Exeggutor: ; 8D76FD4
+ .incbin "graphics/pokemon/exeggutor/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Exeggutor: ; 8D76FFC
+ .incbin "graphics/pokemon/exeggutor/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Exeggutor: ; 8D773FC
+ .incbin "graphics/pokemon/exeggutor/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cubone: ; 8D7741C
+ .incbin "graphics/pokemon/cubone/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cubone: ; 8D776EC
+ .incbin "graphics/pokemon/cubone/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cubone: ; 8D77714
+ .incbin "graphics/pokemon/cubone/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cubone: ; 8D77A54
+ .incbin "graphics/pokemon/cubone/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cubone: ; 8D77A7C
+ .incbin "graphics/pokemon/cubone/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cubone: ; 8D77E7C
+ .incbin "graphics/pokemon/cubone/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Marowak: ; 8D77E9C
+ .incbin "graphics/pokemon/marowak/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Marowak: ; 8D78224
+ .incbin "graphics/pokemon/marowak/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Marowak: ; 8D7824C
+ .incbin "graphics/pokemon/marowak/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Marowak: ; 8D78584
+ .incbin "graphics/pokemon/marowak/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Marowak: ; 8D785AC
+ .incbin "graphics/pokemon/marowak/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Marowak: ; 8D789AC
+ .incbin "graphics/pokemon/marowak/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hitmonlee: ; 8D789CC
+ .incbin "graphics/pokemon/hitmonlee/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hitmonlee: ; 8D78DCC
+ .incbin "graphics/pokemon/hitmonlee/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hitmonlee: ; 8D78DF4
+ .incbin "graphics/pokemon/hitmonlee/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hitmonlee: ; 8D79098
+ .incbin "graphics/pokemon/hitmonlee/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hitmonlee: ; 8D790C0
+ .incbin "graphics/pokemon/hitmonlee/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hitmonlee: ; 8D794C0
+ .incbin "graphics/pokemon/hitmonlee/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hitmonchan: ; 8D794E0
+ .incbin "graphics/pokemon/hitmonchan/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hitmonchan: ; 8D79820
+ .incbin "graphics/pokemon/hitmonchan/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hitmonchan: ; 8D79848
+ .incbin "graphics/pokemon/hitmonchan/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hitmonchan: ; 8D79B8C
+ .incbin "graphics/pokemon/hitmonchan/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hitmonchan: ; 8D79BB4
+ .incbin "graphics/pokemon/hitmonchan/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hitmonchan: ; 8D79FB4
+ .incbin "graphics/pokemon/hitmonchan/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lickitung: ; 8D79FD4
+ .incbin "graphics/pokemon/lickitung/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lickitung: ; 8D7A38C
+ .incbin "graphics/pokemon/lickitung/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lickitung: ; 8D7A3B4
+ .incbin "graphics/pokemon/lickitung/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lickitung: ; 8D7A674
+ .incbin "graphics/pokemon/lickitung/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lickitung: ; 8D7A69C
+ .incbin "graphics/pokemon/lickitung/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lickitung: ; 8D7AA9C
+ .incbin "graphics/pokemon/lickitung/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Koffing: ; 8D7AABC
+ .incbin "graphics/pokemon/koffing/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Koffing: ; 8D7AE18
+ .incbin "graphics/pokemon/koffing/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Koffing: ; 8D7AE40
+ .incbin "graphics/pokemon/koffing/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Koffing: ; 8D7B140
+ .incbin "graphics/pokemon/koffing/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Koffing: ; 8D7B168
+ .incbin "graphics/pokemon/koffing/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Koffing: ; 8D7B568
+ .incbin "graphics/pokemon/koffing/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Weezing: ; 8D7B588
+ .incbin "graphics/pokemon/weezing/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Weezing: ; 8D7BA10
+ .incbin "graphics/pokemon/weezing/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Weezing: ; 8D7BA38
+ .incbin "graphics/pokemon/weezing/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Weezing: ; 8D7BD68
+ .incbin "graphics/pokemon/weezing/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Weezing: ; 8D7BD90
+ .incbin "graphics/pokemon/weezing/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Weezing: ; 8D7C190
+ .incbin "graphics/pokemon/weezing/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Rhyhorn: ; 8D7C1B0
+ .incbin "graphics/pokemon/rhyhorn/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Rhyhorn: ; 8D7C5B4
+ .incbin "graphics/pokemon/rhyhorn/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Rhyhorn: ; 8D7C5D4
+ .incbin "graphics/pokemon/rhyhorn/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Rhyhorn: ; 8D7C91C
+ .incbin "graphics/pokemon/rhyhorn/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Rhyhorn: ; 8D7C93C
+ .incbin "graphics/pokemon/rhyhorn/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Rhyhorn: ; 8D7CD3C
+ .incbin "graphics/pokemon/rhyhorn/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Rhydon: ; 8D7CD5C
+ .incbin "graphics/pokemon/rhydon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Rhydon: ; 8D7D264
+ .incbin "graphics/pokemon/rhydon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Rhydon: ; 8D7D28C
+ .incbin "graphics/pokemon/rhydon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Rhydon: ; 8D7D6DC
+ .incbin "graphics/pokemon/rhydon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Rhydon: ; 8D7D704
+ .incbin "graphics/pokemon/rhydon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Rhydon: ; 8D7DB04
+ .incbin "graphics/pokemon/rhydon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Chansey: ; 8D7DB24
+ .incbin "graphics/pokemon/chansey/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Chansey: ; 8D7DE78
+ .incbin "graphics/pokemon/chansey/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Chansey: ; 8D7DE9C
+ .incbin "graphics/pokemon/chansey/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Chansey: ; 8D7E170
+ .incbin "graphics/pokemon/chansey/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Chansey: ; 8D7E194
+ .incbin "graphics/pokemon/chansey/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Chansey: ; 8D7E594
+ .incbin "graphics/pokemon/chansey/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tangela: ; 8D7E5B4
+ .incbin "graphics/pokemon/tangela/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tangela: ; 8D7E988
+ .incbin "graphics/pokemon/tangela/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tangela: ; 8D7E9AC
+ .incbin "graphics/pokemon/tangela/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tangela: ; 8D7ED58
+ .incbin "graphics/pokemon/tangela/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tangela: ; 8D7ED7C
+ .incbin "graphics/pokemon/tangela/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tangela: ; 8D7F17C
+ .incbin "graphics/pokemon/tangela/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kangaskhan: ; 8D7F19C
+ .incbin "graphics/pokemon/kangaskhan/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kangaskhan: ; 8D7F694
+ .incbin "graphics/pokemon/kangaskhan/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kangaskhan: ; 8D7F6BC
+ .incbin "graphics/pokemon/kangaskhan/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kangaskhan: ; 8D7FAEC
+ .incbin "graphics/pokemon/kangaskhan/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kangaskhan: ; 8D7FB14
+ .incbin "graphics/pokemon/kangaskhan/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kangaskhan: ; 8D7FF14
+ .incbin "graphics/pokemon/kangaskhan/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Horsea: ; 8D7FF34
+ .incbin "graphics/pokemon/horsea/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Horsea: ; 8D801AC
+ .incbin "graphics/pokemon/horsea/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Horsea: ; 8D801D4
+ .incbin "graphics/pokemon/horsea/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Horsea: ; 8D804B4
+ .incbin "graphics/pokemon/horsea/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Horsea: ; 8D804DC
+ .incbin "graphics/pokemon/horsea/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Horsea: ; 8D808DC
+ .incbin "graphics/pokemon/horsea/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Seadra: ; 8D808FC
+ .incbin "graphics/pokemon/seadra/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Seadra: ; 8D80CBC
+ .incbin "graphics/pokemon/seadra/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Seadra: ; 8D80CE4
+ .incbin "graphics/pokemon/seadra/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Seadra: ; 8D81084
+ .incbin "graphics/pokemon/seadra/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Seadra: ; 8D810AC
+ .incbin "graphics/pokemon/seadra/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Seadra: ; 8D814AC
+ .incbin "graphics/pokemon/seadra/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Goldeen: ; 8D814CC
+ .incbin "graphics/pokemon/goldeen/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Goldeen: ; 8D81834
+ .incbin "graphics/pokemon/goldeen/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Goldeen: ; 8D8185C
+ .incbin "graphics/pokemon/goldeen/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Goldeen: ; 8D81BCC
+ .incbin "graphics/pokemon/goldeen/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Goldeen: ; 8D81BF4
+ .incbin "graphics/pokemon/goldeen/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Goldeen: ; 8D81FF4
+ .incbin "graphics/pokemon/goldeen/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Seaking: ; 8D82014
+ .incbin "graphics/pokemon/seaking/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Seaking: ; 8D82488
+ .incbin "graphics/pokemon/seaking/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Seaking: ; 8D824B0
+ .incbin "graphics/pokemon/seaking/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Seaking: ; 8D82800
+ .incbin "graphics/pokemon/seaking/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Seaking: ; 8D82828
+ .incbin "graphics/pokemon/seaking/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Seaking: ; 8D82C28
+ .incbin "graphics/pokemon/seaking/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Staryu: ; 8D82C48
+ .incbin "graphics/pokemon/staryu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Staryu: ; 8D82F2C
+ .incbin "graphics/pokemon/staryu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Staryu: ; 8D82F54
+ .incbin "graphics/pokemon/staryu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Staryu: ; 8D831D0
+ .incbin "graphics/pokemon/staryu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Staryu: ; 8D831F8
+ .incbin "graphics/pokemon/staryu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Staryu: ; 8D835F8
+ .incbin "graphics/pokemon/staryu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Starmie: ; 8D83618
+ .incbin "graphics/pokemon/starmie/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Starmie: ; 8D83A40
+ .incbin "graphics/pokemon/starmie/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Starmie: ; 8D83A68
+ .incbin "graphics/pokemon/starmie/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Starmie: ; 8D83D0C
+ .incbin "graphics/pokemon/starmie/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Starmie: ; 8D83D34
+ .incbin "graphics/pokemon/starmie/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Starmie: ; 8D84134
+ .incbin "graphics/pokemon/starmie/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mrmime: ; 8D84154
+ .incbin "graphics/pokemon/mr_mime/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mrmime: ; 8D84504
+ .incbin "graphics/pokemon/mr_mime/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mrmime: ; 8D8452C
+ .incbin "graphics/pokemon/mr_mime/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mrmime: ; 8D84860
+ .incbin "graphics/pokemon/mr_mime/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mrmime: ; 8D84888
+ .incbin "graphics/pokemon/mr_mime/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mrmime: ; 8D84C88
+ .incbin "graphics/pokemon/mr_mime/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Scyther: ; 8D84CA8
+ .incbin "graphics/pokemon/scyther/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Scyther: ; 8D85154
+ .incbin "graphics/pokemon/scyther/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Scyther: ; 8D8517C
+ .incbin "graphics/pokemon/scyther/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Scyther: ; 8D85524
+ .incbin "graphics/pokemon/scyther/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Scyther: ; 8D8554C
+ .incbin "graphics/pokemon/scyther/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Scyther: ; 8D8594C
+ .incbin "graphics/pokemon/scyther/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Jynx: ; 8D8596C
+ .incbin "graphics/pokemon/jynx/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Jynx: ; 8D85E08
+ .incbin "graphics/pokemon/jynx/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Jynx: ; 8D85E30
+ .incbin "graphics/pokemon/jynx/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Jynx: ; 8D86128
+ .incbin "graphics/pokemon/jynx/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Jynx: ; 8D86150
+ .incbin "graphics/pokemon/jynx/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Jynx: ; 8D86550
+ .incbin "graphics/pokemon/jynx/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Electabuzz: ; 8D86570
+ .incbin "graphics/pokemon/electabuzz/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Electabuzz: ; 8D869EC
+ .incbin "graphics/pokemon/electabuzz/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Electabuzz: ; 8D86A14
+ .incbin "graphics/pokemon/electabuzz/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Electabuzz: ; 8D86D24
+ .incbin "graphics/pokemon/electabuzz/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Electabuzz: ; 8D86D4C
+ .incbin "graphics/pokemon/electabuzz/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Electabuzz: ; 8D8714C
+ .incbin "graphics/pokemon/electabuzz/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magmar: ; 8D8716C
+ .incbin "graphics/pokemon/magmar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magmar: ; 8D87614
+ .incbin "graphics/pokemon/magmar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magmar: ; 8D8763C
+ .incbin "graphics/pokemon/magmar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magmar: ; 8D87984
+ .incbin "graphics/pokemon/magmar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magmar: ; 8D879AC
+ .incbin "graphics/pokemon/magmar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magmar: ; 8D87DAC
+ .incbin "graphics/pokemon/magmar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pinsir: ; 8D87DCC
+ .incbin "graphics/pokemon/pinsir/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pinsir: ; 8D881F4
+ .incbin "graphics/pokemon/pinsir/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pinsir: ; 8D88218
+ .incbin "graphics/pokemon/pinsir/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pinsir: ; 8D8856C
+ .incbin "graphics/pokemon/pinsir/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pinsir: ; 8D88590
+ .incbin "graphics/pokemon/pinsir/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pinsir: ; 8D88990
+ .incbin "graphics/pokemon/pinsir/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tauros: ; 8D889B0
+ .incbin "graphics/pokemon/tauros/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tauros: ; 8D88E80
+ .incbin "graphics/pokemon/tauros/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tauros: ; 8D88EA8
+ .incbin "graphics/pokemon/tauros/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tauros: ; 8D8915C
+ .incbin "graphics/pokemon/tauros/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tauros: ; 8D89184
+ .incbin "graphics/pokemon/tauros/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tauros: ; 8D89584
+ .incbin "graphics/pokemon/tauros/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magikarp: ; 8D895A4
+ .incbin "graphics/pokemon/magikarp/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magikarp: ; 8D898F4
+ .incbin "graphics/pokemon/magikarp/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magikarp: ; 8D8991C
+ .incbin "graphics/pokemon/magikarp/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magikarp: ; 8D89C4C
+ .incbin "graphics/pokemon/magikarp/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magikarp: ; 8D89C74
+ .incbin "graphics/pokemon/magikarp/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magikarp: ; 8D8A074
+ .incbin "graphics/pokemon/magikarp/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gyarados: ; 8D8A094
+ .incbin "graphics/pokemon/gyarados/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gyarados: ; 8D8A5FC
+ .incbin "graphics/pokemon/gyarados/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gyarados: ; 8D8A624
+ .incbin "graphics/pokemon/gyarados/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gyarados: ; 8D8AAF8
+ .incbin "graphics/pokemon/gyarados/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gyarados: ; 8D8AB20
+ .incbin "graphics/pokemon/gyarados/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gyarados: ; 8D8AF20
+ .incbin "graphics/pokemon/gyarados/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lapras: ; 8D8AF40
+ .incbin "graphics/pokemon/lapras/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lapras: ; 8D8B300
+ .incbin "graphics/pokemon/lapras/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lapras: ; 8D8B328
+ .incbin "graphics/pokemon/lapras/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lapras: ; 8D8B66C
+ .incbin "graphics/pokemon/lapras/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lapras: ; 8D8B694
+ .incbin "graphics/pokemon/lapras/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lapras: ; 8D8BA94
+ .incbin "graphics/pokemon/lapras/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ditto: ; 8D8BAB4
+ .incbin "graphics/pokemon/ditto/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ditto: ; 8D8BCA4
+ .incbin "graphics/pokemon/ditto/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ditto: ; 8D8BCC4
+ .incbin "graphics/pokemon/ditto/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ditto: ; 8D8BEC4
+ .incbin "graphics/pokemon/ditto/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ditto: ; 8D8BEE4
+ .incbin "graphics/pokemon/ditto/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ditto: ; 8D8C2E4
+ .incbin "graphics/pokemon/ditto/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Eevee: ; 8D8C304
+ .incbin "graphics/pokemon/eevee/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Eevee: ; 8D8C5A8
+ .incbin "graphics/pokemon/eevee/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Eevee: ; 8D8C5CC
+ .incbin "graphics/pokemon/eevee/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Eevee: ; 8D8C8F4
+ .incbin "graphics/pokemon/eevee/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Eevee: ; 8D8C918
+ .incbin "graphics/pokemon/eevee/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Eevee: ; 8D8CD18
+ .incbin "graphics/pokemon/eevee/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Vaporeon: ; 8D8CD38
+ .incbin "graphics/pokemon/vaporeon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Vaporeon: ; 8D8D0CC
+ .incbin "graphics/pokemon/vaporeon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Vaporeon: ; 8D8D0F4
+ .incbin "graphics/pokemon/vaporeon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Vaporeon: ; 8D8D3BC
+ .incbin "graphics/pokemon/vaporeon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Vaporeon: ; 8D8D3E4
+ .incbin "graphics/pokemon/vaporeon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Vaporeon: ; 8D8D7E4
+ .incbin "graphics/pokemon/vaporeon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Jolteon: ; 8D8D804
+ .incbin "graphics/pokemon/jolteon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Jolteon: ; 8D8DBA4
+ .incbin "graphics/pokemon/jolteon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Jolteon: ; 8D8DBCC
+ .incbin "graphics/pokemon/jolteon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Jolteon: ; 8D8DF5C
+ .incbin "graphics/pokemon/jolteon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Jolteon: ; 8D8DF84
+ .incbin "graphics/pokemon/jolteon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Jolteon: ; 8D8E384
+ .incbin "graphics/pokemon/jolteon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Flareon: ; 8D8E3A4
+ .incbin "graphics/pokemon/flareon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Flareon: ; 8D8E720
+ .incbin "graphics/pokemon/flareon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Flareon: ; 8D8E748
+ .incbin "graphics/pokemon/flareon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Flareon: ; 8D8EAD8
+ .incbin "graphics/pokemon/flareon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Flareon: ; 8D8EB00
+ .incbin "graphics/pokemon/flareon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Flareon: ; 8D8EF00
+ .incbin "graphics/pokemon/flareon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Porygon: ; 8D8EF20
+ .incbin "graphics/pokemon/porygon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Porygon: ; 8D8F1DC
+ .incbin "graphics/pokemon/porygon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Porygon: ; 8D8F200
+ .incbin "graphics/pokemon/porygon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Porygon: ; 8D8F4B8
+ .incbin "graphics/pokemon/porygon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Porygon: ; 8D8F4DC
+ .incbin "graphics/pokemon/porygon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Porygon: ; 8D8F8DC
+ .incbin "graphics/pokemon/porygon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Omanyte: ; 8D8F8FC
+ .incbin "graphics/pokemon/omanyte/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Omanyte: ; 8D8FBA4
+ .incbin "graphics/pokemon/omanyte/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Omanyte: ; 8D8FBCC
+ .incbin "graphics/pokemon/omanyte/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Omanyte: ; 8D8FF18
+ .incbin "graphics/pokemon/omanyte/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Omanyte: ; 8D8FF40
+ .incbin "graphics/pokemon/omanyte/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Omanyte: ; 8D90340
+ .incbin "graphics/pokemon/omanyte/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Omastar: ; 8D90360
+ .incbin "graphics/pokemon/omastar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Omastar: ; 8D90720
+ .incbin "graphics/pokemon/omastar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Omastar: ; 8D90748
+ .incbin "graphics/pokemon/omastar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Omastar: ; 8D90A88
+ .incbin "graphics/pokemon/omastar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Omastar: ; 8D90AB0
+ .incbin "graphics/pokemon/omastar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Omastar: ; 8D90EB0
+ .incbin "graphics/pokemon/omastar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kabuto: ; 8D90ED0
+ .incbin "graphics/pokemon/kabuto/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kabuto: ; 8D91140
+ .incbin "graphics/pokemon/kabuto/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kabuto: ; 8D91168
+ .incbin "graphics/pokemon/kabuto/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kabuto: ; 8D91400
+ .incbin "graphics/pokemon/kabuto/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kabuto: ; 8D91428
+ .incbin "graphics/pokemon/kabuto/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kabuto: ; 8D91828
+ .incbin "graphics/pokemon/kabuto/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kabutops: ; 8D91848
+ .incbin "graphics/pokemon/kabutops/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kabutops: ; 8D91C48
+ .incbin "graphics/pokemon/kabutops/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kabutops: ; 8D91C6C
+ .incbin "graphics/pokemon/kabutops/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kabutops: ; 8D92010
+ .incbin "graphics/pokemon/kabutops/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kabutops: ; 8D92034
+ .incbin "graphics/pokemon/kabutops/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kabutops: ; 8D92434
+ .incbin "graphics/pokemon/kabutops/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Aerodactyl: ; 8D92454
+ .incbin "graphics/pokemon/aerodactyl/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Aerodactyl: ; 8D928D4
+ .incbin "graphics/pokemon/aerodactyl/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Aerodactyl: ; 8D928FC
+ .incbin "graphics/pokemon/aerodactyl/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Aerodactyl: ; 8D92C00
+ .incbin "graphics/pokemon/aerodactyl/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Aerodactyl: ; 8D92C28
+ .incbin "graphics/pokemon/aerodactyl/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Aerodactyl: ; 8D93028
+ .incbin "graphics/pokemon/aerodactyl/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Snorlax: ; 8D93048
+ .incbin "graphics/pokemon/snorlax/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Snorlax: ; 8D9348C
+ .incbin "graphics/pokemon/snorlax/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Snorlax: ; 8D934B4
+ .incbin "graphics/pokemon/snorlax/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Snorlax: ; 8D936D0
+ .incbin "graphics/pokemon/snorlax/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Snorlax: ; 8D936F8
+ .incbin "graphics/pokemon/snorlax/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Snorlax: ; 8D93AF8
+ .incbin "graphics/pokemon/snorlax/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Articuno: ; 8D93B18
+ .incbin "graphics/pokemon/articuno/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Articuno: ; 8D94010
+ .incbin "graphics/pokemon/articuno/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Articuno: ; 8D94038
+ .incbin "graphics/pokemon/articuno/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Articuno: ; 8D94294
+ .incbin "graphics/pokemon/articuno/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Articuno: ; 8D942BC
+ .incbin "graphics/pokemon/articuno/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Articuno: ; 8D946BC
+ .incbin "graphics/pokemon/articuno/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Zapdos: ; 8D946DC
+ .incbin "graphics/pokemon/zapdos/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Zapdos: ; 8D94B50
+ .incbin "graphics/pokemon/zapdos/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Zapdos: ; 8D94B78
+ .incbin "graphics/pokemon/zapdos/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Zapdos: ; 8D94EB4
+ .incbin "graphics/pokemon/zapdos/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Zapdos: ; 8D94EDC
+ .incbin "graphics/pokemon/zapdos/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Zapdos: ; 8D952DC
+ .incbin "graphics/pokemon/zapdos/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Moltres: ; 8D952FC
+ .incbin "graphics/pokemon/moltres/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Moltres: ; 8D958AC
+ .incbin "graphics/pokemon/moltres/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Moltres: ; 8D958D4
+ .incbin "graphics/pokemon/moltres/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Moltres: ; 8D95C10
+ .incbin "graphics/pokemon/moltres/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Moltres: ; 8D95C38
+ .incbin "graphics/pokemon/moltres/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Moltres: ; 8D96038
+ .incbin "graphics/pokemon/moltres/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dratini: ; 8D96058
+ .incbin "graphics/pokemon/dratini/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dratini: ; 8D96310
+ .incbin "graphics/pokemon/dratini/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dratini: ; 8D96334
+ .incbin "graphics/pokemon/dratini/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dratini: ; 8D965C4
+ .incbin "graphics/pokemon/dratini/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dratini: ; 8D965E8
+ .incbin "graphics/pokemon/dratini/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dratini: ; 8D969E8
+ .incbin "graphics/pokemon/dratini/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dragonair: ; 8D96A08
+ .incbin "graphics/pokemon/dragonair/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dragonair: ; 8D96D68
+ .incbin "graphics/pokemon/dragonair/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dragonair: ; 8D96D90
+ .incbin "graphics/pokemon/dragonair/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dragonair: ; 8D970A0
+ .incbin "graphics/pokemon/dragonair/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dragonair: ; 8D970C8
+ .incbin "graphics/pokemon/dragonair/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dragonair: ; 8D974C8
+ .incbin "graphics/pokemon/dragonair/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dragonite: ; 8D974E8
+ .incbin "graphics/pokemon/dragonite/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dragonite: ; 8D97A58
+ .incbin "graphics/pokemon/dragonite/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dragonite: ; 8D97A80
+ .incbin "graphics/pokemon/dragonite/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dragonite: ; 8D97D7C
+ .incbin "graphics/pokemon/dragonite/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dragonite: ; 8D97DA4
+ .incbin "graphics/pokemon/dragonite/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dragonite: ; 8D981A4
+ .incbin "graphics/pokemon/dragonite/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mewtwo: ; 8D981C4
+ .incbin "graphics/pokemon/mewtwo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mewtwo: ; 8D98600
+ .incbin "graphics/pokemon/mewtwo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mewtwo: ; 8D98624
+ .incbin "graphics/pokemon/mewtwo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mewtwo: ; 8D989F0
+ .incbin "graphics/pokemon/mewtwo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mewtwo: ; 8D98A14
+ .incbin "graphics/pokemon/mewtwo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mewtwo: ; 8D98E14
+ .incbin "graphics/pokemon/mewtwo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mew: ; 8D98E34
+ .incbin "graphics/pokemon/mew/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mew: ; 8D990B4
+ .incbin "graphics/pokemon/mew/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mew: ; 8D990D8
+ .incbin "graphics/pokemon/mew/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mew: ; 8D993A4
+ .incbin "graphics/pokemon/mew/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mew: ; 8D993C8
+ .incbin "graphics/pokemon/mew/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mew: ; 8D997C8
+ .incbin "graphics/pokemon/mew/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Chikorita: ; 8D997E8
+ .incbin "graphics/pokemon/chikorita/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Chikorita: ; 8D99A50
+ .incbin "graphics/pokemon/chikorita/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Chikorita: ; 8D99A78
+ .incbin "graphics/pokemon/chikorita/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Chikorita: ; 8D99D3C
+ .incbin "graphics/pokemon/chikorita/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Chikorita: ; 8D99D64
+ .incbin "graphics/pokemon/chikorita/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Chikorita: ; 8D9A164
+ .incbin "graphics/pokemon/chikorita/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Bayleef: ; 8D9A184
+ .incbin "graphics/pokemon/bayleef/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Bayleef: ; 8D9A558
+ .incbin "graphics/pokemon/bayleef/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Bayleef: ; 8D9A580
+ .incbin "graphics/pokemon/bayleef/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Bayleef: ; 8D9A910
+ .incbin "graphics/pokemon/bayleef/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Bayleef: ; 8D9A938
+ .incbin "graphics/pokemon/bayleef/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Bayleef: ; 8D9AD38
+ .incbin "graphics/pokemon/bayleef/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Meganium: ; 8D9AD58
+ .incbin "graphics/pokemon/meganium/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Meganium: ; 8D9B2B4
+ .incbin "graphics/pokemon/meganium/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Meganium: ; 8D9B2DC
+ .incbin "graphics/pokemon/meganium/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Meganium: ; 8D9B62C
+ .incbin "graphics/pokemon/meganium/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Meganium: ; 8D9B654
+ .incbin "graphics/pokemon/meganium/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Meganium: ; 8D9BA54
+ .incbin "graphics/pokemon/meganium/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cyndaquil: ; 8D9BA74
+ .incbin "graphics/pokemon/cyndaquil/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cyndaquil: ; 8D9BD00
+ .incbin "graphics/pokemon/cyndaquil/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cyndaquil: ; 8D9BD28
+ .incbin "graphics/pokemon/cyndaquil/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cyndaquil: ; 8D9C054
+ .incbin "graphics/pokemon/cyndaquil/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cyndaquil: ; 8D9C07C
+ .incbin "graphics/pokemon/cyndaquil/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cyndaquil: ; 8D9C47C
+ .incbin "graphics/pokemon/cyndaquil/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Quilava: ; 8D9C49C
+ .incbin "graphics/pokemon/quilava/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Quilava: ; 8D9C7B8
+ .incbin "graphics/pokemon/quilava/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Quilava: ; 8D9C7E0
+ .incbin "graphics/pokemon/quilava/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Quilava: ; 8D9CB54
+ .incbin "graphics/pokemon/quilava/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Quilava: ; 8D9CB7C
+ .incbin "graphics/pokemon/quilava/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Quilava: ; 8D9CF7C
+ .incbin "graphics/pokemon/quilava/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Typhlosion: ; 8D9CF9C
+ .incbin "graphics/pokemon/typhlosion/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Typhlosion: ; 8D9D3C4
+ .incbin "graphics/pokemon/typhlosion/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Typhlosion: ; 8D9D3EC
+ .incbin "graphics/pokemon/typhlosion/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Typhlosion: ; 8D9D7F0
+ .incbin "graphics/pokemon/typhlosion/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Typhlosion: ; 8D9D818
+ .incbin "graphics/pokemon/typhlosion/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Typhlosion: ; 8D9DC18
+ .incbin "graphics/pokemon/typhlosion/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Totodile: ; 8D9DC38
+ .incbin "graphics/pokemon/totodile/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Totodile: ; 8D9DEDC
+ .incbin "graphics/pokemon/totodile/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Totodile: ; 8D9DF04
+ .incbin "graphics/pokemon/totodile/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Totodile: ; 8D9E1E4
+ .incbin "graphics/pokemon/totodile/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Totodile: ; 8D9E20C
+ .incbin "graphics/pokemon/totodile/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Totodile: ; 8D9E60C
+ .incbin "graphics/pokemon/totodile/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Croconaw: ; 8D9E62C
+ .incbin "graphics/pokemon/croconaw/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Croconaw: ; 8D9E994
+ .incbin "graphics/pokemon/croconaw/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Croconaw: ; 8D9E9BC
+ .incbin "graphics/pokemon/croconaw/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Croconaw: ; 8D9ED0C
+ .incbin "graphics/pokemon/croconaw/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Croconaw: ; 8D9ED34
+ .incbin "graphics/pokemon/croconaw/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Croconaw: ; 8D9F134
+ .incbin "graphics/pokemon/croconaw/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Feraligatr: ; 8D9F154
+ .incbin "graphics/pokemon/feraligatr/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Feraligatr: ; 8D9F6C0
+ .incbin "graphics/pokemon/feraligatr/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Feraligatr: ; 8D9F6E8
+ .incbin "graphics/pokemon/feraligatr/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Feraligatr: ; 8D9FBB4
+ .incbin "graphics/pokemon/feraligatr/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Feraligatr: ; 8D9FBDC
+ .incbin "graphics/pokemon/feraligatr/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Feraligatr: ; 8D9FFDC
+ .incbin "graphics/pokemon/feraligatr/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sentret: ; 8D9FFFC
+ .incbin "graphics/pokemon/sentret/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sentret: ; 8DA02D8
+ .incbin "graphics/pokemon/sentret/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sentret: ; 8DA0300
+ .incbin "graphics/pokemon/sentret/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sentret: ; 8DA05A4
+ .incbin "graphics/pokemon/sentret/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sentret: ; 8DA05CC
+ .incbin "graphics/pokemon/sentret/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sentret: ; 8DA09CC
+ .incbin "graphics/pokemon/sentret/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Furret: ; 8DA09EC
+ .incbin "graphics/pokemon/furret/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Furret: ; 8DA0D20
+ .incbin "graphics/pokemon/furret/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Furret: ; 8DA0D48
+ .incbin "graphics/pokemon/furret/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Furret: ; 8DA1070
+ .incbin "graphics/pokemon/furret/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Furret: ; 8DA1098
+ .incbin "graphics/pokemon/furret/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Furret: ; 8DA1498
+ .incbin "graphics/pokemon/furret/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hoothoot: ; 8DA14B8
+ .incbin "graphics/pokemon/hoothoot/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hoothoot: ; 8DA173C
+ .incbin "graphics/pokemon/hoothoot/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hoothoot: ; 8DA1764
+ .incbin "graphics/pokemon/hoothoot/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hoothoot: ; 8DA1A6C
+ .incbin "graphics/pokemon/hoothoot/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hoothoot: ; 8DA1A94
+ .incbin "graphics/pokemon/hoothoot/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hoothoot: ; 8DA1E94
+ .incbin "graphics/pokemon/hoothoot/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Noctowl: ; 8DA1EB4
+ .incbin "graphics/pokemon/noctowl/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Noctowl: ; 8DA2208
+ .incbin "graphics/pokemon/noctowl/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Noctowl: ; 8DA2230
+ .incbin "graphics/pokemon/noctowl/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Noctowl: ; 8DA258C
+ .incbin "graphics/pokemon/noctowl/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Noctowl: ; 8DA25B4
+ .incbin "graphics/pokemon/noctowl/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Noctowl: ; 8DA29B4
+ .incbin "graphics/pokemon/noctowl/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ledyba: ; 8DA29D4
+ .incbin "graphics/pokemon/ledyba/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ledyba: ; 8DA2CC8
+ .incbin "graphics/pokemon/ledyba/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ledyba: ; 8DA2CF0
+ .incbin "graphics/pokemon/ledyba/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ledyba: ; 8DA3020
+ .incbin "graphics/pokemon/ledyba/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ledyba: ; 8DA3048
+ .incbin "graphics/pokemon/ledyba/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ledyba: ; 8DA3448
+ .incbin "graphics/pokemon/ledyba/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ledian: ; 8DA3468
+ .incbin "graphics/pokemon/ledian/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ledian: ; 8DA37F0
+ .incbin "graphics/pokemon/ledian/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ledian: ; 8DA3818
+ .incbin "graphics/pokemon/ledian/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ledian: ; 8DA3B70
+ .incbin "graphics/pokemon/ledian/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ledian: ; 8DA3B98
+ .incbin "graphics/pokemon/ledian/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ledian: ; 8DA3F98
+ .incbin "graphics/pokemon/ledian/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Spinarak: ; 8DA3FB8
+ .incbin "graphics/pokemon/spinarak/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Spinarak: ; 8DA422C
+ .incbin "graphics/pokemon/spinarak/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Spinarak: ; 8DA4254
+ .incbin "graphics/pokemon/spinarak/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Spinarak: ; 8DA44B8
+ .incbin "graphics/pokemon/spinarak/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Spinarak: ; 8DA44E0
+ .incbin "graphics/pokemon/spinarak/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Spinarak: ; 8DA48E0
+ .incbin "graphics/pokemon/spinarak/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ariados: ; 8DA4900
+ .incbin "graphics/pokemon/ariados/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ariados: ; 8DA4CC0
+ .incbin "graphics/pokemon/ariados/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ariados: ; 8DA4CE8
+ .incbin "graphics/pokemon/ariados/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ariados: ; 8DA5060
+ .incbin "graphics/pokemon/ariados/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ariados: ; 8DA5088
+ .incbin "graphics/pokemon/ariados/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ariados: ; 8DA5488
+ .incbin "graphics/pokemon/ariados/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Crobat: ; 8DA54A8
+ .incbin "graphics/pokemon/crobat/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Crobat: ; 8DA5858
+ .incbin "graphics/pokemon/crobat/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Crobat: ; 8DA5880
+ .incbin "graphics/pokemon/crobat/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Crobat: ; 8DA5B88
+ .incbin "graphics/pokemon/crobat/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Crobat: ; 8DA5BB0
+ .incbin "graphics/pokemon/crobat/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Crobat: ; 8DA5FB0
+ .incbin "graphics/pokemon/crobat/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Chinchou: ; 8DA5FD0
+ .incbin "graphics/pokemon/chinchou/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Chinchou: ; 8DA62A8
+ .incbin "graphics/pokemon/chinchou/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Chinchou: ; 8DA62D0
+ .incbin "graphics/pokemon/chinchou/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Chinchou: ; 8DA65C8
+ .incbin "graphics/pokemon/chinchou/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Chinchou: ; 8DA65F0
+ .incbin "graphics/pokemon/chinchou/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Chinchou: ; 8DA69F0
+ .incbin "graphics/pokemon/chinchou/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lanturn: ; 8DA6A10
+ .incbin "graphics/pokemon/lanturn/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lanturn: ; 8DA6D80
+ .incbin "graphics/pokemon/lanturn/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lanturn: ; 8DA6DA8
+ .incbin "graphics/pokemon/lanturn/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lanturn: ; 8DA70A8
+ .incbin "graphics/pokemon/lanturn/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lanturn: ; 8DA70D0
+ .incbin "graphics/pokemon/lanturn/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lanturn: ; 8DA74D0
+ .incbin "graphics/pokemon/lanturn/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pichu: ; 8DA74F0
+ .incbin "graphics/pokemon/pichu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pichu: ; 8DA770C
+ .incbin "graphics/pokemon/pichu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pichu: ; 8DA7734
+ .incbin "graphics/pokemon/pichu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pichu: ; 8DA7990
+ .incbin "graphics/pokemon/pichu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pichu: ; 8DA79B8
+ .incbin "graphics/pokemon/pichu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pichu: ; 8DA7DB8
+ .incbin "graphics/pokemon/pichu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cleffa: ; 8DA7DD8
+ .incbin "graphics/pokemon/cleffa/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cleffa: ; 8DA7FB8
+ .incbin "graphics/pokemon/cleffa/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cleffa: ; 8DA7FE0
+ .incbin "graphics/pokemon/cleffa/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cleffa: ; 8DA821C
+ .incbin "graphics/pokemon/cleffa/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cleffa: ; 8DA8244
+ .incbin "graphics/pokemon/cleffa/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cleffa: ; 8DA8644
+ .incbin "graphics/pokemon/cleffa/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Igglybuff: ; 8DA8664
+ .incbin "graphics/pokemon/igglybuff/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Igglybuff: ; 8DA884C
+ .incbin "graphics/pokemon/igglybuff/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Igglybuff: ; 8DA8874
+ .incbin "graphics/pokemon/igglybuff/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Igglybuff: ; 8DA8AB0
+ .incbin "graphics/pokemon/igglybuff/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Igglybuff: ; 8DA8AD8
+ .incbin "graphics/pokemon/igglybuff/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Igglybuff: ; 8DA8ED8
+ .incbin "graphics/pokemon/igglybuff/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Togepi: ; 8DA8EF8
+ .incbin "graphics/pokemon/togepi/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Togepi: ; 8DA90CC
+ .incbin "graphics/pokemon/togepi/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Togepi: ; 8DA90F4
+ .incbin "graphics/pokemon/togepi/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Togepi: ; 8DA9368
+ .incbin "graphics/pokemon/togepi/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Togepi: ; 8DA9390
+ .incbin "graphics/pokemon/togepi/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Togepi: ; 8DA9790
+ .incbin "graphics/pokemon/togepi/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Togetic: ; 8DA97B0
+ .incbin "graphics/pokemon/togetic/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Togetic: ; 8DA9A24
+ .incbin "graphics/pokemon/togetic/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Togetic: ; 8DA9A4C
+ .incbin "graphics/pokemon/togetic/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Togetic: ; 8DA9D78
+ .incbin "graphics/pokemon/togetic/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Togetic: ; 8DA9DA0
+ .incbin "graphics/pokemon/togetic/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Togetic: ; 8DAA1A0
+ .incbin "graphics/pokemon/togetic/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Natu: ; 8DAA1C0
+ .incbin "graphics/pokemon/natu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Natu: ; 8DAA38C
+ .incbin "graphics/pokemon/natu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Natu: ; 8DAA3B4
+ .incbin "graphics/pokemon/natu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Natu: ; 8DAA5C8
+ .incbin "graphics/pokemon/natu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Natu: ; 8DAA5F0
+ .incbin "graphics/pokemon/natu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Natu: ; 8DAA9F0
+ .incbin "graphics/pokemon/natu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Xatu: ; 8DAAA10
+ .incbin "graphics/pokemon/xatu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Xatu: ; 8DAACEC
+ .incbin "graphics/pokemon/xatu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Xatu: ; 8DAAD14
+ .incbin "graphics/pokemon/xatu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Xatu: ; 8DAB08C
+ .incbin "graphics/pokemon/xatu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Xatu: ; 8DAB0B4
+ .incbin "graphics/pokemon/xatu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Xatu: ; 8DAB4B4
+ .incbin "graphics/pokemon/xatu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mareep: ; 8DAB4D4
+ .incbin "graphics/pokemon/mareep/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mareep: ; 8DAB788
+ .incbin "graphics/pokemon/mareep/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mareep: ; 8DAB7B0
+ .incbin "graphics/pokemon/mareep/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mareep: ; 8DABAA4
+ .incbin "graphics/pokemon/mareep/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mareep: ; 8DABACC
+ .incbin "graphics/pokemon/mareep/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mareep: ; 8DABECC
+ .incbin "graphics/pokemon/mareep/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Flaaffy: ; 8DABEEC
+ .incbin "graphics/pokemon/flaaffy/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Flaaffy: ; 8DAC1EC
+ .incbin "graphics/pokemon/flaaffy/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Flaaffy: ; 8DAC214
+ .incbin "graphics/pokemon/flaaffy/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Flaaffy: ; 8DAC530
+ .incbin "graphics/pokemon/flaaffy/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Flaaffy: ; 8DAC558
+ .incbin "graphics/pokemon/flaaffy/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Flaaffy: ; 8DAC958
+ .incbin "graphics/pokemon/flaaffy/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ampharos: ; 8DAC978
+ .incbin "graphics/pokemon/ampharos/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ampharos: ; 8DACCD4
+ .incbin "graphics/pokemon/ampharos/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ampharos: ; 8DACCFC
+ .incbin "graphics/pokemon/ampharos/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ampharos: ; 8DAD074
+ .incbin "graphics/pokemon/ampharos/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ampharos: ; 8DAD09C
+ .incbin "graphics/pokemon/ampharos/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ampharos: ; 8DAD49C
+ .incbin "graphics/pokemon/ampharos/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Bellossom: ; 8DAD4BC
+ .incbin "graphics/pokemon/bellossom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Bellossom: ; 8DAD72C
+ .incbin "graphics/pokemon/bellossom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Bellossom: ; 8DAD754
+ .incbin "graphics/pokemon/bellossom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Bellossom: ; 8DADA78
+ .incbin "graphics/pokemon/bellossom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Bellossom: ; 8DADAA0
+ .incbin "graphics/pokemon/bellossom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Bellossom: ; 8DADEA0
+ .incbin "graphics/pokemon/bellossom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Marill: ; 8DADEC0
+ .incbin "graphics/pokemon/marill/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Marill: ; 8DAE184
+ .incbin "graphics/pokemon/marill/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Marill: ; 8DAE1AC
+ .incbin "graphics/pokemon/marill/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Marill: ; 8DAE458
+ .incbin "graphics/pokemon/marill/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Marill: ; 8DAE480
+ .incbin "graphics/pokemon/marill/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Marill: ; 8DAE880
+ .incbin "graphics/pokemon/marill/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Azumarill: ; 8DAE8A0
+ .incbin "graphics/pokemon/azumarill/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Azumarill: ; 8DAEBA0
+ .incbin "graphics/pokemon/azumarill/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Azumarill: ; 8DAEBC8
+ .incbin "graphics/pokemon/azumarill/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Azumarill: ; 8DAEE84
+ .incbin "graphics/pokemon/azumarill/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Azumarill: ; 8DAEEAC
+ .incbin "graphics/pokemon/azumarill/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Azumarill: ; 8DAF2AC
+ .incbin "graphics/pokemon/azumarill/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sudowoodo: ; 8DAF2CC
+ .incbin "graphics/pokemon/sudowoodo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sudowoodo: ; 8DAF5E4
+ .incbin "graphics/pokemon/sudowoodo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sudowoodo: ; 8DAF60C
+ .incbin "graphics/pokemon/sudowoodo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sudowoodo: ; 8DAF968
+ .incbin "graphics/pokemon/sudowoodo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sudowoodo: ; 8DAF990
+ .incbin "graphics/pokemon/sudowoodo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sudowoodo: ; 8DAFD90
+ .incbin "graphics/pokemon/sudowoodo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Politoed: ; 8DAFDB0
+ .incbin "graphics/pokemon/politoed/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Politoed: ; 8DB00EC
+ .incbin "graphics/pokemon/politoed/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Politoed: ; 8DB0114
+ .incbin "graphics/pokemon/politoed/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Politoed: ; 8DB03D0
+ .incbin "graphics/pokemon/politoed/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Politoed: ; 8DB03F8
+ .incbin "graphics/pokemon/politoed/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Politoed: ; 8DB07F8
+ .incbin "graphics/pokemon/politoed/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hoppip: ; 8DB0818
+ .incbin "graphics/pokemon/hoppip/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hoppip: ; 8DB0ACC
+ .incbin "graphics/pokemon/hoppip/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hoppip: ; 8DB0AF4
+ .incbin "graphics/pokemon/hoppip/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hoppip: ; 8DB0DD4
+ .incbin "graphics/pokemon/hoppip/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hoppip: ; 8DB0DFC
+ .incbin "graphics/pokemon/hoppip/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hoppip: ; 8DB11FC
+ .incbin "graphics/pokemon/hoppip/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Skiploom: ; 8DB121C
+ .incbin "graphics/pokemon/skiploom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Skiploom: ; 8DB14A4
+ .incbin "graphics/pokemon/skiploom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Skiploom: ; 8DB14CC
+ .incbin "graphics/pokemon/skiploom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Skiploom: ; 8DB17AC
+ .incbin "graphics/pokemon/skiploom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Skiploom: ; 8DB17D4
+ .incbin "graphics/pokemon/skiploom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Skiploom: ; 8DB1BD4
+ .incbin "graphics/pokemon/skiploom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Jumpluff: ; 8DB1BF4
+ .incbin "graphics/pokemon/jumpluff/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Jumpluff: ; 8DB1F60
+ .incbin "graphics/pokemon/jumpluff/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Jumpluff: ; 8DB1F88
+ .incbin "graphics/pokemon/jumpluff/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Jumpluff: ; 8DB2380
+ .incbin "graphics/pokemon/jumpluff/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Jumpluff: ; 8DB23A8
+ .incbin "graphics/pokemon/jumpluff/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Jumpluff: ; 8DB27A8
+ .incbin "graphics/pokemon/jumpluff/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Aipom: ; 8DB27C8
+ .incbin "graphics/pokemon/aipom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Aipom: ; 8DB2AC4
+ .incbin "graphics/pokemon/aipom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Aipom: ; 8DB2AEC
+ .incbin "graphics/pokemon/aipom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Aipom: ; 8DB2DE0
+ .incbin "graphics/pokemon/aipom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Aipom: ; 8DB2E08
+ .incbin "graphics/pokemon/aipom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Aipom: ; 8DB3208
+ .incbin "graphics/pokemon/aipom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sunkern: ; 8DB3228
+ .incbin "graphics/pokemon/sunkern/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sunkern: ; 8DB3460
+ .incbin "graphics/pokemon/sunkern/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sunkern: ; 8DB3488
+ .incbin "graphics/pokemon/sunkern/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sunkern: ; 8DB374C
+ .incbin "graphics/pokemon/sunkern/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sunkern: ; 8DB3774
+ .incbin "graphics/pokemon/sunkern/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sunkern: ; 8DB3B74
+ .incbin "graphics/pokemon/sunkern/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sunflora: ; 8DB3B94
+ .incbin "graphics/pokemon/sunflora/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sunflora: ; 8DB3EEC
+ .incbin "graphics/pokemon/sunflora/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sunflora: ; 8DB3F14
+ .incbin "graphics/pokemon/sunflora/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sunflora: ; 8DB42B4
+ .incbin "graphics/pokemon/sunflora/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sunflora: ; 8DB42DC
+ .incbin "graphics/pokemon/sunflora/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sunflora: ; 8DB46DC
+ .incbin "graphics/pokemon/sunflora/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Yanma: ; 8DB46FC
+ .incbin "graphics/pokemon/yanma/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Yanma: ; 8DB4A80
+ .incbin "graphics/pokemon/yanma/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Yanma: ; 8DB4AA8
+ .incbin "graphics/pokemon/yanma/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Yanma: ; 8DB4E5C
+ .incbin "graphics/pokemon/yanma/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Yanma: ; 8DB4E84
+ .incbin "graphics/pokemon/yanma/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Yanma: ; 8DB5284
+ .incbin "graphics/pokemon/yanma/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wooper: ; 8DB52A4
+ .incbin "graphics/pokemon/wooper/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wooper: ; 8DB54E4
+ .incbin "graphics/pokemon/wooper/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wooper: ; 8DB550C
+ .incbin "graphics/pokemon/wooper/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wooper: ; 8DB5798
+ .incbin "graphics/pokemon/wooper/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wooper: ; 8DB57C0
+ .incbin "graphics/pokemon/wooper/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wooper: ; 8DB5BC0
+ .incbin "graphics/pokemon/wooper/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Quagsire: ; 8DB5BE0
+ .incbin "graphics/pokemon/quagsire/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Quagsire: ; 8DB5F54
+ .incbin "graphics/pokemon/quagsire/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Quagsire: ; 8DB5F7C
+ .incbin "graphics/pokemon/quagsire/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Quagsire: ; 8DB6278
+ .incbin "graphics/pokemon/quagsire/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Quagsire: ; 8DB62A0
+ .incbin "graphics/pokemon/quagsire/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Quagsire: ; 8DB66A0
+ .incbin "graphics/pokemon/quagsire/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Espeon: ; 8DB66C0
+ .incbin "graphics/pokemon/espeon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Espeon: ; 8DB6A00
+ .incbin "graphics/pokemon/espeon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Espeon: ; 8DB6A24
+ .incbin "graphics/pokemon/espeon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Espeon: ; 8DB6D00
+ .incbin "graphics/pokemon/espeon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Espeon: ; 8DB6D24
+ .incbin "graphics/pokemon/espeon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Espeon: ; 8DB7124
+ .incbin "graphics/pokemon/espeon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Umbreon: ; 8DB7144
+ .incbin "graphics/pokemon/umbreon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Umbreon: ; 8DB7458
+ .incbin "graphics/pokemon/umbreon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Umbreon: ; 8DB7480
+ .incbin "graphics/pokemon/umbreon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Umbreon: ; 8DB7794
+ .incbin "graphics/pokemon/umbreon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Umbreon: ; 8DB77BC
+ .incbin "graphics/pokemon/umbreon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Umbreon: ; 8DB7BBC
+ .incbin "graphics/pokemon/umbreon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Murkrow: ; 8DB7BDC
+ .incbin "graphics/pokemon/murkrow/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Murkrow: ; 8DB7EBC
+ .incbin "graphics/pokemon/murkrow/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Murkrow: ; 8DB7EE4
+ .incbin "graphics/pokemon/murkrow/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Murkrow: ; 8DB81FC
+ .incbin "graphics/pokemon/murkrow/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Murkrow: ; 8DB8224
+ .incbin "graphics/pokemon/murkrow/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Murkrow: ; 8DB8624
+ .incbin "graphics/pokemon/murkrow/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slowking: ; 8DB8644
+ .incbin "graphics/pokemon/slowking/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slowking: ; 8DB89F8
+ .incbin "graphics/pokemon/slowking/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slowking: ; 8DB8A20
+ .incbin "graphics/pokemon/slowking/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slowking: ; 8DB8DAC
+ .incbin "graphics/pokemon/slowking/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slowking: ; 8DB8DD4
+ .incbin "graphics/pokemon/slowking/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slowking: ; 8DB91D4
+ .incbin "graphics/pokemon/slowking/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Misdreavus: ; 8DB91F4
+ .incbin "graphics/pokemon/misdreavus/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Misdreavus: ; 8DB94B4
+ .incbin "graphics/pokemon/misdreavus/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Misdreavus: ; 8DB94DC
+ .incbin "graphics/pokemon/misdreavus/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Misdreavus: ; 8DB9800
+ .incbin "graphics/pokemon/misdreavus/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Misdreavus: ; 8DB9828
+ .incbin "graphics/pokemon/misdreavus/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Misdreavus: ; 8DB9C28
+ .incbin "graphics/pokemon/misdreavus/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_UnownA: ; 8DB9C48
+ .incbin "graphics/pokemon/unown/front_a.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Unown: ; 8DB9E1C
+ .incbin "graphics/pokemon/unown/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_UnownA: ; 8DB9E3C
+ .incbin "graphics/pokemon/unown/back_a.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Unown: ; 8DBA03C
+ .incbin "graphics/pokemon/unown/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_UnownA: ; 8DBA05C
+ .incbin "graphics/pokemon/unown/icon_a.4bpp"
+
+ .align 2
+
+gMonFootprint_Unown: ; 8DBA45C
+ .incbin "graphics/pokemon/unown/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wobbuffet: ; 8DBA47C
+ .incbin "graphics/pokemon/wobbuffet/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wobbuffet: ; 8DBA7CC
+ .incbin "graphics/pokemon/wobbuffet/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wobbuffet: ; 8DBA7F4
+ .incbin "graphics/pokemon/wobbuffet/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wobbuffet: ; 8DBAA38
+ .incbin "graphics/pokemon/wobbuffet/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wobbuffet: ; 8DBAA60
+ .incbin "graphics/pokemon/wobbuffet/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wobbuffet: ; 8DBAE60
+ .incbin "graphics/pokemon/wobbuffet/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Girafarig: ; 8DBAE80
+ .incbin "graphics/pokemon/girafarig/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Girafarig: ; 8DBB284
+ .incbin "graphics/pokemon/girafarig/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Girafarig: ; 8DBB2AC
+ .incbin "graphics/pokemon/girafarig/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Girafarig: ; 8DBB658
+ .incbin "graphics/pokemon/girafarig/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Girafarig: ; 8DBB680
+ .incbin "graphics/pokemon/girafarig/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Girafarig: ; 8DBBA80
+ .incbin "graphics/pokemon/girafarig/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pineco: ; 8DBBAA0
+ .incbin "graphics/pokemon/pineco/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pineco: ; 8DBBDE0
+ .incbin "graphics/pokemon/pineco/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pineco: ; 8DBBE04
+ .incbin "graphics/pokemon/pineco/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pineco: ; 8DBC0DC
+ .incbin "graphics/pokemon/pineco/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pineco: ; 8DBC100
+ .incbin "graphics/pokemon/pineco/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pineco: ; 8DBC500
+ .incbin "graphics/pokemon/pineco/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Forretress: ; 8DBC520
+ .incbin "graphics/pokemon/forretress/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Forretress: ; 8DBC93C
+ .incbin "graphics/pokemon/forretress/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Forretress: ; 8DBC964
+ .incbin "graphics/pokemon/forretress/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Forretress: ; 8DBCC24
+ .incbin "graphics/pokemon/forretress/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Forretress: ; 8DBCC4C
+ .incbin "graphics/pokemon/forretress/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Forretress: ; 8DBD04C
+ .incbin "graphics/pokemon/forretress/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dunsparce: ; 8DBD06C
+ .incbin "graphics/pokemon/dunsparce/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dunsparce: ; 8DBD37C
+ .incbin "graphics/pokemon/dunsparce/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dunsparce: ; 8DBD3A4
+ .incbin "graphics/pokemon/dunsparce/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dunsparce: ; 8DBD6A0
+ .incbin "graphics/pokemon/dunsparce/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dunsparce: ; 8DBD6C8
+ .incbin "graphics/pokemon/dunsparce/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dunsparce: ; 8DBDAC8
+ .incbin "graphics/pokemon/dunsparce/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gligar: ; 8DBDAE8
+ .incbin "graphics/pokemon/gligar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gligar: ; 8DBDF10
+ .incbin "graphics/pokemon/gligar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gligar: ; 8DBDF38
+ .incbin "graphics/pokemon/gligar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gligar: ; 8DBE310
+ .incbin "graphics/pokemon/gligar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gligar: ; 8DBE338
+ .incbin "graphics/pokemon/gligar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gligar: ; 8DBE738
+ .incbin "graphics/pokemon/gligar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Steelix: ; 8DBE758
+ .incbin "graphics/pokemon/steelix/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Steelix: ; 8DBEC20
+ .incbin "graphics/pokemon/steelix/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Steelix: ; 8DBEC44
+ .incbin "graphics/pokemon/steelix/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Steelix: ; 8DBF050
+ .incbin "graphics/pokemon/steelix/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Steelix: ; 8DBF074
+ .incbin "graphics/pokemon/steelix/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Steelix: ; 8DBF474
+ .incbin "graphics/pokemon/steelix/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Snubbull: ; 8DBF494
+ .incbin "graphics/pokemon/snubbull/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Snubbull: ; 8DBF768
+ .incbin "graphics/pokemon/snubbull/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Snubbull: ; 8DBF790
+ .incbin "graphics/pokemon/snubbull/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Snubbull: ; 8DBFAB8
+ .incbin "graphics/pokemon/snubbull/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Snubbull: ; 8DBFAE0
+ .incbin "graphics/pokemon/snubbull/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Snubbull: ; 8DBFEE0
+ .incbin "graphics/pokemon/snubbull/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Granbull: ; 8DBFF00
+ .incbin "graphics/pokemon/granbull/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Granbull: ; 8DC028C
+ .incbin "graphics/pokemon/granbull/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Granbull: ; 8DC02B4
+ .incbin "graphics/pokemon/granbull/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Granbull: ; 8DC05D8
+ .incbin "graphics/pokemon/granbull/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Granbull: ; 8DC0600
+ .incbin "graphics/pokemon/granbull/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Granbull: ; 8DC0A00
+ .incbin "graphics/pokemon/granbull/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Qwilfish: ; 8DC0A20
+ .incbin "graphics/pokemon/qwilfish/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Qwilfish: ; 8DC0CE0
+ .incbin "graphics/pokemon/qwilfish/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Qwilfish: ; 8DC0D08
+ .incbin "graphics/pokemon/qwilfish/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Qwilfish: ; 8DC0FE8
+ .incbin "graphics/pokemon/qwilfish/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Qwilfish: ; 8DC1010
+ .incbin "graphics/pokemon/qwilfish/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Qwilfish: ; 8DC1410
+ .incbin "graphics/pokemon/qwilfish/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Scizor: ; 8DC1430
+ .incbin "graphics/pokemon/scizor/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Scizor: ; 8DC1918
+ .incbin "graphics/pokemon/scizor/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Scizor: ; 8DC1940
+ .incbin "graphics/pokemon/scizor/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Scizor: ; 8DC1CC0
+ .incbin "graphics/pokemon/scizor/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Scizor: ; 8DC1CE8
+ .incbin "graphics/pokemon/scizor/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Scizor: ; 8DC20E8
+ .incbin "graphics/pokemon/scizor/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shuckle: ; 8DC2108
+ .incbin "graphics/pokemon/shuckle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shuckle: ; 8DC23D0
+ .incbin "graphics/pokemon/shuckle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shuckle: ; 8DC23F8
+ .incbin "graphics/pokemon/shuckle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shuckle: ; 8DC2650
+ .incbin "graphics/pokemon/shuckle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shuckle: ; 8DC2678
+ .incbin "graphics/pokemon/shuckle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shuckle: ; 8DC2A78
+ .incbin "graphics/pokemon/shuckle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Heracross: ; 8DC2A98
+ .incbin "graphics/pokemon/heracross/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Heracross: ; 8DC2E88
+ .incbin "graphics/pokemon/heracross/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Heracross: ; 8DC2EB0
+ .incbin "graphics/pokemon/heracross/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Heracross: ; 8DC3220
+ .incbin "graphics/pokemon/heracross/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Heracross: ; 8DC3248
+ .incbin "graphics/pokemon/heracross/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Heracross: ; 8DC3648
+ .incbin "graphics/pokemon/heracross/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sneasel: ; 8DC3668
+ .incbin "graphics/pokemon/sneasel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sneasel: ; 8DC39AC
+ .incbin "graphics/pokemon/sneasel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sneasel: ; 8DC39D4
+ .incbin "graphics/pokemon/sneasel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sneasel: ; 8DC3CF8
+ .incbin "graphics/pokemon/sneasel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sneasel: ; 8DC3D20
+ .incbin "graphics/pokemon/sneasel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sneasel: ; 8DC4120
+ .incbin "graphics/pokemon/sneasel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Teddiursa: ; 8DC4140
+ .incbin "graphics/pokemon/teddiursa/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Teddiursa: ; 8DC43AC
+ .incbin "graphics/pokemon/teddiursa/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Teddiursa: ; 8DC43D4
+ .incbin "graphics/pokemon/teddiursa/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Teddiursa: ; 8DC464C
+ .incbin "graphics/pokemon/teddiursa/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Teddiursa: ; 8DC4674
+ .incbin "graphics/pokemon/teddiursa/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Teddiursa: ; 8DC4A74
+ .incbin "graphics/pokemon/teddiursa/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ursaring: ; 8DC4A94
+ .incbin "graphics/pokemon/ursaring/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ursaring: ; 8DC4ECC
+ .incbin "graphics/pokemon/ursaring/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ursaring: ; 8DC4EF4
+ .incbin "graphics/pokemon/ursaring/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ursaring: ; 8DC527C
+ .incbin "graphics/pokemon/ursaring/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ursaring: ; 8DC52A4
+ .incbin "graphics/pokemon/ursaring/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ursaring: ; 8DC56A4
+ .incbin "graphics/pokemon/ursaring/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slugma: ; 8DC56C4
+ .incbin "graphics/pokemon/slugma/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slugma: ; 8DC5938
+ .incbin "graphics/pokemon/slugma/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slugma: ; 8DC595C
+ .incbin "graphics/pokemon/slugma/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slugma: ; 8DC5C44
+ .incbin "graphics/pokemon/slugma/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slugma: ; 8DC5C68
+ .incbin "graphics/pokemon/slugma/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slugma: ; 8DC6068
+ .incbin "graphics/pokemon/slugma/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magcargo: ; 8DC6088
+ .incbin "graphics/pokemon/magcargo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magcargo: ; 8DC63D0
+ .incbin "graphics/pokemon/magcargo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magcargo: ; 8DC63F8
+ .incbin "graphics/pokemon/magcargo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magcargo: ; 8DC6810
+ .incbin "graphics/pokemon/magcargo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magcargo: ; 8DC6838
+ .incbin "graphics/pokemon/magcargo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magcargo: ; 8DC6C38
+ .incbin "graphics/pokemon/magcargo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Swinub: ; 8DC6C58
+ .incbin "graphics/pokemon/swinub/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Swinub: ; 8DC6E54
+ .incbin "graphics/pokemon/swinub/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Swinub: ; 8DC6E7C
+ .incbin "graphics/pokemon/swinub/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Swinub: ; 8DC70B8
+ .incbin "graphics/pokemon/swinub/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Swinub: ; 8DC70E0
+ .incbin "graphics/pokemon/swinub/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Swinub: ; 8DC74E0
+ .incbin "graphics/pokemon/swinub/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Piloswine: ; 8DC7500
+ .incbin "graphics/pokemon/piloswine/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Piloswine: ; 8DC7828
+ .incbin "graphics/pokemon/piloswine/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Piloswine: ; 8DC7850
+ .incbin "graphics/pokemon/piloswine/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Piloswine: ; 8DC7A9C
+ .incbin "graphics/pokemon/piloswine/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Piloswine: ; 8DC7AC4
+ .incbin "graphics/pokemon/piloswine/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Piloswine: ; 8DC7EC4
+ .incbin "graphics/pokemon/piloswine/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Corsola: ; 8DC7EE4
+ .incbin "graphics/pokemon/corsola/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Corsola: ; 8DC81CC
+ .incbin "graphics/pokemon/corsola/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Corsola: ; 8DC81F4
+ .incbin "graphics/pokemon/corsola/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Corsola: ; 8DC84B4
+ .incbin "graphics/pokemon/corsola/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Corsola: ; 8DC84DC
+ .incbin "graphics/pokemon/corsola/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Corsola: ; 8DC88DC
+ .incbin "graphics/pokemon/corsola/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Remoraid: ; 8DC88FC
+ .incbin "graphics/pokemon/remoraid/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Remoraid: ; 8DC8B64
+ .incbin "graphics/pokemon/remoraid/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Remoraid: ; 8DC8B8C
+ .incbin "graphics/pokemon/remoraid/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Remoraid: ; 8DC8EA0
+ .incbin "graphics/pokemon/remoraid/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Remoraid: ; 8DC8EC8
+ .incbin "graphics/pokemon/remoraid/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Remoraid: ; 8DC92C8
+ .incbin "graphics/pokemon/remoraid/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Octillery: ; 8DC92E8
+ .incbin "graphics/pokemon/octillery/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Octillery: ; 8DC961C
+ .incbin "graphics/pokemon/octillery/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Octillery: ; 8DC9644
+ .incbin "graphics/pokemon/octillery/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Octillery: ; 8DC98FC
+ .incbin "graphics/pokemon/octillery/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Octillery: ; 8DC9924
+ .incbin "graphics/pokemon/octillery/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Octillery: ; 8DC9D24
+ .incbin "graphics/pokemon/octillery/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Delibird: ; 8DC9D44
+ .incbin "graphics/pokemon/delibird/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Delibird: ; 8DCA0B4
+ .incbin "graphics/pokemon/delibird/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Delibird: ; 8DCA0DC
+ .incbin "graphics/pokemon/delibird/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Delibird: ; 8DCA49C
+ .incbin "graphics/pokemon/delibird/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Delibird: ; 8DCA4C4
+ .incbin "graphics/pokemon/delibird/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Delibird: ; 8DCA8C4
+ .incbin "graphics/pokemon/delibird/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mantine: ; 8DCA8E4
+ .incbin "graphics/pokemon/mantine/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mantine: ; 8DCAD80
+ .incbin "graphics/pokemon/mantine/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mantine: ; 8DCADA8
+ .incbin "graphics/pokemon/mantine/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mantine: ; 8DCB048
+ .incbin "graphics/pokemon/mantine/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mantine: ; 8DCB070
+ .incbin "graphics/pokemon/mantine/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mantine: ; 8DCB470
+ .incbin "graphics/pokemon/mantine/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Skarmory: ; 8DCB490
+ .incbin "graphics/pokemon/skarmory/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Skarmory: ; 8DCB970
+ .incbin "graphics/pokemon/skarmory/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Skarmory: ; 8DCB998
+ .incbin "graphics/pokemon/skarmory/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Skarmory: ; 8DCBC9C
+ .incbin "graphics/pokemon/skarmory/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Skarmory: ; 8DCBCC4
+ .incbin "graphics/pokemon/skarmory/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Skarmory: ; 8DCC0C4
+ .incbin "graphics/pokemon/skarmory/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Houndour: ; 8DCC0E4
+ .incbin "graphics/pokemon/houndour/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Houndour: ; 8DCC39C
+ .incbin "graphics/pokemon/houndour/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Houndour: ; 8DCC3C4
+ .incbin "graphics/pokemon/houndour/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Houndour: ; 8DCC644
+ .incbin "graphics/pokemon/houndour/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Houndour: ; 8DCC66C
+ .incbin "graphics/pokemon/houndour/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Houndour: ; 8DCCA6C
+ .incbin "graphics/pokemon/houndour/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Houndoom: ; 8DCCA8C
+ .incbin "graphics/pokemon/houndoom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Houndoom: ; 8DCCE8C
+ .incbin "graphics/pokemon/houndoom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Houndoom: ; 8DCCEB4
+ .incbin "graphics/pokemon/houndoom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Houndoom: ; 8DCD1D8
+ .incbin "graphics/pokemon/houndoom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Houndoom: ; 8DCD200
+ .incbin "graphics/pokemon/houndoom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Houndoom: ; 8DCD600
+ .incbin "graphics/pokemon/houndoom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kingdra: ; 8DCD620
+ .incbin "graphics/pokemon/kingdra/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kingdra: ; 8DCDA40
+ .incbin "graphics/pokemon/kingdra/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kingdra: ; 8DCDA68
+ .incbin "graphics/pokemon/kingdra/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kingdra: ; 8DCDE1C
+ .incbin "graphics/pokemon/kingdra/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kingdra: ; 8DCDE44
+ .incbin "graphics/pokemon/kingdra/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kingdra: ; 8DCE244
+ .incbin "graphics/pokemon/kingdra/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Phanpy: ; 8DCE264
+ .incbin "graphics/pokemon/phanpy/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Phanpy: ; 8DCE4C0
+ .incbin "graphics/pokemon/phanpy/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Phanpy: ; 8DCE4E8
+ .incbin "graphics/pokemon/phanpy/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Phanpy: ; 8DCE7AC
+ .incbin "graphics/pokemon/phanpy/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Phanpy: ; 8DCE7D4
+ .incbin "graphics/pokemon/phanpy/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Phanpy: ; 8DCEBD4
+ .incbin "graphics/pokemon/phanpy/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Donphan: ; 8DCEBF4
+ .incbin "graphics/pokemon/donphan/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Donphan: ; 8DCF068
+ .incbin "graphics/pokemon/donphan/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Donphan: ; 8DCF090
+ .incbin "graphics/pokemon/donphan/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Donphan: ; 8DCF38C
+ .incbin "graphics/pokemon/donphan/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Donphan: ; 8DCF3B4
+ .incbin "graphics/pokemon/donphan/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Donphan: ; 8DCF7B4
+ .incbin "graphics/pokemon/donphan/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Porygon2: ; 8DCF7D4
+ .incbin "graphics/pokemon/porygon2/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Porygon2: ; 8DCFA5C
+ .incbin "graphics/pokemon/porygon2/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Porygon2: ; 8DCFA84
+ .incbin "graphics/pokemon/porygon2/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Porygon2: ; 8DCFDA0
+ .incbin "graphics/pokemon/porygon2/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Porygon2: ; 8DCFDC8
+ .incbin "graphics/pokemon/porygon2/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Porygon2: ; 8DD01C8
+ .incbin "graphics/pokemon/porygon2/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Stantler: ; 8DD01E8
+ .incbin "graphics/pokemon/stantler/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Stantler: ; 8DD05FC
+ .incbin "graphics/pokemon/stantler/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Stantler: ; 8DD0624
+ .incbin "graphics/pokemon/stantler/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Stantler: ; 8DD0970
+ .incbin "graphics/pokemon/stantler/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Stantler: ; 8DD0998
+ .incbin "graphics/pokemon/stantler/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Stantler: ; 8DD0D98
+ .incbin "graphics/pokemon/stantler/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Smeargle: ; 8DD0DB8
+ .incbin "graphics/pokemon/smeargle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Smeargle: ; 8DD114C
+ .incbin "graphics/pokemon/smeargle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Smeargle: ; 8DD1174
+ .incbin "graphics/pokemon/smeargle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Smeargle: ; 8DD1498
+ .incbin "graphics/pokemon/smeargle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Smeargle: ; 8DD14C0
+ .incbin "graphics/pokemon/smeargle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Smeargle: ; 8DD18C0
+ .incbin "graphics/pokemon/smeargle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tyrogue: ; 8DD18E0
+ .incbin "graphics/pokemon/tyrogue/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tyrogue: ; 8DD1B6C
+ .incbin "graphics/pokemon/tyrogue/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tyrogue: ; 8DD1B94
+ .incbin "graphics/pokemon/tyrogue/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tyrogue: ; 8DD1EB0
+ .incbin "graphics/pokemon/tyrogue/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tyrogue: ; 8DD1ED8
+ .incbin "graphics/pokemon/tyrogue/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tyrogue: ; 8DD22D8
+ .incbin "graphics/pokemon/tyrogue/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hitmontop: ; 8DD22F8
+ .incbin "graphics/pokemon/hitmontop/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hitmontop: ; 8DD2684
+ .incbin "graphics/pokemon/hitmontop/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hitmontop: ; 8DD26AC
+ .incbin "graphics/pokemon/hitmontop/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hitmontop: ; 8DD2AD4
+ .incbin "graphics/pokemon/hitmontop/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hitmontop: ; 8DD2AFC
+ .incbin "graphics/pokemon/hitmontop/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hitmontop: ; 8DD2EFC
+ .incbin "graphics/pokemon/hitmontop/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Smoochum: ; 8DD2F1C
+ .incbin "graphics/pokemon/smoochum/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Smoochum: ; 8DD3174
+ .incbin "graphics/pokemon/smoochum/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Smoochum: ; 8DD319C
+ .incbin "graphics/pokemon/smoochum/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Smoochum: ; 8DD3414
+ .incbin "graphics/pokemon/smoochum/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Smoochum: ; 8DD343C
+ .incbin "graphics/pokemon/smoochum/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Smoochum: ; 8DD383C
+ .incbin "graphics/pokemon/smoochum/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Elekid: ; 8DD385C
+ .incbin "graphics/pokemon/elekid/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Elekid: ; 8DD3B64
+ .incbin "graphics/pokemon/elekid/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Elekid: ; 8DD3B8C
+ .incbin "graphics/pokemon/elekid/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Elekid: ; 8DD3EE4
+ .incbin "graphics/pokemon/elekid/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Elekid: ; 8DD3F0C
+ .incbin "graphics/pokemon/elekid/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Elekid: ; 8DD430C
+ .incbin "graphics/pokemon/elekid/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Magby: ; 8DD432C
+ .incbin "graphics/pokemon/magby/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Magby: ; 8DD45B0
+ .incbin "graphics/pokemon/magby/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Magby: ; 8DD45D8
+ .incbin "graphics/pokemon/magby/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Magby: ; 8DD4884
+ .incbin "graphics/pokemon/magby/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Magby: ; 8DD48AC
+ .incbin "graphics/pokemon/magby/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Magby: ; 8DD4CAC
+ .incbin "graphics/pokemon/magby/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Miltank: ; 8DD4CCC
+ .incbin "graphics/pokemon/miltank/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Miltank: ; 8DD507C
+ .incbin "graphics/pokemon/miltank/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Miltank: ; 8DD50A4
+ .incbin "graphics/pokemon/miltank/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Miltank: ; 8DD5440
+ .incbin "graphics/pokemon/miltank/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Miltank: ; 8DD5468
+ .incbin "graphics/pokemon/miltank/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Miltank: ; 8DD5868
+ .incbin "graphics/pokemon/miltank/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Blissey: ; 8DD5888
+ .incbin "graphics/pokemon/blissey/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Blissey: ; 8DD5C70
+ .incbin "graphics/pokemon/blissey/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Blissey: ; 8DD5C98
+ .incbin "graphics/pokemon/blissey/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Blissey: ; 8DD5F64
+ .incbin "graphics/pokemon/blissey/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Blissey: ; 8DD5F8C
+ .incbin "graphics/pokemon/blissey/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Blissey: ; 8DD638C
+ .incbin "graphics/pokemon/blissey/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Raikou: ; 8DD63AC
+ .incbin "graphics/pokemon/raikou/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Raikou: ; 8DD6928
+ .incbin "graphics/pokemon/raikou/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Raikou: ; 8DD6950
+ .incbin "graphics/pokemon/raikou/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Raikou: ; 8DD6CF8
+ .incbin "graphics/pokemon/raikou/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Raikou: ; 8DD6D20
+ .incbin "graphics/pokemon/raikou/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Raikou: ; 8DD7120
+ .incbin "graphics/pokemon/raikou/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Entei: ; 8DD7140
+ .incbin "graphics/pokemon/entei/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Entei: ; 8DD773C
+ .incbin "graphics/pokemon/entei/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Entei: ; 8DD7764
+ .incbin "graphics/pokemon/entei/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Entei: ; 8DD7B88
+ .incbin "graphics/pokemon/entei/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Entei: ; 8DD7BB0
+ .incbin "graphics/pokemon/entei/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Entei: ; 8DD7FB0
+ .incbin "graphics/pokemon/entei/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Suicune: ; 8DD7FD0
+ .incbin "graphics/pokemon/suicune/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Suicune: ; 8DD8554
+ .incbin "graphics/pokemon/suicune/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Suicune: ; 8DD857C
+ .incbin "graphics/pokemon/suicune/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Suicune: ; 8DD8A58
+ .incbin "graphics/pokemon/suicune/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Suicune: ; 8DD8A80
+ .incbin "graphics/pokemon/suicune/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Suicune: ; 8DD8E80
+ .incbin "graphics/pokemon/suicune/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Larvitar: ; 8DD8EA0
+ .incbin "graphics/pokemon/larvitar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Larvitar: ; 8DD90FC
+ .incbin "graphics/pokemon/larvitar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Larvitar: ; 8DD9124
+ .incbin "graphics/pokemon/larvitar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Larvitar: ; 8DD93D0
+ .incbin "graphics/pokemon/larvitar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Larvitar: ; 8DD93F8
+ .incbin "graphics/pokemon/larvitar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Larvitar: ; 8DD97F8
+ .incbin "graphics/pokemon/larvitar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pupitar: ; 8DD9818
+ .incbin "graphics/pokemon/pupitar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pupitar: ; 8DD9B08
+ .incbin "graphics/pokemon/pupitar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pupitar: ; 8DD9B30
+ .incbin "graphics/pokemon/pupitar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pupitar: ; 8DD9E68
+ .incbin "graphics/pokemon/pupitar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pupitar: ; 8DD9E90
+ .incbin "graphics/pokemon/pupitar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pupitar: ; 8DDA290
+ .incbin "graphics/pokemon/pupitar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tyranitar: ; 8DDA2B0
+ .incbin "graphics/pokemon/tyranitar/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tyranitar: ; 8DDA7EC
+ .incbin "graphics/pokemon/tyranitar/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tyranitar: ; 8DDA814
+ .incbin "graphics/pokemon/tyranitar/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tyranitar: ; 8DDAC00
+ .incbin "graphics/pokemon/tyranitar/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tyranitar: ; 8DDAC28
+ .incbin "graphics/pokemon/tyranitar/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tyranitar: ; 8DDB028
+ .incbin "graphics/pokemon/tyranitar/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lugia: ; 8DDB048
+ .incbin "graphics/pokemon/lugia/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lugia: ; 8DDB50C
+ .incbin "graphics/pokemon/lugia/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lugia: ; 8DDB534
+ .incbin "graphics/pokemon/lugia/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lugia: ; 8DDB908
+ .incbin "graphics/pokemon/lugia/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lugia: ; 8DDB930
+ .incbin "graphics/pokemon/lugia/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lugia: ; 8DDBD30
+ .incbin "graphics/pokemon/lugia/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_HoOh: ; 8DDBD50
+ .incbin "graphics/pokemon/ho_oh/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_HoOh: ; 8DDC3A4
+ .incbin "graphics/pokemon/ho_oh/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_HoOh: ; 8DDC3CC
+ .incbin "graphics/pokemon/ho_oh/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_HoOh: ; 8DDC7DC
+ .incbin "graphics/pokemon/ho_oh/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_HoOh: ; 8DDC804
+ .incbin "graphics/pokemon/ho_oh/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_HoOh: ; 8DDCC04
+ .incbin "graphics/pokemon/ho_oh/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Celebi: ; 8DDCC24
+ .incbin "graphics/pokemon/celebi/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Celebi: ; 8DDCE9C
+ .incbin "graphics/pokemon/celebi/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Celebi: ; 8DDCEC4
+ .incbin "graphics/pokemon/celebi/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Celebi: ; 8DDD270
+ .incbin "graphics/pokemon/celebi/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Celebi: ; 8DDD298
+ .incbin "graphics/pokemon/celebi/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Celebi: ; 8DDD698
+ .incbin "graphics/pokemon/celebi/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_DoubleQuestionMark: ; 8DDD6B8
+ .incbin "graphics/pokemon/double_question_mark/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_DoubleQuestionMark: ; 8DDD838
+ .incbin "graphics/pokemon/double_question_mark/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_DoubleQuestionMark: ; 8DDD84C
+ .incbin "graphics/pokemon/double_question_mark/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_DoubleQuestionMark: ; 8DDD9D0
+ .incbin "graphics/pokemon/double_question_mark/shiny.gbapal.lz"
+
+ .align 2
+
+gMonFrontPic_Treecko: ; 8DDD9E4
+ .incbin "graphics/pokemon/treecko/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Treecko: ; 8DDDCEC
+ .incbin "graphics/pokemon/treecko/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Treecko: ; 8DDDD14
+ .incbin "graphics/pokemon/treecko/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Treecko: ; 8DDE014
+ .incbin "graphics/pokemon/treecko/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Treecko: ; 8DDE03C
+ .incbin "graphics/pokemon/treecko/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Treecko: ; 8DDE43C
+ .incbin "graphics/pokemon/treecko/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Grovyle: ; 8DDE45C
+ .incbin "graphics/pokemon/grovyle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Grovyle: ; 8DDE8E8
+ .incbin "graphics/pokemon/grovyle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Grovyle: ; 8DDE910
+ .incbin "graphics/pokemon/grovyle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Grovyle: ; 8DDEC4C
+ .incbin "graphics/pokemon/grovyle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Grovyle: ; 8DDEC74
+ .incbin "graphics/pokemon/grovyle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Grovyle: ; 8DDF074
+ .incbin "graphics/pokemon/grovyle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sceptile: ; 8DDF094
+ .incbin "graphics/pokemon/sceptile/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sceptile: ; 8DDF598
+ .incbin "graphics/pokemon/sceptile/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sceptile: ; 8DDF5C0
+ .incbin "graphics/pokemon/sceptile/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sceptile: ; 8DDF9BC
+ .incbin "graphics/pokemon/sceptile/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sceptile: ; 8DDF9E4
+ .incbin "graphics/pokemon/sceptile/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sceptile: ; 8DDFDE4
+ .incbin "graphics/pokemon/sceptile/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Torchic: ; 8DDFE04
+ .incbin "graphics/pokemon/torchic/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Torchic: ; 8DE00A0
+ .incbin "graphics/pokemon/torchic/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Torchic: ; 8DE00C8
+ .incbin "graphics/pokemon/torchic/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Torchic: ; 8DE03A0
+ .incbin "graphics/pokemon/torchic/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Torchic: ; 8DE03C8
+ .incbin "graphics/pokemon/torchic/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Torchic: ; 8DE07C8
+ .incbin "graphics/pokemon/torchic/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Combusken: ; 8DE07E8
+ .incbin "graphics/pokemon/combusken/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Combusken: ; 8DE0BD4
+ .incbin "graphics/pokemon/combusken/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Combusken: ; 8DE0BFC
+ .incbin "graphics/pokemon/combusken/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Combusken: ; 8DE0FCC
+ .incbin "graphics/pokemon/combusken/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Combusken: ; 8DE0FF4
+ .incbin "graphics/pokemon/combusken/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Combusken: ; 8DE13F4
+ .incbin "graphics/pokemon/combusken/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Blaziken: ; 8DE1414
+ .incbin "graphics/pokemon/blaziken/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Blaziken: ; 8DE188C
+ .incbin "graphics/pokemon/blaziken/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Blaziken: ; 8DE18B4
+ .incbin "graphics/pokemon/blaziken/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Blaziken: ; 8DE1C90
+ .incbin "graphics/pokemon/blaziken/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Blaziken: ; 8DE1CB8
+ .incbin "graphics/pokemon/blaziken/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Blaziken: ; 8DE20B8
+ .incbin "graphics/pokemon/blaziken/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mudkip: ; 8DE20D8
+ .incbin "graphics/pokemon/mudkip/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mudkip: ; 8DE2390
+ .incbin "graphics/pokemon/mudkip/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mudkip: ; 8DE23B8
+ .incbin "graphics/pokemon/mudkip/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mudkip: ; 8DE2698
+ .incbin "graphics/pokemon/mudkip/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mudkip: ; 8DE26C0
+ .incbin "graphics/pokemon/mudkip/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mudkip: ; 8DE2AC0
+ .incbin "graphics/pokemon/mudkip/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Marshtomp: ; 8DE2AE0
+ .incbin "graphics/pokemon/marshtomp/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Marshtomp: ; 8DE2E68
+ .incbin "graphics/pokemon/marshtomp/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Marshtomp: ; 8DE2E90
+ .incbin "graphics/pokemon/marshtomp/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Marshtomp: ; 8DE3240
+ .incbin "graphics/pokemon/marshtomp/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Marshtomp: ; 8DE3268
+ .incbin "graphics/pokemon/marshtomp/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Marshtomp: ; 8DE3668
+ .incbin "graphics/pokemon/marshtomp/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Swampert: ; 8DE3688
+ .incbin "graphics/pokemon/swampert/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Swampert: ; 8DE3C04
+ .incbin "graphics/pokemon/swampert/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Swampert: ; 8DE3C2C
+ .incbin "graphics/pokemon/swampert/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Swampert: ; 8DE3FE0
+ .incbin "graphics/pokemon/swampert/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Swampert: ; 8DE4008
+ .incbin "graphics/pokemon/swampert/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Swampert: ; 8DE4408
+ .incbin "graphics/pokemon/swampert/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Poochyena: ; 8DE4428
+ .incbin "graphics/pokemon/poochyena/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Poochyena: ; 8DE46F0
+ .incbin "graphics/pokemon/poochyena/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Poochyena: ; 8DE4718
+ .incbin "graphics/pokemon/poochyena/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Poochyena: ; 8DE4A44
+ .incbin "graphics/pokemon/poochyena/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Poochyena: ; 8DE4A6C
+ .incbin "graphics/pokemon/poochyena/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Poochyena: ; 8DE4E6C
+ .incbin "graphics/pokemon/poochyena/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mightyena: ; 8DE4E8C
+ .incbin "graphics/pokemon/mightyena/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mightyena: ; 8DE52C4
+ .incbin "graphics/pokemon/mightyena/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mightyena: ; 8DE52EC
+ .incbin "graphics/pokemon/mightyena/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mightyena: ; 8DE5664
+ .incbin "graphics/pokemon/mightyena/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mightyena: ; 8DE568C
+ .incbin "graphics/pokemon/mightyena/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mightyena: ; 8DE5A8C
+ .incbin "graphics/pokemon/mightyena/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Zigzagoon: ; 8DE5AAC
+ .incbin "graphics/pokemon/zigzagoon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Zigzagoon: ; 8DE5E7C
+ .incbin "graphics/pokemon/zigzagoon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Zigzagoon: ; 8DE5EA4
+ .incbin "graphics/pokemon/zigzagoon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Zigzagoon: ; 8DE61E4
+ .incbin "graphics/pokemon/zigzagoon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Zigzagoon: ; 8DE620C
+ .incbin "graphics/pokemon/zigzagoon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Zigzagoon: ; 8DE660C
+ .incbin "graphics/pokemon/zigzagoon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Linoone: ; 8DE662C
+ .incbin "graphics/pokemon/linoone/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Linoone: ; 8DE699C
+ .incbin "graphics/pokemon/linoone/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Linoone: ; 8DE69C4
+ .incbin "graphics/pokemon/linoone/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Linoone: ; 8DE6C98
+ .incbin "graphics/pokemon/linoone/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Linoone: ; 8DE6CC0
+ .incbin "graphics/pokemon/linoone/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Linoone: ; 8DE70C0
+ .incbin "graphics/pokemon/linoone/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wurmple: ; 8DE70E0
+ .incbin "graphics/pokemon/wurmple/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wurmple: ; 8DE7368
+ .incbin "graphics/pokemon/wurmple/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wurmple: ; 8DE7390
+ .incbin "graphics/pokemon/wurmple/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wurmple: ; 8DE75DC
+ .incbin "graphics/pokemon/wurmple/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wurmple: ; 8DE7604
+ .incbin "graphics/pokemon/wurmple/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wurmple: ; 8DE7A04
+ .incbin "graphics/pokemon/wurmple/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Silcoon: ; 8DE7A24
+ .incbin "graphics/pokemon/silcoon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Silcoon: ; 8DE7CA4
+ .incbin "graphics/pokemon/silcoon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Silcoon: ; 8DE7CCC
+ .incbin "graphics/pokemon/silcoon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Silcoon: ; 8DE7EE8
+ .incbin "graphics/pokemon/silcoon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Silcoon: ; 8DE7F10
+ .incbin "graphics/pokemon/silcoon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Silcoon: ; 8DE8310
+ .incbin "graphics/pokemon/silcoon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Beautifly: ; 8DE8330
+ .incbin "graphics/pokemon/beautifly/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Beautifly: ; 8DE8688
+ .incbin "graphics/pokemon/beautifly/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Beautifly: ; 8DE86B0
+ .incbin "graphics/pokemon/beautifly/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Beautifly: ; 8DE8A60
+ .incbin "graphics/pokemon/beautifly/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Beautifly: ; 8DE8A88
+ .incbin "graphics/pokemon/beautifly/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Beautifly: ; 8DE8E88
+ .incbin "graphics/pokemon/beautifly/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cascoon: ; 8DE8EA8
+ .incbin "graphics/pokemon/cascoon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cascoon: ; 8DE9114
+ .incbin "graphics/pokemon/cascoon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cascoon: ; 8DE913C
+ .incbin "graphics/pokemon/cascoon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cascoon: ; 8DE934C
+ .incbin "graphics/pokemon/cascoon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cascoon: ; 8DE9374
+ .incbin "graphics/pokemon/cascoon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cascoon: ; 8DE9774
+ .incbin "graphics/pokemon/cascoon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dustox: ; 8DE9794
+ .incbin "graphics/pokemon/dustox/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dustox: ; 8DE9AFC
+ .incbin "graphics/pokemon/dustox/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dustox: ; 8DE9B24
+ .incbin "graphics/pokemon/dustox/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dustox: ; 8DE9D7C
+ .incbin "graphics/pokemon/dustox/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dustox: ; 8DE9DA4
+ .incbin "graphics/pokemon/dustox/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dustox: ; 8DEA1A4
+ .incbin "graphics/pokemon/dustox/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lotad: ; 8DEA1C4
+ .incbin "graphics/pokemon/lotad/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lotad: ; 8DEA424
+ .incbin "graphics/pokemon/lotad/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lotad: ; 8DEA44C
+ .incbin "graphics/pokemon/lotad/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lotad: ; 8DEA734
+ .incbin "graphics/pokemon/lotad/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lotad: ; 8DEA75C
+ .incbin "graphics/pokemon/lotad/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lotad: ; 8DEAB5C
+ .incbin "graphics/pokemon/lotad/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lombre: ; 8DEAB7C
+ .incbin "graphics/pokemon/lombre/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lombre: ; 8DEAE94
+ .incbin "graphics/pokemon/lombre/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lombre: ; 8DEAEBC
+ .incbin "graphics/pokemon/lombre/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lombre: ; 8DEB1B8
+ .incbin "graphics/pokemon/lombre/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lombre: ; 8DEB1E0
+ .incbin "graphics/pokemon/lombre/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lombre: ; 8DEB5E0
+ .incbin "graphics/pokemon/lombre/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ludicolo: ; 8DEB600
+ .incbin "graphics/pokemon/ludicolo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ludicolo: ; 8DEBAE4
+ .incbin "graphics/pokemon/ludicolo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ludicolo: ; 8DEBB0C
+ .incbin "graphics/pokemon/ludicolo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ludicolo: ; 8DEBE08
+ .incbin "graphics/pokemon/ludicolo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ludicolo: ; 8DEBE30
+ .incbin "graphics/pokemon/ludicolo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ludicolo: ; 8DEC230
+ .incbin "graphics/pokemon/ludicolo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Seedot: ; 8DEC250
+ .incbin "graphics/pokemon/seedot/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Seedot: ; 8DEC4E4
+ .incbin "graphics/pokemon/seedot/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Seedot: ; 8DEC50C
+ .incbin "graphics/pokemon/seedot/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Seedot: ; 8DEC7EC
+ .incbin "graphics/pokemon/seedot/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Seedot: ; 8DEC814
+ .incbin "graphics/pokemon/seedot/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Seedot: ; 8DECC14
+ .incbin "graphics/pokemon/seedot/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nuzleaf: ; 8DECC34
+ .incbin "graphics/pokemon/nuzleaf/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nuzleaf: ; 8DECF20
+ .incbin "graphics/pokemon/nuzleaf/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nuzleaf: ; 8DECF48
+ .incbin "graphics/pokemon/nuzleaf/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nuzleaf: ; 8DED210
+ .incbin "graphics/pokemon/nuzleaf/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nuzleaf: ; 8DED238
+ .incbin "graphics/pokemon/nuzleaf/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nuzleaf: ; 8DED638
+ .incbin "graphics/pokemon/nuzleaf/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shiftry: ; 8DED658
+ .incbin "graphics/pokemon/shiftry/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shiftry: ; 8DEDB14
+ .incbin "graphics/pokemon/shiftry/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shiftry: ; 8DEDB3C
+ .incbin "graphics/pokemon/shiftry/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shiftry: ; 8DEDE00
+ .incbin "graphics/pokemon/shiftry/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shiftry: ; 8DEDE28
+ .incbin "graphics/pokemon/shiftry/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shiftry: ; 8DEE228
+ .incbin "graphics/pokemon/shiftry/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nincada: ; 8DEE248
+ .incbin "graphics/pokemon/nincada/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nincada: ; 8DEE4E8
+ .incbin "graphics/pokemon/nincada/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nincada: ; 8DEE510
+ .incbin "graphics/pokemon/nincada/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nincada: ; 8DEE7C8
+ .incbin "graphics/pokemon/nincada/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nincada: ; 8DEE7F0
+ .incbin "graphics/pokemon/nincada/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nincada: ; 8DEEBF0
+ .incbin "graphics/pokemon/nincada/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ninjask: ; 8DEEC10
+ .incbin "graphics/pokemon/ninjask/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ninjask: ; 8DEEF80
+ .incbin "graphics/pokemon/ninjask/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ninjask: ; 8DEEFA8
+ .incbin "graphics/pokemon/ninjask/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ninjask: ; 8DEF374
+ .incbin "graphics/pokemon/ninjask/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ninjask: ; 8DEF39C
+ .incbin "graphics/pokemon/ninjask/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ninjask: ; 8DEF79C
+ .incbin "graphics/pokemon/ninjask/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shedinja: ; 8DEF7BC
+ .incbin "graphics/pokemon/shedinja/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shedinja: ; 8DEFADC
+ .incbin "graphics/pokemon/shedinja/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shedinja: ; 8DEFB04
+ .incbin "graphics/pokemon/shedinja/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shedinja: ; 8DEFEA4
+ .incbin "graphics/pokemon/shedinja/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shedinja: ; 8DEFECC
+ .incbin "graphics/pokemon/shedinja/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shedinja: ; 8DF02CC
+ .incbin "graphics/pokemon/shedinja/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Taillow: ; 8DF02EC
+ .incbin "graphics/pokemon/taillow/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Taillow: ; 8DF0544
+ .incbin "graphics/pokemon/taillow/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Taillow: ; 8DF056C
+ .incbin "graphics/pokemon/taillow/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Taillow: ; 8DF078C
+ .incbin "graphics/pokemon/taillow/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Taillow: ; 8DF07B4
+ .incbin "graphics/pokemon/taillow/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Taillow: ; 8DF0BB4
+ .incbin "graphics/pokemon/taillow/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Swellow: ; 8DF0BD4
+ .incbin "graphics/pokemon/swellow/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Swellow: ; 8DF0F98
+ .incbin "graphics/pokemon/swellow/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Swellow: ; 8DF0FC0
+ .incbin "graphics/pokemon/swellow/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Swellow: ; 8DF12F8
+ .incbin "graphics/pokemon/swellow/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Swellow: ; 8DF1320
+ .incbin "graphics/pokemon/swellow/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Swellow: ; 8DF1720
+ .incbin "graphics/pokemon/swellow/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shroomish: ; 8DF1740
+ .incbin "graphics/pokemon/shroomish/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shroomish: ; 8DF19A8
+ .incbin "graphics/pokemon/shroomish/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shroomish: ; 8DF19D0
+ .incbin "graphics/pokemon/shroomish/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shroomish: ; 8DF1CB0
+ .incbin "graphics/pokemon/shroomish/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shroomish: ; 8DF1CD8
+ .incbin "graphics/pokemon/shroomish/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shroomish: ; 8DF20D8
+ .incbin "graphics/pokemon/shroomish/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Breloom: ; 8DF20F8
+ .incbin "graphics/pokemon/breloom/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Breloom: ; 8DF24E0
+ .incbin "graphics/pokemon/breloom/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Breloom: ; 8DF2508
+ .incbin "graphics/pokemon/breloom/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Breloom: ; 8DF28E8
+ .incbin "graphics/pokemon/breloom/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Breloom: ; 8DF2910
+ .incbin "graphics/pokemon/breloom/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Breloom: ; 8DF2D10
+ .incbin "graphics/pokemon/breloom/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Spinda: ; 8DF2D30
+ .incbin "graphics/pokemon/spinda/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Spinda: ; 8DF3024
+ .incbin "graphics/pokemon/spinda/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Spinda: ; 8DF304C
+ .incbin "graphics/pokemon/spinda/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Spinda: ; 8DF3388
+ .incbin "graphics/pokemon/spinda/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Spinda: ; 8DF33B0
+ .incbin "graphics/pokemon/spinda/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Spinda: ; 8DF37B0
+ .incbin "graphics/pokemon/spinda/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wingull: ; 8DF37D0
+ .incbin "graphics/pokemon/wingull/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wingull: ; 8DF3A0C
+ .incbin "graphics/pokemon/wingull/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wingull: ; 8DF3A34
+ .incbin "graphics/pokemon/wingull/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wingull: ; 8DF3D84
+ .incbin "graphics/pokemon/wingull/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wingull: ; 8DF3DAC
+ .incbin "graphics/pokemon/wingull/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wingull: ; 8DF41AC
+ .incbin "graphics/pokemon/wingull/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Pelipper: ; 8DF41CC
+ .incbin "graphics/pokemon/pelipper/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Pelipper: ; 8DF4564
+ .incbin "graphics/pokemon/pelipper/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Pelipper: ; 8DF458C
+ .incbin "graphics/pokemon/pelipper/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Pelipper: ; 8DF490C
+ .incbin "graphics/pokemon/pelipper/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Pelipper: ; 8DF4934
+ .incbin "graphics/pokemon/pelipper/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Pelipper: ; 8DF4D34
+ .incbin "graphics/pokemon/pelipper/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Surskit: ; 8DF4D54
+ .incbin "graphics/pokemon/surskit/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Surskit: ; 8DF4F60
+ .incbin "graphics/pokemon/surskit/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Surskit: ; 8DF4F88
+ .incbin "graphics/pokemon/surskit/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Surskit: ; 8DF51C0
+ .incbin "graphics/pokemon/surskit/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Surskit: ; 8DF51E8
+ .incbin "graphics/pokemon/surskit/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Surskit: ; 8DF55E8
+ .incbin "graphics/pokemon/surskit/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Masquerain: ; 8DF5608
+ .incbin "graphics/pokemon/masquerain/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Masquerain: ; 8DF59A4
+ .incbin "graphics/pokemon/masquerain/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Masquerain: ; 8DF59CC
+ .incbin "graphics/pokemon/masquerain/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Masquerain: ; 8DF5D24
+ .incbin "graphics/pokemon/masquerain/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Masquerain: ; 8DF5D4C
+ .incbin "graphics/pokemon/masquerain/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Masquerain: ; 8DF614C
+ .incbin "graphics/pokemon/masquerain/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wailmer: ; 8DF616C
+ .incbin "graphics/pokemon/wailmer/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wailmer: ; 8DF644C
+ .incbin "graphics/pokemon/wailmer/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wailmer: ; 8DF6474
+ .incbin "graphics/pokemon/wailmer/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wailmer: ; 8DF6658
+ .incbin "graphics/pokemon/wailmer/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wailmer: ; 8DF6680
+ .incbin "graphics/pokemon/wailmer/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wailmer: ; 8DF6A80
+ .incbin "graphics/pokemon/wailmer/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wailord: ; 8DF6AA0
+ .incbin "graphics/pokemon/wailord/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wailord: ; 8DF6E64
+ .incbin "graphics/pokemon/wailord/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wailord: ; 8DF6E8C
+ .incbin "graphics/pokemon/wailord/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wailord: ; 8DF70A4
+ .incbin "graphics/pokemon/wailord/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wailord: ; 8DF70CC
+ .incbin "graphics/pokemon/wailord/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wailord: ; 8DF74CC
+ .incbin "graphics/pokemon/wailord/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Skitty: ; 8DF74EC
+ .incbin "graphics/pokemon/skitty/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Skitty: ; 8DF77EC
+ .incbin "graphics/pokemon/skitty/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Skitty: ; 8DF7814
+ .incbin "graphics/pokemon/skitty/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Skitty: ; 8DF7B5C
+ .incbin "graphics/pokemon/skitty/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Skitty: ; 8DF7B84
+ .incbin "graphics/pokemon/skitty/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Skitty: ; 8DF7F84
+ .incbin "graphics/pokemon/skitty/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Delcatty: ; 8DF7FA4
+ .incbin "graphics/pokemon/delcatty/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Delcatty: ; 8DF8330
+ .incbin "graphics/pokemon/delcatty/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Delcatty: ; 8DF8358
+ .incbin "graphics/pokemon/delcatty/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Delcatty: ; 8DF86F4
+ .incbin "graphics/pokemon/delcatty/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Delcatty: ; 8DF871C
+ .incbin "graphics/pokemon/delcatty/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Delcatty: ; 8DF8B1C
+ .incbin "graphics/pokemon/delcatty/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kecleon: ; 8DF8B3C
+ .incbin "graphics/pokemon/kecleon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kecleon: ; 8DF8EBC
+ .incbin "graphics/pokemon/kecleon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kecleon: ; 8DF8EE4
+ .incbin "graphics/pokemon/kecleon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kecleon: ; 8DF92BC
+ .incbin "graphics/pokemon/kecleon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kecleon: ; 8DF92E4
+ .incbin "graphics/pokemon/kecleon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kecleon: ; 8DF96E4
+ .incbin "graphics/pokemon/kecleon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Baltoy: ; 8DF9704
+ .incbin "graphics/pokemon/baltoy/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Baltoy: ; 8DF9928
+ .incbin "graphics/pokemon/baltoy/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Baltoy: ; 8DF9948
+ .incbin "graphics/pokemon/baltoy/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Baltoy: ; 8DF9BF0
+ .incbin "graphics/pokemon/baltoy/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Baltoy: ; 8DF9C10
+ .incbin "graphics/pokemon/baltoy/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Baltoy: ; 8DFA010
+ .incbin "graphics/pokemon/baltoy/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Claydol: ; 8DFA030
+ .incbin "graphics/pokemon/claydol/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Claydol: ; 8DFA3E8
+ .incbin "graphics/pokemon/claydol/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Claydol: ; 8DFA410
+ .incbin "graphics/pokemon/claydol/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Claydol: ; 8DFA7E4
+ .incbin "graphics/pokemon/claydol/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Claydol: ; 8DFA80C
+ .incbin "graphics/pokemon/claydol/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Claydol: ; 8DFAC0C
+ .incbin "graphics/pokemon/claydol/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Nosepass: ; 8DFAC2C
+ .incbin "graphics/pokemon/nosepass/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Nosepass: ; 8DFAEF8
+ .incbin "graphics/pokemon/nosepass/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Nosepass: ; 8DFAF20
+ .incbin "graphics/pokemon/nosepass/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Nosepass: ; 8DFB1C0
+ .incbin "graphics/pokemon/nosepass/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Nosepass: ; 8DFB1E8
+ .incbin "graphics/pokemon/nosepass/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Nosepass: ; 8DFB5E8
+ .incbin "graphics/pokemon/nosepass/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Torkoal: ; 8DFB608
+ .incbin "graphics/pokemon/torkoal/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Torkoal: ; 8DFBAB4
+ .incbin "graphics/pokemon/torkoal/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Torkoal: ; 8DFBADC
+ .incbin "graphics/pokemon/torkoal/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Torkoal: ; 8DFBDA4
+ .incbin "graphics/pokemon/torkoal/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Torkoal: ; 8DFBDCC
+ .incbin "graphics/pokemon/torkoal/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Torkoal: ; 8DFC1CC
+ .incbin "graphics/pokemon/torkoal/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sableye: ; 8DFC1EC
+ .incbin "graphics/pokemon/sableye/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sableye: ; 8DFC4C0
+ .incbin "graphics/pokemon/sableye/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sableye: ; 8DFC4E8
+ .incbin "graphics/pokemon/sableye/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sableye: ; 8DFC810
+ .incbin "graphics/pokemon/sableye/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sableye: ; 8DFC838
+ .incbin "graphics/pokemon/sableye/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sableye: ; 8DFCC38
+ .incbin "graphics/pokemon/sableye/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Barboach: ; 8DFCC58
+ .incbin "graphics/pokemon/barboach/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Barboach: ; 8DFCEE8
+ .incbin "graphics/pokemon/barboach/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Barboach: ; 8DFCF10
+ .incbin "graphics/pokemon/barboach/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Barboach: ; 8DFD1A0
+ .incbin "graphics/pokemon/barboach/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Barboach: ; 8DFD1C8
+ .incbin "graphics/pokemon/barboach/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Barboach: ; 8DFD5C8
+ .incbin "graphics/pokemon/barboach/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Whiscash: ; 8DFD5E8
+ .incbin "graphics/pokemon/whiscash/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Whiscash: ; 8DFD960
+ .incbin "graphics/pokemon/whiscash/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Whiscash: ; 8DFD988
+ .incbin "graphics/pokemon/whiscash/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Whiscash: ; 8DFDCD4
+ .incbin "graphics/pokemon/whiscash/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Whiscash: ; 8DFDCFC
+ .incbin "graphics/pokemon/whiscash/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Whiscash: ; 8DFE0FC
+ .incbin "graphics/pokemon/whiscash/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Luvdisc: ; 8DFE11C
+ .incbin "graphics/pokemon/luvdisc/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Luvdisc: ; 8DFE2DC
+ .incbin "graphics/pokemon/luvdisc/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Luvdisc: ; 8DFE300
+ .incbin "graphics/pokemon/luvdisc/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Luvdisc: ; 8DFE4D4
+ .incbin "graphics/pokemon/luvdisc/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Luvdisc: ; 8DFE4F8
+ .incbin "graphics/pokemon/luvdisc/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Luvdisc: ; 8DFE8F8
+ .incbin "graphics/pokemon/luvdisc/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Corphish: ; 8DFE918
+ .incbin "graphics/pokemon/corphish/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Corphish: ; 8DFEC74
+ .incbin "graphics/pokemon/corphish/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Corphish: ; 8DFEC9C
+ .incbin "graphics/pokemon/corphish/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Corphish: ; 8DFEFB8
+ .incbin "graphics/pokemon/corphish/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Corphish: ; 8DFEFE0
+ .incbin "graphics/pokemon/corphish/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Corphish: ; 8DFF3E0
+ .incbin "graphics/pokemon/corphish/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Crawdaunt: ; 8DFF400
+ .incbin "graphics/pokemon/crawdaunt/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Crawdaunt: ; 8DFF890
+ .incbin "graphics/pokemon/crawdaunt/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Crawdaunt: ; 8DFF8B8
+ .incbin "graphics/pokemon/crawdaunt/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Crawdaunt: ; 8DFFC9C
+ .incbin "graphics/pokemon/crawdaunt/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Crawdaunt: ; 8DFFCC4
+ .incbin "graphics/pokemon/crawdaunt/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Crawdaunt: ; 8E000C4
+ .incbin "graphics/pokemon/crawdaunt/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Feebas: ; 8E000E4
+ .incbin "graphics/pokemon/feebas/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Feebas: ; 8E00370
+ .incbin "graphics/pokemon/feebas/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Feebas: ; 8E00398
+ .incbin "graphics/pokemon/feebas/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Feebas: ; 8E006D0
+ .incbin "graphics/pokemon/feebas/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Feebas: ; 8E006F8
+ .incbin "graphics/pokemon/feebas/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Feebas: ; 8E00AF8
+ .incbin "graphics/pokemon/feebas/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Milotic: ; 8E00B18
+ .incbin "graphics/pokemon/milotic/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Milotic: ; 8E00FA8
+ .incbin "graphics/pokemon/milotic/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Milotic: ; 8E00FD0
+ .incbin "graphics/pokemon/milotic/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Milotic: ; 8E012C4
+ .incbin "graphics/pokemon/milotic/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Milotic: ; 8E012EC
+ .incbin "graphics/pokemon/milotic/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Milotic: ; 8E016EC
+ .incbin "graphics/pokemon/milotic/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Carvanha: ; 8E0170C
+ .incbin "graphics/pokemon/carvanha/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Carvanha: ; 8E01A38
+ .incbin "graphics/pokemon/carvanha/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Carvanha: ; 8E01A60
+ .incbin "graphics/pokemon/carvanha/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Carvanha: ; 8E01D70
+ .incbin "graphics/pokemon/carvanha/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Carvanha: ; 8E01D98
+ .incbin "graphics/pokemon/carvanha/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Carvanha: ; 8E02198
+ .incbin "graphics/pokemon/carvanha/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sharpedo: ; 8E021B8
+ .incbin "graphics/pokemon/sharpedo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sharpedo: ; 8E02548
+ .incbin "graphics/pokemon/sharpedo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sharpedo: ; 8E02570
+ .incbin "graphics/pokemon/sharpedo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sharpedo: ; 8E028C8
+ .incbin "graphics/pokemon/sharpedo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sharpedo: ; 8E028F0
+ .incbin "graphics/pokemon/sharpedo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sharpedo: ; 8E02CF0
+ .incbin "graphics/pokemon/sharpedo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Trapinch: ; 8E02D10
+ .incbin "graphics/pokemon/trapinch/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Trapinch: ; 8E02F2C
+ .incbin "graphics/pokemon/trapinch/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Trapinch: ; 8E02F54
+ .incbin "graphics/pokemon/trapinch/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Trapinch: ; 8E03174
+ .incbin "graphics/pokemon/trapinch/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Trapinch: ; 8E0319C
+ .incbin "graphics/pokemon/trapinch/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Trapinch: ; 8E0359C
+ .incbin "graphics/pokemon/trapinch/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Vibrava: ; 8E035BC
+ .incbin "graphics/pokemon/vibrava/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Vibrava: ; 8E0392C
+ .incbin "graphics/pokemon/vibrava/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Vibrava: ; 8E03954
+ .incbin "graphics/pokemon/vibrava/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Vibrava: ; 8E03BCC
+ .incbin "graphics/pokemon/vibrava/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Vibrava: ; 8E03BF4
+ .incbin "graphics/pokemon/vibrava/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Vibrava: ; 8E03FF4
+ .incbin "graphics/pokemon/vibrava/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Flygon: ; 8E04014
+ .incbin "graphics/pokemon/flygon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Flygon: ; 8E04504
+ .incbin "graphics/pokemon/flygon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Flygon: ; 8E0452C
+ .incbin "graphics/pokemon/flygon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Flygon: ; 8E04968
+ .incbin "graphics/pokemon/flygon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Flygon: ; 8E04990
+ .incbin "graphics/pokemon/flygon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Flygon: ; 8E04D90
+ .incbin "graphics/pokemon/flygon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Makuhita: ; 8E04DB0
+ .incbin "graphics/pokemon/makuhita/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Makuhita: ; 8E050C8
+ .incbin "graphics/pokemon/makuhita/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Makuhita: ; 8E050F0
+ .incbin "graphics/pokemon/makuhita/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Makuhita: ; 8E053E0
+ .incbin "graphics/pokemon/makuhita/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Makuhita: ; 8E05404
+ .incbin "graphics/pokemon/makuhita/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Makuhita: ; 8E05804
+ .incbin "graphics/pokemon/makuhita/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Hariyama: ; 8E05824
+ .incbin "graphics/pokemon/hariyama/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Hariyama: ; 8E05CD4
+ .incbin "graphics/pokemon/hariyama/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Hariyama: ; 8E05CFC
+ .incbin "graphics/pokemon/hariyama/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Hariyama: ; 8E060DC
+ .incbin "graphics/pokemon/hariyama/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Hariyama: ; 8E06104
+ .incbin "graphics/pokemon/hariyama/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Hariyama: ; 8E06504
+ .incbin "graphics/pokemon/hariyama/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Electrike: ; 8E06524
+ .incbin "graphics/pokemon/electrike/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Electrike: ; 8E067B4
+ .incbin "graphics/pokemon/electrike/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Electrike: ; 8E067DC
+ .incbin "graphics/pokemon/electrike/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Electrike: ; 8E06A68
+ .incbin "graphics/pokemon/electrike/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Electrike: ; 8E06A90
+ .incbin "graphics/pokemon/electrike/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Electrike: ; 8E06E90
+ .incbin "graphics/pokemon/electrike/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Manectric: ; 8E06EB0
+ .incbin "graphics/pokemon/manectric/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Manectric: ; 8E071E0
+ .incbin "graphics/pokemon/manectric/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Manectric: ; 8E07208
+ .incbin "graphics/pokemon/manectric/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Manectric: ; 8E07434
+ .incbin "graphics/pokemon/manectric/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Manectric: ; 8E0745C
+ .incbin "graphics/pokemon/manectric/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Manectric: ; 8E0785C
+ .incbin "graphics/pokemon/manectric/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Numel: ; 8E0787C
+ .incbin "graphics/pokemon/numel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Numel: ; 8E07B4C
+ .incbin "graphics/pokemon/numel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Numel: ; 8E07B74
+ .incbin "graphics/pokemon/numel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Numel: ; 8E07E30
+ .incbin "graphics/pokemon/numel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Numel: ; 8E07E58
+ .incbin "graphics/pokemon/numel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Numel: ; 8E08258
+ .incbin "graphics/pokemon/numel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Camerupt: ; 8E08278
+ .incbin "graphics/pokemon/camerupt/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Camerupt: ; 8E08690
+ .incbin "graphics/pokemon/camerupt/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Camerupt: ; 8E086B8
+ .incbin "graphics/pokemon/camerupt/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Camerupt: ; 8E0897C
+ .incbin "graphics/pokemon/camerupt/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Camerupt: ; 8E089A4
+ .incbin "graphics/pokemon/camerupt/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Camerupt: ; 8E08DA4
+ .incbin "graphics/pokemon/camerupt/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Spheal: ; 8E08DC4
+ .incbin "graphics/pokemon/spheal/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Spheal: ; 8E09038
+ .incbin "graphics/pokemon/spheal/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Spheal: ; 8E09060
+ .incbin "graphics/pokemon/spheal/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Spheal: ; 8E0925C
+ .incbin "graphics/pokemon/spheal/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Spheal: ; 8E09284
+ .incbin "graphics/pokemon/spheal/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Spheal: ; 8E09684
+ .incbin "graphics/pokemon/spheal/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Sealeo: ; 8E096A4
+ .incbin "graphics/pokemon/sealeo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Sealeo: ; 8E09A24
+ .incbin "graphics/pokemon/sealeo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Sealeo: ; 8E09A4C
+ .incbin "graphics/pokemon/sealeo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Sealeo: ; 8E09CC8
+ .incbin "graphics/pokemon/sealeo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Sealeo: ; 8E09CF0
+ .incbin "graphics/pokemon/sealeo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Sealeo: ; 8E0A0F0
+ .incbin "graphics/pokemon/sealeo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Walrein: ; 8E0A110
+ .incbin "graphics/pokemon/walrein/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Walrein: ; 8E0A5B0
+ .incbin "graphics/pokemon/walrein/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Walrein: ; 8E0A5D8
+ .incbin "graphics/pokemon/walrein/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Walrein: ; 8E0A960
+ .incbin "graphics/pokemon/walrein/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Walrein: ; 8E0A988
+ .incbin "graphics/pokemon/walrein/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Walrein: ; 8E0AD88
+ .incbin "graphics/pokemon/walrein/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cacnea: ; 8E0ADA8
+ .incbin "graphics/pokemon/cacnea/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cacnea: ; 8E0B0B8
+ .incbin "graphics/pokemon/cacnea/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cacnea: ; 8E0B0E0
+ .incbin "graphics/pokemon/cacnea/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cacnea: ; 8E0B440
+ .incbin "graphics/pokemon/cacnea/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cacnea: ; 8E0B468
+ .incbin "graphics/pokemon/cacnea/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cacnea: ; 8E0B868
+ .incbin "graphics/pokemon/cacnea/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cacturne: ; 8E0B888
+ .incbin "graphics/pokemon/cacturne/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cacturne: ; 8E0BCC0
+ .incbin "graphics/pokemon/cacturne/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cacturne: ; 8E0BCE8
+ .incbin "graphics/pokemon/cacturne/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cacturne: ; 8E0BFE8
+ .incbin "graphics/pokemon/cacturne/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cacturne: ; 8E0C010
+ .incbin "graphics/pokemon/cacturne/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cacturne: ; 8E0C410
+ .incbin "graphics/pokemon/cacturne/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Snorunt: ; 8E0C430
+ .incbin "graphics/pokemon/snorunt/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Snorunt: ; 8E0C6F4
+ .incbin "graphics/pokemon/snorunt/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Snorunt: ; 8E0C71C
+ .incbin "graphics/pokemon/snorunt/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Snorunt: ; 8E0CA00
+ .incbin "graphics/pokemon/snorunt/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Snorunt: ; 8E0CA28
+ .incbin "graphics/pokemon/snorunt/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Snorunt: ; 8E0CE28
+ .incbin "graphics/pokemon/snorunt/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Glalie: ; 8E0CE48
+ .incbin "graphics/pokemon/glalie/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Glalie: ; 8E0D210
+ .incbin "graphics/pokemon/glalie/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Glalie: ; 8E0D238
+ .incbin "graphics/pokemon/glalie/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Glalie: ; 8E0D5E8
+ .incbin "graphics/pokemon/glalie/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Glalie: ; 8E0D610
+ .incbin "graphics/pokemon/glalie/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Glalie: ; 8E0DA10
+ .incbin "graphics/pokemon/glalie/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lunatone: ; 8E0DA30
+ .incbin "graphics/pokemon/lunatone/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lunatone: ; 8E0DD58
+ .incbin "graphics/pokemon/lunatone/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lunatone: ; 8E0DD80
+ .incbin "graphics/pokemon/lunatone/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lunatone: ; 8E0E0D8
+ .incbin "graphics/pokemon/lunatone/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lunatone: ; 8E0E100
+ .incbin "graphics/pokemon/lunatone/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lunatone: ; 8E0E500
+ .incbin "graphics/pokemon/lunatone/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Solrock: ; 8E0E520
+ .incbin "graphics/pokemon/solrock/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Solrock: ; 8E0E96C
+ .incbin "graphics/pokemon/solrock/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Solrock: ; 8E0E994
+ .incbin "graphics/pokemon/solrock/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Solrock: ; 8E0ED80
+ .incbin "graphics/pokemon/solrock/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Solrock: ; 8E0EDA8
+ .incbin "graphics/pokemon/solrock/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Solrock: ; 8E0F1A8
+ .incbin "graphics/pokemon/solrock/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Azurill: ; 8E0F1C8
+ .incbin "graphics/pokemon/azurill/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Azurill: ; 8E0F490
+ .incbin "graphics/pokemon/azurill/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Azurill: ; 8E0F4B8
+ .incbin "graphics/pokemon/azurill/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Azurill: ; 8E0F7D0
+ .incbin "graphics/pokemon/azurill/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Azurill: ; 8E0F7F8
+ .incbin "graphics/pokemon/azurill/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Azurill: ; 8E0FBF8
+ .incbin "graphics/pokemon/azurill/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Spoink: ; 8E0FC18
+ .incbin "graphics/pokemon/spoink/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Spoink: ; 8E0FE84
+ .incbin "graphics/pokemon/spoink/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Spoink: ; 8E0FEAC
+ .incbin "graphics/pokemon/spoink/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Spoink: ; 8E100EC
+ .incbin "graphics/pokemon/spoink/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Spoink: ; 8E10114
+ .incbin "graphics/pokemon/spoink/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Spoink: ; 8E10514
+ .incbin "graphics/pokemon/spoink/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Grumpig: ; 8E10534
+ .incbin "graphics/pokemon/grumpig/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Grumpig: ; 8E108F0
+ .incbin "graphics/pokemon/grumpig/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Grumpig: ; 8E10918
+ .incbin "graphics/pokemon/grumpig/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Grumpig: ; 8E10C78
+ .incbin "graphics/pokemon/grumpig/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Grumpig: ; 8E10CA0
+ .incbin "graphics/pokemon/grumpig/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Grumpig: ; 8E110A0
+ .incbin "graphics/pokemon/grumpig/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Plusle: ; 8E110C0
+ .incbin "graphics/pokemon/plusle/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Plusle: ; 8E1134C
+ .incbin "graphics/pokemon/plusle/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Plusle: ; 8E11374
+ .incbin "graphics/pokemon/plusle/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Plusle: ; 8E1162C
+ .incbin "graphics/pokemon/plusle/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Plusle: ; 8E11654
+ .incbin "graphics/pokemon/plusle/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Plusle: ; 8E11A54
+ .incbin "graphics/pokemon/plusle/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Minun: ; 8E11A74
+ .incbin "graphics/pokemon/minun/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Minun: ; 8E11CDC
+ .incbin "graphics/pokemon/minun/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Minun: ; 8E11D04
+ .incbin "graphics/pokemon/minun/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Minun: ; 8E11FCC
+ .incbin "graphics/pokemon/minun/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Minun: ; 8E11FF4
+ .incbin "graphics/pokemon/minun/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Minun: ; 8E123F4
+ .incbin "graphics/pokemon/minun/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Mawile: ; 8E12414
+ .incbin "graphics/pokemon/mawile/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Mawile: ; 8E127D0
+ .incbin "graphics/pokemon/mawile/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Mawile: ; 8E127F8
+ .incbin "graphics/pokemon/mawile/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Mawile: ; 8E12BF8
+ .incbin "graphics/pokemon/mawile/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Mawile: ; 8E12C20
+ .incbin "graphics/pokemon/mawile/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Mawile: ; 8E13020
+ .incbin "graphics/pokemon/mawile/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Meditite: ; 8E13040
+ .incbin "graphics/pokemon/meditite/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Meditite: ; 8E132F8
+ .incbin "graphics/pokemon/meditite/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Meditite: ; 8E13320
+ .incbin "graphics/pokemon/meditite/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Meditite: ; 8E135E8
+ .incbin "graphics/pokemon/meditite/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Meditite: ; 8E1360C
+ .incbin "graphics/pokemon/meditite/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Meditite: ; 8E13A0C
+ .incbin "graphics/pokemon/meditite/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Medicham: ; 8E13A2C
+ .incbin "graphics/pokemon/medicham/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Medicham: ; 8E13D5C
+ .incbin "graphics/pokemon/medicham/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Medicham: ; 8E13D84
+ .incbin "graphics/pokemon/medicham/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Medicham: ; 8E140BC
+ .incbin "graphics/pokemon/medicham/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Medicham: ; 8E140E4
+ .incbin "graphics/pokemon/medicham/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Medicham: ; 8E144E4
+ .incbin "graphics/pokemon/medicham/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Swablu: ; 8E14504
+ .incbin "graphics/pokemon/swablu/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Swablu: ; 8E147DC
+ .incbin "graphics/pokemon/swablu/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Swablu: ; 8E14804
+ .incbin "graphics/pokemon/swablu/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Swablu: ; 8E14BBC
+ .incbin "graphics/pokemon/swablu/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Swablu: ; 8E14BE4
+ .incbin "graphics/pokemon/swablu/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Swablu: ; 8E14FE4
+ .incbin "graphics/pokemon/swablu/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Altaria: ; 8E15004
+ .incbin "graphics/pokemon/altaria/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Altaria: ; 8E153E0
+ .incbin "graphics/pokemon/altaria/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Altaria: ; 8E15408
+ .incbin "graphics/pokemon/altaria/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Altaria: ; 8E15780
+ .incbin "graphics/pokemon/altaria/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Altaria: ; 8E157A8
+ .incbin "graphics/pokemon/altaria/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Altaria: ; 8E15BA8
+ .incbin "graphics/pokemon/altaria/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Wynaut: ; 8E15BC8
+ .incbin "graphics/pokemon/wynaut/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Wynaut: ; 8E15E60
+ .incbin "graphics/pokemon/wynaut/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Wynaut: ; 8E15E88
+ .incbin "graphics/pokemon/wynaut/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Wynaut: ; 8E16118
+ .incbin "graphics/pokemon/wynaut/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Wynaut: ; 8E16140
+ .incbin "graphics/pokemon/wynaut/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Wynaut: ; 8E16540
+ .incbin "graphics/pokemon/wynaut/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Duskull: ; 8E16560
+ .incbin "graphics/pokemon/duskull/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Duskull: ; 8E16850
+ .incbin "graphics/pokemon/duskull/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Duskull: ; 8E16878
+ .incbin "graphics/pokemon/duskull/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Duskull: ; 8E16B28
+ .incbin "graphics/pokemon/duskull/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Duskull: ; 8E16B50
+ .incbin "graphics/pokemon/duskull/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Duskull: ; 8E16F50
+ .incbin "graphics/pokemon/duskull/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Dusclops: ; 8E16F70
+ .incbin "graphics/pokemon/dusclops/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Dusclops: ; 8E17310
+ .incbin "graphics/pokemon/dusclops/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Dusclops: ; 8E17338
+ .incbin "graphics/pokemon/dusclops/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Dusclops: ; 8E17624
+ .incbin "graphics/pokemon/dusclops/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Dusclops: ; 8E1764C
+ .incbin "graphics/pokemon/dusclops/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Dusclops: ; 8E17A4C
+ .incbin "graphics/pokemon/dusclops/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Roselia: ; 8E17A6C
+ .incbin "graphics/pokemon/roselia/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Roselia: ; 8E17DD8
+ .incbin "graphics/pokemon/roselia/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Roselia: ; 8E17E00
+ .incbin "graphics/pokemon/roselia/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Roselia: ; 8E181C8
+ .incbin "graphics/pokemon/roselia/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Roselia: ; 8E181F0
+ .incbin "graphics/pokemon/roselia/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Roselia: ; 8E185F0
+ .incbin "graphics/pokemon/roselia/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slakoth: ; 8E18610
+ .incbin "graphics/pokemon/slakoth/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slakoth: ; 8E188F8
+ .incbin "graphics/pokemon/slakoth/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slakoth: ; 8E18920
+ .incbin "graphics/pokemon/slakoth/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slakoth: ; 8E18C08
+ .incbin "graphics/pokemon/slakoth/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slakoth: ; 8E18C30
+ .incbin "graphics/pokemon/slakoth/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slakoth: ; 8E19030
+ .incbin "graphics/pokemon/slakoth/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Vigoroth: ; 8E19050
+ .incbin "graphics/pokemon/vigoroth/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Vigoroth: ; 8E1944C
+ .incbin "graphics/pokemon/vigoroth/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Vigoroth: ; 8E19474
+ .incbin "graphics/pokemon/vigoroth/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Vigoroth: ; 8E1973C
+ .incbin "graphics/pokemon/vigoroth/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Vigoroth: ; 8E19764
+ .incbin "graphics/pokemon/vigoroth/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Vigoroth: ; 8E19B64
+ .incbin "graphics/pokemon/vigoroth/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Slaking: ; 8E19B84
+ .incbin "graphics/pokemon/slaking/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Slaking: ; 8E1A058
+ .incbin "graphics/pokemon/slaking/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Slaking: ; 8E1A080
+ .incbin "graphics/pokemon/slaking/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Slaking: ; 8E1A444
+ .incbin "graphics/pokemon/slaking/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Slaking: ; 8E1A46C
+ .incbin "graphics/pokemon/slaking/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Slaking: ; 8E1A86C
+ .incbin "graphics/pokemon/slaking/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gulpin: ; 8E1A88C
+ .incbin "graphics/pokemon/gulpin/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gulpin: ; 8E1AAA4
+ .incbin "graphics/pokemon/gulpin/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gulpin: ; 8E1AACC
+ .incbin "graphics/pokemon/gulpin/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gulpin: ; 8E1AD50
+ .incbin "graphics/pokemon/gulpin/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gulpin: ; 8E1AD78
+ .incbin "graphics/pokemon/gulpin/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gulpin: ; 8E1B178
+ .incbin "graphics/pokemon/gulpin/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Swalot: ; 8E1B198
+ .incbin "graphics/pokemon/swalot/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Swalot: ; 8E1B4DC
+ .incbin "graphics/pokemon/swalot/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Swalot: ; 8E1B504
+ .incbin "graphics/pokemon/swalot/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Swalot: ; 8E1B84C
+ .incbin "graphics/pokemon/swalot/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Swalot: ; 8E1B874
+ .incbin "graphics/pokemon/swalot/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Swalot: ; 8E1BC74
+ .incbin "graphics/pokemon/swalot/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Tropius: ; 8E1BC94
+ .incbin "graphics/pokemon/tropius/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Tropius: ; 8E1C20C
+ .incbin "graphics/pokemon/tropius/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Tropius: ; 8E1C234
+ .incbin "graphics/pokemon/tropius/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Tropius: ; 8E1C558
+ .incbin "graphics/pokemon/tropius/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Tropius: ; 8E1C580
+ .incbin "graphics/pokemon/tropius/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Tropius: ; 8E1C980
+ .incbin "graphics/pokemon/tropius/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Whismur: ; 8E1C9A0
+ .incbin "graphics/pokemon/whismur/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Whismur: ; 8E1CC34
+ .incbin "graphics/pokemon/whismur/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Whismur: ; 8E1CC5C
+ .incbin "graphics/pokemon/whismur/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Whismur: ; 8E1CECC
+ .incbin "graphics/pokemon/whismur/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Whismur: ; 8E1CEF4
+ .incbin "graphics/pokemon/whismur/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Whismur: ; 8E1D2F4
+ .incbin "graphics/pokemon/whismur/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Loudred: ; 8E1D314
+ .incbin "graphics/pokemon/loudred/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Loudred: ; 8E1D78C
+ .incbin "graphics/pokemon/loudred/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Loudred: ; 8E1D7B4
+ .incbin "graphics/pokemon/loudred/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Loudred: ; 8E1DB24
+ .incbin "graphics/pokemon/loudred/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Loudred: ; 8E1DB4C
+ .incbin "graphics/pokemon/loudred/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Loudred: ; 8E1DF4C
+ .incbin "graphics/pokemon/loudred/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Exploud: ; 8E1DF6C
+ .incbin "graphics/pokemon/exploud/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Exploud: ; 8E1E4D4
+ .incbin "graphics/pokemon/exploud/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Exploud: ; 8E1E4FC
+ .incbin "graphics/pokemon/exploud/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Exploud: ; 8E1E908
+ .incbin "graphics/pokemon/exploud/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Exploud: ; 8E1E930
+ .incbin "graphics/pokemon/exploud/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Exploud: ; 8E1ED30
+ .incbin "graphics/pokemon/exploud/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Clamperl: ; 8E1ED50
+ .incbin "graphics/pokemon/clamperl/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Clamperl: ; 8E1F028
+ .incbin "graphics/pokemon/clamperl/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Clamperl: ; 8E1F050
+ .incbin "graphics/pokemon/clamperl/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Clamperl: ; 8E1F2E4
+ .incbin "graphics/pokemon/clamperl/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Clamperl: ; 8E1F30C
+ .incbin "graphics/pokemon/clamperl/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Clamperl: ; 8E1F70C
+ .incbin "graphics/pokemon/clamperl/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Huntail: ; 8E1F72C
+ .incbin "graphics/pokemon/huntail/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Huntail: ; 8E1FAF8
+ .incbin "graphics/pokemon/huntail/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Huntail: ; 8E1FB20
+ .incbin "graphics/pokemon/huntail/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Huntail: ; 8E1FE74
+ .incbin "graphics/pokemon/huntail/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Huntail: ; 8E1FE9C
+ .incbin "graphics/pokemon/huntail/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Huntail: ; 8E2029C
+ .incbin "graphics/pokemon/huntail/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gorebyss: ; 8E202BC
+ .incbin "graphics/pokemon/gorebyss/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gorebyss: ; 8E205CC
+ .incbin "graphics/pokemon/gorebyss/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gorebyss: ; 8E205F4
+ .incbin "graphics/pokemon/gorebyss/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gorebyss: ; 8E208DC
+ .incbin "graphics/pokemon/gorebyss/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gorebyss: ; 8E20904
+ .incbin "graphics/pokemon/gorebyss/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gorebyss: ; 8E20D04
+ .incbin "graphics/pokemon/gorebyss/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Absol: ; 8E20D24
+ .incbin "graphics/pokemon/absol/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Absol: ; 8E21154
+ .incbin "graphics/pokemon/absol/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Absol: ; 8E2117C
+ .incbin "graphics/pokemon/absol/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Absol: ; 8E214DC
+ .incbin "graphics/pokemon/absol/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Absol: ; 8E21504
+ .incbin "graphics/pokemon/absol/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Absol: ; 8E21904
+ .incbin "graphics/pokemon/absol/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shuppet: ; 8E21924
+ .incbin "graphics/pokemon/shuppet/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shuppet: ; 8E21B5C
+ .incbin "graphics/pokemon/shuppet/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shuppet: ; 8E21B84
+ .incbin "graphics/pokemon/shuppet/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shuppet: ; 8E21E1C
+ .incbin "graphics/pokemon/shuppet/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shuppet: ; 8E21E44
+ .incbin "graphics/pokemon/shuppet/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shuppet: ; 8E22244
+ .incbin "graphics/pokemon/shuppet/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Banette: ; 8E22264
+ .incbin "graphics/pokemon/banette/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Banette: ; 8E22518
+ .incbin "graphics/pokemon/banette/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Banette: ; 8E22540
+ .incbin "graphics/pokemon/banette/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Banette: ; 8E227BC
+ .incbin "graphics/pokemon/banette/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Banette: ; 8E227E4
+ .incbin "graphics/pokemon/banette/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Banette: ; 8E22BE4
+ .incbin "graphics/pokemon/banette/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Seviper: ; 8E22C04
+ .incbin "graphics/pokemon/seviper/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Seviper: ; 8E23024
+ .incbin "graphics/pokemon/seviper/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Seviper: ; 8E2304C
+ .incbin "graphics/pokemon/seviper/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Seviper: ; 8E234D8
+ .incbin "graphics/pokemon/seviper/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Seviper: ; 8E23500
+ .incbin "graphics/pokemon/seviper/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Seviper: ; 8E23900
+ .incbin "graphics/pokemon/seviper/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Zangoose: ; 8E23920
+ .incbin "graphics/pokemon/zangoose/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Zangoose: ; 8E23CEC
+ .incbin "graphics/pokemon/zangoose/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Zangoose: ; 8E23D14
+ .incbin "graphics/pokemon/zangoose/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Zangoose: ; 8E24088
+ .incbin "graphics/pokemon/zangoose/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Zangoose: ; 8E240B0
+ .incbin "graphics/pokemon/zangoose/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Zangoose: ; 8E244B0
+ .incbin "graphics/pokemon/zangoose/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Relicanth: ; 8E244D0
+ .incbin "graphics/pokemon/relicanth/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Relicanth: ; 8E24864
+ .incbin "graphics/pokemon/relicanth/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Relicanth: ; 8E2488C
+ .incbin "graphics/pokemon/relicanth/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Relicanth: ; 8E24BE4
+ .incbin "graphics/pokemon/relicanth/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Relicanth: ; 8E24C0C
+ .incbin "graphics/pokemon/relicanth/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Relicanth: ; 8E2500C
+ .incbin "graphics/pokemon/relicanth/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Aron: ; 8E2502C
+ .incbin "graphics/pokemon/aron/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Aron: ; 8E25214
+ .incbin "graphics/pokemon/aron/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Aron: ; 8E2523C
+ .incbin "graphics/pokemon/aron/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Aron: ; 8E25464
+ .incbin "graphics/pokemon/aron/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Aron: ; 8E2548C
+ .incbin "graphics/pokemon/aron/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Aron: ; 8E2588C
+ .incbin "graphics/pokemon/aron/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lairon: ; 8E258AC
+ .incbin "graphics/pokemon/lairon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lairon: ; 8E25C78
+ .incbin "graphics/pokemon/lairon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lairon: ; 8E25CA0
+ .incbin "graphics/pokemon/lairon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lairon: ; 8E25F8C
+ .incbin "graphics/pokemon/lairon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lairon: ; 8E25FB4
+ .incbin "graphics/pokemon/lairon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lairon: ; 8E263B4
+ .incbin "graphics/pokemon/lairon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Aggron: ; 8E263D4
+ .incbin "graphics/pokemon/aggron/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Aggron: ; 8E26950
+ .incbin "graphics/pokemon/aggron/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Aggron: ; 8E26978
+ .incbin "graphics/pokemon/aggron/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Aggron: ; 8E26DA0
+ .incbin "graphics/pokemon/aggron/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Aggron: ; 8E26DC8
+ .incbin "graphics/pokemon/aggron/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Aggron: ; 8E271C8
+ .incbin "graphics/pokemon/aggron/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Castform: ; 8E271E8
+ .incbin "graphics/pokemon/castform/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Castform: ; 8E27C70
+ .incbin "graphics/pokemon/castform/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Castform: ; 8E27CF0
+ .incbin "graphics/pokemon/castform/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Castform: ; 8E286AC
+ .incbin "graphics/pokemon/castform/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Castform: ; 8E28728
+ .incbin "graphics/pokemon/castform/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Castform: ; 8E28B28
+ .incbin "graphics/pokemon/castform/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Volbeat: ; 8E28B48
+ .incbin "graphics/pokemon/volbeat/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Volbeat: ; 8E28ED8
+ .incbin "graphics/pokemon/volbeat/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Volbeat: ; 8E28F00
+ .incbin "graphics/pokemon/volbeat/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Volbeat: ; 8E29260
+ .incbin "graphics/pokemon/volbeat/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Volbeat: ; 8E29288
+ .incbin "graphics/pokemon/volbeat/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Volbeat: ; 8E29688
+ .incbin "graphics/pokemon/volbeat/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Illumise: ; 8E296A8
+ .incbin "graphics/pokemon/illumise/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Illumise: ; 8E29A1C
+ .incbin "graphics/pokemon/illumise/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Illumise: ; 8E29A44
+ .incbin "graphics/pokemon/illumise/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Illumise: ; 8E29D60
+ .incbin "graphics/pokemon/illumise/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Illumise: ; 8E29D88
+ .incbin "graphics/pokemon/illumise/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Illumise: ; 8E2A188
+ .incbin "graphics/pokemon/illumise/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Lileep: ; 8E2A1A8
+ .incbin "graphics/pokemon/lileep/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Lileep: ; 8E2A4EC
+ .incbin "graphics/pokemon/lileep/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Lileep: ; 8E2A514
+ .incbin "graphics/pokemon/lileep/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Lileep: ; 8E2A858
+ .incbin "graphics/pokemon/lileep/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Lileep: ; 8E2A880
+ .incbin "graphics/pokemon/lileep/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Lileep: ; 8E2AC80
+ .incbin "graphics/pokemon/lileep/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Cradily: ; 8E2ACA0
+ .incbin "graphics/pokemon/cradily/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Cradily: ; 8E2B0BC
+ .incbin "graphics/pokemon/cradily/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Cradily: ; 8E2B0E4
+ .incbin "graphics/pokemon/cradily/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Cradily: ; 8E2B4E0
+ .incbin "graphics/pokemon/cradily/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Cradily: ; 8E2B508
+ .incbin "graphics/pokemon/cradily/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Cradily: ; 8E2B908
+ .incbin "graphics/pokemon/cradily/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Anorith: ; 8E2B928
+ .incbin "graphics/pokemon/anorith/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Anorith: ; 8E2BC4C
+ .incbin "graphics/pokemon/anorith/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Anorith: ; 8E2BC74
+ .incbin "graphics/pokemon/anorith/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Anorith: ; 8E2BEBC
+ .incbin "graphics/pokemon/anorith/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Anorith: ; 8E2BEE4
+ .incbin "graphics/pokemon/anorith/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Anorith: ; 8E2C2E4
+ .incbin "graphics/pokemon/anorith/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Armaldo: ; 8E2C304
+ .incbin "graphics/pokemon/armaldo/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Armaldo: ; 8E2C884
+ .incbin "graphics/pokemon/armaldo/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Armaldo: ; 8E2C8AC
+ .incbin "graphics/pokemon/armaldo/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Armaldo: ; 8E2CCE4
+ .incbin "graphics/pokemon/armaldo/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Armaldo: ; 8E2CD0C
+ .incbin "graphics/pokemon/armaldo/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Armaldo: ; 8E2D10C
+ .incbin "graphics/pokemon/armaldo/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Ralts: ; 8E2D12C
+ .incbin "graphics/pokemon/ralts/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Ralts: ; 8E2D35C
+ .incbin "graphics/pokemon/ralts/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Ralts: ; 8E2D384
+ .incbin "graphics/pokemon/ralts/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Ralts: ; 8E2D5C0
+ .incbin "graphics/pokemon/ralts/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Ralts: ; 8E2D5E8
+ .incbin "graphics/pokemon/ralts/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Ralts: ; 8E2D9E8
+ .incbin "graphics/pokemon/ralts/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kirlia: ; 8E2DA08
+ .incbin "graphics/pokemon/kirlia/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kirlia: ; 8E2DD04
+ .incbin "graphics/pokemon/kirlia/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kirlia: ; 8E2DD2C
+ .incbin "graphics/pokemon/kirlia/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kirlia: ; 8E2E0A0
+ .incbin "graphics/pokemon/kirlia/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kirlia: ; 8E2E0C8
+ .incbin "graphics/pokemon/kirlia/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kirlia: ; 8E2E4C8
+ .incbin "graphics/pokemon/kirlia/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Gardevoir: ; 8E2E4E8
+ .incbin "graphics/pokemon/gardevoir/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Gardevoir: ; 8E2E864
+ .incbin "graphics/pokemon/gardevoir/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Gardevoir: ; 8E2E88C
+ .incbin "graphics/pokemon/gardevoir/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Gardevoir: ; 8E2EBC0
+ .incbin "graphics/pokemon/gardevoir/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Gardevoir: ; 8E2EBE8
+ .incbin "graphics/pokemon/gardevoir/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Gardevoir: ; 8E2EFE8
+ .incbin "graphics/pokemon/gardevoir/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Bagon: ; 8E2F008
+ .incbin "graphics/pokemon/bagon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Bagon: ; 8E2F280
+ .incbin "graphics/pokemon/bagon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Bagon: ; 8E2F2A8
+ .incbin "graphics/pokemon/bagon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Bagon: ; 8E2F590
+ .incbin "graphics/pokemon/bagon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Bagon: ; 8E2F5B8
+ .incbin "graphics/pokemon/bagon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Bagon: ; 8E2F9B8
+ .incbin "graphics/pokemon/bagon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Shelgon: ; 8E2F9D8
+ .incbin "graphics/pokemon/shelgon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Shelgon: ; 8E2FCDC
+ .incbin "graphics/pokemon/shelgon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Shelgon: ; 8E2FD04
+ .incbin "graphics/pokemon/shelgon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Shelgon: ; 8E2FFEC
+ .incbin "graphics/pokemon/shelgon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Shelgon: ; 8E30014
+ .incbin "graphics/pokemon/shelgon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Shelgon: ; 8E30414
+ .incbin "graphics/pokemon/shelgon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Salamence: ; 8E30434
+ .incbin "graphics/pokemon/salamence/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Salamence: ; 8E30898
+ .incbin "graphics/pokemon/salamence/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Salamence: ; 8E308C0
+ .incbin "graphics/pokemon/salamence/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Salamence: ; 8E30BA4
+ .incbin "graphics/pokemon/salamence/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Salamence: ; 8E30BCC
+ .incbin "graphics/pokemon/salamence/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Salamence: ; 8E30FCC
+ .incbin "graphics/pokemon/salamence/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Beldum: ; 8E30FEC
+ .incbin "graphics/pokemon/beldum/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Beldum: ; 8E3125C
+ .incbin "graphics/pokemon/beldum/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Beldum: ; 8E31284
+ .incbin "graphics/pokemon/beldum/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Beldum: ; 8E31574
+ .incbin "graphics/pokemon/beldum/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Beldum: ; 8E3159C
+ .incbin "graphics/pokemon/beldum/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Beldum: ; 8E3199C
+ .incbin "graphics/pokemon/beldum/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Metang: ; 8E319BC
+ .incbin "graphics/pokemon/metang/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Metang: ; 8E31E18
+ .incbin "graphics/pokemon/metang/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Metang: ; 8E31E40
+ .incbin "graphics/pokemon/metang/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Metang: ; 8E32164
+ .incbin "graphics/pokemon/metang/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Metang: ; 8E3218C
+ .incbin "graphics/pokemon/metang/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Metang: ; 8E3258C
+ .incbin "graphics/pokemon/metang/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Metagross: ; 8E325AC
+ .incbin "graphics/pokemon/metagross/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Metagross: ; 8E32A10
+ .incbin "graphics/pokemon/metagross/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Metagross: ; 8E32A38
+ .incbin "graphics/pokemon/metagross/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Metagross: ; 8E32D04
+ .incbin "graphics/pokemon/metagross/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Metagross: ; 8E32D2C
+ .incbin "graphics/pokemon/metagross/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Metagross: ; 8E3312C
+ .incbin "graphics/pokemon/metagross/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Regirock: ; 8E3314C
+ .incbin "graphics/pokemon/regirock/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Regirock: ; 8E33608
+ .incbin "graphics/pokemon/regirock/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Regirock: ; 8E33630
+ .incbin "graphics/pokemon/regirock/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Regirock: ; 8E33A7C
+ .incbin "graphics/pokemon/regirock/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Regirock: ; 8E33AA4
+ .incbin "graphics/pokemon/regirock/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Regirock: ; 8E33EA4
+ .incbin "graphics/pokemon/regirock/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Regice: ; 8E33EC4
+ .incbin "graphics/pokemon/regice/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Regice: ; 8E3430C
+ .incbin "graphics/pokemon/regice/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Regice: ; 8E34334
+ .incbin "graphics/pokemon/regice/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Regice: ; 8E34624
+ .incbin "graphics/pokemon/regice/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Regice: ; 8E3464C
+ .incbin "graphics/pokemon/regice/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Regice: ; 8E34A4C
+ .incbin "graphics/pokemon/regice/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Registeel: ; 8E34A6C
+ .incbin "graphics/pokemon/registeel/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Registeel: ; 8E34EF4
+ .incbin "graphics/pokemon/registeel/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Registeel: ; 8E34F1C
+ .incbin "graphics/pokemon/registeel/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Registeel: ; 8E35254
+ .incbin "graphics/pokemon/registeel/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Registeel: ; 8E3527C
+ .incbin "graphics/pokemon/registeel/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Registeel: ; 8E3567C
+ .incbin "graphics/pokemon/registeel/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Kyogre: ; 8E3569C
+ .incbin "graphics/pokemon/kyogre/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Kyogre: ; 8E35B0C
+ .incbin "graphics/pokemon/kyogre/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Kyogre: ; 8E35B34
+ .incbin "graphics/pokemon/kyogre/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Kyogre: ; 8E35DAC
+ .incbin "graphics/pokemon/kyogre/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Kyogre: ; 8E35DD4
+ .incbin "graphics/pokemon/kyogre/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Kyogre: ; 8E361D4
+ .incbin "graphics/pokemon/kyogre/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Groudon: ; 8E361F4
+ .incbin "graphics/pokemon/groudon/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Groudon: ; 8E36788
+ .incbin "graphics/pokemon/groudon/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Groudon: ; 8E367B0
+ .incbin "graphics/pokemon/groudon/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Groudon: ; 8E36C18
+ .incbin "graphics/pokemon/groudon/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Groudon: ; 8E36C40
+ .incbin "graphics/pokemon/groudon/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Groudon: ; 8E37040
+ .incbin "graphics/pokemon/groudon/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Rayquaza: ; 8E37060
+ .incbin "graphics/pokemon/rayquaza/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Rayquaza: ; 8E37570
+ .incbin "graphics/pokemon/rayquaza/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Rayquaza: ; 8E37598
+ .incbin "graphics/pokemon/rayquaza/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Rayquaza: ; 8E378D0
+ .incbin "graphics/pokemon/rayquaza/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Rayquaza: ; 8E378F8
+ .incbin "graphics/pokemon/rayquaza/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Rayquaza: ; 8E37CF8
+ .incbin "graphics/pokemon/rayquaza/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Latias: ; 8E37D18
+ .incbin "graphics/pokemon/latias/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Latias: ; 8E3813C
+ .incbin "graphics/pokemon/latias/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Latias: ; 8E38164
+ .incbin "graphics/pokemon/latias/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Latias: ; 8E38460
+ .incbin "graphics/pokemon/latias/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Latias: ; 8E38488
+ .incbin "graphics/pokemon/latias/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Latias: ; 8E38888
+ .incbin "graphics/pokemon/latias/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Latios: ; 8E388A8
+ .incbin "graphics/pokemon/latios/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Latios: ; 8E38CFC
+ .incbin "graphics/pokemon/latios/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Latios: ; 8E38D24
+ .incbin "graphics/pokemon/latios/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Latios: ; 8E39084
+ .incbin "graphics/pokemon/latios/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Latios: ; 8E390AC
+ .incbin "graphics/pokemon/latios/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Latios: ; 8E394AC
+ .incbin "graphics/pokemon/latios/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Jirachi: ; 8E394CC
+ .incbin "graphics/pokemon/jirachi/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Jirachi: ; 8E397D8
+ .incbin "graphics/pokemon/jirachi/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Jirachi: ; 8E39800
+ .incbin "graphics/pokemon/jirachi/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Jirachi: ; 8E39BA0
+ .incbin "graphics/pokemon/jirachi/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Jirachi: ; 8E39BC8
+ .incbin "graphics/pokemon/jirachi/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Jirachi: ; 8E39FC8
+ .incbin "graphics/pokemon/jirachi/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Deoxys: ; 8E39FE8
+ .incbin "graphics/pokemon/deoxys/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Deoxys: ; 8E3A3C4
+ .incbin "graphics/pokemon/deoxys/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Deoxys: ; 8E3A3EC
+ .incbin "graphics/pokemon/deoxys/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Deoxys: ; 8E3A740
+ .incbin "graphics/pokemon/deoxys/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Deoxys: ; 8E3A768
+ .incbin "graphics/pokemon/deoxys/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Deoxys: ; 8E3AB68
+ .incbin "graphics/pokemon/deoxys/footprint.1bpp"
+
+ .align 2
+
+gMonFrontPic_Chimecho: ; 8E3AB88
+ .incbin "graphics/pokemon/chimecho/front.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Chimecho: ; 8E3ADD4
+ .incbin "graphics/pokemon/chimecho/normal.gbapal.lz"
+
+ .align 2
+
+gMonBackPic_Chimecho: ; 8E3ADFC
+ .incbin "graphics/pokemon/chimecho/back.4bpp.lz"
+
+ .align 2
+
+gMonShinyPalette_Chimecho: ; 8E3B070
+ .incbin "graphics/pokemon/chimecho/shiny.gbapal.lz"
+
+ .align 2
+
+gMonIcon_Chimecho: ; 8E3B098
+ .incbin "graphics/pokemon/chimecho/icon.4bpp"
+
+ .align 2
+
+gMonFootprint_Chimecho: ; 8E3B498
+ .incbin "graphics/pokemon/chimecho/footprint.1bpp"
+
+ .align 2
+
+gMonPic_Egg: ; 8E3B4B8
+ .incbin "graphics/pokemon/egg/pic.4bpp.lz"
+
+ .align 2
+
+gMonPalette_Egg: ; 8E3B66C
+ .incbin "graphics/pokemon/egg/palette.gbapal.lz"
+
+ .align 2
+
+gMonFrontPic_UnownB: ; 8E3B68C
+ .incbin "graphics/pokemon/unown/front_b.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownB: ; 8E3B864
+ .incbin "graphics/pokemon/unown/back_b.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownB: ; 8E3BA68
+ .incbin "graphics/pokemon/unown/icon_b.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownC: ; 8E3BE68
+ .incbin "graphics/pokemon/unown/front_c.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownC: ; 8E3C07C
+ .incbin "graphics/pokemon/unown/back_c.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownC: ; 8E3C328
+ .incbin "graphics/pokemon/unown/icon_c.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownD: ; 8E3C728
+ .incbin "graphics/pokemon/unown/front_d.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownD: ; 8E3C920
+ .incbin "graphics/pokemon/unown/back_d.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownD: ; 8E3CB78
+ .incbin "graphics/pokemon/unown/icon_d.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownE: ; 8E3CF78
+ .incbin "graphics/pokemon/unown/front_e.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownE: ; 8E3D130
+ .incbin "graphics/pokemon/unown/back_e.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownE: ; 8E3D330
+ .incbin "graphics/pokemon/unown/icon_e.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownF: ; 8E3D730
+ .incbin "graphics/pokemon/unown/front_f.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownF: ; 8E3D924
+ .incbin "graphics/pokemon/unown/back_f.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownF: ; 8E3DB40
+ .incbin "graphics/pokemon/unown/icon_f.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownG: ; 8E3DF40
+ .incbin "graphics/pokemon/unown/front_g.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownG: ; 8E3E11C
+ .incbin "graphics/pokemon/unown/back_g.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownG: ; 8E3E368
+ .incbin "graphics/pokemon/unown/icon_g.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownH: ; 8E3E768
+ .incbin "graphics/pokemon/unown/front_h.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownH: ; 8E3E9AC
+ .incbin "graphics/pokemon/unown/back_h.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownH: ; 8E3EC70
+ .incbin "graphics/pokemon/unown/icon_h.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownI: ; 8E3F070
+ .incbin "graphics/pokemon/unown/front_i.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownI: ; 8E3F208
+ .incbin "graphics/pokemon/unown/back_i.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownI: ; 8E3F3B0
+ .incbin "graphics/pokemon/unown/icon_i.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownJ: ; 8E3F7B0
+ .incbin "graphics/pokemon/unown/front_j.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownJ: ; 8E3F974
+ .incbin "graphics/pokemon/unown/back_j.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownJ: ; 8E3FB5C
+ .incbin "graphics/pokemon/unown/icon_j.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownK: ; 8E3FF5C
+ .incbin "graphics/pokemon/unown/front_k.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownK: ; 8E4012C
+ .incbin "graphics/pokemon/unown/back_k.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownK: ; 8E40324
+ .incbin "graphics/pokemon/unown/icon_k.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownL: ; 8E40724
+ .incbin "graphics/pokemon/unown/front_l.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownL: ; 8E408D4
+ .incbin "graphics/pokemon/unown/back_l.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownL: ; 8E40AA8
+ .incbin "graphics/pokemon/unown/icon_l.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownM: ; 8E40EA8
+ .incbin "graphics/pokemon/unown/front_m.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownM: ; 8E410CC
+ .incbin "graphics/pokemon/unown/back_m.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownM: ; 8E41374
+ .incbin "graphics/pokemon/unown/icon_m.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownN: ; 8E41774
+ .incbin "graphics/pokemon/unown/front_n.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownN: ; 8E4196C
+ .incbin "graphics/pokemon/unown/back_n.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownN: ; 8E41BD8
+ .incbin "graphics/pokemon/unown/icon_n.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownO: ; 8E41FD8
+ .incbin "graphics/pokemon/unown/front_o.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownO: ; 8E42210
+ .incbin "graphics/pokemon/unown/back_o.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownO: ; 8E424D0
+ .incbin "graphics/pokemon/unown/icon_o.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownP: ; 8E428D0
+ .incbin "graphics/pokemon/unown/front_p.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownP: ; 8E42A70
+ .incbin "graphics/pokemon/unown/back_p.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownP: ; 8E42C34
+ .incbin "graphics/pokemon/unown/icon_p.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownQ: ; 8E43034
+ .incbin "graphics/pokemon/unown/front_q.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownQ: ; 8E431E8
+ .incbin "graphics/pokemon/unown/back_q.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownQ: ; 8E433B4
+ .incbin "graphics/pokemon/unown/icon_q.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownR: ; 8E437B4
+ .incbin "graphics/pokemon/unown/front_r.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownR: ; 8E43958
+ .incbin "graphics/pokemon/unown/back_r.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownR: ; 8E43B20
+ .incbin "graphics/pokemon/unown/icon_r.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownS: ; 8E43F20
+ .incbin "graphics/pokemon/unown/front_s.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownS: ; 8E44108
+ .incbin "graphics/pokemon/unown/back_s.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownS: ; 8E4435C
+ .incbin "graphics/pokemon/unown/icon_s.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownT: ; 8E4475C
+ .incbin "graphics/pokemon/unown/front_t.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownT: ; 8E4490C
+ .incbin "graphics/pokemon/unown/back_t.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownT: ; 8E44AC0
+ .incbin "graphics/pokemon/unown/icon_t.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownU: ; 8E44EC0
+ .incbin "graphics/pokemon/unown/front_u.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownU: ; 8E450D8
+ .incbin "graphics/pokemon/unown/back_u.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownU: ; 8E4532C
+ .incbin "graphics/pokemon/unown/icon_u.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownV: ; 8E4572C
+ .incbin "graphics/pokemon/unown/front_v.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownV: ; 8E45910
+ .incbin "graphics/pokemon/unown/back_v.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownV: ; 8E45B40
+ .incbin "graphics/pokemon/unown/icon_v.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownW: ; 8E45F40
+ .incbin "graphics/pokemon/unown/front_w.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownW: ; 8E46114
+ .incbin "graphics/pokemon/unown/back_w.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownW: ; 8E46318
+ .incbin "graphics/pokemon/unown/icon_w.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownX: ; 8E46718
+ .incbin "graphics/pokemon/unown/front_x.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownX: ; 8E468DC
+ .incbin "graphics/pokemon/unown/back_x.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownX: ; 8E46ACC
+ .incbin "graphics/pokemon/unown/icon_x.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownY: ; 8E46ECC
+ .incbin "graphics/pokemon/unown/front_y.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownY: ; 8E470A4
+ .incbin "graphics/pokemon/unown/back_y.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownY: ; 8E47298
+ .incbin "graphics/pokemon/unown/icon_y.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownZ: ; 8E47698
+ .incbin "graphics/pokemon/unown/front_z.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownZ: ; 8E47848
+ .incbin "graphics/pokemon/unown/back_z.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownZ: ; 8E47A24
+ .incbin "graphics/pokemon/unown/icon_z.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownExclamationMark: ; 8E47E24
+ .incbin "graphics/pokemon/unown/front_exclamation_mark.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownExclamationMark: ; 8E47FB4
+ .incbin "graphics/pokemon/unown/back_exclamation_mark.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownExclamationMark: ; 8E4817C
+ .incbin "graphics/pokemon/unown/icon_exclamation_mark.4bpp"
+
+ .align 2
+
+gMonFrontPic_UnownQuestionMark: ; 8E4857C
+ .incbin "graphics/pokemon/unown/front_question_mark.4bpp.lz"
+
+ .align 2
+
+gMonBackPic_UnownQuestionMark: ; 8E48738
+ .incbin "graphics/pokemon/unown/back_question_mark.4bpp.lz"
+
+ .align 2
+
+gMonIcon_UnownQuestionMark: ; 8E48938
+ .incbin "graphics/pokemon/unown/icon_question_mark.4bpp"
diff --git a/data/graphics/pokemon/icon_palette_indices.s b/data/graphics/pokemon/icon_palette_indices.s
new file mode 100644
index 000000000..2c443666a
--- /dev/null
+++ b/data/graphics/pokemon/icon_palette_indices.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonIconPaletteIndices: ; 83BC400
+ .byte 0 ; ??????????
+ .byte 1 ; Bulbasaur
+ .byte 1 ; Ivysaur
+ .byte 1 ; Venusaur
+ .byte 0 ; Charmander
+ .byte 0 ; Charmeleon
+ .byte 0 ; Charizard
+ .byte 0 ; Squirtle
+ .byte 2 ; Wartortle
+ .byte 2 ; Blastoise
+ .byte 1 ; Caterpie
+ .byte 1 ; Metapod
+ .byte 0 ; Butterfree
+ .byte 1 ; Weedle
+ .byte 2 ; Kakuna
+ .byte 2 ; Beedrill
+ .byte 0 ; Pidgey
+ .byte 0 ; Pidgeotto
+ .byte 0 ; Pidgeot
+ .byte 2 ; Rattata
+ .byte 1 ; Raticate
+ .byte 0 ; Spearow
+ .byte 0 ; Fearow
+ .byte 2 ; Ekans
+ .byte 2 ; Arbok
+ .byte 2 ; Pikachu
+ .byte 0 ; Raichu
+ .byte 2 ; Sandshrew
+ .byte 2 ; Sandslash
+ .byte 2 ; Nidoran♀
+ .byte 2 ; Nidorina
+ .byte 2 ; Nidoqueen
+ .byte 2 ; Nidoran♂
+ .byte 2 ; Nidorino
+ .byte 2 ; Nidoking
+ .byte 0 ; Clefairy
+ .byte 0 ; Clefable
+ .byte 2 ; Vulpix
+ .byte 1 ; Ninetales
+ .byte 0 ; Jigglypuff
+ .byte 0 ; Wigglytuff
+ .byte 2 ; Zubat
+ .byte 2 ; Golbat
+ .byte 1 ; Oddish
+ .byte 0 ; Gloom
+ .byte 0 ; Vileplume
+ .byte 0 ; Paras
+ .byte 0 ; Parasect
+ .byte 0 ; Venonat
+ .byte 2 ; Venomoth
+ .byte 2 ; Diglett
+ .byte 2 ; Dugtrio
+ .byte 1 ; Meowth
+ .byte 1 ; Persian
+ .byte 1 ; Psyduck
+ .byte 2 ; Golduck
+ .byte 1 ; Mankey
+ .byte 2 ; Primeape
+ .byte 0 ; Growlithe
+ .byte 0 ; Arcanine
+ .byte 0 ; Poliwag
+ .byte 0 ; Poliwhirl
+ .byte 0 ; Poliwrath
+ .byte 2 ; Abra
+ .byte 2 ; Kadabra
+ .byte 2 ; Alakazam
+ .byte 0 ; Machop
+ .byte 2 ; Machoke
+ .byte 0 ; Machamp
+ .byte 1 ; Bellsprout
+ .byte 1 ; Weepinbell
+ .byte 1 ; Victreebel
+ .byte 2 ; Tentacool
+ .byte 2 ; Tentacruel
+ .byte 1 ; Geodude
+ .byte 1 ; Graveler
+ .byte 1 ; Golem
+ .byte 0 ; Ponyta
+ .byte 0 ; Rapidash
+ .byte 0 ; Slowpoke
+ .byte 0 ; Slowbro
+ .byte 0 ; Magnemite
+ .byte 0 ; Magneton
+ .byte 1 ; Farfetch'd
+ .byte 2 ; Doduo
+ .byte 2 ; Dodrio
+ .byte 2 ; Seel
+ .byte 2 ; Dewgong
+ .byte 2 ; Grimer
+ .byte 2 ; Muk
+ .byte 2 ; Shellder
+ .byte 2 ; Cloyster
+ .byte 2 ; Gastly
+ .byte 2 ; Haunter
+ .byte 2 ; Gengar
+ .byte 2 ; Onix
+ .byte 2 ; Drowzee
+ .byte 1 ; Hypno
+ .byte 2 ; Krabby
+ .byte 2 ; Kingler
+ .byte 0 ; Voltorb
+ .byte 0 ; Electrode
+ .byte 0 ; Exeggcute
+ .byte 1 ; Exeggutor
+ .byte 1 ; Cubone
+ .byte 1 ; Marowak
+ .byte 2 ; Hitmonlee
+ .byte 2 ; Hitmonchan
+ .byte 1 ; Lickitung
+ .byte 2 ; Koffing
+ .byte 2 ; Weezing
+ .byte 1 ; Rhyhorn
+ .byte 1 ; Rhydon
+ .byte 0 ; Chansey
+ .byte 0 ; Tangela
+ .byte 1 ; Kangaskhan
+ .byte 0 ; Horsea
+ .byte 0 ; Seadra
+ .byte 0 ; Goldeen
+ .byte 0 ; Seaking
+ .byte 2 ; Staryu
+ .byte 2 ; Starmie
+ .byte 0 ; Mr. mime
+ .byte 1 ; Scyther
+ .byte 2 ; Jynx
+ .byte 1 ; Electabuzz
+ .byte 0 ; Magmar
+ .byte 2 ; Pinsir
+ .byte 2 ; Tauros
+ .byte 0 ; Magikarp
+ .byte 0 ; Gyarados
+ .byte 2 ; Lapras
+ .byte 2 ; Ditto
+ .byte 2 ; Eevee
+ .byte 0 ; Vaporeon
+ .byte 0 ; Jolteon
+ .byte 0 ; Flareon
+ .byte 0 ; Porygon
+ .byte 0 ; Omanyte
+ .byte 0 ; Omastar
+ .byte 2 ; Kabuto
+ .byte 2 ; Kabutops
+ .byte 0 ; Aerodactyl
+ .byte 1 ; Snorlax
+ .byte 0 ; Articuno
+ .byte 0 ; Zapdos
+ .byte 0 ; Moltres
+ .byte 0 ; Dratini
+ .byte 0 ; Dragonair
+ .byte 2 ; Dragonite
+ .byte 2 ; Mewtwo
+ .byte 0 ; Mew
+ .byte 1 ; Chikorita
+ .byte 1 ; Bayleef
+ .byte 1 ; Meganium
+ .byte 1 ; Cyndaquil
+ .byte 1 ; Quilava
+ .byte 1 ; Typhlosion
+ .byte 2 ; Totodile
+ .byte 2 ; Croconaw
+ .byte 2 ; Feraligatr
+ .byte 2 ; Sentret
+ .byte 2 ; Furret
+ .byte 2 ; Hoothoot
+ .byte 2 ; Noctowl
+ .byte 0 ; Ledyba
+ .byte 0 ; Ledian
+ .byte 1 ; Spinarak
+ .byte 0 ; Ariados
+ .byte 2 ; Crobat
+ .byte 2 ; Chinchou
+ .byte 0 ; Lanturn
+ .byte 0 ; Pichu
+ .byte 0 ; Cleffa
+ .byte 1 ; Igglybuff
+ .byte 2 ; Togepi
+ .byte 2 ; Togetic
+ .byte 0 ; Natu
+ .byte 0 ; Xatu
+ .byte 2 ; Mareep
+ .byte 0 ; Flaaffy
+ .byte 0 ; Ampharos
+ .byte 1 ; Bellossom
+ .byte 2 ; Marill
+ .byte 2 ; Azumarill
+ .byte 1 ; Sudowoodo
+ .byte 1 ; Politoed
+ .byte 1 ; Hoppip
+ .byte 1 ; Skiploom
+ .byte 2 ; Jumpluff
+ .byte 2 ; Aipom
+ .byte 1 ; Sunkern
+ .byte 1 ; Sunflora
+ .byte 1 ; Yanma
+ .byte 0 ; Wooper
+ .byte 0 ; Quagsire
+ .byte 2 ; Espeon
+ .byte 2 ; Umbreon
+ .byte 2 ; Murkrow
+ .byte 0 ; Slowking
+ .byte 0 ; Misdreavus
+ .byte 0 ; Unown A
+ .byte 0 ; Wobbuffet
+ .byte 1 ; Girafarig
+ .byte 0 ; Pineco
+ .byte 2 ; Forretress
+ .byte 2 ; Dunsparce
+ .byte 2 ; Gligar
+ .byte 0 ; Steelix
+ .byte 0 ; Snubbull
+ .byte 2 ; Granbull
+ .byte 0 ; Qwilfish
+ .byte 0 ; Scizor
+ .byte 1 ; Shuckle
+ .byte 2 ; Heracross
+ .byte 0 ; Sneasel
+ .byte 0 ; Teddiursa
+ .byte 2 ; Ursaring
+ .byte 0 ; Slugma
+ .byte 0 ; Magcargo
+ .byte 2 ; Swinub
+ .byte 2 ; Piloswine
+ .byte 0 ; Corsola
+ .byte 0 ; Remoraid
+ .byte 0 ; Octillery
+ .byte 0 ; Delibird
+ .byte 2 ; Mantine
+ .byte 0 ; Skarmory
+ .byte 0 ; Houndour
+ .byte 0 ; Houndoom
+ .byte 0 ; Kingdra
+ .byte 0 ; Phanpy
+ .byte 0 ; Donphan
+ .byte 0 ; Porygon2
+ .byte 2 ; Stantler
+ .byte 1 ; Smeargle
+ .byte 2 ; Tyrogue
+ .byte 2 ; Hitmontop
+ .byte 1 ; Smoochum
+ .byte 1 ; Elekid
+ .byte 1 ; Magby
+ .byte 1 ; Miltank
+ .byte 1 ; Blissey
+ .byte 0 ; Raikou
+ .byte 2 ; Entei
+ .byte 0 ; Suicune
+ .byte 1 ; Larvitar
+ .byte 0 ; Pupitar
+ .byte 1 ; Tyranitar
+ .byte 0 ; Lugia
+ .byte 1 ; Ho-Oh
+ .byte 1 ; Celebi
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 0 ; ?
+ .byte 1 ; Treecko
+ .byte 0 ; Grovyle
+ .byte 1 ; Sceptile
+ .byte 0 ; Torchic
+ .byte 0 ; Combusken
+ .byte 0 ; Blaziken
+ .byte 0 ; Mudkip
+ .byte 0 ; Marshtomp
+ .byte 0 ; Swampert
+ .byte 2 ; Poochyena
+ .byte 2 ; Mightyena
+ .byte 2 ; Zigzagoon
+ .byte 2 ; Linoone
+ .byte 0 ; Wurmple
+ .byte 2 ; Silcoon
+ .byte 0 ; Beautifly
+ .byte 2 ; Cascoon
+ .byte 1 ; Dustox
+ .byte 1 ; Lotad
+ .byte 1 ; Lombre
+ .byte 1 ; Ludicolo
+ .byte 1 ; Seedot
+ .byte 1 ; Nuzleaf
+ .byte 0 ; Shiftry
+ .byte 1 ; Nincada
+ .byte 1 ; Ninjask
+ .byte 1 ; Shedinja
+ .byte 2 ; Taillow
+ .byte 2 ; Swellow
+ .byte 1 ; Shroomish
+ .byte 1 ; Breloom
+ .byte 1 ; Spinda
+ .byte 0 ; Wingull
+ .byte 0 ; Pelipper
+ .byte 2 ; Surskit
+ .byte 0 ; Masquerain
+ .byte 2 ; Wailmer
+ .byte 0 ; Wailord
+ .byte 0 ; Skitty
+ .byte 2 ; Delcatty
+ .byte 1 ; Kecleon
+ .byte 1 ; Baltoy
+ .byte 0 ; Claydol
+ .byte 0 ; Nosepass
+ .byte 1 ; Torkoal
+ .byte 2 ; Sableye
+ .byte 0 ; Barboach
+ .byte 0 ; Whiscash
+ .byte 0 ; Luvdisc
+ .byte 0 ; Corphish
+ .byte 0 ; Crawdaunt
+ .byte 2 ; Feebas
+ .byte 0 ; Milotic
+ .byte 0 ; Carvanha
+ .byte 0 ; Sharpedo
+ .byte 1 ; Trapinch
+ .byte 1 ; Vibrava
+ .byte 1 ; Flygon
+ .byte 2 ; Makuhita
+ .byte 1 ; Hariyama
+ .byte 1 ; Electrike
+ .byte 0 ; Manectric
+ .byte 1 ; Numel
+ .byte 0 ; Camerupt
+ .byte 2 ; Spheal
+ .byte 2 ; Sealeo
+ .byte 0 ; Walrein
+ .byte 1 ; Cacnea
+ .byte 1 ; Cacturne
+ .byte 2 ; Snorunt
+ .byte 0 ; Glalie
+ .byte 1 ; Lunatone
+ .byte 0 ; Solrock
+ .byte 2 ; Azurill
+ .byte 0 ; Spoink
+ .byte 2 ; Grumpig
+ .byte 0 ; Plusle
+ .byte 0 ; Minun
+ .byte 2 ; Mawile
+ .byte 0 ; Meditite
+ .byte 0 ; Medicham
+ .byte 0 ; Swablu
+ .byte 0 ; Altaria
+ .byte 0 ; Wynaut
+ .byte 0 ; Duskull
+ .byte 0 ; Dusclops
+ .byte 0 ; Roselia
+ .byte 2 ; Slakoth
+ .byte 2 ; Vigoroth
+ .byte 1 ; Slaking
+ .byte 1 ; Gulpin
+ .byte 2 ; Swalot
+ .byte 1 ; Tropius
+ .byte 0 ; Whismur
+ .byte 2 ; Loudred
+ .byte 2 ; Exploud
+ .byte 0 ; Clamperl
+ .byte 0 ; Huntail
+ .byte 0 ; Gorebyss
+ .byte 0 ; Absol
+ .byte 0 ; Shuppet
+ .byte 0 ; Banette
+ .byte 2 ; Seviper
+ .byte 0 ; Zangoose
+ .byte 1 ; Relicanth
+ .byte 2 ; Aron
+ .byte 2 ; Lairon
+ .byte 2 ; Aggron
+ .byte 0 ; Castform
+ .byte 0 ; Volbeat
+ .byte 2 ; Illumise
+ .byte 2 ; Lileep
+ .byte 0 ; Cradily
+ .byte 0 ; Anorith
+ .byte 0 ; Armaldo
+ .byte 1 ; Ralts
+ .byte 1 ; Kirlia
+ .byte 1 ; Gardevoir
+ .byte 2 ; Bagon
+ .byte 2 ; Shelgon
+ .byte 0 ; Salamence
+ .byte 0 ; Beldum
+ .byte 0 ; Metang
+ .byte 0 ; Metagross
+ .byte 2 ; Regirock
+ .byte 2 ; Regice
+ .byte 2 ; Registeel
+ .byte 2 ; Kyogre
+ .byte 0 ; Groudon
+ .byte 1 ; Rayquaza
+ .byte 0 ; Latias
+ .byte 2 ; Latios
+ .byte 0 ; Jirachi
+ .byte 0 ; Deoxys
+ .byte 0 ; Chimecho
+ .byte 1 ; Egg
+ .byte 0 ; Unown B
+ .byte 0 ; Unown C
+ .byte 0 ; Unown D
+ .byte 0 ; Unown E
+ .byte 0 ; Unown F
+ .byte 0 ; Unown G
+ .byte 0 ; Unown H
+ .byte 0 ; Unown I
+ .byte 0 ; Unown J
+ .byte 0 ; Unown K
+ .byte 0 ; Unown L
+ .byte 0 ; Unown M
+ .byte 0 ; Unown N
+ .byte 0 ; Unown O
+ .byte 0 ; Unown P
+ .byte 0 ; Unown Q
+ .byte 0 ; Unown R
+ .byte 0 ; Unown S
+ .byte 0 ; Unown T
+ .byte 0 ; Unown U
+ .byte 0 ; Unown V
+ .byte 0 ; Unown W
+ .byte 0 ; Unown X
+ .byte 0 ; Unown Y
+ .byte 0 ; Unown Z
+ .byte 0 ; Unown Exclamation Mark
+ .byte 0 ; Unown Question Mark
diff --git a/data/graphics/pokemon/icon_palette_table.s b/data/graphics/pokemon/icon_palette_table.s
new file mode 100644
index 000000000..b5c6f564d
--- /dev/null
+++ b/data/graphics/pokemon/icon_palette_table.s
@@ -0,0 +1,12 @@
+ .align 2
+
+gMonIconPaletteTable: ; 83BC5B8
+ obj_pal gMonIconPalettes + 0 * 32, 56000
+ obj_pal gMonIconPalettes + 1 * 32, 56001
+ obj_pal gMonIconPalettes + 2 * 32, 56002
+
+; These palettes are actually part of the title screen BG palette and are not
+; used for Pokémon icons.
+ obj_pal gMonIconPalettes + 3 * 32, 56003
+ obj_pal gMonIconPalettes + 4 * 32, 56004
+ obj_pal gMonIconPalettes + 5 * 32, 56005
diff --git a/data/graphics/pokemon/icon_table.s b/data/graphics/pokemon/icon_table.s
new file mode 100644
index 000000000..422488559
--- /dev/null
+++ b/data/graphics/pokemon/icon_table.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonIconTable: ; 83BBD20
+ .4byte gMonIcon_Bulbasaur
+ .4byte gMonIcon_Bulbasaur
+ .4byte gMonIcon_Ivysaur
+ .4byte gMonIcon_Venusaur
+ .4byte gMonIcon_Charmander
+ .4byte gMonIcon_Charmeleon
+ .4byte gMonIcon_Charizard
+ .4byte gMonIcon_Squirtle
+ .4byte gMonIcon_Wartortle
+ .4byte gMonIcon_Blastoise
+ .4byte gMonIcon_Caterpie
+ .4byte gMonIcon_Metapod
+ .4byte gMonIcon_Butterfree
+ .4byte gMonIcon_Weedle
+ .4byte gMonIcon_Kakuna
+ .4byte gMonIcon_Beedrill
+ .4byte gMonIcon_Pidgey
+ .4byte gMonIcon_Pidgeotto
+ .4byte gMonIcon_Pidgeot
+ .4byte gMonIcon_Rattata
+ .4byte gMonIcon_Raticate
+ .4byte gMonIcon_Spearow
+ .4byte gMonIcon_Fearow
+ .4byte gMonIcon_Ekans
+ .4byte gMonIcon_Arbok
+ .4byte gMonIcon_Pikachu
+ .4byte gMonIcon_Raichu
+ .4byte gMonIcon_Sandshrew
+ .4byte gMonIcon_Sandslash
+ .4byte gMonIcon_NidoranF
+ .4byte gMonIcon_Nidorina
+ .4byte gMonIcon_Nidoqueen
+ .4byte gMonIcon_NidoranM
+ .4byte gMonIcon_Nidorino
+ .4byte gMonIcon_Nidoking
+ .4byte gMonIcon_Clefairy
+ .4byte gMonIcon_Clefable
+ .4byte gMonIcon_Vulpix
+ .4byte gMonIcon_Ninetales
+ .4byte gMonIcon_Jigglypuff
+ .4byte gMonIcon_Wigglytuff
+ .4byte gMonIcon_Zubat
+ .4byte gMonIcon_Golbat
+ .4byte gMonIcon_Oddish
+ .4byte gMonIcon_Gloom
+ .4byte gMonIcon_Vileplume
+ .4byte gMonIcon_Paras
+ .4byte gMonIcon_Parasect
+ .4byte gMonIcon_Venonat
+ .4byte gMonIcon_Venomoth
+ .4byte gMonIcon_Diglett
+ .4byte gMonIcon_Dugtrio
+ .4byte gMonIcon_Meowth
+ .4byte gMonIcon_Persian
+ .4byte gMonIcon_Psyduck
+ .4byte gMonIcon_Golduck
+ .4byte gMonIcon_Mankey
+ .4byte gMonIcon_Primeape
+ .4byte gMonIcon_Growlithe
+ .4byte gMonIcon_Arcanine
+ .4byte gMonIcon_Poliwag
+ .4byte gMonIcon_Poliwhirl
+ .4byte gMonIcon_Poliwrath
+ .4byte gMonIcon_Abra
+ .4byte gMonIcon_Kadabra
+ .4byte gMonIcon_Alakazam
+ .4byte gMonIcon_Machop
+ .4byte gMonIcon_Machoke
+ .4byte gMonIcon_Machamp
+ .4byte gMonIcon_Bellsprout
+ .4byte gMonIcon_Weepinbell
+ .4byte gMonIcon_Victreebel
+ .4byte gMonIcon_Tentacool
+ .4byte gMonIcon_Tentacruel
+ .4byte gMonIcon_Geodude
+ .4byte gMonIcon_Graveler
+ .4byte gMonIcon_Golem
+ .4byte gMonIcon_Ponyta
+ .4byte gMonIcon_Rapidash
+ .4byte gMonIcon_Slowpoke
+ .4byte gMonIcon_Slowbro
+ .4byte gMonIcon_Magnemite
+ .4byte gMonIcon_Magneton
+ .4byte gMonIcon_Farfetchd
+ .4byte gMonIcon_Doduo
+ .4byte gMonIcon_Dodrio
+ .4byte gMonIcon_Seel
+ .4byte gMonIcon_Dewgong
+ .4byte gMonIcon_Grimer
+ .4byte gMonIcon_Muk
+ .4byte gMonIcon_Shellder
+ .4byte gMonIcon_Cloyster
+ .4byte gMonIcon_Gastly
+ .4byte gMonIcon_Haunter
+ .4byte gMonIcon_Gengar
+ .4byte gMonIcon_Onix
+ .4byte gMonIcon_Drowzee
+ .4byte gMonIcon_Hypno
+ .4byte gMonIcon_Krabby
+ .4byte gMonIcon_Kingler
+ .4byte gMonIcon_Voltorb
+ .4byte gMonIcon_Electrode
+ .4byte gMonIcon_Exeggcute
+ .4byte gMonIcon_Exeggutor
+ .4byte gMonIcon_Cubone
+ .4byte gMonIcon_Marowak
+ .4byte gMonIcon_Hitmonlee
+ .4byte gMonIcon_Hitmonchan
+ .4byte gMonIcon_Lickitung
+ .4byte gMonIcon_Koffing
+ .4byte gMonIcon_Weezing
+ .4byte gMonIcon_Rhyhorn
+ .4byte gMonIcon_Rhydon
+ .4byte gMonIcon_Chansey
+ .4byte gMonIcon_Tangela
+ .4byte gMonIcon_Kangaskhan
+ .4byte gMonIcon_Horsea
+ .4byte gMonIcon_Seadra
+ .4byte gMonIcon_Goldeen
+ .4byte gMonIcon_Seaking
+ .4byte gMonIcon_Staryu
+ .4byte gMonIcon_Starmie
+ .4byte gMonIcon_Mrmime
+ .4byte gMonIcon_Scyther
+ .4byte gMonIcon_Jynx
+ .4byte gMonIcon_Electabuzz
+ .4byte gMonIcon_Magmar
+ .4byte gMonIcon_Pinsir
+ .4byte gMonIcon_Tauros
+ .4byte gMonIcon_Magikarp
+ .4byte gMonIcon_Gyarados
+ .4byte gMonIcon_Lapras
+ .4byte gMonIcon_Ditto
+ .4byte gMonIcon_Eevee
+ .4byte gMonIcon_Vaporeon
+ .4byte gMonIcon_Jolteon
+ .4byte gMonIcon_Flareon
+ .4byte gMonIcon_Porygon
+ .4byte gMonIcon_Omanyte
+ .4byte gMonIcon_Omastar
+ .4byte gMonIcon_Kabuto
+ .4byte gMonIcon_Kabutops
+ .4byte gMonIcon_Aerodactyl
+ .4byte gMonIcon_Snorlax
+ .4byte gMonIcon_Articuno
+ .4byte gMonIcon_Zapdos
+ .4byte gMonIcon_Moltres
+ .4byte gMonIcon_Dratini
+ .4byte gMonIcon_Dragonair
+ .4byte gMonIcon_Dragonite
+ .4byte gMonIcon_Mewtwo
+ .4byte gMonIcon_Mew
+ .4byte gMonIcon_Chikorita
+ .4byte gMonIcon_Bayleef
+ .4byte gMonIcon_Meganium
+ .4byte gMonIcon_Cyndaquil
+ .4byte gMonIcon_Quilava
+ .4byte gMonIcon_Typhlosion
+ .4byte gMonIcon_Totodile
+ .4byte gMonIcon_Croconaw
+ .4byte gMonIcon_Feraligatr
+ .4byte gMonIcon_Sentret
+ .4byte gMonIcon_Furret
+ .4byte gMonIcon_Hoothoot
+ .4byte gMonIcon_Noctowl
+ .4byte gMonIcon_Ledyba
+ .4byte gMonIcon_Ledian
+ .4byte gMonIcon_Spinarak
+ .4byte gMonIcon_Ariados
+ .4byte gMonIcon_Crobat
+ .4byte gMonIcon_Chinchou
+ .4byte gMonIcon_Lanturn
+ .4byte gMonIcon_Pichu
+ .4byte gMonIcon_Cleffa
+ .4byte gMonIcon_Igglybuff
+ .4byte gMonIcon_Togepi
+ .4byte gMonIcon_Togetic
+ .4byte gMonIcon_Natu
+ .4byte gMonIcon_Xatu
+ .4byte gMonIcon_Mareep
+ .4byte gMonIcon_Flaaffy
+ .4byte gMonIcon_Ampharos
+ .4byte gMonIcon_Bellossom
+ .4byte gMonIcon_Marill
+ .4byte gMonIcon_Azumarill
+ .4byte gMonIcon_Sudowoodo
+ .4byte gMonIcon_Politoed
+ .4byte gMonIcon_Hoppip
+ .4byte gMonIcon_Skiploom
+ .4byte gMonIcon_Jumpluff
+ .4byte gMonIcon_Aipom
+ .4byte gMonIcon_Sunkern
+ .4byte gMonIcon_Sunflora
+ .4byte gMonIcon_Yanma
+ .4byte gMonIcon_Wooper
+ .4byte gMonIcon_Quagsire
+ .4byte gMonIcon_Espeon
+ .4byte gMonIcon_Umbreon
+ .4byte gMonIcon_Murkrow
+ .4byte gMonIcon_Slowking
+ .4byte gMonIcon_Misdreavus
+ .4byte gMonIcon_UnownA
+ .4byte gMonIcon_Wobbuffet
+ .4byte gMonIcon_Girafarig
+ .4byte gMonIcon_Pineco
+ .4byte gMonIcon_Forretress
+ .4byte gMonIcon_Dunsparce
+ .4byte gMonIcon_Gligar
+ .4byte gMonIcon_Steelix
+ .4byte gMonIcon_Snubbull
+ .4byte gMonIcon_Granbull
+ .4byte gMonIcon_Qwilfish
+ .4byte gMonIcon_Scizor
+ .4byte gMonIcon_Shuckle
+ .4byte gMonIcon_Heracross
+ .4byte gMonIcon_Sneasel
+ .4byte gMonIcon_Teddiursa
+ .4byte gMonIcon_Ursaring
+ .4byte gMonIcon_Slugma
+ .4byte gMonIcon_Magcargo
+ .4byte gMonIcon_Swinub
+ .4byte gMonIcon_Piloswine
+ .4byte gMonIcon_Corsola
+ .4byte gMonIcon_Remoraid
+ .4byte gMonIcon_Octillery
+ .4byte gMonIcon_Delibird
+ .4byte gMonIcon_Mantine
+ .4byte gMonIcon_Skarmory
+ .4byte gMonIcon_Houndour
+ .4byte gMonIcon_Houndoom
+ .4byte gMonIcon_Kingdra
+ .4byte gMonIcon_Phanpy
+ .4byte gMonIcon_Donphan
+ .4byte gMonIcon_Porygon2
+ .4byte gMonIcon_Stantler
+ .4byte gMonIcon_Smeargle
+ .4byte gMonIcon_Tyrogue
+ .4byte gMonIcon_Hitmontop
+ .4byte gMonIcon_Smoochum
+ .4byte gMonIcon_Elekid
+ .4byte gMonIcon_Magby
+ .4byte gMonIcon_Miltank
+ .4byte gMonIcon_Blissey
+ .4byte gMonIcon_Raikou
+ .4byte gMonIcon_Entei
+ .4byte gMonIcon_Suicune
+ .4byte gMonIcon_Larvitar
+ .4byte gMonIcon_Pupitar
+ .4byte gMonIcon_Tyranitar
+ .4byte gMonIcon_Lugia
+ .4byte gMonIcon_HoOh
+ .4byte gMonIcon_Celebi
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_QuestionMark
+ .4byte gMonIcon_Treecko
+ .4byte gMonIcon_Grovyle
+ .4byte gMonIcon_Sceptile
+ .4byte gMonIcon_Torchic
+ .4byte gMonIcon_Combusken
+ .4byte gMonIcon_Blaziken
+ .4byte gMonIcon_Mudkip
+ .4byte gMonIcon_Marshtomp
+ .4byte gMonIcon_Swampert
+ .4byte gMonIcon_Poochyena
+ .4byte gMonIcon_Mightyena
+ .4byte gMonIcon_Zigzagoon
+ .4byte gMonIcon_Linoone
+ .4byte gMonIcon_Wurmple
+ .4byte gMonIcon_Silcoon
+ .4byte gMonIcon_Beautifly
+ .4byte gMonIcon_Cascoon
+ .4byte gMonIcon_Dustox
+ .4byte gMonIcon_Lotad
+ .4byte gMonIcon_Lombre
+ .4byte gMonIcon_Ludicolo
+ .4byte gMonIcon_Seedot
+ .4byte gMonIcon_Nuzleaf
+ .4byte gMonIcon_Shiftry
+ .4byte gMonIcon_Nincada
+ .4byte gMonIcon_Ninjask
+ .4byte gMonIcon_Shedinja
+ .4byte gMonIcon_Taillow
+ .4byte gMonIcon_Swellow
+ .4byte gMonIcon_Shroomish
+ .4byte gMonIcon_Breloom
+ .4byte gMonIcon_Spinda
+ .4byte gMonIcon_Wingull
+ .4byte gMonIcon_Pelipper
+ .4byte gMonIcon_Surskit
+ .4byte gMonIcon_Masquerain
+ .4byte gMonIcon_Wailmer
+ .4byte gMonIcon_Wailord
+ .4byte gMonIcon_Skitty
+ .4byte gMonIcon_Delcatty
+ .4byte gMonIcon_Kecleon
+ .4byte gMonIcon_Baltoy
+ .4byte gMonIcon_Claydol
+ .4byte gMonIcon_Nosepass
+ .4byte gMonIcon_Torkoal
+ .4byte gMonIcon_Sableye
+ .4byte gMonIcon_Barboach
+ .4byte gMonIcon_Whiscash
+ .4byte gMonIcon_Luvdisc
+ .4byte gMonIcon_Corphish
+ .4byte gMonIcon_Crawdaunt
+ .4byte gMonIcon_Feebas
+ .4byte gMonIcon_Milotic
+ .4byte gMonIcon_Carvanha
+ .4byte gMonIcon_Sharpedo
+ .4byte gMonIcon_Trapinch
+ .4byte gMonIcon_Vibrava
+ .4byte gMonIcon_Flygon
+ .4byte gMonIcon_Makuhita
+ .4byte gMonIcon_Hariyama
+ .4byte gMonIcon_Electrike
+ .4byte gMonIcon_Manectric
+ .4byte gMonIcon_Numel
+ .4byte gMonIcon_Camerupt
+ .4byte gMonIcon_Spheal
+ .4byte gMonIcon_Sealeo
+ .4byte gMonIcon_Walrein
+ .4byte gMonIcon_Cacnea
+ .4byte gMonIcon_Cacturne
+ .4byte gMonIcon_Snorunt
+ .4byte gMonIcon_Glalie
+ .4byte gMonIcon_Lunatone
+ .4byte gMonIcon_Solrock
+ .4byte gMonIcon_Azurill
+ .4byte gMonIcon_Spoink
+ .4byte gMonIcon_Grumpig
+ .4byte gMonIcon_Plusle
+ .4byte gMonIcon_Minun
+ .4byte gMonIcon_Mawile
+ .4byte gMonIcon_Meditite
+ .4byte gMonIcon_Medicham
+ .4byte gMonIcon_Swablu
+ .4byte gMonIcon_Altaria
+ .4byte gMonIcon_Wynaut
+ .4byte gMonIcon_Duskull
+ .4byte gMonIcon_Dusclops
+ .4byte gMonIcon_Roselia
+ .4byte gMonIcon_Slakoth
+ .4byte gMonIcon_Vigoroth
+ .4byte gMonIcon_Slaking
+ .4byte gMonIcon_Gulpin
+ .4byte gMonIcon_Swalot
+ .4byte gMonIcon_Tropius
+ .4byte gMonIcon_Whismur
+ .4byte gMonIcon_Loudred
+ .4byte gMonIcon_Exploud
+ .4byte gMonIcon_Clamperl
+ .4byte gMonIcon_Huntail
+ .4byte gMonIcon_Gorebyss
+ .4byte gMonIcon_Absol
+ .4byte gMonIcon_Shuppet
+ .4byte gMonIcon_Banette
+ .4byte gMonIcon_Seviper
+ .4byte gMonIcon_Zangoose
+ .4byte gMonIcon_Relicanth
+ .4byte gMonIcon_Aron
+ .4byte gMonIcon_Lairon
+ .4byte gMonIcon_Aggron
+ .4byte gMonIcon_Castform
+ .4byte gMonIcon_Volbeat
+ .4byte gMonIcon_Illumise
+ .4byte gMonIcon_Lileep
+ .4byte gMonIcon_Cradily
+ .4byte gMonIcon_Anorith
+ .4byte gMonIcon_Armaldo
+ .4byte gMonIcon_Ralts
+ .4byte gMonIcon_Kirlia
+ .4byte gMonIcon_Gardevoir
+ .4byte gMonIcon_Bagon
+ .4byte gMonIcon_Shelgon
+ .4byte gMonIcon_Salamence
+ .4byte gMonIcon_Beldum
+ .4byte gMonIcon_Metang
+ .4byte gMonIcon_Metagross
+ .4byte gMonIcon_Regirock
+ .4byte gMonIcon_Regice
+ .4byte gMonIcon_Registeel
+ .4byte gMonIcon_Kyogre
+ .4byte gMonIcon_Groudon
+ .4byte gMonIcon_Rayquaza
+ .4byte gMonIcon_Latias
+ .4byte gMonIcon_Latios
+ .4byte gMonIcon_Jirachi
+ .4byte gMonIcon_Deoxys
+ .4byte gMonIcon_Chimecho
+ .4byte gMonIcon_Egg
+ .4byte gMonIcon_UnownB
+ .4byte gMonIcon_UnownC
+ .4byte gMonIcon_UnownD
+ .4byte gMonIcon_UnownE
+ .4byte gMonIcon_UnownF
+ .4byte gMonIcon_UnownG
+ .4byte gMonIcon_UnownH
+ .4byte gMonIcon_UnownI
+ .4byte gMonIcon_UnownJ
+ .4byte gMonIcon_UnownK
+ .4byte gMonIcon_UnownL
+ .4byte gMonIcon_UnownM
+ .4byte gMonIcon_UnownN
+ .4byte gMonIcon_UnownO
+ .4byte gMonIcon_UnownP
+ .4byte gMonIcon_UnownQ
+ .4byte gMonIcon_UnownR
+ .4byte gMonIcon_UnownS
+ .4byte gMonIcon_UnownT
+ .4byte gMonIcon_UnownU
+ .4byte gMonIcon_UnownV
+ .4byte gMonIcon_UnownW
+ .4byte gMonIcon_UnownX
+ .4byte gMonIcon_UnownY
+ .4byte gMonIcon_UnownZ
+ .4byte gMonIcon_UnownExclamationMark
+ .4byte gMonIcon_UnownQuestionMark
diff --git a/data/graphics/pokemon/palette_table.s b/data/graphics/pokemon/palette_table.s
new file mode 100644
index 000000000..1dc5abf5d
--- /dev/null
+++ b/data/graphics/pokemon/palette_table.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonPaletteTable: ; 81EA5B4
+ obj_pal gMonPalette_CircledQuestionMark, 0
+ obj_pal gMonPalette_Bulbasaur, 1
+ obj_pal gMonPalette_Ivysaur, 2
+ obj_pal gMonPalette_Venusaur, 3
+ obj_pal gMonPalette_Charmander, 4
+ obj_pal gMonPalette_Charmeleon, 5
+ obj_pal gMonPalette_Charizard, 6
+ obj_pal gMonPalette_Squirtle, 7
+ obj_pal gMonPalette_Wartortle, 8
+ obj_pal gMonPalette_Blastoise, 9
+ obj_pal gMonPalette_Caterpie, 10
+ obj_pal gMonPalette_Metapod, 11
+ obj_pal gMonPalette_Butterfree, 12
+ obj_pal gMonPalette_Weedle, 13
+ obj_pal gMonPalette_Kakuna, 14
+ obj_pal gMonPalette_Beedrill, 15
+ obj_pal gMonPalette_Pidgey, 16
+ obj_pal gMonPalette_Pidgeotto, 17
+ obj_pal gMonPalette_Pidgeot, 18
+ obj_pal gMonPalette_Rattata, 19
+ obj_pal gMonPalette_Raticate, 20
+ obj_pal gMonPalette_Spearow, 21
+ obj_pal gMonPalette_Fearow, 22
+ obj_pal gMonPalette_Ekans, 23
+ obj_pal gMonPalette_Arbok, 24
+ obj_pal gMonPalette_Pikachu, 25
+ obj_pal gMonPalette_Raichu, 26
+ obj_pal gMonPalette_Sandshrew, 27
+ obj_pal gMonPalette_Sandslash, 28
+ obj_pal gMonPalette_NidoranF, 29
+ obj_pal gMonPalette_Nidorina, 30
+ obj_pal gMonPalette_Nidoqueen, 31
+ obj_pal gMonPalette_NidoranM, 32
+ obj_pal gMonPalette_Nidorino, 33
+ obj_pal gMonPalette_Nidoking, 34
+ obj_pal gMonPalette_Clefairy, 35
+ obj_pal gMonPalette_Clefable, 36
+ obj_pal gMonPalette_Vulpix, 37
+ obj_pal gMonPalette_Ninetales, 38
+ obj_pal gMonPalette_Jigglypuff, 39
+ obj_pal gMonPalette_Wigglytuff, 40
+ obj_pal gMonPalette_Zubat, 41
+ obj_pal gMonPalette_Golbat, 42
+ obj_pal gMonPalette_Oddish, 43
+ obj_pal gMonPalette_Gloom, 44
+ obj_pal gMonPalette_Vileplume, 45
+ obj_pal gMonPalette_Paras, 46
+ obj_pal gMonPalette_Parasect, 47
+ obj_pal gMonPalette_Venonat, 48
+ obj_pal gMonPalette_Venomoth, 49
+ obj_pal gMonPalette_Diglett, 50
+ obj_pal gMonPalette_Dugtrio, 51
+ obj_pal gMonPalette_Meowth, 52
+ obj_pal gMonPalette_Persian, 53
+ obj_pal gMonPalette_Psyduck, 54
+ obj_pal gMonPalette_Golduck, 55
+ obj_pal gMonPalette_Mankey, 56
+ obj_pal gMonPalette_Primeape, 57
+ obj_pal gMonPalette_Growlithe, 58
+ obj_pal gMonPalette_Arcanine, 59
+ obj_pal gMonPalette_Poliwag, 60
+ obj_pal gMonPalette_Poliwhirl, 61
+ obj_pal gMonPalette_Poliwrath, 62
+ obj_pal gMonPalette_Abra, 63
+ obj_pal gMonPalette_Kadabra, 64
+ obj_pal gMonPalette_Alakazam, 65
+ obj_pal gMonPalette_Machop, 66
+ obj_pal gMonPalette_Machoke, 67
+ obj_pal gMonPalette_Machamp, 68
+ obj_pal gMonPalette_Bellsprout, 69
+ obj_pal gMonPalette_Weepinbell, 70
+ obj_pal gMonPalette_Victreebel, 71
+ obj_pal gMonPalette_Tentacool, 72
+ obj_pal gMonPalette_Tentacruel, 73
+ obj_pal gMonPalette_Geodude, 74
+ obj_pal gMonPalette_Graveler, 75
+ obj_pal gMonPalette_Golem, 76
+ obj_pal gMonPalette_Ponyta, 77
+ obj_pal gMonPalette_Rapidash, 78
+ obj_pal gMonPalette_Slowpoke, 79
+ obj_pal gMonPalette_Slowbro, 80
+ obj_pal gMonPalette_Magnemite, 81
+ obj_pal gMonPalette_Magneton, 82
+ obj_pal gMonPalette_Farfetchd, 83
+ obj_pal gMonPalette_Doduo, 84
+ obj_pal gMonPalette_Dodrio, 85
+ obj_pal gMonPalette_Seel, 86
+ obj_pal gMonPalette_Dewgong, 87
+ obj_pal gMonPalette_Grimer, 88
+ obj_pal gMonPalette_Muk, 89
+ obj_pal gMonPalette_Shellder, 90
+ obj_pal gMonPalette_Cloyster, 91
+ obj_pal gMonPalette_Gastly, 92
+ obj_pal gMonPalette_Haunter, 93
+ obj_pal gMonPalette_Gengar, 94
+ obj_pal gMonPalette_Onix, 95
+ obj_pal gMonPalette_Drowzee, 96
+ obj_pal gMonPalette_Hypno, 97
+ obj_pal gMonPalette_Krabby, 98
+ obj_pal gMonPalette_Kingler, 99
+ obj_pal gMonPalette_Voltorb, 100
+ obj_pal gMonPalette_Electrode, 101
+ obj_pal gMonPalette_Exeggcute, 102
+ obj_pal gMonPalette_Exeggutor, 103
+ obj_pal gMonPalette_Cubone, 104
+ obj_pal gMonPalette_Marowak, 105
+ obj_pal gMonPalette_Hitmonlee, 106
+ obj_pal gMonPalette_Hitmonchan, 107
+ obj_pal gMonPalette_Lickitung, 108
+ obj_pal gMonPalette_Koffing, 109
+ obj_pal gMonPalette_Weezing, 110
+ obj_pal gMonPalette_Rhyhorn, 111
+ obj_pal gMonPalette_Rhydon, 112
+ obj_pal gMonPalette_Chansey, 113
+ obj_pal gMonPalette_Tangela, 114
+ obj_pal gMonPalette_Kangaskhan, 115
+ obj_pal gMonPalette_Horsea, 116
+ obj_pal gMonPalette_Seadra, 117
+ obj_pal gMonPalette_Goldeen, 118
+ obj_pal gMonPalette_Seaking, 119
+ obj_pal gMonPalette_Staryu, 120
+ obj_pal gMonPalette_Starmie, 121
+ obj_pal gMonPalette_Mrmime, 122
+ obj_pal gMonPalette_Scyther, 123
+ obj_pal gMonPalette_Jynx, 124
+ obj_pal gMonPalette_Electabuzz, 125
+ obj_pal gMonPalette_Magmar, 126
+ obj_pal gMonPalette_Pinsir, 127
+ obj_pal gMonPalette_Tauros, 128
+ obj_pal gMonPalette_Magikarp, 129
+ obj_pal gMonPalette_Gyarados, 130
+ obj_pal gMonPalette_Lapras, 131
+ obj_pal gMonPalette_Ditto, 132
+ obj_pal gMonPalette_Eevee, 133
+ obj_pal gMonPalette_Vaporeon, 134
+ obj_pal gMonPalette_Jolteon, 135
+ obj_pal gMonPalette_Flareon, 136
+ obj_pal gMonPalette_Porygon, 137
+ obj_pal gMonPalette_Omanyte, 138
+ obj_pal gMonPalette_Omastar, 139
+ obj_pal gMonPalette_Kabuto, 140
+ obj_pal gMonPalette_Kabutops, 141
+ obj_pal gMonPalette_Aerodactyl, 142
+ obj_pal gMonPalette_Snorlax, 143
+ obj_pal gMonPalette_Articuno, 144
+ obj_pal gMonPalette_Zapdos, 145
+ obj_pal gMonPalette_Moltres, 146
+ obj_pal gMonPalette_Dratini, 147
+ obj_pal gMonPalette_Dragonair, 148
+ obj_pal gMonPalette_Dragonite, 149
+ obj_pal gMonPalette_Mewtwo, 150
+ obj_pal gMonPalette_Mew, 151
+ obj_pal gMonPalette_Chikorita, 152
+ obj_pal gMonPalette_Bayleef, 153
+ obj_pal gMonPalette_Meganium, 154
+ obj_pal gMonPalette_Cyndaquil, 155
+ obj_pal gMonPalette_Quilava, 156
+ obj_pal gMonPalette_Typhlosion, 157
+ obj_pal gMonPalette_Totodile, 158
+ obj_pal gMonPalette_Croconaw, 159
+ obj_pal gMonPalette_Feraligatr, 160
+ obj_pal gMonPalette_Sentret, 161
+ obj_pal gMonPalette_Furret, 162
+ obj_pal gMonPalette_Hoothoot, 163
+ obj_pal gMonPalette_Noctowl, 164
+ obj_pal gMonPalette_Ledyba, 165
+ obj_pal gMonPalette_Ledian, 166
+ obj_pal gMonPalette_Spinarak, 167
+ obj_pal gMonPalette_Ariados, 168
+ obj_pal gMonPalette_Crobat, 169
+ obj_pal gMonPalette_Chinchou, 170
+ obj_pal gMonPalette_Lanturn, 171
+ obj_pal gMonPalette_Pichu, 172
+ obj_pal gMonPalette_Cleffa, 173
+ obj_pal gMonPalette_Igglybuff, 174
+ obj_pal gMonPalette_Togepi, 175
+ obj_pal gMonPalette_Togetic, 176
+ obj_pal gMonPalette_Natu, 177
+ obj_pal gMonPalette_Xatu, 178
+ obj_pal gMonPalette_Mareep, 179
+ obj_pal gMonPalette_Flaaffy, 180
+ obj_pal gMonPalette_Ampharos, 181
+ obj_pal gMonPalette_Bellossom, 182
+ obj_pal gMonPalette_Marill, 183
+ obj_pal gMonPalette_Azumarill, 184
+ obj_pal gMonPalette_Sudowoodo, 185
+ obj_pal gMonPalette_Politoed, 186
+ obj_pal gMonPalette_Hoppip, 187
+ obj_pal gMonPalette_Skiploom, 188
+ obj_pal gMonPalette_Jumpluff, 189
+ obj_pal gMonPalette_Aipom, 190
+ obj_pal gMonPalette_Sunkern, 191
+ obj_pal gMonPalette_Sunflora, 192
+ obj_pal gMonPalette_Yanma, 193
+ obj_pal gMonPalette_Wooper, 194
+ obj_pal gMonPalette_Quagsire, 195
+ obj_pal gMonPalette_Espeon, 196
+ obj_pal gMonPalette_Umbreon, 197
+ obj_pal gMonPalette_Murkrow, 198
+ obj_pal gMonPalette_Slowking, 199
+ obj_pal gMonPalette_Misdreavus, 200
+ obj_pal gMonPalette_Unown, 201
+ obj_pal gMonPalette_Wobbuffet, 202
+ obj_pal gMonPalette_Girafarig, 203
+ obj_pal gMonPalette_Pineco, 204
+ obj_pal gMonPalette_Forretress, 205
+ obj_pal gMonPalette_Dunsparce, 206
+ obj_pal gMonPalette_Gligar, 207
+ obj_pal gMonPalette_Steelix, 208
+ obj_pal gMonPalette_Snubbull, 209
+ obj_pal gMonPalette_Granbull, 210
+ obj_pal gMonPalette_Qwilfish, 211
+ obj_pal gMonPalette_Scizor, 212
+ obj_pal gMonPalette_Shuckle, 213
+ obj_pal gMonPalette_Heracross, 214
+ obj_pal gMonPalette_Sneasel, 215
+ obj_pal gMonPalette_Teddiursa, 216
+ obj_pal gMonPalette_Ursaring, 217
+ obj_pal gMonPalette_Slugma, 218
+ obj_pal gMonPalette_Magcargo, 219
+ obj_pal gMonPalette_Swinub, 220
+ obj_pal gMonPalette_Piloswine, 221
+ obj_pal gMonPalette_Corsola, 222
+ obj_pal gMonPalette_Remoraid, 223
+ obj_pal gMonPalette_Octillery, 224
+ obj_pal gMonPalette_Delibird, 225
+ obj_pal gMonPalette_Mantine, 226
+ obj_pal gMonPalette_Skarmory, 227
+ obj_pal gMonPalette_Houndour, 228
+ obj_pal gMonPalette_Houndoom, 229
+ obj_pal gMonPalette_Kingdra, 230
+ obj_pal gMonPalette_Phanpy, 231
+ obj_pal gMonPalette_Donphan, 232
+ obj_pal gMonPalette_Porygon2, 233
+ obj_pal gMonPalette_Stantler, 234
+ obj_pal gMonPalette_Smeargle, 235
+ obj_pal gMonPalette_Tyrogue, 236
+ obj_pal gMonPalette_Hitmontop, 237
+ obj_pal gMonPalette_Smoochum, 238
+ obj_pal gMonPalette_Elekid, 239
+ obj_pal gMonPalette_Magby, 240
+ obj_pal gMonPalette_Miltank, 241
+ obj_pal gMonPalette_Blissey, 242
+ obj_pal gMonPalette_Raikou, 243
+ obj_pal gMonPalette_Entei, 244
+ obj_pal gMonPalette_Suicune, 245
+ obj_pal gMonPalette_Larvitar, 246
+ obj_pal gMonPalette_Pupitar, 247
+ obj_pal gMonPalette_Tyranitar, 248
+ obj_pal gMonPalette_Lugia, 249
+ obj_pal gMonPalette_HoOh, 250
+ obj_pal gMonPalette_Celebi, 251
+ obj_pal gMonPalette_DoubleQuestionMark, 252
+ obj_pal gMonPalette_DoubleQuestionMark, 253
+ obj_pal gMonPalette_DoubleQuestionMark, 254
+ obj_pal gMonPalette_DoubleQuestionMark, 255
+ obj_pal gMonPalette_DoubleQuestionMark, 256
+ obj_pal gMonPalette_DoubleQuestionMark, 257
+ obj_pal gMonPalette_DoubleQuestionMark, 258
+ obj_pal gMonPalette_DoubleQuestionMark, 259
+ obj_pal gMonPalette_DoubleQuestionMark, 260
+ obj_pal gMonPalette_DoubleQuestionMark, 261
+ obj_pal gMonPalette_DoubleQuestionMark, 262
+ obj_pal gMonPalette_DoubleQuestionMark, 263
+ obj_pal gMonPalette_DoubleQuestionMark, 264
+ obj_pal gMonPalette_DoubleQuestionMark, 265
+ obj_pal gMonPalette_DoubleQuestionMark, 266
+ obj_pal gMonPalette_DoubleQuestionMark, 267
+ obj_pal gMonPalette_DoubleQuestionMark, 268
+ obj_pal gMonPalette_DoubleQuestionMark, 269
+ obj_pal gMonPalette_DoubleQuestionMark, 270
+ obj_pal gMonPalette_DoubleQuestionMark, 271
+ obj_pal gMonPalette_DoubleQuestionMark, 272
+ obj_pal gMonPalette_DoubleQuestionMark, 273
+ obj_pal gMonPalette_DoubleQuestionMark, 274
+ obj_pal gMonPalette_DoubleQuestionMark, 275
+ obj_pal gMonPalette_DoubleQuestionMark, 276
+ obj_pal gMonPalette_Treecko, 277
+ obj_pal gMonPalette_Grovyle, 278
+ obj_pal gMonPalette_Sceptile, 279
+ obj_pal gMonPalette_Torchic, 280
+ obj_pal gMonPalette_Combusken, 281
+ obj_pal gMonPalette_Blaziken, 282
+ obj_pal gMonPalette_Mudkip, 283
+ obj_pal gMonPalette_Marshtomp, 284
+ obj_pal gMonPalette_Swampert, 285
+ obj_pal gMonPalette_Poochyena, 286
+ obj_pal gMonPalette_Mightyena, 287
+ obj_pal gMonPalette_Zigzagoon, 288
+ obj_pal gMonPalette_Linoone, 289
+ obj_pal gMonPalette_Wurmple, 290
+ obj_pal gMonPalette_Silcoon, 291
+ obj_pal gMonPalette_Beautifly, 292
+ obj_pal gMonPalette_Cascoon, 293
+ obj_pal gMonPalette_Dustox, 294
+ obj_pal gMonPalette_Lotad, 295
+ obj_pal gMonPalette_Lombre, 296
+ obj_pal gMonPalette_Ludicolo, 297
+ obj_pal gMonPalette_Seedot, 298
+ obj_pal gMonPalette_Nuzleaf, 299
+ obj_pal gMonPalette_Shiftry, 300
+ obj_pal gMonPalette_Nincada, 301
+ obj_pal gMonPalette_Ninjask, 302
+ obj_pal gMonPalette_Shedinja, 303
+ obj_pal gMonPalette_Taillow, 304
+ obj_pal gMonPalette_Swellow, 305
+ obj_pal gMonPalette_Shroomish, 306
+ obj_pal gMonPalette_Breloom, 307
+ obj_pal gMonPalette_Spinda, 308
+ obj_pal gMonPalette_Wingull, 309
+ obj_pal gMonPalette_Pelipper, 310
+ obj_pal gMonPalette_Surskit, 311
+ obj_pal gMonPalette_Masquerain, 312
+ obj_pal gMonPalette_Wailmer, 313
+ obj_pal gMonPalette_Wailord, 314
+ obj_pal gMonPalette_Skitty, 315
+ obj_pal gMonPalette_Delcatty, 316
+ obj_pal gMonPalette_Kecleon, 317
+ obj_pal gMonPalette_Baltoy, 318
+ obj_pal gMonPalette_Claydol, 319
+ obj_pal gMonPalette_Nosepass, 320
+ obj_pal gMonPalette_Torkoal, 321
+ obj_pal gMonPalette_Sableye, 322
+ obj_pal gMonPalette_Barboach, 323
+ obj_pal gMonPalette_Whiscash, 324
+ obj_pal gMonPalette_Luvdisc, 325
+ obj_pal gMonPalette_Corphish, 326
+ obj_pal gMonPalette_Crawdaunt, 327
+ obj_pal gMonPalette_Feebas, 328
+ obj_pal gMonPalette_Milotic, 329
+ obj_pal gMonPalette_Carvanha, 330
+ obj_pal gMonPalette_Sharpedo, 331
+ obj_pal gMonPalette_Trapinch, 332
+ obj_pal gMonPalette_Vibrava, 333
+ obj_pal gMonPalette_Flygon, 334
+ obj_pal gMonPalette_Makuhita, 335
+ obj_pal gMonPalette_Hariyama, 336
+ obj_pal gMonPalette_Electrike, 337
+ obj_pal gMonPalette_Manectric, 338
+ obj_pal gMonPalette_Numel, 339
+ obj_pal gMonPalette_Camerupt, 340
+ obj_pal gMonPalette_Spheal, 341
+ obj_pal gMonPalette_Sealeo, 342
+ obj_pal gMonPalette_Walrein, 343
+ obj_pal gMonPalette_Cacnea, 344
+ obj_pal gMonPalette_Cacturne, 345
+ obj_pal gMonPalette_Snorunt, 346
+ obj_pal gMonPalette_Glalie, 347
+ obj_pal gMonPalette_Lunatone, 348
+ obj_pal gMonPalette_Solrock, 349
+ obj_pal gMonPalette_Azurill, 350
+ obj_pal gMonPalette_Spoink, 351
+ obj_pal gMonPalette_Grumpig, 352
+ obj_pal gMonPalette_Plusle, 353
+ obj_pal gMonPalette_Minun, 354
+ obj_pal gMonPalette_Mawile, 355
+ obj_pal gMonPalette_Meditite, 356
+ obj_pal gMonPalette_Medicham, 357
+ obj_pal gMonPalette_Swablu, 358
+ obj_pal gMonPalette_Altaria, 359
+ obj_pal gMonPalette_Wynaut, 360
+ obj_pal gMonPalette_Duskull, 361
+ obj_pal gMonPalette_Dusclops, 362
+ obj_pal gMonPalette_Roselia, 363
+ obj_pal gMonPalette_Slakoth, 364
+ obj_pal gMonPalette_Vigoroth, 365
+ obj_pal gMonPalette_Slaking, 366
+ obj_pal gMonPalette_Gulpin, 367
+ obj_pal gMonPalette_Swalot, 368
+ obj_pal gMonPalette_Tropius, 369
+ obj_pal gMonPalette_Whismur, 370
+ obj_pal gMonPalette_Loudred, 371
+ obj_pal gMonPalette_Exploud, 372
+ obj_pal gMonPalette_Clamperl, 373
+ obj_pal gMonPalette_Huntail, 374
+ obj_pal gMonPalette_Gorebyss, 375
+ obj_pal gMonPalette_Absol, 376
+ obj_pal gMonPalette_Shuppet, 377
+ obj_pal gMonPalette_Banette, 378
+ obj_pal gMonPalette_Seviper, 379
+ obj_pal gMonPalette_Zangoose, 380
+ obj_pal gMonPalette_Relicanth, 381
+ obj_pal gMonPalette_Aron, 382
+ obj_pal gMonPalette_Lairon, 383
+ obj_pal gMonPalette_Aggron, 384
+ obj_pal gMonPalette_Castform, 385
+ obj_pal gMonPalette_Volbeat, 386
+ obj_pal gMonPalette_Illumise, 387
+ obj_pal gMonPalette_Lileep, 388
+ obj_pal gMonPalette_Cradily, 389
+ obj_pal gMonPalette_Anorith, 390
+ obj_pal gMonPalette_Armaldo, 391
+ obj_pal gMonPalette_Ralts, 392
+ obj_pal gMonPalette_Kirlia, 393
+ obj_pal gMonPalette_Gardevoir, 394
+ obj_pal gMonPalette_Bagon, 395
+ obj_pal gMonPalette_Shelgon, 396
+ obj_pal gMonPalette_Salamence, 397
+ obj_pal gMonPalette_Beldum, 398
+ obj_pal gMonPalette_Metang, 399
+ obj_pal gMonPalette_Metagross, 400
+ obj_pal gMonPalette_Regirock, 401
+ obj_pal gMonPalette_Regice, 402
+ obj_pal gMonPalette_Registeel, 403
+ obj_pal gMonPalette_Kyogre, 404
+ obj_pal gMonPalette_Groudon, 405
+ obj_pal gMonPalette_Rayquaza, 406
+ obj_pal gMonPalette_Latias, 407
+ obj_pal gMonPalette_Latios, 408
+ obj_pal gMonPalette_Jirachi, 409
+ obj_pal gMonPalette_Deoxys, 410
+ obj_pal gMonPalette_Chimecho, 411
+ obj_pal gMonPalette_Egg, 412
+ obj_pal gMonPalette_Unown, 413
+ obj_pal gMonPalette_Unown, 414
+ obj_pal gMonPalette_Unown, 415
+ obj_pal gMonPalette_Unown, 416
+ obj_pal gMonPalette_Unown, 417
+ obj_pal gMonPalette_Unown, 418
+ obj_pal gMonPalette_Unown, 419
+ obj_pal gMonPalette_Unown, 420
+ obj_pal gMonPalette_Unown, 421
+ obj_pal gMonPalette_Unown, 422
+ obj_pal gMonPalette_Unown, 423
+ obj_pal gMonPalette_Unown, 424
+ obj_pal gMonPalette_Unown, 425
+ obj_pal gMonPalette_Unown, 426
+ obj_pal gMonPalette_Unown, 427
+ obj_pal gMonPalette_Unown, 428
+ obj_pal gMonPalette_Unown, 429
+ obj_pal gMonPalette_Unown, 430
+ obj_pal gMonPalette_Unown, 431
+ obj_pal gMonPalette_Unown, 432
+ obj_pal gMonPalette_Unown, 433
+ obj_pal gMonPalette_Unown, 434
+ obj_pal gMonPalette_Unown, 435
+ obj_pal gMonPalette_Unown, 436
+ obj_pal gMonPalette_Unown, 437
+ obj_pal gMonPalette_Unown, 438
+ obj_pal gMonPalette_Unown, 439
diff --git a/data/graphics/pokemon/shiny_palette_table.s b/data/graphics/pokemon/shiny_palette_table.s
new file mode 100644
index 000000000..4dee52357
--- /dev/null
+++ b/data/graphics/pokemon/shiny_palette_table.s
@@ -0,0 +1,443 @@
+ .align 2
+
+gMonShinyPaletteTable: ; 81EB374
+ obj_pal gMonShinyPalette_CircledQuestionMark, 500
+ obj_pal gMonShinyPalette_Bulbasaur, 501
+ obj_pal gMonShinyPalette_Ivysaur, 502
+ obj_pal gMonShinyPalette_Venusaur, 503
+ obj_pal gMonShinyPalette_Charmander, 504
+ obj_pal gMonShinyPalette_Charmeleon, 505
+ obj_pal gMonShinyPalette_Charizard, 506
+ obj_pal gMonShinyPalette_Squirtle, 507
+ obj_pal gMonShinyPalette_Wartortle, 508
+ obj_pal gMonShinyPalette_Blastoise, 509
+ obj_pal gMonShinyPalette_Caterpie, 510
+ obj_pal gMonShinyPalette_Metapod, 511
+ obj_pal gMonShinyPalette_Butterfree, 512
+ obj_pal gMonShinyPalette_Weedle, 513
+ obj_pal gMonShinyPalette_Kakuna, 514
+ obj_pal gMonShinyPalette_Beedrill, 515
+ obj_pal gMonShinyPalette_Pidgey, 516
+ obj_pal gMonShinyPalette_Pidgeotto, 517
+ obj_pal gMonShinyPalette_Pidgeot, 518
+ obj_pal gMonShinyPalette_Rattata, 519
+ obj_pal gMonShinyPalette_Raticate, 520
+ obj_pal gMonShinyPalette_Spearow, 521
+ obj_pal gMonShinyPalette_Fearow, 522
+ obj_pal gMonShinyPalette_Ekans, 523
+ obj_pal gMonShinyPalette_Arbok, 524
+ obj_pal gMonShinyPalette_Pikachu, 525
+ obj_pal gMonShinyPalette_Raichu, 526
+ obj_pal gMonShinyPalette_Sandshrew, 527
+ obj_pal gMonShinyPalette_Sandslash, 528
+ obj_pal gMonShinyPalette_NidoranF, 529
+ obj_pal gMonShinyPalette_Nidorina, 530
+ obj_pal gMonShinyPalette_Nidoqueen, 531
+ obj_pal gMonShinyPalette_NidoranM, 532
+ obj_pal gMonShinyPalette_Nidorino, 533
+ obj_pal gMonShinyPalette_Nidoking, 534
+ obj_pal gMonShinyPalette_Clefairy, 535
+ obj_pal gMonShinyPalette_Clefable, 536
+ obj_pal gMonShinyPalette_Vulpix, 537
+ obj_pal gMonShinyPalette_Ninetales, 538
+ obj_pal gMonShinyPalette_Jigglypuff, 539
+ obj_pal gMonShinyPalette_Wigglytuff, 540
+ obj_pal gMonShinyPalette_Zubat, 541
+ obj_pal gMonShinyPalette_Golbat, 542
+ obj_pal gMonShinyPalette_Oddish, 543
+ obj_pal gMonShinyPalette_Gloom, 544
+ obj_pal gMonShinyPalette_Vileplume, 545
+ obj_pal gMonShinyPalette_Paras, 546
+ obj_pal gMonShinyPalette_Parasect, 547
+ obj_pal gMonShinyPalette_Venonat, 548
+ obj_pal gMonShinyPalette_Venomoth, 549
+ obj_pal gMonShinyPalette_Diglett, 550
+ obj_pal gMonShinyPalette_Dugtrio, 551
+ obj_pal gMonShinyPalette_Meowth, 552
+ obj_pal gMonShinyPalette_Persian, 553
+ obj_pal gMonShinyPalette_Psyduck, 554
+ obj_pal gMonShinyPalette_Golduck, 555
+ obj_pal gMonShinyPalette_Mankey, 556
+ obj_pal gMonShinyPalette_Primeape, 557
+ obj_pal gMonShinyPalette_Growlithe, 558
+ obj_pal gMonShinyPalette_Arcanine, 559
+ obj_pal gMonShinyPalette_Poliwag, 560
+ obj_pal gMonShinyPalette_Poliwhirl, 561
+ obj_pal gMonShinyPalette_Poliwrath, 562
+ obj_pal gMonShinyPalette_Abra, 563
+ obj_pal gMonShinyPalette_Kadabra, 564
+ obj_pal gMonShinyPalette_Alakazam, 565
+ obj_pal gMonShinyPalette_Machop, 566
+ obj_pal gMonShinyPalette_Machoke, 567
+ obj_pal gMonShinyPalette_Machamp, 568
+ obj_pal gMonShinyPalette_Bellsprout, 569
+ obj_pal gMonShinyPalette_Weepinbell, 570
+ obj_pal gMonShinyPalette_Victreebel, 571
+ obj_pal gMonShinyPalette_Tentacool, 572
+ obj_pal gMonShinyPalette_Tentacruel, 573
+ obj_pal gMonShinyPalette_Geodude, 574
+ obj_pal gMonShinyPalette_Graveler, 575
+ obj_pal gMonShinyPalette_Golem, 576
+ obj_pal gMonShinyPalette_Ponyta, 577
+ obj_pal gMonShinyPalette_Rapidash, 578
+ obj_pal gMonShinyPalette_Slowpoke, 579
+ obj_pal gMonShinyPalette_Slowbro, 580
+ obj_pal gMonShinyPalette_Magnemite, 581
+ obj_pal gMonShinyPalette_Magneton, 582
+ obj_pal gMonShinyPalette_Farfetchd, 583
+ obj_pal gMonShinyPalette_Doduo, 584
+ obj_pal gMonShinyPalette_Dodrio, 585
+ obj_pal gMonShinyPalette_Seel, 586
+ obj_pal gMonShinyPalette_Dewgong, 587
+ obj_pal gMonShinyPalette_Grimer, 588
+ obj_pal gMonShinyPalette_Muk, 589
+ obj_pal gMonShinyPalette_Shellder, 590
+ obj_pal gMonShinyPalette_Cloyster, 591
+ obj_pal gMonShinyPalette_Gastly, 592
+ obj_pal gMonShinyPalette_Haunter, 593
+ obj_pal gMonShinyPalette_Gengar, 594
+ obj_pal gMonShinyPalette_Onix, 595
+ obj_pal gMonShinyPalette_Drowzee, 596
+ obj_pal gMonShinyPalette_Hypno, 597
+ obj_pal gMonShinyPalette_Krabby, 598
+ obj_pal gMonShinyPalette_Kingler, 599
+ obj_pal gMonShinyPalette_Voltorb, 600
+ obj_pal gMonShinyPalette_Electrode, 601
+ obj_pal gMonShinyPalette_Exeggcute, 602
+ obj_pal gMonShinyPalette_Exeggutor, 603
+ obj_pal gMonShinyPalette_Cubone, 604
+ obj_pal gMonShinyPalette_Marowak, 605
+ obj_pal gMonShinyPalette_Hitmonlee, 606
+ obj_pal gMonShinyPalette_Hitmonchan, 607
+ obj_pal gMonShinyPalette_Lickitung, 608
+ obj_pal gMonShinyPalette_Koffing, 609
+ obj_pal gMonShinyPalette_Weezing, 610
+ obj_pal gMonShinyPalette_Rhyhorn, 611
+ obj_pal gMonShinyPalette_Rhydon, 612
+ obj_pal gMonShinyPalette_Chansey, 613
+ obj_pal gMonShinyPalette_Tangela, 614
+ obj_pal gMonShinyPalette_Kangaskhan, 615
+ obj_pal gMonShinyPalette_Horsea, 616
+ obj_pal gMonShinyPalette_Seadra, 617
+ obj_pal gMonShinyPalette_Goldeen, 618
+ obj_pal gMonShinyPalette_Seaking, 619
+ obj_pal gMonShinyPalette_Staryu, 620
+ obj_pal gMonShinyPalette_Starmie, 621
+ obj_pal gMonShinyPalette_Mrmime, 622
+ obj_pal gMonShinyPalette_Scyther, 623
+ obj_pal gMonShinyPalette_Jynx, 624
+ obj_pal gMonShinyPalette_Electabuzz, 625
+ obj_pal gMonShinyPalette_Magmar, 626
+ obj_pal gMonShinyPalette_Pinsir, 627
+ obj_pal gMonShinyPalette_Tauros, 628
+ obj_pal gMonShinyPalette_Magikarp, 629
+ obj_pal gMonShinyPalette_Gyarados, 630
+ obj_pal gMonShinyPalette_Lapras, 631
+ obj_pal gMonShinyPalette_Ditto, 632
+ obj_pal gMonShinyPalette_Eevee, 633
+ obj_pal gMonShinyPalette_Vaporeon, 634
+ obj_pal gMonShinyPalette_Jolteon, 635
+ obj_pal gMonShinyPalette_Flareon, 636
+ obj_pal gMonShinyPalette_Porygon, 637
+ obj_pal gMonShinyPalette_Omanyte, 638
+ obj_pal gMonShinyPalette_Omastar, 639
+ obj_pal gMonShinyPalette_Kabuto, 640
+ obj_pal gMonShinyPalette_Kabutops, 641
+ obj_pal gMonShinyPalette_Aerodactyl, 642
+ obj_pal gMonShinyPalette_Snorlax, 643
+ obj_pal gMonShinyPalette_Articuno, 644
+ obj_pal gMonShinyPalette_Zapdos, 645
+ obj_pal gMonShinyPalette_Moltres, 646
+ obj_pal gMonShinyPalette_Dratini, 647
+ obj_pal gMonShinyPalette_Dragonair, 648
+ obj_pal gMonShinyPalette_Dragonite, 649
+ obj_pal gMonShinyPalette_Mewtwo, 650
+ obj_pal gMonShinyPalette_Mew, 651
+ obj_pal gMonShinyPalette_Chikorita, 652
+ obj_pal gMonShinyPalette_Bayleef, 653
+ obj_pal gMonShinyPalette_Meganium, 654
+ obj_pal gMonShinyPalette_Cyndaquil, 655
+ obj_pal gMonShinyPalette_Quilava, 656
+ obj_pal gMonShinyPalette_Typhlosion, 657
+ obj_pal gMonShinyPalette_Totodile, 658
+ obj_pal gMonShinyPalette_Croconaw, 659
+ obj_pal gMonShinyPalette_Feraligatr, 660
+ obj_pal gMonShinyPalette_Sentret, 661
+ obj_pal gMonShinyPalette_Furret, 662
+ obj_pal gMonShinyPalette_Hoothoot, 663
+ obj_pal gMonShinyPalette_Noctowl, 664
+ obj_pal gMonShinyPalette_Ledyba, 665
+ obj_pal gMonShinyPalette_Ledian, 666
+ obj_pal gMonShinyPalette_Spinarak, 667
+ obj_pal gMonShinyPalette_Ariados, 668
+ obj_pal gMonShinyPalette_Crobat, 669
+ obj_pal gMonShinyPalette_Chinchou, 670
+ obj_pal gMonShinyPalette_Lanturn, 671
+ obj_pal gMonShinyPalette_Pichu, 672
+ obj_pal gMonShinyPalette_Cleffa, 673
+ obj_pal gMonShinyPalette_Igglybuff, 674
+ obj_pal gMonShinyPalette_Togepi, 675
+ obj_pal gMonShinyPalette_Togetic, 676
+ obj_pal gMonShinyPalette_Natu, 677
+ obj_pal gMonShinyPalette_Xatu, 678
+ obj_pal gMonShinyPalette_Mareep, 679
+ obj_pal gMonShinyPalette_Flaaffy, 680
+ obj_pal gMonShinyPalette_Ampharos, 681
+ obj_pal gMonShinyPalette_Bellossom, 682
+ obj_pal gMonShinyPalette_Marill, 683
+ obj_pal gMonShinyPalette_Azumarill, 684
+ obj_pal gMonShinyPalette_Sudowoodo, 685
+ obj_pal gMonShinyPalette_Politoed, 686
+ obj_pal gMonShinyPalette_Hoppip, 687
+ obj_pal gMonShinyPalette_Skiploom, 688
+ obj_pal gMonShinyPalette_Jumpluff, 689
+ obj_pal gMonShinyPalette_Aipom, 690
+ obj_pal gMonShinyPalette_Sunkern, 691
+ obj_pal gMonShinyPalette_Sunflora, 692
+ obj_pal gMonShinyPalette_Yanma, 693
+ obj_pal gMonShinyPalette_Wooper, 694
+ obj_pal gMonShinyPalette_Quagsire, 695
+ obj_pal gMonShinyPalette_Espeon, 696
+ obj_pal gMonShinyPalette_Umbreon, 697
+ obj_pal gMonShinyPalette_Murkrow, 698
+ obj_pal gMonShinyPalette_Slowking, 699
+ obj_pal gMonShinyPalette_Misdreavus, 700
+ obj_pal gMonShinyPalette_Unown, 701
+ obj_pal gMonShinyPalette_Wobbuffet, 702
+ obj_pal gMonShinyPalette_Girafarig, 703
+ obj_pal gMonShinyPalette_Pineco, 704
+ obj_pal gMonShinyPalette_Forretress, 705
+ obj_pal gMonShinyPalette_Dunsparce, 706
+ obj_pal gMonShinyPalette_Gligar, 707
+ obj_pal gMonShinyPalette_Steelix, 708
+ obj_pal gMonShinyPalette_Snubbull, 709
+ obj_pal gMonShinyPalette_Granbull, 710
+ obj_pal gMonShinyPalette_Qwilfish, 711
+ obj_pal gMonShinyPalette_Scizor, 712
+ obj_pal gMonShinyPalette_Shuckle, 713
+ obj_pal gMonShinyPalette_Heracross, 714
+ obj_pal gMonShinyPalette_Sneasel, 715
+ obj_pal gMonShinyPalette_Teddiursa, 716
+ obj_pal gMonShinyPalette_Ursaring, 717
+ obj_pal gMonShinyPalette_Slugma, 718
+ obj_pal gMonShinyPalette_Magcargo, 719
+ obj_pal gMonShinyPalette_Swinub, 720
+ obj_pal gMonShinyPalette_Piloswine, 721
+ obj_pal gMonShinyPalette_Corsola, 722
+ obj_pal gMonShinyPalette_Remoraid, 723
+ obj_pal gMonShinyPalette_Octillery, 724
+ obj_pal gMonShinyPalette_Delibird, 725
+ obj_pal gMonShinyPalette_Mantine, 726
+ obj_pal gMonShinyPalette_Skarmory, 727
+ obj_pal gMonShinyPalette_Houndour, 728
+ obj_pal gMonShinyPalette_Houndoom, 729
+ obj_pal gMonShinyPalette_Kingdra, 730
+ obj_pal gMonShinyPalette_Phanpy, 731
+ obj_pal gMonShinyPalette_Donphan, 732
+ obj_pal gMonShinyPalette_Porygon2, 733
+ obj_pal gMonShinyPalette_Stantler, 734
+ obj_pal gMonShinyPalette_Smeargle, 735
+ obj_pal gMonShinyPalette_Tyrogue, 736
+ obj_pal gMonShinyPalette_Hitmontop, 737
+ obj_pal gMonShinyPalette_Smoochum, 738
+ obj_pal gMonShinyPalette_Elekid, 739
+ obj_pal gMonShinyPalette_Magby, 740
+ obj_pal gMonShinyPalette_Miltank, 741
+ obj_pal gMonShinyPalette_Blissey, 742
+ obj_pal gMonShinyPalette_Raikou, 743
+ obj_pal gMonShinyPalette_Entei, 744
+ obj_pal gMonShinyPalette_Suicune, 745
+ obj_pal gMonShinyPalette_Larvitar, 746
+ obj_pal gMonShinyPalette_Pupitar, 747
+ obj_pal gMonShinyPalette_Tyranitar, 748
+ obj_pal gMonShinyPalette_Lugia, 749
+ obj_pal gMonShinyPalette_HoOh, 750
+ obj_pal gMonShinyPalette_Celebi, 751
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 752
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 753
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 754
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 755
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 756
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 757
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 758
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 759
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 760
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 761
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 762
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 763
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 764
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 765
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 766
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 767
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 768
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 769
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 770
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 771
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 772
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 773
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 774
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 775
+ obj_pal gMonShinyPalette_DoubleQuestionMark, 776
+ obj_pal gMonShinyPalette_Treecko, 777
+ obj_pal gMonShinyPalette_Grovyle, 778
+ obj_pal gMonShinyPalette_Sceptile, 779
+ obj_pal gMonShinyPalette_Torchic, 780
+ obj_pal gMonShinyPalette_Combusken, 781
+ obj_pal gMonShinyPalette_Blaziken, 782
+ obj_pal gMonShinyPalette_Mudkip, 783
+ obj_pal gMonShinyPalette_Marshtomp, 784
+ obj_pal gMonShinyPalette_Swampert, 785
+ obj_pal gMonShinyPalette_Poochyena, 786
+ obj_pal gMonShinyPalette_Mightyena, 787
+ obj_pal gMonShinyPalette_Zigzagoon, 788
+ obj_pal gMonShinyPalette_Linoone, 789
+ obj_pal gMonShinyPalette_Wurmple, 790
+ obj_pal gMonShinyPalette_Silcoon, 791
+ obj_pal gMonShinyPalette_Beautifly, 792
+ obj_pal gMonShinyPalette_Cascoon, 793
+ obj_pal gMonShinyPalette_Dustox, 794
+ obj_pal gMonShinyPalette_Lotad, 795
+ obj_pal gMonShinyPalette_Lombre, 796
+ obj_pal gMonShinyPalette_Ludicolo, 797
+ obj_pal gMonShinyPalette_Seedot, 798
+ obj_pal gMonShinyPalette_Nuzleaf, 799
+ obj_pal gMonShinyPalette_Shiftry, 800
+ obj_pal gMonShinyPalette_Nincada, 801
+ obj_pal gMonShinyPalette_Ninjask, 802
+ obj_pal gMonShinyPalette_Shedinja, 803
+ obj_pal gMonShinyPalette_Taillow, 804
+ obj_pal gMonShinyPalette_Swellow, 805
+ obj_pal gMonShinyPalette_Shroomish, 806
+ obj_pal gMonShinyPalette_Breloom, 807
+ obj_pal gMonShinyPalette_Spinda, 808
+ obj_pal gMonShinyPalette_Wingull, 809
+ obj_pal gMonShinyPalette_Pelipper, 810
+ obj_pal gMonShinyPalette_Surskit, 811
+ obj_pal gMonShinyPalette_Masquerain, 812
+ obj_pal gMonShinyPalette_Wailmer, 813
+ obj_pal gMonShinyPalette_Wailord, 814
+ obj_pal gMonShinyPalette_Skitty, 815
+ obj_pal gMonShinyPalette_Delcatty, 816
+ obj_pal gMonShinyPalette_Kecleon, 817
+ obj_pal gMonShinyPalette_Baltoy, 818
+ obj_pal gMonShinyPalette_Claydol, 819
+ obj_pal gMonShinyPalette_Nosepass, 820
+ obj_pal gMonShinyPalette_Torkoal, 821
+ obj_pal gMonShinyPalette_Sableye, 822
+ obj_pal gMonShinyPalette_Barboach, 823
+ obj_pal gMonShinyPalette_Whiscash, 824
+ obj_pal gMonShinyPalette_Luvdisc, 825
+ obj_pal gMonShinyPalette_Corphish, 826
+ obj_pal gMonShinyPalette_Crawdaunt, 827
+ obj_pal gMonShinyPalette_Feebas, 828
+ obj_pal gMonShinyPalette_Milotic, 829
+ obj_pal gMonShinyPalette_Carvanha, 830
+ obj_pal gMonShinyPalette_Sharpedo, 831
+ obj_pal gMonShinyPalette_Trapinch, 832
+ obj_pal gMonShinyPalette_Vibrava, 833
+ obj_pal gMonShinyPalette_Flygon, 834
+ obj_pal gMonShinyPalette_Makuhita, 835
+ obj_pal gMonShinyPalette_Hariyama, 836
+ obj_pal gMonShinyPalette_Electrike, 837
+ obj_pal gMonShinyPalette_Manectric, 838
+ obj_pal gMonShinyPalette_Numel, 839
+ obj_pal gMonShinyPalette_Camerupt, 840
+ obj_pal gMonShinyPalette_Spheal, 841
+ obj_pal gMonShinyPalette_Sealeo, 842
+ obj_pal gMonShinyPalette_Walrein, 843
+ obj_pal gMonShinyPalette_Cacnea, 844
+ obj_pal gMonShinyPalette_Cacturne, 845
+ obj_pal gMonShinyPalette_Snorunt, 846
+ obj_pal gMonShinyPalette_Glalie, 847
+ obj_pal gMonShinyPalette_Lunatone, 848
+ obj_pal gMonShinyPalette_Solrock, 849
+ obj_pal gMonShinyPalette_Azurill, 850
+ obj_pal gMonShinyPalette_Spoink, 851
+ obj_pal gMonShinyPalette_Grumpig, 852
+ obj_pal gMonShinyPalette_Plusle, 853
+ obj_pal gMonShinyPalette_Minun, 854
+ obj_pal gMonShinyPalette_Mawile, 855
+ obj_pal gMonShinyPalette_Meditite, 856
+ obj_pal gMonShinyPalette_Medicham, 857
+ obj_pal gMonShinyPalette_Swablu, 858
+ obj_pal gMonShinyPalette_Altaria, 859
+ obj_pal gMonShinyPalette_Wynaut, 860
+ obj_pal gMonShinyPalette_Duskull, 861
+ obj_pal gMonShinyPalette_Dusclops, 862
+ obj_pal gMonShinyPalette_Roselia, 863
+ obj_pal gMonShinyPalette_Slakoth, 864
+ obj_pal gMonShinyPalette_Vigoroth, 865
+ obj_pal gMonShinyPalette_Slaking, 866
+ obj_pal gMonShinyPalette_Gulpin, 867
+ obj_pal gMonShinyPalette_Swalot, 868
+ obj_pal gMonShinyPalette_Tropius, 869
+ obj_pal gMonShinyPalette_Whismur, 870
+ obj_pal gMonShinyPalette_Loudred, 871
+ obj_pal gMonShinyPalette_Exploud, 872
+ obj_pal gMonShinyPalette_Clamperl, 873
+ obj_pal gMonShinyPalette_Huntail, 874
+ obj_pal gMonShinyPalette_Gorebyss, 875
+ obj_pal gMonShinyPalette_Absol, 876
+ obj_pal gMonShinyPalette_Shuppet, 877
+ obj_pal gMonShinyPalette_Banette, 878
+ obj_pal gMonShinyPalette_Seviper, 879
+ obj_pal gMonShinyPalette_Zangoose, 880
+ obj_pal gMonShinyPalette_Relicanth, 881
+ obj_pal gMonShinyPalette_Aron, 882
+ obj_pal gMonShinyPalette_Lairon, 883
+ obj_pal gMonShinyPalette_Aggron, 884
+ obj_pal gMonShinyPalette_Castform, 885
+ obj_pal gMonShinyPalette_Volbeat, 886
+ obj_pal gMonShinyPalette_Illumise, 887
+ obj_pal gMonShinyPalette_Lileep, 888
+ obj_pal gMonShinyPalette_Cradily, 889
+ obj_pal gMonShinyPalette_Anorith, 890
+ obj_pal gMonShinyPalette_Armaldo, 891
+ obj_pal gMonShinyPalette_Ralts, 892
+ obj_pal gMonShinyPalette_Kirlia, 893
+ obj_pal gMonShinyPalette_Gardevoir, 894
+ obj_pal gMonShinyPalette_Bagon, 895
+ obj_pal gMonShinyPalette_Shelgon, 896
+ obj_pal gMonShinyPalette_Salamence, 897
+ obj_pal gMonShinyPalette_Beldum, 898
+ obj_pal gMonShinyPalette_Metang, 899
+ obj_pal gMonShinyPalette_Metagross, 900
+ obj_pal gMonShinyPalette_Regirock, 901
+ obj_pal gMonShinyPalette_Regice, 902
+ obj_pal gMonShinyPalette_Registeel, 903
+ obj_pal gMonShinyPalette_Kyogre, 904
+ obj_pal gMonShinyPalette_Groudon, 905
+ obj_pal gMonShinyPalette_Rayquaza, 906
+ obj_pal gMonShinyPalette_Latias, 907
+ obj_pal gMonShinyPalette_Latios, 908
+ obj_pal gMonShinyPalette_Jirachi, 909
+ obj_pal gMonShinyPalette_Deoxys, 910
+ obj_pal gMonShinyPalette_Chimecho, 911
+ obj_pal gMonPalette_Egg, 912
+ obj_pal gMonShinyPalette_Unown, 913
+ obj_pal gMonShinyPalette_Unown, 914
+ obj_pal gMonShinyPalette_Unown, 915
+ obj_pal gMonShinyPalette_Unown, 916
+ obj_pal gMonShinyPalette_Unown, 917
+ obj_pal gMonShinyPalette_Unown, 918
+ obj_pal gMonShinyPalette_Unown, 919
+ obj_pal gMonShinyPalette_Unown, 920
+ obj_pal gMonShinyPalette_Unown, 921
+ obj_pal gMonShinyPalette_Unown, 922
+ obj_pal gMonShinyPalette_Unown, 923
+ obj_pal gMonShinyPalette_Unown, 924
+ obj_pal gMonShinyPalette_Unown, 925
+ obj_pal gMonShinyPalette_Unown, 926
+ obj_pal gMonShinyPalette_Unown, 927
+ obj_pal gMonShinyPalette_Unown, 928
+ obj_pal gMonShinyPalette_Unown, 929
+ obj_pal gMonShinyPalette_Unown, 930
+ obj_pal gMonShinyPalette_Unown, 931
+ obj_pal gMonShinyPalette_Unown, 932
+ obj_pal gMonShinyPalette_Unown, 933
+ obj_pal gMonShinyPalette_Unown, 934
+ obj_pal gMonShinyPalette_Unown, 935
+ obj_pal gMonShinyPalette_Unown, 936
+ obj_pal gMonShinyPalette_Unown, 937
+ obj_pal gMonShinyPalette_Unown, 938
+ obj_pal gMonShinyPalette_Unown, 939
diff --git a/fix_local_labels.pl b/fix_local_labels.pl
new file mode 100644
index 000000000..d3258c766
--- /dev/null
+++ b/fix_local_labels.pl
@@ -0,0 +1,28 @@
+use strict;
+use warnings;
+
+open(IN_FILE, $ARGV[0]);
+open(OUT_FILE, ">", $ARGV[1]);
+
+my @labels = ();
+
+while (<IN_FILE>) {
+ if ($_ =~ /^\.(.+):/) {
+ push(@labels, $1);
+ }
+}
+
+seek IN_FILE, 0, 0;
+
+while (<IN_FILE>) {
+ for (my $i = 0; $i < scalar(@labels); $i++) {
+ my $find = quotemeta '.' . $labels[$i];
+ my $replace = '$' . $labels[$i];
+ $_ =~ s/$find/$replace/;
+ }
+
+ print OUT_FILE $_;
+}
+
+close(IN_FILE);
+close(OUT_FILE);
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
new file mode 100644
index 000000000..04a33917a
--- /dev/null
+++ b/graphics_file_rules.mk
@@ -0,0 +1,25 @@
+CASTFORMGFXDIR := graphics/pokemon/castform
+
+$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/back_normal_form.4bpp \
+ $(CASTFORMGFXDIR)/back_sunny_form.4bpp \
+ $(CASTFORMGFXDIR)/back_rainy_form.4bpp \
+ $(CASTFORMGFXDIR)/back_snowy_form.4bpp
+ @cat $(CASTFORMGFXDIR)/back_normal_form.4bpp $(CASTFORMGFXDIR)/back_sunny_form.4bpp $(CASTFORMGFXDIR)/back_rainy_form.4bpp $(CASTFORMGFXDIR)/back_snowy_form.4bpp >$@
+
+$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/front_normal_form.4bpp \
+ $(CASTFORMGFXDIR)/front_sunny_form.4bpp \
+ $(CASTFORMGFXDIR)/front_rainy_form.4bpp \
+ $(CASTFORMGFXDIR)/front_snowy_form.4bpp
+ @cat $(CASTFORMGFXDIR)/front_normal_form.4bpp $(CASTFORMGFXDIR)/front_sunny_form.4bpp $(CASTFORMGFXDIR)/front_rainy_form.4bpp $(CASTFORMGFXDIR)/front_snowy_form.4bpp >$@
+
+$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal_form.gbapal \
+ $(CASTFORMGFXDIR)/sunny_form.gbapal \
+ $(CASTFORMGFXDIR)/rainy_form.gbapal \
+ $(CASTFORMGFXDIR)/snowy_form.gbapal
+ @cat $(CASTFORMGFXDIR)/normal_form.gbapal $(CASTFORMGFXDIR)/sunny_form.gbapal $(CASTFORMGFXDIR)/rainy_form.gbapal $(CASTFORMGFXDIR)/snowy_form.gbapal >$@
+
+$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/normal_form_shiny.gbapal \
+ $(CASTFORMGFXDIR)/sunny_form_shiny.gbapal \
+ $(CASTFORMGFXDIR)/rainy_form_shiny.gbapal \
+ $(CASTFORMGFXDIR)/snowy_form_shiny.gbapal
+ @cat $(CASTFORMGFXDIR)/normal_form_shiny.gbapal $(CASTFORMGFXDIR)/sunny_form_shiny.gbapal $(CASTFORMGFXDIR)/rainy_form_shiny.gbapal $(CASTFORMGFXDIR)/snowy_form_shiny.gbapal >$@
diff --git a/rom.sha1 b/rom.sha1
new file mode 100644
index 000000000..61b6a3325
--- /dev/null
+++ b/rom.sha1
@@ -0,0 +1 @@
+f28b6ffc97847e94a6c21a63cacf633ee5c8df1e pokeruby.gba
diff --git a/tools/gbagfx/.gitignore b/tools/gbagfx/.gitignore
new file mode 100644
index 000000000..dbbb3f04c
--- /dev/null
+++ b/tools/gbagfx/.gitignore
@@ -0,0 +1 @@
+gbagfx
diff --git a/tools/gbagfx/LICENSE b/tools/gbagfx/LICENSE
new file mode 100644
index 000000000..b66bf81c0
--- /dev/null
+++ b/tools/gbagfx/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2015 YamaArashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile
new file mode 100644
index 000000000..e7f089445
--- /dev/null
+++ b/tools/gbagfx/Makefile
@@ -0,0 +1,15 @@
+CC = gcc
+
+CFLAGS = -Wall -Wextra -std=c11 -O2
+
+LIBS = -lz -lpng
+
+SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c util.c font.c
+
+.PHONY: clean
+
+gbagfx: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h util.h font.h
+ $(CC) $(CFLAGS) $(SRCS) -o $@ $(LIBS)
+
+clean:
+ $(RM) gbagfx gbagfx.exe
diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c
new file mode 100644
index 000000000..f6a30804a
--- /dev/null
+++ b/tools/gbagfx/convert_png.c
@@ -0,0 +1,169 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <setjmp.h>
+#include <png.h>
+#include "global.h"
+#include "convert_png.h"
+#include "gfx.h"
+
+void ReadPng(char *path, struct Image *image)
+{
+ FILE *fp = fopen(path, "rb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for reading.\n", path);
+
+ unsigned char sig[8];
+
+ if (fread(sig, 8, 1, fp) != 1)
+ FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path);
+
+ if (png_sig_cmp(sig, 0, 8))
+ FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path);
+
+ png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+
+ if (!png_ptr)
+ FATAL_ERROR("Failed to create PNG read struct.\n");
+
+ png_infop info_ptr = png_create_info_struct(png_ptr);
+
+ if (!info_ptr)
+ FATAL_ERROR("Failed to create PNG info struct.\n");
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path);
+
+ png_init_io(png_ptr, fp);
+ png_set_sig_bytes(png_ptr, 8);
+ png_read_info(png_ptr, info_ptr);
+
+ int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
+
+ if (bit_depth != image->bitDepth)
+ FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth);
+
+ int color_type = png_get_color_type(png_ptr, info_ptr);
+
+ if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE)
+ FATAL_ERROR("\"%s\" has an unsupported color type.\n", path);
+
+ // Check if the image has a palette so that we can tell if the colors need to be inverted later.
+ // Don't read the palette because it's not needed for now.
+ image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE);
+
+ image->width = png_get_image_width(png_ptr, info_ptr);
+ image->height = png_get_image_height(png_ptr, info_ptr);
+
+ int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+
+ image->pixels = malloc(image->height * rowbytes);
+
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate pixel buffer.\n");
+
+ png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
+
+ if (row_pointers == NULL)
+ FATAL_ERROR("Failed to allocate row pointers.\n");
+
+ for (int i = 0; i < image->height; i++)
+ row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error reading from \"%s\".\n", path);
+
+ png_read_image(png_ptr, row_pointers);
+
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ free(row_pointers);
+ fclose(fp);
+}
+
+void SetPngPalette(png_structp png_ptr, png_infop info_ptr, struct Palette *palette)
+{
+ png_colorp colors = malloc(palette->numColors * sizeof(png_color));
+
+ if (colors == NULL)
+ FATAL_ERROR("Failed to allocate PNG palette.\n");
+
+ for (int i = 0; i < palette->numColors; i++) {
+ colors[i].red = palette->colors[i].red;
+ colors[i].green = palette->colors[i].green;
+ colors[i].blue = palette->colors[i].blue;
+ }
+
+ png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors);
+
+ free(colors);
+}
+
+void WritePng(char *path, struct Image *image)
+{
+ FILE *fp = fopen(path, "wb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for writing.\n", path);
+
+ png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+
+ if (!png_ptr)
+ FATAL_ERROR("Failed to create PNG write struct.\n");
+
+ png_infop info_ptr = png_create_info_struct(png_ptr);
+
+ if (!info_ptr)
+ FATAL_ERROR("Failed to create PNG info struct.\n");
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path);
+
+ png_init_io(png_ptr, fp);
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error writing header for \"%s\".\n", path);
+
+ int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY;
+
+ png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
+ image->bitDepth, color_type, PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
+
+ if (image->hasPalette) {
+ SetPngPalette(png_ptr, info_ptr, &image->palette);
+
+ if (image->hasTransparency) {
+ png_byte trans = 0;
+ png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0);
+ }
+ }
+
+ png_write_info(png_ptr, info_ptr);
+
+ png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep));
+
+ if (row_pointers == NULL)
+ FATAL_ERROR("Failed to allocate row pointers.\n");
+
+ int rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+
+ for (int i = 0; i < image->height; i++)
+ row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes));
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error writing \"%s\".\n", path);
+
+ png_write_image(png_ptr, row_pointers);
+
+ if (setjmp(png_jmpbuf(png_ptr)))
+ FATAL_ERROR("Error ending write of \"%s\".\n", path);
+
+ png_write_end(png_ptr, NULL);
+
+ fclose(fp);
+
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ free(row_pointers);
+}
diff --git a/tools/gbagfx/convert_png.h b/tools/gbagfx/convert_png.h
new file mode 100644
index 000000000..55d3d6942
--- /dev/null
+++ b/tools/gbagfx/convert_png.h
@@ -0,0 +1,11 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef CONVERT_PNG_H
+#define CONVERT_PNG_H
+
+#include "gfx.h"
+
+void ReadPng(char *path, struct Image *image);
+void WritePng(char *path, struct Image *image);
+
+#endif // CONVERT_PNG_H
diff --git a/tools/gbagfx/font.c b/tools/gbagfx/font.c
new file mode 100644
index 000000000..0dd6fbc3e
--- /dev/null
+++ b/tools/gbagfx/font.c
@@ -0,0 +1,326 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include "global.h"
+#include "font.h"
+#include "gfx.h"
+#include "util.h"
+
+unsigned char gFontPalette[][3] = {
+ {0x90, 0xC8, 0xFF}, // bg (saturated blue that contrasts well with the shadow color)
+ {0x38, 0x38, 0x38}, // fg (dark grey)
+ {0xD8, 0xD8, 0xD8}, // shadow (light grey)
+ {0xFF, 0xFF, 0xFF} // box (white)
+};
+
+static void ConvertFromLatinFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ unsigned int srcPixelsOffset = 0;
+
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) {
+ unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8);
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i;
+ unsigned int destPixelsOffset = (pixelsY * 64) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ srcPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void ConvertToLatinFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ unsigned int destPixelsOffset = 0;
+
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) {
+ unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8);
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i;
+ unsigned int srcPixelsOffset = (pixelsY * 64) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ destPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void ConvertFromHalfwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ unsigned int glyphIndex = (row * 16) + column;
+
+ for (unsigned int glyphTile = 0; glyphTile < 2; glyphTile++) {
+ unsigned int pixelsX = column * 8;
+ unsigned int srcPixelsOffset = 512 * (glyphIndex >> 4) + 16 * (glyphIndex & 0xF) + 256 * glyphTile;
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + (glyphTile * 8) + i;
+ unsigned int destPixelsOffset = (pixelsY * 32) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ srcPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void ConvertToHalfwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ unsigned int glyphIndex = (row * 16) + column;
+
+ for (unsigned int glyphTile = 0; glyphTile < 2; glyphTile++) {
+ unsigned int pixelsX = column * 8;
+ unsigned int destPixelsOffset = 512 * (glyphIndex >> 4) + 16 * (glyphIndex & 0xF) + 256 * glyphTile;
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + (glyphTile * 8) + i;
+ unsigned int srcPixelsOffset = (pixelsY * 32) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ destPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void ConvertFromFullwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ unsigned int glyphIndex = (row * 16) + column;
+
+ for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) {
+ unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8);
+ unsigned int srcPixelsOffset = 512 * (glyphIndex >> 3) + 32 * (glyphIndex & 7) + 256 * (glyphTile >> 1) + 16 * (glyphTile & 1);
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i;
+ unsigned int destPixelsOffset = (pixelsY * 64) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ srcPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void ConvertToFullwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows)
+{
+ for (unsigned int row = 0; row < numRows; row++) {
+ for (unsigned int column = 0; column < 16; column++) {
+ unsigned int glyphIndex = (row * 16) + column;
+
+ for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) {
+ unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8);
+ unsigned int destPixelsOffset = 512 * (glyphIndex >> 3) + 32 * (glyphIndex & 7) + 256 * (glyphTile >> 1) + 16 * (glyphTile & 1);
+
+ for (unsigned int i = 0; i < 8; i++) {
+ unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i;
+ unsigned int srcPixelsOffset = (pixelsY * 64) + (pixelsX / 4);
+
+ dest[destPixelsOffset] = src[srcPixelsOffset + 1];
+ dest[destPixelsOffset + 1] = src[srcPixelsOffset];
+
+ destPixelsOffset += 2;
+ }
+ }
+ }
+ }
+}
+
+static void SetFontPalette(struct Image *image)
+{
+ image->hasPalette = true;
+
+ image->palette.numColors = 4;
+
+ for (int i = 0; i < image->palette.numColors; i++) {
+ image->palette.colors[i].red = gFontPalette[i][0];
+ image->palette.colors[i].green = gFontPalette[i][1];
+ image->palette.colors[i].blue = gFontPalette[i][2];
+ }
+
+ image->hasTransparency = false;
+}
+
+void ReadLatinFont(char *path, struct Image *image)
+{
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(path, &fileSize);
+
+ int numGlyphs = fileSize / 64;
+
+ if (numGlyphs % 16 != 0)
+ FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs);
+
+ int numRows = numGlyphs / 16;
+
+ image->width = 256;
+ image->height = numRows * 16;
+ image->bitDepth = 2;
+ image->pixels = malloc(fileSize);
+
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertFromLatinFont(buffer, image->pixels, numRows);
+
+ free(buffer);
+
+ SetFontPalette(image);
+}
+
+void WriteLatinFont(char *path, struct Image *image)
+{
+ if (image->width != 256)
+ FATAL_ERROR("The width of the font image (%d) is not 256.\n", image->width);
+
+ if (image->height % 16 != 0)
+ FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height);
+
+ int numRows = image->height / 16;
+ int bufferSize = numRows * 16 * 64;
+ unsigned char *buffer = malloc(bufferSize);
+
+ if (buffer == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertToLatinFont(image->pixels, buffer, numRows);
+
+ WriteWholeFile(path, buffer, bufferSize);
+
+ free(buffer);
+}
+
+void ReadHalfwidthJapaneseFont(char *path, struct Image *image)
+{
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(path, &fileSize);
+
+ int glyphSize = 32;
+
+ if (fileSize % glyphSize != 0)
+ FATAL_ERROR("The file size (%d) is not a multiple of %d.\n", fileSize, glyphSize);
+
+ int numGlyphs = fileSize / glyphSize;
+
+ if (numGlyphs % 16 != 0)
+ FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs);
+
+ int numRows = numGlyphs / 16;
+
+ image->width = 128;
+ image->height = numRows * 16;
+ image->bitDepth = 2;
+ image->pixels = malloc(fileSize);
+
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertFromHalfwidthJapaneseFont(buffer, image->pixels, numRows);
+
+ free(buffer);
+
+ SetFontPalette(image);
+}
+
+void WriteHalfwidthJapaneseFont(char *path, struct Image *image)
+{
+ if (image->width != 128)
+ FATAL_ERROR("The width of the font image (%d) is not 128.\n", image->width);
+
+ if (image->height % 16 != 0)
+ FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height);
+
+ int numRows = image->height / 16;
+ int bufferSize = numRows * 16 * 32;
+ unsigned char *buffer = malloc(bufferSize);
+
+ if (buffer == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertToHalfwidthJapaneseFont(image->pixels, buffer, numRows);
+
+ WriteWholeFile(path, buffer, bufferSize);
+
+ free(buffer);
+}
+
+void ReadFullwidthJapaneseFont(char *path, struct Image *image)
+{
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(path, &fileSize);
+
+ int numGlyphs = fileSize / 64;
+
+ if (numGlyphs % 16 != 0)
+ FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs);
+
+ int numRows = numGlyphs / 16;
+
+ image->width = 256;
+ image->height = numRows * 16;
+ image->bitDepth = 2;
+ image->pixels = malloc(fileSize);
+
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertFromFullwidthJapaneseFont(buffer, image->pixels, numRows);
+
+ free(buffer);
+
+ SetFontPalette(image);
+}
+
+void WriteFullwidthJapaneseFont(char *path, struct Image *image)
+{
+ if (image->width != 256)
+ FATAL_ERROR("The width of the font image (%d) is not 256.\n", image->width);
+
+ if (image->height % 16 != 0)
+ FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height);
+
+ int numRows = image->height / 16;
+ int bufferSize = numRows * 16 * 64;
+ unsigned char *buffer = malloc(bufferSize);
+
+ if (buffer == NULL)
+ FATAL_ERROR("Failed to allocate memory for font.\n");
+
+ ConvertToFullwidthJapaneseFont(image->pixels, buffer, numRows);
+
+ WriteWholeFile(path, buffer, bufferSize);
+
+ free(buffer);
+}
diff --git a/tools/gbagfx/font.h b/tools/gbagfx/font.h
new file mode 100644
index 000000000..45086d02a
--- /dev/null
+++ b/tools/gbagfx/font.h
@@ -0,0 +1,16 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef FONT_H
+#define FONT_H
+
+#include <stdbool.h>
+#include "gfx.h"
+
+void ReadLatinFont(char *path, struct Image *image);
+void WriteLatinFont(char *path, struct Image *image);
+void ReadHalfwidthJapaneseFont(char *path, struct Image *image);
+void WriteHalfwidthJapaneseFont(char *path, struct Image *image);
+void ReadFullwidthJapaneseFont(char *path, struct Image *image);
+void WriteFullwidthJapaneseFont(char *path, struct Image *image);
+
+#endif // FONT_H
diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c
new file mode 100644
index 000000000..c0f7f492c
--- /dev/null
+++ b/tools/gbagfx/gfx.c
@@ -0,0 +1,329 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include "global.h"
+#include "gfx.h"
+#include "util.h"
+
+#define GET_GBA_PAL_RED(x) (((x) >> 0) & 0x1F)
+#define GET_GBA_PAL_GREEN(x) (((x) >> 5) & 0x1F)
+#define GET_GBA_PAL_BLUE(x) (((x) >> 10) & 0x1F)
+
+#define SET_GBA_PAL(r, g, b) (((b) << 10) | ((g) << 5) | (r))
+
+#define UPCONVERT_BIT_DEPTH(x) (((x) * 255) / 31)
+
+#define DOWNCONVERT_BIT_DEPTH(x) ((x) / 8)
+
+static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int destY = tilesY * 8 + j;
+ int destX = tilesX;
+ unsigned char srcPixelOctet = *src++;
+ unsigned char *destPixelOctet = &dest[destY * pitch + destX];
+
+ for (int k = 0; k < 8; k++) {
+ *destPixelOctet <<= 1;
+ *destPixelOctet |= (srcPixelOctet & 1) ^ invertColors;
+ srcPixelOctet >>= 1;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth * 4;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int destY = tilesY * 8 + j;
+
+ for (int k = 0; k < 4; k++) {
+ int destX = tilesX * 4 + k;
+ unsigned char srcPixelPair = *src++;
+ unsigned char leftPixel = srcPixelPair & 0xF;
+ unsigned char rightPixel = srcPixelPair >> 4;
+
+ if (invertColors) {
+ leftPixel = 15 - leftPixel;
+ rightPixel = 15 - rightPixel;
+ }
+
+ dest[destY * pitch + destX] = (leftPixel << 4) | rightPixel;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth * 8;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int destY = tilesY * 8 + j;
+
+ for (int k = 0; k < 8; k++) {
+ int destX = tilesX * 8 + k;
+ unsigned char srcPixel = *src++;
+
+ if (invertColors)
+ srcPixel = 255 - srcPixel;
+
+ dest[destY * pitch + destX] = srcPixel;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int srcY = tilesY * 8 + j;
+ int srcX = tilesX;
+ unsigned char srcPixelOctet = src[srcY * pitch + srcX];
+ unsigned char *destPixelOctet = dest++;
+
+ for (int k = 0; k < 8; k++) {
+ *destPixelOctet <<= 1;
+ *destPixelOctet |= (srcPixelOctet & 1) ^ invertColors;
+ srcPixelOctet >>= 1;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth * 4;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int srcY = tilesY * 8 + j;
+
+ for (int k = 0; k < 4; k++) {
+ int srcX = tilesX * 4 + k;
+ unsigned char srcPixelPair = src[srcY * pitch + srcX];
+ unsigned char leftPixel = srcPixelPair >> 4;
+ unsigned char rightPixel = srcPixelPair & 0xF;
+
+ if (invertColors) {
+ leftPixel = 15 - leftPixel;
+ rightPixel = 15 - rightPixel;
+ }
+
+ *dest++ = (rightPixel << 4) | leftPixel;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors)
+{
+ int tilesX = 0;
+ int tilesY = 0;
+ int pitch = tilesWidth * 8;
+
+ for (int i = 0; i < numTiles; i++) {
+ for (int j = 0; j < 8; j++) {
+ int srcY = tilesY * 8 + j;
+
+ for (int k = 0; k < 8; k++) {
+ int srcX = tilesX * 8 + k;
+ unsigned char srcPixel = src[srcY * pitch + srcX];
+
+ if (invertColors)
+ srcPixel = 255 - srcPixel;
+
+ *dest++ = srcPixel;
+ }
+ }
+
+ tilesX++;
+
+ if (tilesX == tilesWidth) {
+ tilesX = 0;
+ tilesY++;
+ }
+ }
+}
+
+void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors)
+{
+ int tileSize = bitDepth * 8;
+
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(path, &fileSize);
+
+ int numTiles = fileSize / tileSize;
+
+ int tilesHeight = (numTiles + tilesWidth - 1) / tilesWidth;
+
+ image->width = tilesWidth * 8;
+ image->height = tilesHeight * 8;
+ image->bitDepth = bitDepth;
+ image->pixels = calloc(tilesWidth * tilesHeight, tileSize);
+
+ if (image->pixels == NULL)
+ FATAL_ERROR("Failed to allocate memory for pixels.\n");
+
+ switch (bitDepth) {
+ case 1:
+ ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors);
+ break;
+ case 4:
+ ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors);
+ break;
+ case 8:
+ ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors);
+ break;
+ }
+
+ free(buffer);
+}
+
+void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors)
+{
+ int tileSize = bitDepth * 8;
+
+ if (image->width % 8 != 0)
+ FATAL_ERROR("The width in pixels (%d) isn't a multiple of 8.\n", image->width);
+
+ if (image->height % 8 != 0)
+ FATAL_ERROR("The height in pixels (%d) isn't a multiple of 8.\n", image->height);
+
+ int tilesWidth = image->width / 8;
+ int tilesHeight = image->height / 8;
+
+ int maxNumTiles = tilesWidth * tilesHeight;
+
+ if (numTiles == 0)
+ numTiles = maxNumTiles;
+ else if (numTiles > maxNumTiles)
+ FATAL_ERROR("The specified number of tiles (%d) is greater than the maximum possible value (%d).\n", numTiles, maxNumTiles);
+
+ int bufferSize = numTiles * tileSize;
+ unsigned char *buffer = malloc(bufferSize);
+
+ if (buffer == NULL)
+ FATAL_ERROR("Failed to allocate memory for pixels.\n");
+
+ switch (bitDepth) {
+ case 1:
+ ConvertToTiles1Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors);
+ break;
+ case 4:
+ ConvertToTiles4Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors);
+ break;
+ case 8:
+ ConvertToTiles8Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors);
+ break;
+ }
+
+ WriteWholeFile(path, buffer, bufferSize);
+
+ free(buffer);
+}
+
+void FreeImage(struct Image *image)
+{
+ free(image->pixels);
+ image->pixels = NULL;
+}
+
+void ReadGbaPalette(char *path, struct Palette *palette)
+{
+ int fileSize;
+ unsigned char *data = ReadWholeFile(path, &fileSize);
+
+ if (fileSize % 2 != 0)
+ FATAL_ERROR("The file size (%d) is not a multiple of 2.\n", fileSize);
+
+ palette->numColors = fileSize / 2;
+
+ for (int i = 0; i < palette->numColors; i++) {
+ uint16_t paletteEntry = (data[i * 2 + 1] << 8) | data[i * 2];
+ palette->colors[i].red = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_RED(paletteEntry));
+ palette->colors[i].green = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_GREEN(paletteEntry));
+ palette->colors[i].blue = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_BLUE(paletteEntry));
+ }
+
+ free(data);
+}
+
+void WriteGbaPalette(char *path, struct Palette *palette)
+{
+ FILE *fp = fopen(path, "wb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for writing.\n", path);
+
+ for (int i = 0; i < palette->numColors; i++) {
+ unsigned char red = DOWNCONVERT_BIT_DEPTH(palette->colors[i].red);
+ unsigned char green = DOWNCONVERT_BIT_DEPTH(palette->colors[i].green);
+ unsigned char blue = DOWNCONVERT_BIT_DEPTH(palette->colors[i].blue);
+
+ uint16_t paletteEntry = SET_GBA_PAL(red, green, blue);
+
+ fputc(paletteEntry & 0xFF, fp);
+ fputc(paletteEntry >> 8, fp);
+ }
+
+ fclose(fp);
+}
diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h
new file mode 100644
index 000000000..ecd436652
--- /dev/null
+++ b/tools/gbagfx/gfx.h
@@ -0,0 +1,36 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef GFX_H
+#define GFX_H
+
+#include <stdint.h>
+#include <stdbool.h>
+
+struct Color {
+ unsigned char red;
+ unsigned char green;
+ unsigned char blue;
+};
+
+struct Palette {
+ struct Color colors[256];
+ int numColors;
+};
+
+struct Image {
+ int width;
+ int height;
+ int bitDepth;
+ unsigned char *pixels;
+ bool hasPalette;
+ struct Palette palette;
+ bool hasTransparency;
+};
+
+void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors);
+void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors);
+void FreeImage(struct Image *image);
+void ReadGbaPalette(char *path, struct Palette *palette);
+void WriteGbaPalette(char *path, struct Palette *palette);
+
+#endif // GFX_H
diff --git a/tools/gbagfx/global.h b/tools/gbagfx/global.h
new file mode 100644
index 000000000..65dd351d2
--- /dev/null
+++ b/tools/gbagfx/global.h
@@ -0,0 +1,31 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef GLOBAL_H
+#define GLOBAL_H
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef _MSC_VER
+
+#define FATAL_ERROR(format, ...) \
+do { \
+ fprintf(stderr, format, __VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#define UNUSED
+
+#else
+
+#define FATAL_ERROR(format, ...) \
+do { \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#define UNUSED __attribute__((__unused__))
+
+#endif // _MSC_VER
+
+#endif // GLOBAL_H
diff --git a/tools/gbagfx/jasc_pal.c b/tools/gbagfx/jasc_pal.c
new file mode 100644
index 000000000..02b6ed915
--- /dev/null
+++ b/tools/gbagfx/jasc_pal.c
@@ -0,0 +1,164 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <string.h>
+#include "global.h"
+#include "gfx.h"
+#include "util.h"
+
+// Read/write Paint Shop Pro palette files.
+
+// Format of a Paint Shop Pro palette file, line by line:
+// "JASC-PAL\r\n" (signature)
+// "0100\r\n" (version; seems to always be "0100")
+// "<NUMBER_OF_COLORS>\r\n" (number of colors in decimal)
+//
+// 16 or 256 times (depending on above line):
+// "<RED> <GREEN> <BLUE>\r\n" (color entry)
+//
+// Each color component is a decimal number from 0 to 255.
+// Examples:
+// Black - "0 0 0\r\n"
+// Blue - "0 0 255\r\n"
+// Brown - "150 75 0\r\n"
+
+#define MAX_LINE_LENGTH 11
+
+void ReadJascPaletteLine(FILE *fp, char *line)
+{
+ int c;
+ int length = 0;
+
+ for (;;) {
+ c = fgetc(fp);
+
+ if (c == '\r') {
+ c = fgetc(fp);
+
+ if (c != '\n')
+ FATAL_ERROR("CR line endings aren't supported.\n");
+
+ line[length] = 0;
+
+ return;
+ }
+
+ if (c == '\n')
+ FATAL_ERROR("LF line endings aren't supported.\n");
+
+ if (c == EOF)
+ FATAL_ERROR("Unexpected EOF. No CRLF at end of file.\n");
+
+ if (c == 0)
+ FATAL_ERROR("NUL character in file.\n");
+
+ if (length == MAX_LINE_LENGTH) {
+ line[length] = 0;
+ FATAL_ERROR("The line \"%s\" is too long.\n", line);
+ }
+
+ line[length++] = c;
+ }
+}
+
+void ReadJascPalette(char *path, struct Palette *palette)
+{
+ char line[MAX_LINE_LENGTH + 1];
+
+ FILE *fp = fopen(path, "rb");
+
+ ReadJascPaletteLine(fp, line);
+
+ if (strcmp(line, "JASC-PAL") != 0)
+ FATAL_ERROR("Invalid JASC-PAL signature.\n");
+
+ ReadJascPaletteLine(fp, line);
+
+ if (strcmp(line, "0100") != 0)
+ FATAL_ERROR("Unsuported JASC-PAL version.\n");
+
+ ReadJascPaletteLine(fp, line);
+
+ if (!ParseNumber(line, NULL, 10, &palette->numColors))
+ FATAL_ERROR("Failed to parse number of colors.\n");
+
+ if (palette->numColors != 16 && palette->numColors != 256)
+ FATAL_ERROR("%d is an invalid number of colors. The number of colors must be 16 or 256.\n", palette->numColors);
+
+ for (int i = 0; i < palette->numColors; i++) {
+ ReadJascPaletteLine(fp, line);
+
+ char *s = line;
+ char *end;
+
+ int red;
+ int green;
+ int blue;
+
+ if (!ParseNumber(s, &end, 10, &red))
+ FATAL_ERROR("Failed to parse red color component.\n");
+
+ s = end;
+
+ if (*s != ' ')
+ FATAL_ERROR("Expected a space after red color component.\n");
+
+ s++;
+
+ if (*s < '0' || *s > '9')
+ FATAL_ERROR("Expected only a space between red and green color components.\n");
+
+ if (!ParseNumber(s, &end, 10, &green))
+ FATAL_ERROR("Failed to parse green color component.\n");
+
+ s = end;
+
+ if (*s != ' ')
+ FATAL_ERROR("Expected a space after green color component.\n");
+
+ s++;
+
+ if (*s < '0' || *s > '9')
+ FATAL_ERROR("Expected only a space between green and blue color components.\n");
+
+ if (!ParseNumber(s, &end, 10, &blue))
+ FATAL_ERROR("Failed to parse blue color component.\n");
+
+ if (*end != 0)
+ FATAL_ERROR("Garbage after blue color component.\n");
+
+ if (red < 0 || red > 255)
+ FATAL_ERROR("Red color component (%d) is outside the range [0, 255].\n", red);
+
+ if (green < 0 || green > 255)
+ FATAL_ERROR("Green color component (%d) is outside the range [0, 255].\n", green);
+
+ if (blue < 0 || blue > 255)
+ FATAL_ERROR("Blue color component (%d) is outside the range [0, 255].\n", blue);
+
+ palette->colors[i].red = red;
+ palette->colors[i].green = green;
+ palette->colors[i].blue = blue;
+ }
+
+ if (fgetc(fp) != EOF)
+ FATAL_ERROR("Garbage after color data.\n");
+
+ fclose(fp);
+}
+
+void WriteJascPalette(char *path, struct Palette *palette)
+{
+ FILE *fp = fopen(path, "wb");
+
+ fputs("JASC-PAL\r\n", fp);
+ fputs("0100\r\n", fp);
+ fprintf(fp, "%d\r\n", palette->numColors);
+
+ for (int i = 0; i < palette->numColors; i++) {
+ struct Color *color = &palette->colors[i];
+ fprintf(fp, "%d %d %d\r\n", color->red, color->green, color->blue);
+ }
+
+ fclose(fp);
+}
diff --git a/tools/gbagfx/jasc_pal.h b/tools/gbagfx/jasc_pal.h
new file mode 100644
index 000000000..b60b31fc8
--- /dev/null
+++ b/tools/gbagfx/jasc_pal.h
@@ -0,0 +1,9 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef JASC_PAL_H
+#define JASC_PAL_H
+
+void ReadJascPalette(char *path, struct Palette *palette);
+void WriteJascPalette(char *path, struct Palette *palette);
+
+#endif // JASC_PAL_H
diff --git a/tools/gbagfx/lz.c b/tools/gbagfx/lz.c
new file mode 100644
index 000000000..7669dab9a
--- /dev/null
+++ b/tools/gbagfx/lz.c
@@ -0,0 +1,143 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdlib.h>
+#include <stdbool.h>
+#include "global.h"
+#include "lz.h"
+
+unsigned char *LZDecompress(unsigned char *src, int srcSize, int *uncompressedSize)
+{
+ if (srcSize < 4)
+ return NULL;
+
+ int destSize = (src[3] << 16) | (src[2] << 8) | src[1];
+
+ unsigned char *dest = malloc(destSize);
+
+ if (dest == NULL)
+ return NULL;
+
+ int srcPos = 4;
+ int destPos = 0;
+
+ for (;;) {
+ if (srcPos >= srcSize)
+ return NULL;
+
+ unsigned char flags = src[srcPos++];
+
+ for (int i = 0; i < 8; i++) {
+ if (flags & 0x80) {
+ if (srcPos + 1 >= srcSize)
+ return NULL;
+
+ int blockSize = (src[srcPos] >> 4) + 3;
+ int blockDistance = (((src[srcPos] & 0xF) << 8) | src[srcPos + 1]) + 1;
+
+ srcPos += 2;
+
+ int blockPos = destPos - blockDistance;
+
+ if (destPos + blockSize > destSize || blockPos < 0)
+ return NULL;
+
+ for (int j = 0; j < blockSize; j++)
+ dest[destPos++] = dest[blockPos + j];
+ } else {
+ if (srcPos >= srcSize || destPos >= destSize)
+ return NULL;
+
+ dest[destPos++] = src[srcPos++];
+ }
+
+ if (destPos == destSize) {
+ *uncompressedSize = destSize;
+ return dest;
+ }
+
+ flags <<= 1;
+ }
+ }
+}
+
+unsigned char *LZCompress(unsigned char *src, int srcSize, int *compressedSize)
+{
+ const int minDistance = 2; // for compatibility with LZ77UnCompVram()
+
+ if (srcSize <= 0)
+ return NULL;
+
+ int worstCaseDestSize = 4 + srcSize + ((srcSize + 7) / 8);
+
+ // Round up to the next multiple of four.
+ worstCaseDestSize = (worstCaseDestSize + 3) & ~3;
+
+ unsigned char *dest = malloc(worstCaseDestSize);
+
+ if (dest == NULL)
+ return NULL;
+
+ // header
+ dest[0] = 0x10; // LZ compression type
+ dest[1] = (unsigned char)srcSize;
+ dest[2] = (unsigned char)(srcSize >> 8);
+ dest[3] = (unsigned char)(srcSize >> 16);
+
+ int srcPos = 0;
+ int destPos = 4;
+
+ for (;;) {
+ unsigned char *flags = &dest[destPos++];
+ *flags = 0;
+
+ for (int i = 0; i < 8; i++) {
+ int bestBlockDistance = 0;
+ int bestBlockSize = 0;
+ int blockDistance = minDistance;
+
+ while (blockDistance <= srcPos && blockDistance <= 0x1000) {
+ int blockStart = srcPos - blockDistance;
+ int blockSize = 0;
+
+ while (blockSize < 18
+ && srcPos + blockSize < srcSize
+ && src[blockStart + blockSize] == src[srcPos + blockSize])
+ blockSize++;
+
+ if (blockSize > bestBlockSize) {
+ bestBlockDistance = blockDistance;
+ bestBlockSize = blockSize;
+
+ if (blockSize == 18)
+ break;
+ }
+
+ blockDistance++;
+ }
+
+ if (bestBlockSize >= 3) {
+ *flags |= (0x80 >> i);
+ srcPos += bestBlockSize;
+ bestBlockSize -= 3;
+ bestBlockDistance--;
+ dest[destPos++] = (bestBlockSize << 4) | ((unsigned int)bestBlockDistance >> 8);
+ dest[destPos++] = (unsigned char)bestBlockDistance;
+ } else {
+ dest[destPos++] = src[srcPos++];
+ }
+
+ if (srcPos == srcSize) {
+ // Pad to multiple of 4 bytes.
+ int remainder = destPos % 4;
+
+ if (remainder != 0) {
+ for (int i = 0; i < 4 - remainder; i++)
+ dest[destPos++] = 0;
+ }
+
+ *compressedSize = destPos;
+ return dest;
+ }
+ }
+ }
+}
diff --git a/tools/gbagfx/lz.h b/tools/gbagfx/lz.h
new file mode 100644
index 000000000..164d62279
--- /dev/null
+++ b/tools/gbagfx/lz.h
@@ -0,0 +1,9 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef LZ_H
+#define LZ_H
+
+unsigned char *LZDecompress(unsigned char *src, int srcSize, int *uncompressedSize);
+unsigned char *LZCompress(unsigned char *src, int srcSize, int *compressedSize);
+
+#endif // LZ_H
diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c
new file mode 100644
index 000000000..065967a11
--- /dev/null
+++ b/tools/gbagfx/main.c
@@ -0,0 +1,307 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <string.h>
+#include <stdbool.h>
+#include "global.h"
+#include "util.h"
+#include "gfx.h"
+#include "convert_png.h"
+#include "jasc_pal.h"
+#include "lz.h"
+#include "font.h"
+
+struct CommandHandler
+{
+ const char *inputFileExtension;
+ const char *outputFileExtension;
+ void(*function)(char *inputPath, char *outputPath, int argc, char **argv);
+};
+
+void ConvertGbaToPng(char *inputPath, char *outputPath, int width, int bitDepth, char *paletteFilePath, bool hasTransparency)
+{
+ struct Image image;
+
+ if (paletteFilePath != NULL) {
+ ReadGbaPalette(paletteFilePath, &image.palette);
+ image.hasPalette = true;
+ } else {
+ image.hasPalette = false;
+ }
+
+ ReadImage(inputPath, width, bitDepth, &image, !image.hasPalette);
+
+ image.hasTransparency = hasTransparency;
+
+ WritePng(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void ConvertPngToGba(char *inputPath, char *outputPath, int numTiles, int bitDepth)
+{
+ struct Image image;
+
+ image.bitDepth = bitDepth;
+
+ ReadPng(inputPath, &image);
+
+ WriteImage(outputPath, numTiles, bitDepth, &image, !image.hasPalette);
+
+ FreeImage(&image);
+}
+
+void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **argv)
+{
+ char *inputFileExtension = GetFileExtension(inputPath);
+ int bitDepth = inputFileExtension[0] - '0';
+ char *paletteFilePath;
+ bool hasPalette = false;
+ bool hasTransparency = false;
+ int width = 1;
+
+ for (int i = 3; i < argc; i++) {
+ char *option = argv[i];
+
+ if (strcmp(option, "-palette") == 0) {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No palette file path following \"-palette\".\n");
+
+ i++;
+
+ paletteFilePath = argv[i];
+
+ hasPalette = true;
+ } else if (strcmp(option, "-object") == 0) {
+ hasTransparency = true;
+ } else if (strcmp(option, "-width") == 0) {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No width following \"-width\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &width))
+ FATAL_ERROR("Failed to parse width.\n");
+
+ if (width < 1)
+ FATAL_ERROR("Width must be positive.\n");
+ } else {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
+ ConvertGbaToPng(inputPath, outputPath, width, bitDepth, hasPalette ? paletteFilePath : NULL, hasTransparency);
+}
+
+void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **argv)
+{
+ char *outputFileExtension = GetFileExtension(outputPath);
+ int bitDepth = outputFileExtension[0] - '0';
+ int numTiles = 0;
+
+ for (int i = 3; i < argc; i++) {
+ char *option = argv[i];
+
+ if (strcmp(option, "-num_tiles") == 0) {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No number of tiles following \"-num_tiles\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &numTiles))
+ FATAL_ERROR("Failed to parse number of tiles.\n");
+
+ if (numTiles < 1)
+ FATAL_ERROR("Number of tiles must be positive.\n");
+ } else {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
+ ConvertPngToGba(inputPath, outputPath, numTiles, bitDepth);
+}
+
+void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Palette palette;
+
+ ReadGbaPalette(inputPath, &palette);
+ WriteJascPalette(outputPath, &palette);
+}
+
+void HandleJascToGbaPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv)
+{
+ int numColors = 0;
+
+ for (int i = 3; i < argc; i++) {
+ char *option = argv[i];
+
+ if (strcmp(option, "-num_colors") == 0) {
+ if (i + 1 >= argc)
+ FATAL_ERROR("No number of colors following \"-num_colors\".\n");
+
+ i++;
+
+ if (!ParseNumber(argv[i], NULL, 10, &numColors))
+ FATAL_ERROR("Failed to parse number of colors.\n");
+
+ if (numColors < 1)
+ FATAL_ERROR("Number of colors must be positive.\n");
+ } else {
+ FATAL_ERROR("Unrecognized option \"%s\".\n", option);
+ }
+ }
+
+ struct Palette palette;
+
+ ReadJascPalette(inputPath, &palette);
+
+ if (numColors != 0)
+ palette.numColors = numColors;
+
+ WriteGbaPalette(outputPath, &palette);
+}
+
+void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ ReadLatinFont(inputPath, &image);
+ WritePng(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandlePngToLatinFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ image.bitDepth = 2;
+
+ ReadPng(inputPath, &image);
+ WriteLatinFont(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandleHalfwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ ReadHalfwidthJapaneseFont(inputPath, &image);
+ WritePng(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandlePngToHalfwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ image.bitDepth = 2;
+
+ ReadPng(inputPath, &image);
+ WriteHalfwidthJapaneseFont(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandleFullwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ ReadFullwidthJapaneseFont(inputPath, &image);
+ WritePng(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandlePngToFullwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ struct Image image;
+
+ image.bitDepth = 2;
+
+ ReadPng(inputPath, &image);
+ WriteFullwidthJapaneseFont(outputPath, &image);
+
+ FreeImage(&image);
+}
+
+void HandleLZCompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(inputPath, &fileSize);
+
+ int compressedSize;
+ unsigned char *compressedData = LZCompress(buffer, fileSize, &compressedSize);
+
+ free(buffer);
+
+ WriteWholeFile(outputPath, compressedData, compressedSize);
+
+ free(compressedData);
+}
+
+void HandleLZDecompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED)
+{
+ int fileSize;
+ unsigned char *buffer = ReadWholeFile(inputPath, &fileSize);
+
+ int uncompressedSize;
+ unsigned char *uncompressedData = LZDecompress(buffer, fileSize, &uncompressedSize);
+
+ free(buffer);
+
+ WriteWholeFile(outputPath, uncompressedData, uncompressedSize);
+
+ free(uncompressedData);
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 3)
+ FATAL_ERROR("Usage: gbagfx INPUT_PATH OUTPUT_PATH [options...]\n");
+
+ struct CommandHandler handlers[] =
+ {
+ { "1bpp", "png", HandleGbaToPngCommand },
+ { "4bpp", "png", HandleGbaToPngCommand },
+ { "8bpp", "png", HandleGbaToPngCommand },
+ { "png", "1bpp", HandlePngToGbaCommand },
+ { "png", "4bpp", HandlePngToGbaCommand },
+ { "png", "8bpp", HandlePngToGbaCommand },
+ { "gbapal", "pal", HandleGbaToJascPaletteCommand },
+ { "pal", "gbapal", HandleJascToGbaPaletteCommand },
+ { "latfont", "png", HandleLatinFontToPngCommand },
+ { "png", "latfont", HandlePngToLatinFontCommand },
+ { "hwjpnfont", "png", HandleHalfwidthJapaneseFontToPngCommand },
+ { "png", "hwjpnfont", HandlePngToHalfwidthJapaneseFontCommand },
+ { "fwjpnfont", "png", HandleFullwidthJapaneseFontToPngCommand },
+ { "png", "fwjpnfont", HandlePngToFullwidthJapaneseFontCommand },
+ { NULL, "lz", HandleLZCompressCommand },
+ { "lz", NULL, HandleLZDecompressCommand },
+ { NULL, NULL, NULL }
+ };
+
+ char *inputPath = argv[1];
+ char *outputPath = argv[2];
+ char *inputFileExtension = GetFileExtension(inputPath);
+ char *outputFileExtension = GetFileExtension(outputPath);
+
+ if (inputFileExtension == NULL)
+ FATAL_ERROR("Input file \"%s\" has no extension.\n", inputPath);
+
+ if (outputFileExtension == NULL)
+ FATAL_ERROR("Output file \"%s\" has no extension.\n", outputPath);
+
+ for (int i = 0; handlers[i].function != NULL; i++) {
+ if ((handlers[i].inputFileExtension == NULL || strcmp(handlers[i].inputFileExtension, inputFileExtension) == 0)
+ && (handlers[i].outputFileExtension == NULL || strcmp(handlers[i].outputFileExtension, outputFileExtension) == 0)) {
+ handlers[i].function(inputPath, outputPath, argc, argv);
+ return 0;
+ }
+ }
+
+ FATAL_ERROR("Don't know how to convert \"%s\" to \"%s\".\n", inputPath, outputPath);
+}
diff --git a/tools/gbagfx/util.c b/tools/gbagfx/util.c
new file mode 100644
index 000000000..5af380184
--- /dev/null
+++ b/tools/gbagfx/util.c
@@ -0,0 +1,98 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+#include <errno.h>
+#include <limits.h>
+#include "global.h"
+#include "util.h"
+
+bool ParseNumber(char *s, char **end, int radix, int *intValue)
+{
+ char *localEnd;
+
+ if (end == NULL)
+ end = &localEnd;
+
+ errno = 0;
+
+ const long longValue = strtol(s, end, radix);
+
+ if (*end == s)
+ return false; // not a number
+
+ if ((longValue == LONG_MIN || longValue == LONG_MAX) && errno == ERANGE)
+ return false;
+
+ if (longValue > INT_MAX)
+ return false;
+
+ if (longValue < INT_MIN)
+ return false;
+
+ *intValue = (int)longValue;
+
+ return true;
+}
+
+char *GetFileExtension(char *path)
+{
+ char *extension = path;
+
+ while (*extension != 0)
+ extension++;
+
+ while (extension > path && *extension != '.')
+ extension--;
+
+ if (extension == path)
+ return NULL;
+
+ extension++;
+
+ if (*extension == 0)
+ return NULL;
+
+ return extension;
+}
+
+unsigned char *ReadWholeFile(char *path, int *size)
+{
+ FILE *fp = fopen(path, "rb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for reading.\n", path);
+
+ fseek(fp, 0, SEEK_END);
+
+ *size = ftell(fp);
+
+ unsigned char *buffer = malloc(*size);
+
+ if (buffer == NULL)
+ FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path);
+
+ rewind(fp);
+
+ if (fread(buffer, *size, 1, fp) != 1)
+ FATAL_ERROR("Failed to read \"%s\".\n", path);
+
+ fclose(fp);
+
+ return buffer;
+}
+
+void WriteWholeFile(char *path, void *buffer, int bufferSize)
+{
+ FILE *fp = fopen(path, "wb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for writing.\n", path);
+
+ if (fwrite(buffer, bufferSize, 1, fp) != 1)
+ FATAL_ERROR("Failed to write to \"%s\".\n", path);
+
+ fclose(fp);
+}
diff --git a/tools/gbagfx/util.h b/tools/gbagfx/util.h
new file mode 100644
index 000000000..cb26a31ef
--- /dev/null
+++ b/tools/gbagfx/util.h
@@ -0,0 +1,13 @@
+// Copyright (c) 2015 YamaArashi
+
+#ifndef UTIL_H
+#define UTIL_H
+
+#include <stdbool.h>
+
+bool ParseNumber(char *s, char **end, int radix, int *intValue);
+char *GetFileExtension(char *path);
+unsigned char *ReadWholeFile(char *path, int *size);
+void WriteWholeFile(char *path, void *buffer, int bufferSize);
+
+#endif // UTIL_H
diff --git a/tools/scaninc/.gitignore b/tools/scaninc/.gitignore
new file mode 100644
index 000000000..94bfbf989
--- /dev/null
+++ b/tools/scaninc/.gitignore
@@ -0,0 +1 @@
+scaninc
diff --git a/tools/scaninc/LICENSE b/tools/scaninc/LICENSE
new file mode 100644
index 000000000..b66bf81c0
--- /dev/null
+++ b/tools/scaninc/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2015 YamaArashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile
new file mode 100644
index 000000000..0efe283f1
--- /dev/null
+++ b/tools/scaninc/Makefile
@@ -0,0 +1,13 @@
+CXX = g++
+
+CXXFLAGS = -Wall -std=c++11 -O2
+
+SRCS = scaninc.cpp
+
+.PHONY: clean
+
+scaninc: $(SRCS)
+ $(CXX) $(CXXFLAGS) $(SRCS) -o $@
+
+clean:
+ $(RM) scaninc scaninc.exe
diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp
new file mode 100644
index 000000000..9a228180a
--- /dev/null
+++ b/tools/scaninc/scaninc.cpp
@@ -0,0 +1,320 @@
+// Copyright (c) 2015 YamaArashi
+
+#include <cstdio>
+#include <cstdlib>
+#include <stack>
+#include <set>
+#include <string>
+
+#ifdef _MSC_VER
+
+#define FATAL_INPUT_ERROR(format, ...) \
+do { \
+ fprintf(stderr, "%s:%d " format, m_path.c_str(), m_lineNum, __VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#define FATAL_ERROR(format, ...) \
+do { \
+ fprintf(stderr, format, __VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#else
+
+#define FATAL_INPUT_ERROR(format, ...) \
+do { \
+ fprintf(stderr, "%s:%d " format, m_path.c_str(), m_lineNum, ##__VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#define FATAL_ERROR(format, ...) \
+do { \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#endif // _MSC_VER
+
+#define SCANINC_MAX_PATH 255
+
+enum class IncDirectiveType {
+ None,
+ Include,
+ Incbin
+};
+
+class AsmFile
+{
+public:
+ AsmFile(std::string path);
+ ~AsmFile();
+ IncDirectiveType ReadUntilIncDirective(std::string &path);
+
+private:
+ char *m_buffer;
+ int m_pos;
+ int m_size;
+ int m_lineNum;
+ std::string m_path;
+
+ int GetChar()
+ {
+ if (m_pos >= m_size)
+ return -1;
+
+ int c = m_buffer[m_pos++];
+
+ if (c == '\r') {
+ if (m_pos < m_size && m_buffer[m_pos++] == '\n') {
+ m_lineNum++;
+ return '\n';
+ } else {
+ FATAL_INPUT_ERROR("CR line endings are not supported\n");
+ }
+ }
+
+ if (c == '\n')
+ m_lineNum++;
+
+ return c;
+ }
+
+ // No newline translation because it's not needed for any use of this function.
+ int PeekChar()
+ {
+ if (m_pos >= m_size)
+ return -1;
+
+ return m_buffer[m_pos];
+ }
+
+ void SkipTabsAndSpaces()
+ {
+ while (m_pos < m_size && (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' '))
+ m_pos++;
+ }
+
+ bool MatchIncDirective(std::string directiveName, std::string &path)
+ {
+ int length = directiveName.length();
+ int i;
+
+ for (i = 0; i < length && m_pos + i < m_size; i++)
+ if (directiveName[i] != m_buffer[m_pos + i])
+ return false;
+
+ if (i < length)
+ return false;
+
+ m_pos += length;
+
+ SkipTabsAndSpaces();
+
+ if (GetChar() != '"')
+ FATAL_INPUT_ERROR("no path after \".%s\" directive\n", directiveName.c_str());
+
+ path = ReadPath();
+
+ return true;
+ }
+
+ std::string ReadPath();
+ void SkipEndOfLineComment();
+ void SkipMultiLineComment();
+ void SkipString();
+};
+
+AsmFile::AsmFile(std::string path)
+{
+ m_path = path;
+
+ FILE *fp = fopen(path.c_str(), "rb");
+
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for reading.\n", path.c_str());
+
+ fseek(fp, 0, SEEK_END);
+
+ m_size = ftell(fp);
+
+ m_buffer = new char[m_size];
+
+ rewind(fp);
+
+ if (fread(m_buffer, m_size, 1, fp) != 1)
+ FATAL_ERROR("Failed to read \"%s\".\n", path.c_str());
+
+ fclose(fp);
+
+ m_pos = 0;
+ m_lineNum = 1;
+}
+
+AsmFile::~AsmFile()
+{
+ delete[] m_buffer;
+}
+
+IncDirectiveType AsmFile::ReadUntilIncDirective(std::string &path)
+{
+ // At the beginning of each loop iteration, the current file position
+ // should be at the start of a line or at the end of the file.
+ for (;;) {
+ SkipTabsAndSpaces();
+
+ IncDirectiveType incDirectiveType = IncDirectiveType::None;
+
+ if (PeekChar() == '.') {
+ m_pos++;
+
+ if (MatchIncDirective("incbin", path))
+ incDirectiveType = IncDirectiveType::Incbin;
+ else if (MatchIncDirective("include", path))
+ incDirectiveType = IncDirectiveType::Include;
+ }
+
+ for (;;) {
+ int c = GetChar();
+
+ if (c == -1)
+ return incDirectiveType;
+
+ if (c == ';') {
+ SkipEndOfLineComment();
+ break;
+ } else if (c == '/' && PeekChar() == '*') {
+ m_pos++;
+ SkipMultiLineComment();
+ } else if (c == '"') {
+ SkipString();
+ } else if (c == '\n') {
+ break;
+ }
+ }
+
+ if (incDirectiveType != IncDirectiveType::None)
+ return incDirectiveType;
+ }
+}
+
+std::string AsmFile::ReadPath()
+{
+ int length = 0;
+ int startPos = m_pos;
+
+ for (;;) {
+ int c = GetChar();
+
+ if (c == '"')
+ break;
+
+ if (c == -1)
+ FATAL_INPUT_ERROR("unexpected EOF in include string\n");
+
+ if (c == 0)
+ FATAL_INPUT_ERROR("unexpected NUL character in include string\n");
+
+ if (c == '\n')
+ FATAL_INPUT_ERROR("unexpected end of line character in include string\n");
+
+ if (c == '\\') {
+ c = GetChar();
+
+ if (c != '"')
+ FATAL_INPUT_ERROR("unknown escape \"\\%c\" in include string\n", c);
+ }
+
+ length++;
+
+ if (length > SCANINC_MAX_PATH)
+ FATAL_INPUT_ERROR("path is too long");
+ }
+
+ return std::string(m_buffer, startPos, length);
+}
+
+void AsmFile::SkipEndOfLineComment()
+{
+ int c;
+
+ do {
+ c = GetChar();
+ } while (c != -1 && c != '\n');
+}
+
+void AsmFile::SkipMultiLineComment()
+{
+ for (;;) {
+ int c = GetChar();
+
+ if (c == '*') {
+ if (PeekChar() == '/') {
+ m_pos++;
+ return;
+ }
+ } else if (c == -1) {
+ return;
+ }
+ }
+}
+
+void AsmFile::SkipString()
+{
+ for (;;) {
+ int c = GetChar();
+
+ if (c == '"')
+ break;
+
+ if (c == -1)
+ FATAL_INPUT_ERROR("unexpected EOF in string\n");
+
+ if (c == '\\') {
+ c = GetChar();
+ }
+ }
+}
+
+bool CanOpenFile(std::string path)
+{
+ FILE *fp = fopen(path.c_str(), "rb");
+
+ if (fp == NULL)
+ return false;
+
+ fclose(fp);
+ return true;
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2)
+ FATAL_ERROR("Usage: scaninc ASM_FILE_PATH\n");
+
+ std::stack<std::string> filesToProcess;
+ std::set<std::string> dependencies;
+
+ filesToProcess.push(std::string(argv[1]));
+
+ while (!filesToProcess.empty()) {
+ AsmFile file(filesToProcess.top());
+
+ filesToProcess.pop();
+
+ IncDirectiveType incDirectiveType;
+ std::string path;
+
+ while ((incDirectiveType = file.ReadUntilIncDirective(path)) != IncDirectiveType::None) {
+ bool inserted = dependencies.insert(path).second;
+ if (inserted
+ && incDirectiveType == IncDirectiveType::Include
+ && CanOpenFile(path))
+ filesToProcess.push(path);
+ }
+ }
+
+ for (const std::string &path : dependencies) {
+ printf("%s\n", path.c_str());
+ }
+}